Changeset: 0d79e48d96ea for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/0d79e48d96ea
Modified Files:
        sql/server/rel_select.c
Branch: Jul2021
Log Message:

Be defensive and allow input relation to change


diffs (24 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,16 +2695,11 @@ 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) {
-                       sql_subtype bt;
-
-                       sql_find_subtype(&bt, "boolean", 0, 0);
-                       le = exp_check_type(sql, &bt, rel, le, type_equal);
-               }
-               if (!le || or != rel)
+               sql_subtype bt;
+
+               sql_find_subtype(&bt, "boolean", 0, 0);
+               if (!le || !(le = exp_check_type(sql, &bt, rel, le, 
type_equal)))
                        return NULL;
                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);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to