Changeset: 172b54aa78ff for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/172b54aa78ff
Branch: Dec2025
Log Message:

merged


diffs (truncated from 308 to 300 lines):

diff --git a/monetdb5/optimizer/opt_multiplex.c 
b/monetdb5/optimizer/opt_multiplex.c
--- a/monetdb5/optimizer/opt_multiplex.c
+++ b/monetdb5/optimizer/opt_multiplex.c
@@ -64,11 +64,11 @@ OPTexpandMultiplex(Client ctx, MalBlkPtr
                throw(MAL, "optimizer.multiplex", SQLSTATE(HY013) 
MAL_MALLOC_FAIL);
 
 #ifndef NDEBUG
-       TRC_WARNING_IF(MAL_OPTIMIZER) {
+       TRC_INFO_IF(MAL_OPTIMIZER) {
                char *ps = instruction2str(mb, stk, pci, LIST_MAL_DEBUG);
-               TRC_WARNING_ENDIF(MAL_OPTIMIZER,
-                                                 "To speedup %s.%s a bulk 
operator implementation is needed%s%s\n",
-                                                 mod, fcn, ps ? " for " : "", 
ps ? ps : "");
+               TRC_INFO_ENDIF(MAL_OPTIMIZER,
+                                          "To speedup %s.%s a bulk operator 
implementation is needed%s%s\n",
+                                          mod, fcn, ps ? " for " : "", ps ? ps 
: "");
        }
 #endif
 
diff --git a/sql/server/sql_semantic.c b/sql/server/sql_semantic.c
--- a/sql/server/sql_semantic.c
+++ b/sql/server/sql_semantic.c
@@ -112,7 +112,7 @@ tmp_schema(mvc *sql)
        return mvc_bind_schema(sql, "tmp");
 }
 
-#define DO_NOTHING(x) ;
+#define DO_NOTHING(x) ((void) 0)
 
 /* as we don't have OOP in C, I prefer a single macro with the search path 
algorithm to passing function pointers */
 #define search_object_on_path(CALL, EXTRA_CONDITION, EXTRA, ERROR_CODE, 
show_error) \
@@ -182,7 +182,7 @@ find_sequence_on_scope(mvc *sql, const c
        static const char objstr[] = "sequence";
        sql_sequence *res = NULL;
 
-       search_object_on_path(res = find_sql_sequence(sql->session->tr, next, 
name), DO_NOTHING, ;, SQLSTATE(42000), true);
+       search_object_on_path(res = find_sql_sequence(sql->session->tr, next, 
name), DO_NOTHING, ((void) 0), SQLSTATE(42000), true);
        return res;
 }
 
@@ -192,7 +192,7 @@ find_idx_on_scope(mvc *sql, const char *
        static const char objstr[] = "index";
        sql_idx *res = NULL;
 
-       search_object_on_path(res = mvc_bind_idx(sql, next, name), DO_NOTHING, 
;, SQLSTATE(42S12), true);
+       search_object_on_path(res = mvc_bind_idx(sql, next, name), DO_NOTHING, 
((void) 0), SQLSTATE(42S12), true);
        return res;
 }
 
@@ -202,7 +202,7 @@ find_type_on_scope(mvc *sql, const char 
        static const char objstr[] = "type";
        sql_type *res = NULL;
 
-       search_object_on_path(res = schema_bind_type(sql, next, name), 
DO_NOTHING, ;, SQLSTATE(42S01), true);
+       search_object_on_path(res = schema_bind_type(sql, next, name), 
DO_NOTHING, ((void) 0), SQLSTATE(42S01), true);
        return res;
 }
 
@@ -212,7 +212,7 @@ find_trigger_on_scope(mvc *sql, const ch
        static const char objstr[] = "trigger";
        sql_trigger *res = NULL;
 
-       search_object_on_path(res = mvc_bind_trigger(sql, next, name), 
DO_NOTHING, ;, SQLSTATE(3F000), true);
+       search_object_on_path(res = mvc_bind_trigger(sql, next, name), 
DO_NOTHING, ((void) 0), SQLSTATE(3F000), true);
        return res;
 }
 
diff --git 
a/sql/test/BugTracker-2026/Tests/7728-select-with-subqueries-crash.test 
b/sql/test/BugTracker-2026/Tests/7728-select-with-subqueries-crash.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2026/Tests/7728-select-with-subqueries-crash.test
@@ -0,0 +1,26 @@
+-- in strNil error: Cannot access memory at address 0x134>) at 
MonetDB/gdk/gdk_atoms.h:410
+-- in strEq  error: Cannot access memory at address 0x134>, r=0x7fc800d0e46b 
<str_nil> "\200") at MonetDB/gdk/gdk_atoms.h:438
+-- in GDKanalyticalmax (tpe=18, frame_type=0) at 
MonetDB/gdk/gdk_analytic_func.c:1361
+statement error GDK reported error: mergejoin: more than one match
+SELECT ( WITH x ( x ) AS ( SELECT 1 ) SELECT ( WITH x ( x ) AS ( SELECT 1 
UNION SELECT 1 - x FROM x ) SELECT ( SELECT ( NULLIF ( 9.000000 , 0 ) ) FROM ( 
SELECT ( WITH x AS ( SELECT * FROM generate_series ( 44 , 3 ) ) SELECT CASE 
WHEN lead ( x ) OVER ( ORDER BY x ASC , x DESC , x ) IN ( 69 , MAX ( CASE WHEN 
97 THEN 66 END ) OVER ( ) + ( SELECT COUNT ( * ) ) ) THEN 41 END FROM x ORDER 
BY max ( 'y' ) OVER ( ROWS BETWEEN ( WITH x ( x ) AS ( SELECT 1 ) SELECT ( WITH 
x ( x ) AS ( SELECT DISTINCT SUM ( 1 ) ) SELECT ( SELECT ( CASE WHEN NOT - 10 
IS NULL AND NULL IS NULL THEN - 30 WHEN - - 39 * - 89 NOT IN ( - 51 * - - 
1.000000 , count ( * ) / 67 ) THEN count ( 54 ) END ) FROM GENERATE_SERIES ( 1 
, x ) ) ) FROM x ) PRECEDING AND CURRENT ROW ) ) WHERE ( SELECT x FROM x WHERE 
x != 1 GROUP BY x ) != x ORDER BY x ) ) FROM x ) FROM x )
+
+statement error GDK reported error: mergejoin: more than one match
+SELECT ( WITH x ( x ) AS ( SELECT 1 )
+ SELECT ( WITH x ( x ) AS ( SELECT 1 UNION SELECT 1 - x FROM x )
+  SELECT ( SELECT ( NULLIF ( 9.000000 , 0 ) ) FROM (
+   SELECT ( WITH x AS ( SELECT * FROM generate_series ( 44 , 3 ) )
+    SELECT CASE WHEN lead ( x ) OVER ( ORDER BY x ASC , x DESC , x ) IN ( 69 , 
MAX ( CASE WHEN 97 THEN 66 END ) OVER ( ) + ( SELECT COUNT ( * ) ) ) THEN 41 
END FROM x
+     ORDER BY max ( 'y' ) OVER ( ROWS BETWEEN (
+      WITH x ( x ) AS ( SELECT 1 )
+       SELECT ( WITH x ( x ) AS ( SELECT DISTINCT SUM ( 1 ) )
+        SELECT (
+         SELECT ( CASE WHEN NOT - 10 IS NULL AND NULL IS NULL THEN - 30 WHEN - 
- 39 * - 89 NOT IN ( - 51 * - - 1.000000 , count ( * ) / 67 ) THEN count ( 54 ) 
END ) FROM GENERATE_SERIES ( 1 , x )
+        )
+       )
+      FROM x ) PRECEDING AND CURRENT ROW )
+    ) WHERE ( SELECT x FROM x WHERE x != 1 GROUP BY x ) != x ORDER BY x
+   )
+  )
+ FROM x )
+FROM x )
+
diff --git a/sql/test/BugTracker-2026/Tests/7792-assertion-failure.test 
b/sql/test/BugTracker-2026/Tests/7792-assertion-failure.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2026/Tests/7792-assertion-failure.test
@@ -0,0 +1,16 @@
+statement ok
+CREATE TABLE v0 ( v1 BIGINT , v2 INT )
+
+-- sql/backends/monet5/rel_bin.c:4958   rel2bin_select: Assertion 
`sql->session->status == -10' failed.
+query R nosort
+SELECT + ( 14368317.000000 ) - 44826742.000000 FROM v0 WHERE ( v2 NOT IN ( v2 
) AND v2 IS NOT NULL NOT IN ( ( SELECT ( NOT ( v1 IS NULL ) ) AND ( NOT ( NOT ( 
'x' = 'x' AND v1 = 0 ) ) ) ) ) ) > 'x'
+----
+
+-- sql/backends/monet5/rel_bin.c:3463   rel2bin_join: Assertion 
`sql->session->status == -10' failed.
+statement ok
+INSERT INTO v0 ( v1 )
+ VALUES ( ( SELECT + ( 14368317.000000 ) - 44826742.000000 FROM v0 WHERE ( v2 
NOT IN ( v2 ) AND v2 IS NOT NULL NOT IN ( ( SELECT ( NOT ( v1 IS NULL ) ) AND ( 
NOT ( NOT ( 'x' = 'x' AND v1 = 0 ) ) ) ) ) ) > 'x' ) ) , ( 8 )
+
+statement ok
+DROP TABLE v0
+
diff --git a/sql/test/BugTracker-2026/Tests/7793-assertion-failure.test 
b/sql/test/BugTracker-2026/Tests/7793-assertion-failure.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2026/Tests/7793-assertion-failure.test
@@ -0,0 +1,27 @@
+statement ok
+CREATE TABLE v0 ( v1 INT , v2 INT , v3 VARCHAR ( 73 ) )
+
+statement ok
+INSERT INTO v0 VALUES ( 52 , NULL , 'x' ) , ( -128 , NULL , 'x' ) , ( 38 , 
NULL , 'x' )
+
+statement ok
+CREATE TABLE v4 ( v5 INT , v6 INT )
+
+statement ok
+INSERT INTO v4 VALUES ( 30 , 2147483647 ) , ( 94 , 8 ) , ( 73 , -1 )
+
+query I nosort
+SELECT v5 FROM v4 WHERE v5 IN ( SELECT DISTINCT v2 FROM v0 WHERE v5 = v6 + 12 )
+----
+
+-- sql/backends/monet5/rel_bin.c:3953: rel2bin_semijoin: Assertion 
`sql->session->status == -10' failed.
+statement ok
+UPDATE v0 SET v1 = ( SELECT v5 FROM v4 WHERE v5 IN ( SELECT DISTINCT v2 WHERE 
v5 = v6 + 12 ) ) WHERE v2 IS NULL
+
+
+statement ok
+DROP TABLE v4
+
+statement ok
+DROP TABLE v0
+
diff --git a/sql/test/BugTracker-2026/Tests/7794-assertion-failure.test 
b/sql/test/BugTracker-2026/Tests/7794-assertion-failure.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2026/Tests/7794-assertion-failure.test
@@ -0,0 +1,17 @@
+statement ok
+CREATE TABLE v0 ( v1 INTEGER , v2 REAL )
+
+-- sql/backends/monet5/rel_bin.c:5040: rel2bin_groupby: Assertion 
`sql->session->status == -10' failed.
+query I nosort
+SELECT v1 FROM v0 WHERE ( v1 = -1
+                          OR ( SELECT v1 FROM v0 AS v3 WHERE ( v0 . v1 < v0 . 
v1 ) * 2147483647 >= v0 . v1 AND v0 . v1 > v0 . v2 GROUP BY v2 + 51 , v1 ) )
+                     OR ( v2 BETWEEN 8 AND 49 AND v1 = -128 OR v2 = 'x')
+----
+
+-- sql/backends/monet5/rel_bin.c:5040: rel2bin_groupby: Assertion 
`sql->session->status == -10' failed.
+statement ok
+INSERT INTO v0 VALUES ( ( SELECT v1 FROM v0 WHERE ( v1 = -1 OR ( SELECT v1 
FROM v0 AS v3 WHERE ( v0 . v1 < v0 . v1 ) * 2147483647 >= v0 . v1 AND v0 . v1 > 
v0 . v2 GROUP BY v2 + 51 , v1 ) ) OR ( v2 BETWEEN 8 AND 49 AND v1 = -128 OR v2 
= 'x' ) ) , 26871590.000000 ) , ( -128 , 13922972.000000 ) , ( -1 , 
65290499.000000 )
+
+statement ok
+DROP TABLE v0
+
diff --git a/sql/test/BugTracker-2026/Tests/7795-assertion-failure.test 
b/sql/test/BugTracker-2026/Tests/7795-assertion-failure.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2026/Tests/7795-assertion-failure.test
@@ -0,0 +1,14 @@
+statement ok
+CREATE TABLE v0 ( v1 SMALLINT , v2 REAL )
+
+query I nosort
+SELECT v2 FROM v0 ORDER BY v1 DESC , v2 LIMIT 0 OFFSET 91
+----
+
+-- sql/backends/monet5/rel_bin.c:4874: rel2bin_project: Assertion 
`sql->session->status == -10' failed.
+statement ok
+UPDATE v0 SET v1 = ( SELECT v2 ORDER BY v1 DESC , v2 LIMIT 0 OFFSET 91 ) WHERE 
-2147483648 IN ( v1 )
+
+statement ok
+DROP TABLE v0
+
diff --git a/sql/test/BugTracker-2026/Tests/7796-assertion-failure.test 
b/sql/test/BugTracker-2026/Tests/7796-assertion-failure.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2026/Tests/7796-assertion-failure.test
@@ -0,0 +1,21 @@
+statement ok
+CREATE TABLE v0 ( v1 VARCHAR DEFAULT NULL )
+
+query I nosort
+SELECT ( 36 % ( SELECT 90477437.000000 e308 ) != 0 + v1 IS NOT NULL ) IS NULL 
FROM v0
+----
+
+-- sql/backends/monet5/sql_statement.c:4612: stmt_alias_: Assertion `label' 
failed.
+statement ok
+INSERT INTO v0 VALUES ( NULL ) , ( 51 ) , ( ( SELECT ( 36 % ( SELECT 
90477437.000000 e308 ) != 0 + v1 IS NOT NULL ) IS NULL FROM v0 ) )
+
+query T nosort
+SELECT v1 FROM v0 ORDER BY 1
+----
+NULL
+NULL
+51
+
+statement ok
+DROP TABLE v0
+
diff --git a/sql/test/BugTracker-2026/Tests/7797-assertion-failure.test 
b/sql/test/BugTracker-2026/Tests/7797-assertion-failure.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2026/Tests/7797-assertion-failure.test
@@ -0,0 +1,11 @@
+statement ok
+CREATE TABLE v0 ( v1 BOOLEAN NOT NULL , v2 INT DEFAULT 0 )
+
+-- sql/backends/monet5/rel_bin.c:4874: rel2bin_project: Assertion 
`sql->session->status == -10' failed.
+query ITI nosort
+SELECT v1 , 'x' , ( SELECT v1 ORDER BY v1 DESC LIMIT 83 ) FROM v0
+----
+
+statement ok
+DROP TABLE v0
+
diff --git a/sql/test/BugTracker-2026/Tests/7800-assertion-failure.test 
b/sql/test/BugTracker-2026/Tests/7800-assertion-failure.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2026/Tests/7800-assertion-failure.test
@@ -0,0 +1,15 @@
+statement ok
+CREATE TABLE v0 ( v1 INTEGER , v2 REAL )
+
+query R nosort
+SELECT v3 . v2 FROM v0 v3 ORDER BY v2 , v2 DESC , v1 ASC
+----
+
+-- sql/server/rel_optimize_proj.c:41: rel_used_projections: Assertion `e->nid 
&& exps_bind_nid(exps, e->nid)' failed.
+query IR nosort
+SELECT * FROM v0 ORDER BY v2 = ( SELECT v0 . v2 FROM v0 v3 ORDER BY v2 , v2 
DESC , v1 ASC ) AND v2 IS NOT NULL ASC NULLS LAST
+----
+
+statement ok
+DROP TABLE v0
+
diff --git a/sql/test/BugTracker-2026/Tests/7801-assertion-failure.test 
b/sql/test/BugTracker-2026/Tests/7801-assertion-failure.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2026/Tests/7801-assertion-failure.test
@@ -0,0 +1,17 @@
+statement ok
+CREATE TABLE v0 ( v1 INTEGER , v2 REAL )
+
+statement ok
+INSERT INTO v0 VALUES ( 37096283.000000 , 91 ) , ( 16866961.000000 , NULL )
+
+query R nosort
+SELECT v2 FROM V0 ORDER BY v1 = v0 . v1 DESC , v2 LIMIT 13 OFFSET 76
+----
+
+-- sql/server/rel_rel.c:2418: exp_rel_visitor: Assertion `e' failed.
+statement ok
+UPDATE v0 SET v2 = ( SELECT v2 ORDER BY v1 = v0 . v1 DESC , v2 LIMIT 13 OFFSET 
76 )
+
+statement ok
+DROP TABLE v0
+
diff --git a/sql/test/BugTracker-2026/Tests/7802-select-with-subqueries.test 
b/sql/test/BugTracker-2026/Tests/7802-select-with-subqueries.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2026/Tests/7802-select-with-subqueries.test
@@ -0,0 +1,3 @@
+statement error 42000!types decimal(34,24) and boolean(1,0) are not equal for 
column 'x'
+SELECT ( WITH x AS ( WITH RECURSIVE x ( x ) AS ( SELECT FALSE >= 1 BETWEEN 1 
AND 1 UNION SELECT 0.100000 * 0.100000 * 0.100000 * 0.100000 * ( WITH x AS ( 
WITH RECURSIVE x ( x ) AS ( SELECT FALSE >= 1 BETWEEN 1 AND 1 UNION SELECT x + 
1 FROM x ) SELECT * FROM x EXCEPT SELECT * FROM x ) SELECT CASE WHEN NULL IN ( 
69 , MAX ( CASE WHEN 97 THEN 66 END ) OVER ( ) + ( SELECT COUNT ( * ) ) ) THEN 
41 END FROM x ) FROM x ) SELECT * FROM x EXCEPT SELECT * FROM x ) SELECT CASE 
WHEN NULL IN ( 69 , MAX ( CASE WHEN 97 THEN 66 END ) OVER ( ) + ( SELECT COUNT 
( * ) ) ) THEN 41 END FROM x )
+
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
@@ -1,3 +1,4 @@
+KNOWNFAIL?7728-select-with-subqueries-crash
 KNOWNFAIL?7758-truncate-sys-tables-corrupts-db
 7766-assertion-failure
 7767-assertion-failure
@@ -17,6 +18,15 @@ KNOWNFAIL?7788-assertion-failure
 KNOWNFAIL?7789-assertion-failure
 KNOWNFAIL?7790-assertion-failure
 KNOWNFAIL?7791-assertion-failure
+KNOWNFAIL?7792-assertion-failure
+KNOWNFAIL?7793-assertion-failure
+KNOWNFAIL?7794-assertion-failure
+KNOWNFAIL?7795-assertion-failure
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to