Changeset: 4e33bb7c4b21 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/4e33bb7c4b21
Modified Files:
        sql/test/BugTracker-2026/Tests/All
Branch: default
Log Message:

Merge with Dec2025 branch.


diffs (297 lines):

diff --git a/sql/test/BugTracker-2026/Tests/7989-window-avg-bug.test 
b/sql/test/BugTracker-2026/Tests/7989-window-avg-bug.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2026/Tests/7989-window-avg-bug.test
@@ -0,0 +1,66 @@
+query IRR rowsort
+WITH t AS (
+  SELECT value AS id, CAST(value - 1 AS DOUBLE) AS v
+  FROM generate_series(1, 18)
+)
+SELECT id,
+       AVG(v) OVER (
+         ORDER BY id
+         ROWS BETWEEN 16 PRECEDING AND CURRENT ROW
+       ) AS actual,
+       (SELECT AVG(r.v) FROM t AS r WHERE r.id <= t.id) AS expected
+FROM t
+ORDER BY id
+----
+1
+0.000
+0.000
+10
+4.500
+4.500
+11
+5.000
+5.000
+12
+5.500
+5.500
+13
+6.000
+6.000
+14
+6.500
+6.500
+15
+7.000
+7.000
+16
+7.500
+7.500
+17
+8.000
+8.000
+2
+0.500
+0.500
+3
+1.000
+1.000
+4
+1.500
+1.500
+5
+2.000
+2.000
+6
+2.500
+2.500
+7
+3.000
+3.000
+8
+3.500
+3.500
+9
+4.000
+4.000
+
diff --git a/sql/test/BugTracker-2026/Tests/7990-rank-filter-bug.test 
b/sql/test/BugTracker-2026/Tests/7990-rank-filter-bug.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2026/Tests/7990-rank-filter-bug.test
@@ -0,0 +1,46 @@
+-- query without the WHERE r <= 1 works fine
+query III rowsort
+WITH t(id,x) AS (
+  VALUES (1,10), (2,10), (3,20), (4,30)
+)
+SELECT id, x, r
+FROM (
+  SELECT id, x, RANK() OVER (ORDER BY x) AS r
+  FROM t
+) AS s
+-- WHERE r <= 1
+ORDER BY id
+----
+1
+10
+1
+2
+10
+1
+3
+20
+3
+4
+30
+4
+
+-- query with the WHERE r <= 1 works incorrect (removes row {2,10,1})
+query III rowsort
+WITH t(id,x) AS (
+  VALUES (1,10), (2,10), (3,20), (4,30)
+)
+SELECT id, x, r
+FROM (
+  SELECT id, x, RANK() OVER (ORDER BY x) AS r
+  FROM t
+) AS s
+WHERE r <= 1
+ORDER BY id
+----
+1
+10
+1
+2
+10
+1
+
diff --git 
a/sql/test/BugTracker-2026/Tests/7991-group_concat-null-separator-bug.test 
b/sql/test/BugTracker-2026/Tests/7991-group_concat-null-separator-bug.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2026/Tests/7991-group_concat-null-separator-bug.test
@@ -0,0 +1,27 @@
+query TTTTTT rowsort
+WITH t(s) AS (
+  VALUES ('a'), ('b')
+)
+SELECT GROUP_CONCAT(s, CAST(NULL AS VARCHAR(1))) OVER () =
+       (SELECT GROUP_CONCAT(r.s, CAST(NULL AS VARCHAR(1))) FROM t AS r)
+       AS actual_equal,
+       TRUE AS expected_equal
+       ,GROUP_CONCAT(s, CAST(NULL AS VARCHAR(1))) OVER () as gcn1
+       ,(SELECT GROUP_CONCAT(r.s, CAST(NULL AS VARCHAR(1))) FROM t AS r) as 
gcn2
+       ,GROUP_CONCAT(s, '') OVER () as gce1
+       ,(SELECT GROUP_CONCAT(r.s,'') FROM t AS r) as gce2
+FROM t
+----
+True
+True
+ab
+ab
+ab
+ab
+True
+True
+ab
+ab
+ab
+ab
+
diff --git 
a/sql/test/BugTracker-2026/Tests/7992-window-date-range-interval-bug.test 
b/sql/test/BugTracker-2026/Tests/7992-window-date-range-interval-bug.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2026/Tests/7992-window-date-range-interval-bug.test
@@ -0,0 +1,37 @@
+query III rowsort
+WITH t(id, k, v) AS (
+  VALUES
+    (1, DATE '2024-01-01', 10),
+    (2, DATE '2024-01-02', 20),
+    (3, CAST(NULL AS DATE), 30),
+    (4, DATE '2024-01-03', 40),
+    (5, CAST(NULL AS DATE), 50)
+)
+SELECT id,
+  SUM(v) OVER (
+    ORDER BY k ASC NULLS LAST
+    RANGE BETWEEN INTERVAL '1' DAY PRECEDING AND CURRENT ROW
+  ) AS actual_nulls_last,
+  SUM(v) OVER (
+    ORDER BY k ASC NULLS FIRST
+    RANGE BETWEEN INTERVAL '1' DAY PRECEDING AND CURRENT ROW
+  ) AS actual_nulls_first
+FROM t
+ORDER BY id
+----
+1
+10
+10
+2
+30
+30
+3
+80
+80
+4
+60
+60
+5
+80
+80
+
diff --git a/sql/test/BugTracker-2026/Tests/7993-query-groupby-rollup-bug.test 
b/sql/test/BugTracker-2026/Tests/7993-query-groupby-rollup-bug.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2026/Tests/7993-query-groupby-rollup-bug.test
@@ -0,0 +1,84 @@
+statement ok
+CREATE TABLE n3a(c0 INT, c1 INT)
+
+statement ok
+INSERT INTO n3a VALUES (10,1),(20,2)
+
+statement ok
+CREATE TABLE n3b(c0 INT)
+
+statement ok
+INSERT INTO n3b VALUES (10)
+
+query T nosort
+EXPLAIN
+SELECT COUNT(*) FROM n3a
+ WHERE n3a.c0 = 999999
+   AND EXISTS (SELECT 1 FROM n3b WHERE n3b.c0 = n3a.c0)
+ GROUP BY ROLLUP(n3a.c1)
+----
+REF 1 (2)
+semijoin (
+| select (
+| |  [  ]
+| ) [ boolean(1) "false" ],
+| project (
+| | table("sys"."n3b") [ "n3b"."c0", "n3b"."%TID%" ]
+| ) [ tinyint(1) "1" as "%3"."%3", "n3b"."c0" ]
+) [ ("n3b"."c0") = ("n3a"."c0") ]
+project (
+| project (
+| | group by (
+| | | & REF 1 
+| | ) [  ] [ "sys"."count"() as "%2"."%2" ]
+| ) [ "%2"."%2" ]
+) [ "%2"."%2" ]
+
+-- HANGS (never returns; EXPLAIN above returns instantly):
+query I nosort
+SELECT COUNT(*) FROM n3a
+ WHERE n3a.c0 = 999999
+   AND EXISTS (SELECT 1 FROM n3b WHERE n3b.c0 = n3a.c0)
+ GROUP BY ROLLUP(n3a.c1)
+----
+0
+
+-- The IN form hangs identically (semi-join, not EXISTS-specific):
+query I nosort
+SELECT COUNT(*) FROM n3a
+ WHERE n3a.c0 = 999999
+   AND n3a.c0 IN (SELECT n3b.c0 FROM n3b)
+ GROUP BY ROLLUP(n3a.c1)
+----
+0
+
+-- remove the provably-empty selection (c0 = 10 instead of 999999):
+query I nosort
+SELECT COUNT(*) FROM n3a WHERE n3a.c0 = 10
+   AND EXISTS (SELECT 1 FROM n3b WHERE n3b.c0 = n3a.c0)
+ GROUP BY ROLLUP(n3a.c1)                                   -- returns 1, 1
+----
+1
+1
+
+-- remove the EXISTS subquery:
+query I nosort
+SELECT COUNT(*) FROM n3a WHERE n3a.c0 = 999999
+ GROUP BY ROLLUP(n3a.c1)                                   -- returns 0
+----
+0
+
+-- remove the ROLLUP (plain GROUP BY):
+query I nosort
+SELECT COUNT(*) FROM n3a WHERE n3a.c0 = 999999
+   AND EXISTS (SELECT 1 FROM n3b WHERE n3b.c0 = n3a.c0)
+ GROUP BY n3a.c1                                           -- returns empty
+----
+
+
+statement ok
+DROP TABLE IF EXISTS n3a
+
+statement ok
+DROP TABLE IF EXISTS n3b
+
diff --git a/sql/test/BugTracker-2026/Tests/All 
b/sql/test/BugTracker-2026/Tests/All
--- a/sql/test/BugTracker-2026/Tests/All
+++ b/sql/test/BugTracker-2026/Tests/All
@@ -171,3 +171,8 @@ KNOWNFAIL?7984-exists-select-count-bug
 KNOWNFAIL?7985-qualify-row_number-over-bug
 KNOWNFAIL?7986-right-function-bug
 KNOWNFAIL?7987-where-null-bug
+KNOWNFAIL?7989-window-avg-bug
+KNOWNFAIL?7990-rank-filter-bug
+7991-group_concat-null-separator-bug
+KNOWNFAIL?7992-window-date-range-interval-bug
+KNOWNFAIL?7993-query-groupby-rollup-bug
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to