Changeset: c5015023f721 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/c5015023f721
Modified Files:
        gdk/gdk.h
        gdk/gdk_join.c
Branch: cnting_sketches
Log Message:

Merge with pp_hashjoin branch.


diffs (truncated from 7880 to 300 lines):

diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml
--- a/.github/workflows/linux.yml
+++ b/.github/workflows/linux.yml
@@ -132,6 +132,11 @@ jobs:
           PATH=$HOME/MDB/bin:$PATH $HOME/MDB/bin/Mtest.py -r --debug=0 --ci 
--no-html --TSTTRGBASE=.
         if: runner.os != 'Windows'
 
+      - name: mtest-pipeline 
+        run: |
+          PATH=$HOME/MDB/bin:$PATH $HOME/MDB/bin/Mtest.py -r --debug=0 --ci 
--no-html --TSTTRGBASE=. --pipeline
+        if: runner.os != 'Windows'
+
       - name: ctest 
         shell: pwsh
         run: |
@@ -147,6 +152,13 @@ jobs:
           python C:\MDB\bin\Mtest.py -r --debug=0 --ci --no-html --TSTTRGBASE=.
         if: runner.os == 'Windows'
 
+      - name: mtest 
+        shell: pwsh
+        run: |
+          $env:PATH = 
'C:\MDB\lib;C:\MDB\lib\monetdb5;C:\MDB\bin;C:\vcpkg\installed\x64-windows\bin;C:\vcpkg\installed\x64-windows\debug\bin;'
 + $env:PATH
+          python C:\MDB\bin\Mtest.py -r --debug=0 --ci --no-html 
--TSTTRGBASE=. --pipeline
+        if: runner.os == 'Windows'
+
       - name: Tar files
         run: tar -cvf mtests.tar mTests
       - name: Publish mtest results
diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -855,3 +855,5 @@ b4c2936c46f28ad6b3e59ed5a1a844726d521994
 b4c2936c46f28ad6b3e59ed5a1a844726d521994 Dec2025_release
 69f4fe2ad29b5d50d9ef06ad76639faaa60fcfa8 Dec2025_3
 69f4fe2ad29b5d50d9ef06ad76639faaa60fcfa8 Dec2025_SP1_release
+691e862e16ceb7f720536063ed6d3c2e3d11e33a Dec2025_5
+691e862e16ceb7f720536063ed6d3c2e3d11e33a Dec2025_SP2_release
diff --git a/ChangeLog-Archive b/ChangeLog-Archive
--- a/ChangeLog-Archive
+++ b/ChangeLog-Archive
@@ -1,6 +1,12 @@
 # DO NOT EDIT THIS FILE -- MAINTAINED AUTOMATICALLY
 # This file contains past ChangeLog entries
 
+* Wed Mar  4 2026 Joeri van Ruth <[email protected]> - 
11.55.5-20260403
+- Suppress error messages in merovingian.log when incoming connections
+  are closed by the client before any I/O takes place.
+  Service health monitoring tools tend to do this periodically to check
+  if MonetDB is still up.
+
 * Tue Dec 16 2025 svetlin <[email protected]> - 
11.55.1-20251209
 - Extended MonetDB’s memory allocator framework from the SQL layer to all
   layers of the database server.  The main features of the allocator framework
diff --git a/ChangeLog.Dec2025 b/ChangeLog.Dec2025
--- a/ChangeLog.Dec2025
+++ b/ChangeLog.Dec2025
@@ -1,10 +1,3 @@
 # ChangeLog file for devel
 # This file is updated with Maddlog
 
-* Wed Mar  4 2026 Joeri van Ruth <[email protected]>
-- Suppress error messages in merovingian.log when incoming connections
-  are closed by the client before any I/O takes place.
-  Service health monitoring tools tend to do this periodically to check
-  if MonetDB is still up.
-
-
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -93,7 +93,7 @@ Group: Applications/Databases
 License: MPL-2.0
 URL: https://www.monetdb.org/
 BugURL: https://github.com/MonetDB/MonetDB/issues
-Source: 
https://www.monetdb.org/downloads/sources/Dec2025-SP1/MonetDB-%{version}.tar.bz2
+Source: 
https://www.monetdb.org/downloads/sources/Dec2025-SP2/MonetDB-%{version}.tar.bz2
 
 # We need checkpolicy and selinux-policy-devel for the SELinux policy.
 BuildRequires: systemd-rpm-macros
@@ -582,6 +582,7 @@ embedded library (%{name}-embedded).
 %{_libdir}/monetdb5*/lib_capi.so
 %endif
 %{_libdir}/monetdb5*/lib_csv.so
+%{_libdir}/monetdb5*/lib_parquet.so
 %{_libdir}/monetdb5*/lib_generator.so
 %{_libdir}/monetdb5*/lib_monetdb_loader.so
 
@@ -1088,6 +1089,148 @@ rm "${RPM_BUILD_ROOT}"%{_unitdir}/monetd
 %endif
 
 %changelog
+* Fri Apr 03 2026 Sjoerd Mullender <[email protected]> - 11.55.5-20260403
+- Rebuilt.
+- GH#7728: MonetDB server (Mar2025-SP2-release) crashes at `strCmp`
+- GH#7770: Assertion failure in query_outer_aggregated with aggregated
+  scalar subquery in INSERT VALUES
+- GH#7788: mserver crash: rel_order_by raising assertion
+  is_project(rel->op)  fail
+- GH#7789: mserver crash : rel_bin.c exp_bin: Assertion `0' failed.
+- GH#7790: mserver5 crash: rel_bin rel2bin_insert Assertion `!n && !m'
+  failed
+- GH#7791: mserver5 crash :  rel_bin.c Assertion `sql->session->status ==
+  -10' failed.
+- GH#7792: Mserver crash:rel_bin.c stmt *rel2bin_join: Assertion
+  `sql->session->status == -10' failed
+- GH#7793: mserver crash:rel2bin_semijoin Assertion `sql->session->status
+  == -10' failed.
+- GH#7794: mserver crash: rel_bin rel2bin_groupby Assertion
+  `sql->session->status == -10'
+- GH#7795: mserver crash: rel2bin_project  Assertion `sql->session->status
+  == -10' failed.
+- GH#7796: mserver crash : stmt_alias_  Assertion `label' failed.
+- GH#7797: monetdb crash :rel_exp.c rel_find_exp_and_corresponding_rel_
+  Assertion `e->nid' failed.
+- GH#7800: mserver crash: rel_used_projections Assertion `e->nid &&
+  exps_bind_nid(exps, e->nid)' failed
+- GH#7801: mserver crash:exp_rel_visitor  Assertion `e' failed.
+- GH#7813: Top N not pushed down to Remote Tables in Merge Table
+  (v11.53.15)
+- GH#7815: Server SIGSEGV in `ALGmarkselect` triggered by `CAST`·`WHEN NOT
+  NULL`·`UNION SELECT DISTINCT` feature intersection
+- GH#7816: table returning function with split_part() and
+  generate_series() crashes server when called multiple times
+- GH#7818: Server crash in `GDKanalytical_covariance_samp` triggered by
+  NULL-argument statistical window functions combined with divide-by-zero
+  frame bounds and empty UNION range
+- GH#7820: MonetDB server crashes with "unexpected end of file" on SELECT
+  with scalar subquery and EXISTS referencing system tables
+- GH#7826: Monetdb server crash on SELECT with nested derived tables,
+  EXISTS subquery with LIMIT, and complex boolean predicates on system
+  catalog tables
+- GH#7832: Server crash in `rel_push_select_down` (SQL optimizer)
+  triggered by row-value comparison warm-up sequence and `rank() OVER
+  (PARTITION BY mixed-type literals)`
+- GH#7833: Bug Report — Server crash in `rel_push_select_down` (SQL
+  optimizer) triggered by `RANK() OVER` in `HAVING NOT x < ANY (aggregate
+  comparison)` with multi-column MAX/MIN SELECT
+- GH#7834: Server crash in `rel_push_select_down` (SQL optimizer)
+  triggered by doubly-nested recursive CTE inside
+  `STDDEV_POP(NULLIF(...))` with `CUBE` GROUP BY and correlated NOT IN
+  subquery
+- GH#7835: Server crash in `rel_push_select_down` (SQL optimizer)
+  triggered by `NULLIF(recursive_CTE, NULL)` inside HAVING with `GROUP BY
+  CUBE` and triple-UNION source
+- GH#7836: MonetDB server crash on SELECT with CASE WHEN containing nested
+  EXISTS, LATERAL subquery with LIMIT, and complex boolean predicates on
+  system catalog tables
+- GH#7837: MonetDB server crash on SELECT with nested CASE WHEN,
+  correlated EXISTS subqueries, LATERAL join with LIMIT/OFFSET, and
+  complex constant-folded predicates
+- GH#7838: MonetDB server crash on SELECT with nested joins, EXISTS
+  subquery with scalar aggregates, and OR in ON conditions
+- GH#7839: TCP health check floods merovingian log with errors
+- GH#7840: MonetDB server crash during optimization of SELECT with nested
+  LATERAL and multiple scalar aggregate subqueries
+- GH#7841: Server crash in `rel_push_select_down` (SQL optimizer)
+  triggered by nested recursive CTE inside `STDDEV_POP(NULLIF(...))` with
+  `CUBE` grouping and BETWEEN on `md5(NULL)`
+- GH#7842: Server crash in `rel_push_select_down` (SQL optimizer)
+  triggered by `max() OVER` in UNION with `GROUP BY CUBE` and deeply
+  nested recursive CTE in NOT IN HAVING predicate
+- GH#7843: Server crash during signal handling (`vscanf`/`psiginfo`)
+  triggered by multi-statement sequence with `rank() OVER (PARTITION BY
+  mixed-type literals)` after simple comparison warm-up
+- GH#7844: Server crash in `_rel_aggr` (aggregate relation builder)
+  triggered by `SUM(DISTINCT)` after multi-statement escape-character
+  comparison sequence and CREATE/DROP TABLE
+- GH#7845: Server crash in `bin_find_smallest_column`
+- GH#7846: Server crash in `do_covariance_and_correlation`
+- GH#7847: MonetDB server crash during SELECT with nested EXISTS, CASE
+  expression, and correlated subquery referencing derived table columns
+- GH#7848: MonetDB server crash during SELECT with LATERAL subquery,
+  nested CASE expressions, and scalar subqueries
+- GH#7849: MonetDB server crash during SELECT with nested EXISTS, mixed
+  JOIN types, and correlated derived-table subquery
+- GH#7850: MonetDB server crash during SELECT with LATERAL subquery, mixed
+  JOIN types, and nested CASE expressions
+- GH#7851: MonetDB server crash during MERGE with deeply nested LATERAL
+  subqueries and correlated EXISTS predicates
+- GH#7852: Server crash in `exp_bin` (expression code generation)
+  triggered by row-value comparison warm-up sequence and `COUNT(*) OVER
+  (ROWS BETWEEN CASE ... PRECEDING AND CURRENT ROW)` with complex NOT IN
+  subquery
+- GH#7853: Server crash in `exp_bin` (expression code generation)
+  triggered by `5 IN (subquery) AND 6 IN (subquery)` with HAVING
+  containing recursive CTE
+- GH#7854: Server crash in `exp_freevar` during `rel_unnest_dependent`
+  (deep recursion) triggered by doubly-nested recursive CTE with
+  `ltrim(rtrim(sql_min(...)))` seed and deeply correlated NOT IN subquery
+  with `SUM(DISTINCT CAST(NULL IN (...) AS INTEGER))`
+- GH#7855: Server crash in `exp_has_freevar`
+- GH#7856: Server crash in `exp_match`
+- GH#7857: Server crash in `exp_rel_visitor`
+- GH#7859: Server crash in `getModule`
+- GH#7862: Server crash in `rel_crossproduct`
+- GH#7865: Server crash in `rel_get_statistics_`
+- GH#7867: Server crash in `rel_optimize_projections_`
+- GH#7870: Server crash in `rel_set_type`
+- GH#7872: Server crash in `rel_unnest_simplify`
+- GH#7873: MonetDB crash with deeply nested LATERAL and EXISTS queries
+- GH#7874: MonetDB crash on SELECT with nested LATERAL subqueries,
+  multi-level JOINs, and correlated EXISTS predicates
+- GH#7875: MonetDB server crash during SELECT with multiple LATERAL
+  subqueries, complex JOIN conditions, and nested CASE expressions
+- GH#7876: MonetDB server crash during SELECT with RIGHT JOIN, EXISTS
+  subquery, and complex constant-folded expressions
+- GH#7877: MonetDB crash with nested RIGHT JOINs, correlated EXISTS
+  subqueries, and constant-based join predicates
+- GH#7878: MonetDB crash with minimal LATERAL subquery and nested CASE in
+  WHERE
+- GH#7880: MonetDB crash (SIGSEGV) on query with nested LATERAL subqueries
+  and CASE expression, no direct reason reported by mserver5
+- GH#7882: Incorrect optimization of LATERAL subquery with DISTINCT and
+  outer reference leading to wrong results or planner error
+- GH#7883: MonetDB crash (SIGSEGV) on query with RIGHT JOIN and Subquery,
+  no direct reason reported by mserver5
+- GH#7884: MonetDB crash (SIGSEGV) on query with Lateral subquery and a
+  redundant always-true predicate, no direct reason reported by mserver5
+- GH#7886: LOCAL TEMPORARY VIEW not visible via CTE
+- GH#7888: MonetDB produces different results for two logically equivalent
+  UPDATE statements.  The mutated statement differs from the original only
+  by adding a dead boolean branch inside the predicate:  AND 1 = 0
+- GH#7889: MonetDB produces different results for two `DELETE` statements
+  whose `EXISTS` subqueries should be equivalent in this test case.
+- GH#7890: Wrong result for semantically equivalent INSERT ... SELECT ...
+  WHERE EXISTS(...) with UNION / EXCEPT / INTERSECT
+
+* Wed Mar  4 2026 Joeri van Ruth <[email protected]> - 
11.55.5-20260403
+- MonetDB: Suppress error messages in merovingian.log when incoming connections
+  are closed by the client before any I/O takes place.
+  Service health monitoring tools tend to do this periodically to check
+  if MonetDB is still up.
+
 * Mon Feb 16 2026 Sjoerd Mullender <[email protected]> - 11.55.3-20260216
 - Rebuilt.
 - GH#7690: CASE operator inside aggregate function error
diff --git a/clients/Tests/MAL-signatures-hge.test 
b/clients/Tests/MAL-signatures-hge.test
--- a/clients/Tests/MAL-signatures-hge.test
+++ b/clients/Tests/MAL-signatures-hge.test
@@ -3619,6 +3619,16 @@ pattern algebra.firstn(X_0:bat[:any], X_
 ALGfirstn
 Calculate first N values of B with candidate list S
 algebra
+firstn
+pattern algebra.firstn(X_0:bat[:any], X_1:bat[:oid], X_2:bat[:oid], X_3:lng, 
X_4:lng, X_5:bit, X_6:bit, X_7:bit, X_8:bit) (X_9:bat[:oid], X_10:bat[:oid])
+ALGfirstn
+Calculate first N values of B with candidate list S
+algebra
+firstn
+pattern algebra.firstn(X_0:bat[:any], X_1:bat[:oid], X_2:bat[:oid], X_3:lng, 
X_4:lng, X_5:bit, X_6:bit, X_7:bit, X_8:bit):bat[:oid]
+ALGfirstn
+Calculate first N values of B with candidate list S
+algebra
 groupby
 command algebra.groupby(X_0:bat[:oid], X_1:bat[:lng]):bat[:oid]
 ALGgroupby
@@ -3629,6 +3639,11 @@ pattern algebra.groupedfirstn(X_0:lng, X
 ALGgroupedfirstn
 Grouped firstn
 algebra
+groupedfirstn
+pattern algebra.groupedfirstn(X_0:lng, X_1:lng, X_2:bit, X_3:bat[:oid], 
X_4:bat[:oid], X_5:any...):bat[:oid]
+ALGgroupedfirstn
+Grouped firstn
+algebra
 intersect
 command algebra.intersect(X_0:bat[:any_1], X_1:bat[:any_1], X_2:bat[:oid], 
X_3:bat[:oid], X_4:bit, X_5:bit, X_6:lng):bat[:oid]
 ALGintersect
@@ -47451,7 +47466,12 @@ return new heap sink
 heapn
 order
 command heapn.order(X_0:bat[:oid]):bat[:oid]
-HEAPorder
+HEAPorder1
+Order.
+heapn
+order
+command heapn.order(X_0:bat[:oid], X_1:lng):bat[:oid]
+HEAPorder2
 Order.
 heapn
 projection
@@ -49988,6 +50008,41 @@ wrapper
 pattern optimizer.wrapper(X_0:str, X_1:str):str
 OPTwrapper
 Fake optimizer
+parquet
+epilogue
+command parquet.epilogue():void
+PARQUETepilogue
+(empty)
+parquet
+file_metadata
+pattern parquet.file_metadata(X_0:str) (X_1:bat[:str], X_2:bat[:lng], 
X_3:bat[:lng], X_4:bat[:lng], X_5:bat[:lng], X_6:bat[:str], X_7:bat[:str])
+PARQUETfile_metadata
+Read parquet file metadata
+parquet
+metadata
+pattern parquet.metadata(X_0:str) (X_1:bat[:lng], X_2:bat[:lng], 
X_3:bat[:lng], X_4:bat[:lng], X_5:bat[:lng], X_6:bat[:lng], X_7:bat[:lng], 
X_8:bat[:str], X_9:bat[:str], X_10:bat[:str], X_11:bat[:str], X_12:bat[:lng], 
X_13:bat[:lng], X_14:bat[:str], X_15:bat[:str], X_16:bat[:str], X_17:bat[:str], 
X_18:bat[:lng], X_19:bat[:lng], X_20:bat[:lng], X_21:bat[:lng], X_22:bat[:lng])
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to