alternate fix for #13938 (folloup 5d989ab)

This commit is contained in:
Juergen E. Fischer 2016-02-15 02:16:43 +01:00
parent 6a3753e2e8
commit 36000463ff
2 changed files with 34 additions and 34 deletions

View File

@ -146,8 +146,11 @@ string "'"{str_char}*"'"
"~" { B_OP(boRegexp); return REGEXP; } "~" { B_OP(boRegexp); return REGEXP; }
"LIKE" { B_OP(boLike); return LIKE; } "LIKE" { B_OP(boLike); return LIKE; }
"NOT"{white}"LIKE" { B_OP(boNotLike); return LIKE; }
"ILIKE" { B_OP(boILike); return LIKE; } "ILIKE" { B_OP(boILike); return LIKE; }
"NOT"{white}"ILIKE" { B_OP(boNotILike); return LIKE; }
"IS" { B_OP(boIs); return IS; } "IS" { B_OP(boIs); return IS; }
"IS"{white}"NOT" { B_OP(boIsNot); return IS; }
"||" { B_OP(boConcat); return CONCAT; } "||" { B_OP(boConcat); return CONCAT; }
"+" { B_OP(boPlus); return PLUS; } "+" { B_OP(boPlus); return PLUS; }

View File

@ -168,9 +168,7 @@ expression:
| expression GT expression { $$ = BINOP($2, $1, $3); } | expression GT expression { $$ = BINOP($2, $1, $3); }
| expression REGEXP expression { $$ = BINOP($2, $1, $3); } | expression REGEXP expression { $$ = BINOP($2, $1, $3); }
| expression LIKE expression { $$ = BINOP($2, $1, $3); } | expression LIKE expression { $$ = BINOP($2, $1, $3); }
| expression NOT LIKE expression { $$ = BINOP($3==QgsExpression::boLike ? QgsExpression::boNotLike : QgsExpression::boNotILike, $1, $4); }
| expression IS expression { $$ = BINOP($2, $1, $3); } | expression IS expression { $$ = BINOP($2, $1, $3); }
| expression IS NOT expression { $$ = BINOP(QgsExpression::boIsNot, $1, $4); }
| expression PLUS expression { $$ = BINOP($2, $1, $3); } | expression PLUS expression { $$ = BINOP($2, $1, $3); }
| expression MINUS expression { $$ = BINOP($2, $1, $3); } | expression MINUS expression { $$ = BINOP($2, $1, $3); }
| expression MUL expression { $$ = BINOP($2, $1, $3); } | expression MUL expression { $$ = BINOP($2, $1, $3); }
@ -181,7 +179,6 @@ expression:
| expression CONCAT expression { $$ = BINOP($2, $1, $3); } | expression CONCAT expression { $$ = BINOP($2, $1, $3); }
| NOT expression { $$ = new QgsExpression::NodeUnaryOperator($1, $2); } | NOT expression { $$ = new QgsExpression::NodeUnaryOperator($1, $2); }
| '(' expression ')' { $$ = $2; } | '(' expression ')' { $$ = $2; }
| FUNCTION '(' exp_list ')' | FUNCTION '(' exp_list ')'
{ {
int fnIndex = QgsExpression::functionIndex(*$1); int fnIndex = QgsExpression::functionIndex(*$1);