Skip to content
Snippets Groups Projects
Commit 6a68f7fd authored by Tom Lane's avatar Tom Lane
Browse files

Fix broken {xufailed} production that made HEAD fail on

	select u&42 from table-with-a-u-column;
Also fix missing SET_YYLLOC() in the {dolqfailed} production that I suppose
this was based on.  The latter is a pre-existing bug, but the only effect
is to misplace the error cursor by one token, so probably not worth
backpatching.
parent 334f4e12
No related branches found
No related tags found
No related merge requests found
......@@ -24,7 +24,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/parser/scan.l,v 1.149 2009/03/04 13:02:32 petere Exp $
* $PostgreSQL: pgsql/src/backend/parser/scan.l,v 1.150 2009/04/14 22:18:47 tgl Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -553,6 +553,7 @@ other .
startlit();
}
{dolqfailed} {
SET_YYLLOC();
/* throw back all but the initial "$" */
yyless(1);
/* and treat it as {other} */
......@@ -646,10 +647,15 @@ other .
<xd,xui><<EOF>> { yyerror("unterminated quoted identifier"); }
{xufailed} {
char *ident;
SET_YYLLOC();
/* throw back all but the initial u/U */
yyless(1);
/* and treat it as {other} */
return yytext[0];
/* and treat it as {identifier} */
ident = downcase_truncate_identifier(yytext, yyleng, true);
yylval.str = ident;
return IDENT;
}
{typecast} {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment