diff --git a/src/backend/parser/parser.c b/src/backend/parser/parser.c index e64f701dc9..cc306d4d4d 100644 --- a/src/backend/parser/parser.c +++ b/src/backend/parser/parser.c @@ -272,6 +272,9 @@ base_yylex(YYSTYPE *lvalp, YYLTYPE *llocp, core_yyscan_t yyscanner) /* Again save and restore *llocp */ cur_yylloc = *llocp; + /* Un-truncate current token so errors point to third token */ + *(yyextra->lookahead_end) = yyextra->lookahead_hold_char; + /* Get third token */ next_token = core_yylex(&(yyextra->lookahead_yylval), llocp, yyscanner);