Skip to content
This repository was archived by the owner on Aug 5, 2022. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/murphy-db/include/murphy-db/mqi-types.h
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ enum mqi_operator_e {
mqi_less,
mqi_leq,
mqi_eq,
mqi_neq,
mqi_geq,
mqi_gt,
mqi_not,
Expand Down
4 changes: 4 additions & 0 deletions src/murphy-db/mdb/cond.c
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ int mdb_cond_evaluate(mdb_table_t *tbl, mqi_cond_entry_t **cond_ptr,void *data)
[ mqi_less ] = 4,
[ mqi_leq ] = 4,
[ mqi_eq ] = 4,
[ mqi_neq ] = 4,
[ mqi_geq ] = 4,
[ mqi_gt ] = 4,
[ mqi_not ] = 5
Expand Down Expand Up @@ -138,6 +139,7 @@ int mdb_cond_evaluate(mdb_table_t *tbl, mqi_cond_entry_t **cond_ptr,void *data)
case mqi_less:
case mqi_leq:
case mqi_eq:
case mqi_neq:
case mqi_geq:
case mqi_gt:
case mqi_not:
Expand Down Expand Up @@ -245,6 +247,7 @@ static int cond_eval(cond_stack_t *sp,cond_stack_t *lastop,int new_precedence)
case mqi_less:
case mqi_leq:
case mqi_eq:
case mqi_neq:
case mqi_geq:
case mqi_gt:
/* stack: (-1)operand1, (0)operator, (1)operand2 => (-1)result */
Expand Down Expand Up @@ -327,6 +330,7 @@ static int cond_relop(mqi_operator_t op, cond_stack_t *v1, cond_stack_t *v2)
case mqi_less: return cmp < 0;
case mqi_leq: return cmp <= 0;
case mqi_eq: return cmp == 0;
case mqi_neq: return cmp != 0;
case mqi_geq: return cmp >= 0;
case mqi_gt: return cmp > 0;
default: return 0;
Expand Down
6 changes: 6 additions & 0 deletions src/murphy-db/mql/mql-parser.y
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,7 @@ static FILE *mqlout;
%token <string> TKN_LESS
%token <string> TKN_LESS_OR_EQUAL
%token <string> TKN_EQUAL
%token <string> TKN_NOT_EQUAL
%token <string> TKN_GREATER_OR_EQUAL
%token <string> TKN_GREATER
%token <string> TKN_NOT
Expand Down Expand Up @@ -1292,6 +1293,11 @@ relational_operator:
cond->u.operator_ = mqi_eq;
cond++;
}
| TKN_NOT_EQUAL {
cond->type = mqi_operator;
cond->u.operator_ = mqi_neq;
cond++;
}
| TKN_GREATER_OR_EQUAL {
cond->type = mqi_operator;
cond->u.operator_ = mqi_geq;
Expand Down
2 changes: 2 additions & 0 deletions src/murphy-db/mql/mql-scanner.l
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,7 @@ LOGICAL_OR \|
LESS <
LESS_OR_EQUAL <=
EQUAL =
NOT_EQUAL \!=
GREATER_OR_EQUAL >=
GREATER >
NOT \!
Expand Down Expand Up @@ -222,6 +223,7 @@ SLASH \/
{LESS} { ARGLESS_TOKEN (LESS); }
{LESS_OR_EQUAL} { ARGLESS_TOKEN (LESS_OR_EQUAL); }
{EQUAL} { ARGLESS_TOKEN (EQUAL); }
{NOT_EQUAL} { ARGLESS_TOKEN (NOT_EQUAL); }
{GREATER_OR_EQUAL} { ARGLESS_TOKEN (GREATER_OR_EQUAL); }
{GREATER} { ARGLESS_TOKEN (GREATER); }
{NOT} { ARGLESS_TOKEN (NOT); }
Expand Down