Changeset: 8997f3730efa for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8997f3730efa
Modified Files:
        monetdb5/optimizer/opt_mergetable.c
        sql/server/rel_unnest.c
        sql/test/BugTracker-2019/Tests/All
        sql/test/mergetables/Tests/sqlsmith-exists.stable.out
Branch: default
Log Message:

fixed next sqlsmith problem (order of rewrites fixed)


diffs (72 lines):

diff --git a/monetdb5/optimizer/opt_mergetable.c 
b/monetdb5/optimizer/opt_mergetable.c
--- a/monetdb5/optimizer/opt_mergetable.c
+++ b/monetdb5/optimizer/opt_mergetable.c
@@ -1843,6 +1843,7 @@ OPTmergetableImplementation(Client cntxt
                        }
                        bailout = 1;
                }
+
                /*
                if (isTopn(p))
                        topn_res = getArg(p, 0);
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
@@ -2724,8 +2724,8 @@ rel_unnest(mvc *sql, sql_rel *rel)
        rel = rel_visitor(sql, rel, &rewrite_or_exp);
        rel = rel_exp_visitor(sql, rel, &rewrite_rank);
        rel = rel_exp_visitor(sql, rel, &rewrite_anyequal);
+       rel = rel_exp_visitor(sql, rel, &rewrite_exists);
        rel = rel_exp_visitor(sql, rel, &rewrite_compare);
-       rel = rel_exp_visitor(sql, rel, &rewrite_exists);
        rel = rel_exp_visitor(sql, rel, &rewrite_ifthenelse);   /* add isnull 
handling */
        rel = rel_exp_visitor(sql, rel, &rewrite_exp_rel);
        rel = rel_visitor(sql, rel, &rewrite_join2semi);        /* where 
possible convert anyequal functions into marks */
diff --git a/sql/test/BugTracker-2019/Tests/All 
b/sql/test/BugTracker-2019/Tests/All
--- a/sql/test/BugTracker-2019/Tests/All
+++ b/sql/test/BugTracker-2019/Tests/All
@@ -56,4 +56,4 @@ cast-interval.Bug-6793
 could-not-allocate-space.Bug-6795
 HAVE_LIBPY3?python3-udf-modules.Bug-6797
 json-text-empty-separator.Bug-6798
-orderby-alias-expr.Bug-6799
+KNOWNFAIL&FEATURE?orderby-alias-expr.Bug-6799
diff --git a/sql/test/mergetables/Tests/sqlsmith-exists.stable.out 
b/sql/test/mergetables/Tests/sqlsmith-exists.stable.out
--- a/sql/test/mergetables/Tests/sqlsmith-exists.stable.out
+++ b/sql/test/mergetables/Tests/sqlsmith-exists.stable.out
@@ -463,6 +463,35 @@ stdout of test 'sqlsmith-exists` in dire
 % c0,  c1 # name
 % varchar,     varchar # type
 % 0,   0 # length
+#select
+#  subq_0.c1 as c0,
+#  subq_0.c1 as c1,
+#  subq_0.c1 as c2,
+#  cast(
+#    nullif(
+#      subq_0.c3,
+#      cast(
+#        nullif(
+#          subq_0.c2,
+#          case when (
+#            (subq_0.c1 is not null)
+#            and (subq_0.c3 is not null)
+#          )
+#          or (
+#            (
+#              (subq_0.c4 is not null)
+#              or (
+#                (
+#                  (
+#                    (true)
+#                    or (
+#                      (
+#                        exists (
+#                          select
+% .,   .,      .,      .,      . # table_name
+% c0,  c1,     c2,     c3,     c4 # name
+% int, int,    int,    int,    int # type
+% 1,   1,      1,      1,      1 # length
 #ROLLBACK;
 
 # 19:56:32 >  
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to