Changeset: 8cfb572f3164 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/8cfb572f3164
Modified Files:
        sql/server/rel_unnest.c
        sql/test/mergetables/Tests/sqlsmith-exists2.test
Branch: default
Log Message:

rewrite_outer2inner_union has to run before rewrite_or_exp. This fixes sqlsmith 
query


diffs (37 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
@@ -3634,13 +3634,13 @@ rel_unnest_simplify(visitor *v, sql_rel 
        if (rel)
                rel = rewrite_simplify(v, rel);
        if (rel)
-               rel = rewrite_or_exp(v, rel);
-       if (rel)
                rel = rewrite_split_select_exps(v, rel); /* has to run before 
rewrite_complex */
        if (rel)
-               rel = rewrite_aggregates(v, rel);
+               rel = rewrite_outer2inner_union(v, rel); /* has to run before 
rewrite_or_exp */
        if (rel)
-               rel = rewrite_outer2inner_union(v, rel);
+               rel = rewrite_or_exp(v, rel);
+       if (rel)
+               rel = rewrite_aggregates(v, rel);
        if (rel)
                rel = rewrite_values(v, rel);
        return rel;
diff --git a/sql/test/mergetables/Tests/sqlsmith-exists2.test 
b/sql/test/mergetables/Tests/sqlsmith-exists2.test
--- a/sql/test/mergetables/Tests/sqlsmith-exists2.test
+++ b/sql/test/mergetables/Tests/sqlsmith-exists2.test
@@ -525,6 +525,12 @@ 14
 14
 51
 
+query I rowsort
+select 1 from tab0 right join (select 1) as subq_0
+on false or (tab0.col1 is null and exists (select 1))
+----
+1
+
 query II rowsort
 select
  cast(coalesce(subq_1.c0,
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to