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 -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org