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 -- [email protected]
To unsubscribe send an email to [email protected]