Changeset: cdc9600ab3ca for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=cdc9600ab3ca
Modified Files:
        sql/server/rel_exp.c
        sql/server/rel_unnest.c
Branch: Oct2020
Log Message:

use the exp_update_rel code instead of assuming projection


diffs (37 lines):

diff --git a/sql/server/rel_exp.c b/sql/server/rel_exp.c
--- a/sql/server/rel_exp.c
+++ b/sql/server/rel_exp.c
@@ -2040,6 +2040,8 @@ exp_rel_update_exps(mvc *sql, list *exps
 
                if (exp_has_rel(e))
                        n->data = exp_rel_update_exp(sql, e);
+               else if (!exp_is_atom(e))
+                       set_freevar(e,1);
        }
        list_hash_clear(exps);
        return exps;
@@ -2276,7 +2278,7 @@ exps_bind_column(list *exps, const char 
                                                        *multiple = 1;
                                                if (!res)
                                                        res = e;
-                                               
+
                                                if (res && res != e && 
e->alias.rname && res->alias.rname && strcmp(e->alias.rname, res->alias.rname) 
!= 0 ) {
                                                        if (ambiguous)
                                                                *ambiguous = 1;
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
@@ -2326,10 +2326,8 @@ rewrite_compare(visitor *v, sql_rel *rel
 
                        if (exp_has_rel(re))
                                rsq = exp_rel_get_rel(v->sql->sa, re); /* get 
subquery */
-                       if (rsq) {
-                               re = rsq->exps->t->data;
-                               re = exp_ref(v->sql, re);
-                       }
+                       if (rsq)
+                               re = exp_rel_update_exp(v->sql, re);
 
                        if (is_values(le)) /* exp_values */
                                is_tuple = 1;
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to