Changeset: 4324883d1ac8 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/4324883d1ac8
Added Files:
        sql/test/BugTracker-2026/Tests/7946_GDKanalyticalnthvalue_crash.test
Modified Files:
        sql/test/BugTracker-2026/Tests/All
Branch: Dec2025
Log Message:

Add test for #7946


diffs (61 lines):

diff --git 
a/sql/test/BugTracker-2026/Tests/7946_GDKanalyticalnthvalue_crash.test 
b/sql/test/BugTracker-2026/Tests/7946_GDKanalyticalnthvalue_crash.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2026/Tests/7946_GDKanalyticalnthvalue_crash.test
@@ -0,0 +1,48 @@
+-- next query with commented out 'UNION SELECT nth_value()' part works
+query II rowsort
+SELECT DISTINCT x
+ , CASE WHEN x > 12 THEN 1 WHEN x <= 0.080000 THEN 4 ELSE 0 END AS x
+  FROM ( SELECT 1 , 3 , 3 FROM generate_series ( 42749 , 5 ) ) AS x
+     , ( SELECT 10 AS x
+          UNION
+         SELECT 11 AS x
+--        UNION
+--       SELECT nth_value ( - 51 * - - 12 * - 27 * CASE WHEN NOT '_b_' IN ( - 
69 , ( SUM ( DISTINCT CAST( NULL AS INTEGER ) ) ) + MAX ( - 6 ) + - COUNT ( * ) 
/ - - ( 77 ) + 37 , 44 , - - 0 * 23 , - - 86 , '_b%' , 'abc' , ( SELECT 10 ) , 
FALSE ) THEN 'three' WHEN NOT - 21 / - 95 IS NOT NULL THEN 63 END , '1' ) OVER 
( RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING )
+          UNION
+         SELECT 13 AS x
+      )
+----
+10
+0
+11
+0
+13
+1
+
+-- test the crashing 'SELECT nth_value()' query independently
+query I rowsort
+SELECT nth_value ( - 51 * - - 12 * - 27 * CASE WHEN NOT '_b_' IN ( - 69 , ( 
SUM ( DISTINCT CAST( NULL AS INTEGER ) ) ) + MAX ( - 6 ) + - COUNT ( * ) / - - 
( 77 ) + 37 , 44 , - - 0 * 23 , - - 86 , '_b%' , 'abc' , ( SELECT 10 ) , FALSE 
) THEN 'three' WHEN NOT - 21 / - 95 IS NOT NULL THEN 63 END , '1' ) OVER ( 
RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING )
+----
+
+-- the orginal reported query, but with added DISTINCT to reduce output
+-- it crashes in GDKanalyticalnthvalue (b=0x7f3d7ef99a68 <BBP0+171560>, s=0x0, 
e=0x0, t=0x7f3d7ef9a348 <BBP0+173832>, nth=0, tpe=9) at 
gdk/gdk_analytic_func.c:474
+query II rowsort
+SELECT DISTINCT x
+ , CASE WHEN x > 12 THEN 1 WHEN x <= 0.080000 THEN 4 ELSE 0 END AS x
+  FROM ( SELECT 1 , 3 , 3 FROM generate_series ( 42749 , 5 ) ) AS x
+     , ( SELECT 10 AS x
+          UNION
+         SELECT 11 AS x
+          UNION
+         SELECT nth_value ( - 51 * - - 12 * - 27 * CASE WHEN NOT '_b_' IN ( - 
69 , ( SUM ( DISTINCT CAST( NULL AS INTEGER ) ) ) + MAX ( - 6 ) + - COUNT ( * ) 
/ - - ( 77 ) + 37 , 44 , - - 0 * 23 , - - 86 , '_b%' , 'abc' , ( SELECT 10 ) , 
FALSE ) THEN 'three' WHEN NOT - 21 / - 95 IS NOT NULL THEN 63 END , '1' ) OVER 
( RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING )
+          UNION
+         SELECT 13 AS x
+       )
+----
+10
+0
+11
+0
+13
+1
+
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
@@ -131,3 +131,4 @@ KNOWNFAIL?7931-rel2bin_select-assertion-
 7937-where-not-in-values-null-bug
 7938-not-x-is-const-and-x-is-not-null-bug
 KNOWNFAIL?7945_GDKanalyticalnthvalue_crash
+KNOWNFAIL?7946_GDKanalyticalnthvalue_crash
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to