Changeset: 46251680789d for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/46251680789d
Modified Files:
        sql/server/rel_unnest.c
Branch: default
Log Message:

properly mark join as dependent when new expression contains freevar


diffs (25 lines):

diff --git a/sql/server/rel_unnest.c b/sql/server/rel_unnest.c
--- a/sql/server/rel_unnest.c
+++ b/sql/server/rel_unnest.c
@@ -2919,12 +2919,10 @@ rewrite_anyequal(visitor *v, sql_rel *re
                                        (void)rewrite_inner(sql, rel, lsq, 
op_left, &rewrite);
                                        exp_reset_props(rewrite, le, 
is_left(rewrite->op));
                                        join = 
(is_full(rel->op)||is_left(rel->op))?rel->r:rel->l;
-                                       rel_bind_var(sql, join, le);
                                }
                                if (rsq) {
                                        (void)rewrite_inner(sql, rel, rsq, 
op_left, &join);
                                        exp_reset_props(join, re, 
is_left(join->op));
-                                       rel_bind_var(sql, join, re);
                                }
                                assert(join && is_join(join->op));
                                if (join && !join->exps)
@@ -2951,6 +2949,8 @@ rewrite_anyequal(visitor *v, sql_rel *re
                                        le->freevar = 1;
                                        rel_bind_var(sql, join, inexp);
                                        append(join->exps, inexp);
+                                       if (exp_has_freevar(v->sql, inexp) && 
is_join(rel->op))
+                                               set_dependent(rel);
                                }
                                v->changes++;
                                if (join) {
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to