Changeset: 9f433267ee2f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/9f433267ee2f
Modified Files:
sql/test/BugTracker-2026/Tests/7964-optimize-limit-0-queries.test
sql/test/BugTracker-2026/Tests/7966-optimize-select-distinct-from-union-queries.test
Branch: default
Log Message:
Plans on default are a bit different.
diffs (147 lines):
diff --git a/sql/test/BugTracker-2026/Tests/7964-optimize-limit-0-queries.test
b/sql/test/BugTracker-2026/Tests/7964-optimize-limit-0-queries.test
--- a/sql/test/BugTracker-2026/Tests/7964-optimize-limit-0-queries.test
+++ b/sql/test/BugTracker-2026/Tests/7964-optimize-limit-0-queries.test
@@ -83,31 +83,26 @@ LIMIT 0
----
top N (
| project (
-| | project (
-| | | select (
-| | | | left outer group join (
-| | | | | project (
-| | | | | | join (
-| | | | | | | select (
-| | | | | | | | table("sys"."rift_perf_a") [ "rift_perf_a"."id" as "a"."id",
"rift_perf_a"."k" as "a"."k", "rift_perf_a"."payload" as "a"."payload" ]
-| | | | | | | ) [ ("a"."id") < (int(17) "1000") ],
-| | | | | | | select (
-| | | | | | | | table("sys"."rift_perf_b") [ "rift_perf_b"."id" as "b"."id",
"rift_perf_b"."k" as "b"."k" ]
-| | | | | | | ) [ ("b"."id") < (int(17) "1000") ]
-| | | | | | ) [ ("a"."k") != ("b"."k") ]
-| | | | | ) [ "a"."id", "a"."k", "a"."payload", "b"."id" ],
-| | | | | project (
+| | select (
+| | | left outer group join (
+| | | | project (
+| | | | | join (
+| | | | | | select (
+| | | | | | | table("sys"."rift_perf_a") [ "rift_perf_a"."id" as "a"."id",
"rift_perf_a"."k" as "a"."k", "rift_perf_a"."payload" as "a"."payload" ]
+| | | | | | ) [ ("a"."id") < (int(17) "1000") ],
| | | | | | select (
-| | | | | | | table("sys"."rift_digit") [ "rift_digit"."d" ]
-| | | | | | ) [ ("rift_digit"."d") = (int(4) "1") ]
-| | | | | ) [ tinyint(1) "1" as "%1"."%1" ]
-| | | | ) [ ] [ boolean(1) "true" as "%2"."%2" ]
-| | | ) [ (("a"."k") >= (int(4) "0")) or ("%2"."%2") ]
-| | ) [ "a"."id" as "aid", "b"."id" as "bid", "a"."payload" as "p" ]
-| ) [ "aid", "bid", "p" ] [ "p", "bid" ]
+| | | | | | | table("sys"."rift_perf_b") [ "rift_perf_b"."id" as "b"."id",
"rift_perf_b"."k" as "b"."k" ]
+| | | | | | ) [ ("b"."id") < (int(17) "1000") ]
+| | | | | ) [ ("a"."k") != ("b"."k") ]
+| | | | ) [ "a"."id", "a"."k", "a"."payload", "b"."id" ],
+| | | | select (
+| | | | | table("sys"."rift_digit") [ "rift_digit"."d" ]
+| | | | ) [ ("rift_digit"."d") = (int(4) "1") ]
+| | | ) [ ] [ boolean(1) "true" as "%2"."%2" ]
+| | ) [ (("a"."k") >= (int(4) "0")) or ("%2"."%2") ]
+| ) [ "a"."id" as "aid", "b"."id" as "bid", "a"."payload" as "p" ] [ "p",
"bid" ]
) [ bigint(63) "0" ]
-
-- Equivalent query: also returns zero rows.
-- This version is optimized to a constant empty input.
query IIT nosort
@@ -151,12 +146,13 @@ LIMIT 0
----
top N (
| project (
-| | project (
+| | join (
| | | select (
-| | | | [ int(17) NULL as "a"."id", varchar(7) NULL as "a"."payload", int(17)
NULL as "b"."id" ]
-| | | ) [ boolean(1) "false" ]
-| | ) [ "a"."id" as "aid", "b"."id" as "bid", "a"."payload" as "p" ]
-| ) [ "aid", "bid", "p" ] [ "p", "bid" ]
+| | | | table("sys"."rift_perf_a") [ "rift_perf_a"."id" as "a"."id",
"rift_perf_a"."k" as "a"."k", "rift_perf_a"."payload" as "a"."payload" ]
+| | | ) [ boolean(1) "false" ],
+| | | table("sys"."rift_perf_b") [ "rift_perf_b"."id" as "b"."id",
"rift_perf_b"."k" as "b"."k" ]
+| | ) [ ("a"."k") != ("b"."k") ]
+| ) [ "a"."id" as "aid", "b"."id" as "bid", "a"."payload" as "p" ] [ "p",
"bid" ]
) [ bigint(63) "0" ]
statement ok
diff --git
a/sql/test/BugTracker-2026/Tests/7966-optimize-select-distinct-from-union-queries.test
b/sql/test/BugTracker-2026/Tests/7966-optimize-select-distinct-from-union-queries.test
---
a/sql/test/BugTracker-2026/Tests/7966-optimize-select-distinct-from-union-queries.test
+++
b/sql/test/BugTracker-2026/Tests/7966-optimize-select-distinct-from-union-queries.test
@@ -20,18 +20,24 @@ SELECT a
FROM outer_distinct_union_t
WHERE a >= 200
----
-distinct munion (
-| project (
-| | select (
-| | | table("sys"."outer_distinct_union_t") [ "outer_distinct_union_t"."a" ]
-| | ) [ ("outer_distinct_union_t"."a") <= (int(31) "800") ]
-| ) [ "outer_distinct_union_t"."a" ],
-| project (
-| | select (
-| | | table("sys"."outer_distinct_union_t") [ "outer_distinct_union_t"."a" ]
-| | ) [ ("outer_distinct_union_t"."a") >= (int(31) "200") ]
+group by (
+| munion (
+| | project (
+| | | project (
+| | | | select (
+| | | | | table("sys"."outer_distinct_union_t") [ "outer_distinct_union_t"."a"
]
+| | | | ) [ ("outer_distinct_union_t"."a") <= (int(31) "800") ]
+| | | ) [ "outer_distinct_union_t"."a" ]
+| | ) [ "outer_distinct_union_t"."a", "outer_distinct_union_t"."a" ],
+| | project (
+| | | project (
+| | | | select (
+| | | | | table("sys"."outer_distinct_union_t") [ "outer_distinct_union_t"."a"
]
+| | | | ) [ ("outer_distinct_union_t"."a") >= (int(31) "200") ]
+| | | ) [ "outer_distinct_union_t"."a" ]
+| | ) [ "outer_distinct_union_t"."a", "outer_distinct_union_t"."a" ]
| ) [ "outer_distinct_union_t"."a" ]
-) [ "outer_distinct_union_t"."a" ]
+) [ "outer_distinct_union_t"."a" ] [ "outer_distinct_union_t"."a" ]
-- Mutated query.
-- The outer DISTINCT is redundant.
@@ -49,18 +55,24 @@ FROM (
) AS u
----
group by (
-| distinct munion (
-| | project (
-| | | select (
-| | | | table("sys"."outer_distinct_union_t") [ "outer_distinct_union_t"."a" ]
-| | | ) [ ("outer_distinct_union_t"."a") <= (int(31) "800") ]
-| | ) [ "outer_distinct_union_t"."a" ],
-| | project (
-| | | select (
-| | | | table("sys"."outer_distinct_union_t") [ "outer_distinct_union_t"."a" ]
-| | | ) [ ("outer_distinct_union_t"."a") >= (int(31) "200") ]
-| | ) [ "outer_distinct_union_t"."a" ]
-| ) [ "outer_distinct_union_t"."a" as "u"."a" ]
+| group by (
+| | munion (
+| | | project (
+| | | | project (
+| | | | | select (
+| | | | | | table("sys"."outer_distinct_union_t") [
"outer_distinct_union_t"."a" ]
+| | | | | ) [ ("outer_distinct_union_t"."a") <= (int(31) "800") ]
+| | | | ) [ "outer_distinct_union_t"."a" as "u"."a" ]
+| | | ) [ "u"."a", "u"."a" ],
+| | | project (
+| | | | project (
+| | | | | select (
+| | | | | | table("sys"."outer_distinct_union_t") [
"outer_distinct_union_t"."a" ]
+| | | | | ) [ ("outer_distinct_union_t"."a") >= (int(31) "200") ]
+| | | | ) [ "outer_distinct_union_t"."a" as "u"."a" ]
+| | | ) [ "u"."a", "u"."a" ]
+| | ) [ "u"."a" ]
+| ) [ "u"."a" ] [ "u"."a" ]
) [ "u"."a" ] [ "u"."a" ]
statement ok
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]