From 5bbb2e239d1255a155e44583694dd28fb2503948 Mon Sep 17 00:00:00 2001 From: Johan Wikman Date: Thu, 26 Sep 2019 14:54:08 +0300 Subject: [PATCH] MXS-2699 Add rule for (expr [, expr]*) Sofar at most (expr, expr) was accepted. --- query_classifier/qc_sqlite/sqlite-src-3110100/src/parse.y | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/query_classifier/qc_sqlite/sqlite-src-3110100/src/parse.y b/query_classifier/qc_sqlite/sqlite-src-3110100/src/parse.y index 7ccf8af9b..f24536295 100644 --- a/query_classifier/qc_sqlite/sqlite-src-3110100/src/parse.y +++ b/query_classifier/qc_sqlite/sqlite-src-3110100/src/parse.y @@ -1873,9 +1873,14 @@ idlist(A) ::= nm(Y). } expr(A) ::= term(X). {A = X;} +%ifndef MAXSCALE expr(A) ::= LP(B) expr(X) RP(E). {A.pExpr = X.pExpr; spanSet(&A,&B,&E);} +%endif %ifdef MAXSCALE -expr(A) ::= LP expr(X) COMMA(OP) expr(Y) RP. {spanBinaryExpr(&A,pParse,@OP,&X,&Y);} +%type exprs {ExprSpan} +exprs(A) ::= expr(X). { A = X; } +exprs(A) ::= exprs(X) COMMA(OP) expr(Y). {spanBinaryExpr(&A,pParse,@OP,&X,&Y);} +expr(A) ::= LP(B) exprs(X) RP(E). {A.pExpr = X.pExpr; spanSet(&A,&B,&E);} term(A) ::= DEFAULT(X). {spanExpr(&A, pParse, @X, &X);} %endif term(A) ::= NULL(X). {spanExpr(&A, pParse, @X, &X);}