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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list