Changeset: 653101d7b80a for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/653101d7b80a
Added Files:
        sql/test/BugTracker-2025/Tests/7647-munion-optimizer-bug.test
        sql/test/BugTracker-2025/Tests/7653_incorrect_join_results.test
Modified Files:
        sql/test/BugTracker-2025/Tests/All
Branch: Mar2025
Log Message:

add tests for bugs #7647 and #7653


diffs (104 lines):

diff --git a/sql/test/BugTracker-2025/Tests/7647-munion-optimizer-bug.test 
b/sql/test/BugTracker-2025/Tests/7647-munion-optimizer-bug.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2025/Tests/7647-munion-optimizer-bug.test
@@ -0,0 +1,31 @@
+statement ok
+CREATE TABLE "test_bug_repro" (
+  "year_" TIMESTAMP,
+  "event_date_" TIMESTAMP,
+  "position_" BIGINT,
+  "final_rank_driver_" BIGINT
+)
+
+query I
+WITH "second_place_days" AS (
+  SELECT COUNT(DISTINCT "event_date_") AS "count" FROM "test_bug_repro" WHERE 
"position_" = 2
+),
+"championship_years" AS (
+  SELECT COUNT(DISTINCT "year_") AS "count" FROM "test_bug_repro" WHERE 
"final_rank_driver_" = 1
+),
+"race_days" AS (
+  SELECT COUNT(DISTINCT "event_date_") AS "count" FROM "test_bug_repro"
+),
+"podium_days" AS (
+  SELECT COUNT(DISTINCT "event_date_") AS "count" FROM "test_bug_repro" WHERE 
"position_" IN (1, 2, 3)
+),
+"results" AS (
+  SELECT '2nd' FROM "second_place_days"
+  UNION ALL
+  SELECT 'Championships' FROM "championship_years"
+  UNION ALL
+  SELECT 'Podium finishes' FROM "podium_days", "race_days"
+)
+SELECT COUNT(*) FROM "results"
+----
+3
diff --git a/sql/test/BugTracker-2025/Tests/7653_incorrect_join_results.test 
b/sql/test/BugTracker-2025/Tests/7653_incorrect_join_results.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2025/Tests/7653_incorrect_join_results.test
@@ -0,0 +1,49 @@
+statement ok
+CREATE TABLE t0 (c0 INT , c1 INT)
+
+statement ok
+INSERT INTO t0(c1) VALUES(1), (2), (3)
+
+query III
+SELECT * FROM t0 JOIN LATERAL (SELECT CASE WHEN 0.7 <> ALL(SELECT t0.c1 FROM 
t0 AS sub1) THEN 2 ELSE 1 END FROM t0 AS sub2) AS subQuery(col_1) ON NOT (( 
EXISTS (SELECT 1)) AND 0);
+----
+NULL
+1
+2
+NULL
+1
+2
+NULL
+1
+2
+NULL
+2
+2
+NULL
+2
+2
+NULL
+2
+2
+NULL
+3
+2
+NULL
+3
+2
+NULL
+3
+2
+
+query I
+SELECT t0.c1 FROM t0 JOIN LATERAL (SELECT CASE WHEN 0.7 <> ALL(SELECT t0.c1 
FROM t0 AS sub1) THEN 2 ELSE 1 END FROM t0 AS sub2) AS subQuery(col_1) ON NOT 
(( EXISTS (SELECT 1)) AND 0);
+----
+1
+1
+1
+2
+2
+2
+3
+3
+3
diff --git a/sql/test/BugTracker-2025/Tests/All 
b/sql/test/BugTracker-2025/Tests/All
--- a/sql/test/BugTracker-2025/Tests/All
+++ b/sql/test/BugTracker-2025/Tests/All
@@ -14,8 +14,10 @@ 7636_antijoin_crash
 7643_select_0_optimizer_bug
 7644_antijoin_crash
 7646_leftjoin_crash
+7647-munion-optimizer-bug
 7648_rightjoin_crash
 7650_right_join_crash
+7653_incorrect_join_results
 7654_non_monetdb_user_remote_table_exec
 7656_incorrect_error
 7659_trigger_crashes
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to