sql.l: Handle square bracket column names

Credit: @mewalig
Fixes #2
This commit is contained in:
Jeff Garzik
2018-02-17 00:13:29 -05:00
parent dd40182dce
commit 3903ab0cbb
3 changed files with 4 additions and 1 deletions

View File

@ -17,7 +17,8 @@ EXTRA_DIST = sql.y sql.l \
fail3.sql \
fail4.sql \
ok1.sql \
ok2.sql
ok2.sql \
ok3.sql
sql_SOURCES = exec.c sql-parser.h
nodist_sql_SOURCES = sql.c sql.tab.c sql.tab.h sql.lex.h

1
ok3.sql Normal file
View File

@ -0,0 +1 @@
select [a b] from d;

1
sql.l
View File

@ -345,6 +345,7 @@ COUNT { int c = input(pstate->scanner); unput(c);
[A-Za-z][A-Za-z0-9_]* { yylval->strval = strdup(yytext);
return NAME; }
\[(\\.|[^\]\n])*\] |
`[^`/\\.\n]+` { yylval->strval = strdup(yytext+1);
yylval->strval[yyleng-2] = 0;
return NAME; }