aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/backend/parser/scan.l10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/backend/parser/scan.l b/src/backend/parser/scan.l
index c8e13c382e5..51e1aa4be8e 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));
}