Merge branch '2.3' into 2.4
This commit is contained in:
@ -1874,9 +1874,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);}
|
||||
@ -1922,6 +1927,13 @@ expr(A) ::= VARIABLE(X). {
|
||||
spanSet(&A, &X, &X);
|
||||
}
|
||||
%ifdef MAXSCALE
|
||||
expr(A) ::= id(X) INTEGER(Y). {
|
||||
// The sole purpose of this is to interpret something like '_utf8mb4 0xD091D092D093'
|
||||
// as a string. It does not matter that any identifier followed by an integer will
|
||||
// be interpreted as a string, as invalid usage will be caught by the server.
|
||||
A.pExpr = sqlite3PExpr(pParse, TK_STRING, 0, 0, &Y);
|
||||
spanSet(&A, &X, &Y);
|
||||
}
|
||||
expr(A) ::= VARIABLE(X) variable_tail(Y). {
|
||||
// As we won't be executing any queries, we do not need to do
|
||||
// the things that are done above.
|
||||
|
Reference in New Issue
Block a user