mirror of
https://github.com/mdbtools/mdbtools.git
synced 2026-03-10 00:20:54 +08:00
rework of patch #879693 to support 0=1 in where clause
This commit is contained in:
@@ -49,6 +49,7 @@ static MdbSQL *g_sql;
|
||||
%type <name> constant
|
||||
%type <ival> operator
|
||||
%type <ival> nulloperator
|
||||
%type <name> identifier
|
||||
|
||||
%%
|
||||
|
||||
@@ -89,22 +90,30 @@ sarg_list:
|
||||
;
|
||||
|
||||
sarg:
|
||||
NAME operator constant {
|
||||
identifier operator constant {
|
||||
mdb_sql_add_sarg(_mdb_sql(NULL), $1, $2, $3);
|
||||
free($1);
|
||||
free($3);
|
||||
}
|
||||
| constant operator NAME {
|
||||
| constant operator identifier {
|
||||
mdb_sql_add_sarg(_mdb_sql(NULL), $3, $2, $1);
|
||||
free($1);
|
||||
free($3);
|
||||
}
|
||||
| NAME nulloperator {
|
||||
| constant operator constant {
|
||||
mdb_sql_eval_expr(_mdb_sql(NULL), $1, $2, $3);
|
||||
}
|
||||
| identifier nulloperator {
|
||||
mdb_sql_add_sarg(_mdb_sql(NULL), $1, $2, NULL);
|
||||
free($1);
|
||||
}
|
||||
;
|
||||
|
||||
identifier:
|
||||
NAME
|
||||
| IDENT
|
||||
;
|
||||
|
||||
operator:
|
||||
'=' { $$ = MDB_EQUAL; }
|
||||
| '>' { $$ = MDB_GT; }
|
||||
|
||||
Reference in New Issue
Block a user