Changeset: 759bce77a1de for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/759bce77a1de
Modified Files:
sql/server/rel_unnest.c
sql/test/SQLancer/Tests/sqlancer19.SQL.py
Branch: default
Log Message:
Leave rewrite_anyequal earlier if no rewrites are needed. At the moment
unnesting is called again on remote plans and it could create issues
diffs (26 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
@@ -2881,7 +2881,7 @@ rewrite_anyequal(visitor *v, sql_rel *re
v->changes++;
return le;
}
- } else if (!lsq && is_tuple && is_values(re) &&
!exps_have_rel_exp(re->f)) {
+ } else if (!lsq && !exps_have_rel_exp(re->f)) {
return e; /* leave as is, handled later */
}
diff --git a/sql/test/SQLancer/Tests/sqlancer19.SQL.py
b/sql/test/SQLancer/Tests/sqlancer19.SQL.py
--- a/sql/test/SQLancer/Tests/sqlancer19.SQL.py
+++ b/sql/test/SQLancer/Tests/sqlancer19.SQL.py
@@ -369,6 +369,10 @@ with SQLTestCase() as cli:
.assertSucceeded().assertDataResultMatch([(Decimal('2.47'),"1","","1")])
cli.execute("SELECT abs(2.47), ltrim(count(*)), ltrim(count(*),count(*)),
lower(count(*)) FROM rt3 where rt3.c0 = 1;") \
.assertSucceeded().assertDataResultMatch([(Decimal('2.47'),"1","","1")])
+ cli.execute("SELECT 1 FROM t3 LEFT OUTER JOIN (SELECT 1) x(x) ON 1 <>
ALL(VALUES (t3.c0)) where t3.c0 = 1;") \
+ .assertSucceeded().assertDataResultMatch([(1,)])
+ cli.execute("SELECT 1 FROM rt3 LEFT OUTER JOIN (SELECT 1) x(x) ON 1 <>
ALL(VALUES (rt3.c0)) where rt3.c0 = 1;") \
+ .assertSucceeded().assertDataResultMatch([(1,)])
cli.execute("ROLLBACK;")
cli.execute("SELECT CASE 1 WHEN 5 THEN ((SELECT t3.c0) INTERSECT (SELECT
9)) ELSE (VALUES (t3.c0), (1)) END FROM t3;") \
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]