diff --git a/src/backend/parser/scan.l b/src/backend/parser/scan.l index c8e13c382e..51e1aa4be8 100644 --- a/src/backend/parser/scan.l +++ b/src/backend/parser/scan.l @@ -9,7 +9,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.98 2002/08/04 06:36:18 thomas Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/scan.l,v 1.99 2002/08/17 13:06:50 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -582,8 +582,12 @@ other . void yyerror(const char *message) { - elog(ERROR, "parser: %s at or near \"%s\"", message, - token_start ? token_start : yytext); + if(yyleng == 1 && *yytext == YY_END_OF_BUFFER_CHAR) + elog(ERROR, "parser: %s at end of input",message); + else + elog(ERROR, "parser: %s at or near \"%s\" at character %i", + message,token_start ? token_start : yytext, + (unsigned int)(yytext - scanbuf + 1)); }