Changeset: 21e0511e2ab9 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/21e0511e2ab9
Modified Files:
        sql/server/rel_rewriter.c
        sql/server/rel_unnest.c
        sql/test/BugTracker-2021/Tests/All
Branch: default
Log Message:

Merged with Jul2021


diffs (60 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
@@ -1220,6 +1220,19 @@ push_up_select_l(mvc *sql, sql_rel *rel)
        return rel;
 }
 
+static void
+bind_join_vars(mvc *sql, sql_rel *rel)
+{
+       if (list_empty(rel->exps))
+               return;
+       for(node *n = rel->exps->h; n; n = n->next){
+               sql_exp *e = n->data;
+
+               if (exp_has_freevar(sql, e))
+                       rel_bind_var(sql, rel->l, e);
+       }
+}
+
 static sql_rel *
 push_up_join(mvc *sql, sql_rel *rel, list *ad)
 {
@@ -1229,6 +1242,7 @@ push_up_join(mvc *sql, sql_rel *rel, lis
                if (j->op == op_join && !rel_is_ref(rel) && !rel_is_ref(j) && 
j->exps) {
                        rel->exps =     rel->exps?list_merge(rel->exps, 
j->exps, (fdup)NULL):j->exps;
                        j->exps = NULL;
+                       bind_join_vars(sql, rel);
                        return rel;
                }
        }
diff --git a/sql/test/BugTracker-2021/Tests/All 
b/sql/test/BugTracker-2021/Tests/All
--- a/sql/test/BugTracker-2021/Tests/All
+++ b/sql/test/BugTracker-2021/Tests/All
@@ -11,7 +11,7 @@ lowercase-cryllic.Bug-7126
 unnest-union.Bug-7127
 subquery-missing.Bug-7128
 batcalc-between-undefined.Bug-7129
-KNOWNFAIL?batappend-undefined.Bug-7130
+batappend-undefined.Bug-7130
 WITH-alias-DELETE-1.deletes-wrong-tuples.Bug-7133
 WITH-alias-DELETE-2.deletes-too-many-tuples.Bug-7133
 merge-delete.Bug-7136
diff --git a/sql/test/BugTracker-2021/Tests/batappend-undefined.Bug-7130.test 
b/sql/test/BugTracker-2021/Tests/batappend-undefined.Bug-7130.test
--- a/sql/test/BugTracker-2021/Tests/batappend-undefined.Bug-7130.test
+++ b/sql/test/BugTracker-2021/Tests/batappend-undefined.Bug-7130.test
@@ -57,11 +57,11 @@ select (select (select 1 where subq_0.c0
 statement error GDK reported error: BATsubcross: more than one match
 select 1 from t_qh left outer join (select 2) as subq_0(c1) on EXISTS(select 1 
from t_qh as ref_6 where 2 = (select 1 from t_qh where ref_6.c_f = 1 or 
subq_0.c1 is NULL))
 
-statement error GDK reported error: BATsubcross: more than one match
+statement error GDK reported error: mergejoin: more than one match
 select EXISTS(select 1 from t_qh left outer join (select cast(2 as INTEGER) 
from t_qh) as subq_0(c1) on true <> EXISTS(select 1 from t_qh as ref_6 where 2 <
 (select subq_0.c1 as c0 from t_qh where (1 <> ref_6.c_f) or (subq_0.c1 is 
NULL)))) from (select 30 from t_qh) as subq_0(c1)
 
-statement error GDK reported error: BATsubcross: more than one match
+statement error GDK reported error: mergejoin: more than one match
 select EXISTS(select 1 from t_qh left outer join (select cast(2 as INTEGER) 
from t_qh) as subq_0(c1) on 2 <> (select 1 from t_qh where EXISTS(select 3 as 
c0 from t_qh as ref_6 where 2 <
 (select subq_0.c1 as c0 from t_qh where (1 <> ref_6.c_f) or (subq_0.c1 is 
NULL))))) from (select 30 from t_qh) as subq_0(c1)
 
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to