Skip to content
Merged
5 changes: 4 additions & 1 deletion src/alasqlparser.jison
Original file line number Diff line number Diff line change
Expand Up @@ -269,6 +269,7 @@ SETS return 'SET'
'WHILE' return 'WHILE'
'WITH' return 'WITH'
'WORK' return 'TRANSACTION' /* Is this keyword required? */

/* Issue #1173: Reject invalid identifiers like 6minAvgOpac (number followed by letters without space) */
/* This rule must precede NUMBER to catch invalid patterns before they're tokenized as NUMBER + LITERAL */
\d+[a-zA-Z_][a-zA-Z_0-9]* return 'INVALID'
Expand Down Expand Up @@ -297,7 +298,6 @@ SETS return 'SET'
'!=' return 'NE'
'(' return 'LPAR'
')' return 'RPAR'
'@' return 'AT'
'{' return 'LCUR'
'}' return 'RCUR'

Expand All @@ -319,6 +319,7 @@ SETS return 'SET'
'~' return 'TILDA'

[0-9]*[a-zA-Z_]+[a-zA-Z_0-9]* return 'LITERAL'
'@' return 'AT'
<<EOF>> return 'EOF'
. return 'INVALID'

Expand Down Expand Up @@ -1202,6 +1203,8 @@ Column
{ $$ = new yy.Column({columnid: $3, tableid: $1});}
| Literal DOT VALUE
{ $$ = new yy.Column({columnid: $3, tableid: $1});}
| Literal DOT AT Literal
{ $$ = new yy.Column({columnid: '@'+$4, tableid: $1});}
| Literal
{ $$ = new yy.Column({columnid: $1});}
;
Expand Down
Loading
Loading