Changeset: d52f5216791d for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d52f5216791d
Modified Files:
sql/server/rel_unnest.c
Branch: Oct2020
Log Message:
not always set freevar only if already set in the subquery.
diffs (33 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
@@ -2004,14 +2004,17 @@ rel_union_exps(mvc *sql, sql_exp **l, li
{
sql_rel *u = NULL;
list *exps = NULL;
+ int freevar = 0;
for (node *n=vals->h; n; n = n->next) {
sql_exp *ve = n->data, *r, *s;
sql_rel *sq = NULL;
- if (exp_has_rel(ve))
+ if (exp_has_rel(ve)) {
sq = exp_rel_get_rel(sql->sa, ve); /* get subquery */
- else {
+ if (sq)
+ freevar = rel_has_freevar(sql,sq);
+ } else {
sq = rel_project(sql->sa, NULL,
append(sa_list(sql->sa), ve));
set_processed(sq);
}
@@ -2040,7 +2043,8 @@ rel_union_exps(mvc *sql, sql_exp **l, li
sq = rel_project(sql->sa, sq,
append(sa_list(sql->sa), ve));
set_processed(sq);
}
- exp_set_freevar(sql, ve, sq);
+ if (freevar)
+ exp_set_freevar(sql, ve, sq);
}
}
if (!u) {
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list