Changeset: 555648f00102 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/555648f00102
Modified Files:
sql/server/rel_select.c
Branch: Jul2021
Log Message:
More cleanup, here compare with false instead of doing sys.not call
diffs (26 lines):
diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c
--- a/sql/server/rel_select.c
+++ b/sql/server/rel_select.c
@@ -2695,13 +2695,18 @@ rel_logical_exp(sql_query *query, sql_re
sc->data.sym = negate_symbol_tree(sql, sc->data.sym);
return rel_logical_exp(query, rel, sc->data.sym, f);
}
+ sql_rel *or = rel;
sql_exp *le = rel_value_exp(query, &rel, sc->data.sym,
f|sql_farg, ek);
- if (!le)
+ if (le) {
+ sql_subtype bt;
+
+ sql_find_subtype(&bt, "boolean", 0, 0);
+ le = exp_check_type(sql, &bt, rel, le, type_equal);
+ }
+ if (!le || or != rel)
return NULL;
- if (!(le = rel_unop_(sql, rel, le, "sys", "not", card_value)))
- return NULL;
- le = exp_compare(sql->sa, le, exp_atom_bool(sql->sa, 1),
cmp_equal);
+ le = exp_compare(sql->sa, le, exp_atom_bool(sql->sa, 0),
cmp_equal);
return rel_select_push_exp_down(sql, rel, le, le->l, le->l,
le->r, le->r, NULL, f);
}
case SQL_ATOM: {
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list