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 checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list