Changeset: 33d17a418905 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/33d17a418905
Added Files:
        sql/test/BugTracker-2026/Tests/7950-exp_set_type-crash.test
Modified Files:
        sql/test/BugTracker-2026/Tests/All
Branch: Dec2025
Log Message:

Add test for #7950


diffs (45 lines):

diff --git a/sql/test/BugTracker-2026/Tests/7950-exp_set_type-crash.test 
b/sql/test/BugTracker-2026/Tests/7950-exp_set_type-crash.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2026/Tests/7950-exp_set_type-crash.test
@@ -0,0 +1,32 @@
+-- query without the complex 'ORDER BY x IN ( SELECT ... ) ASC' part doesn't 
crash
+query TR rowsort
+SELECT nth_value ( ( EXISTS ( SELECT 1 WHERE x > 0.100000 + 0.100000 + 
0.100000 + 0.100000 + 0.100000 + 0.100000 + 0.100000 + 0.100000 + 0.100000 + 
0.100000 + 0.100000 + 0.100000 + 0.100000 + 0.100000 + 0.100000 + 0.100000 + 
0.100000 + 0.100000 + 0.100000 + 0.100000 * 0.100000 + 0.100000 AND ( x IS NULL 
OR x IS NULL )
+                            )
+                   ) IN ( ( SELECT FALSE
+                          )
+                        ) , 1 ) OVER ( )
+ , LOG ( DISTINCT x )
+  FROM ( SELECT CAST( NULL AS VARCHAR ) AS x
+          UNION
+         SELECT CAST( NULL AS VARCHAR ) AS x )
+----
+True
+NULL
+
+-- the orginal reported query
+-- it crashes in exp_set_type (v=0x7fba7ce35790, rel=0x7fba4821cca0, 
e=0x7fba481be3f0, depth=0) at sql/server/rel_unnest.c:2786
+query TR rowsort
+SELECT nth_value ( ( EXISTS ( SELECT 1 WHERE x > 0.100000 + 0.100000 + 
0.100000 + 0.100000 + 0.100000 + 0.100000 + 0.100000 + 0.100000 + 0.100000 + 
0.100000 + 0.100000 + 0.100000 + 0.100000 + 0.100000 + 0.100000 + 0.100000 + 
0.100000 + 0.100000 + 0.100000 + 0.100000 * 0.100000 + 0.100000 AND ( x IS NULL 
OR x IS NULL )
+                            )
+                   ) IN ( ( SELECT FALSE
+                             ORDER BY x IN ( SELECT x WHERE x = x OR ( x = 1 
AND x = 1 ) GROUP BY cube ( x , x , x ) HAVING CASE WHEN NOT - 10 IS NULL AND 
NULL IS NULL THEN NULL WHEN - - 39 * - 89 NOT IN ( - 51 * - - 12 * - 27 * CASE 
WHEN NOT '_b_' IN ( - 69 , ( VAR_POP ( DISTINCT CAST( NULL AS INTEGER ) ) ) + 
MAX ( - 6 ) + - COUNT ( * ) / - - ( 77 ) + 37 , 44 , - - 0 * 23 , - - 86 , 
'_b%' , 'abc' , ( SELECT 10 ) , FALSE ) THEN 41 WHEN NOT - 21 / - 95 IS NOT 
NULL THEN 63 END , COUNT ( * ) / 67 ) THEN COUNT ( 54 ) END > 1 ) ASC
+                          )
+                        ) , 1 ) OVER ( )
+ , LOG ( DISTINCT x )
+  FROM ( SELECT CAST( NULL AS VARCHAR ) AS x
+          UNION
+         SELECT CAST( NULL AS VARCHAR ) AS x )
+----
+True
+NULL
+
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
@@ -135,3 +135,4 @@ KNOWNFAIL?7946-GDKanalyticalnthvalue-cra
 KNOWNFAIL?7947-exp_bin-crash
 KNOWNFAIL?7948-exp_bin-first_value-crash
 KNOWNFAIL?7949-exp_match-crash
+KNOWNFAIL?7950-exp_set_type-crash
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to