Changeset: f9af4ab34b8d for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/f9af4ab34b8d
Removed Files:
        sql/backends/monet5/UDF/rapi/Tests/malrapi10.maltest
Modified Files:
        .github/workflows/linux.yml
        MonetDB.spec
        clients/Tests/MAL-signatures-hge.test
        clients/Tests/exports.stable.out
        clients/mapiclient/mhelp.c
        cmake/monetdb-defines.cmake
        cmake/monetdb-findpackages.cmake
        cmake/monetdb-options.cmake
        debian/monetdb-server.install
        monetdb5/mal/mal_namespace.h
        monetdb5/optimizer/opt_mitosis.c
        monetdb5/optimizer/opt_support.c
        monetdb_config.h.in
        sql/backends/monet5/sql_execute.c
        sql/backends/monet5/sql_gencode.c
        sql/backends/monet5/sql_scenario.c
        sql/backends/monet5/sql_statement.c
        sql/include/sql_catalog.h
        sql/server/sql_parser.y
        
sql/test/emptydb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
        sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
        sql/test/emptydb/Tests/check.stable.out.int128
        
sql/test/testdb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
        sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128
        sql/test/testdb/Tests/dump.stable.out
        testing/CMakeLists.txt
        testing/Mtest.py.in
        tools/mserver/mserver5.c
Branch: pp_hashjoin
Log Message:

merged with default


diffs (truncated from 9128 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
@@ -75,7 +75,6 @@ jobs:
           cmake ..  \
             -DCMAKE_INSTALL_PREFIX=$HOME/MDB \
             -DPY3INTEGRATION=OFF \
-            -DRINTEGRATION=OFF \
             -DCMAKE_BUILD_TYPE=Release \
             -DASSERT=OFF \
             -DCMAKE_C_COMPILER=${{ matrix.c_compiler }} \
@@ -94,7 +93,6 @@ jobs:
           cmake .. \
             -DCMAKE_INSTALL_PREFIX=$HOME/MDB \
             -DPY3INTEGRATION=OFF \
-            -DRINTEGRATION=OFF  \
             -DCMAKE_BUILD_TYPE=Release \
             -DASSERT=OFF \
             -DCMAKE_C_COMPILER=${{ matrix.c_compiler }} \
@@ -110,7 +108,6 @@ jobs:
           cmake .. \
             -DCMAKE_INSTALL_PREFIX=$HOME/MDB \
             -DPY3INTEGRATION=OFF \
-            -DRINTEGRATION=OFF  \
             -DCMAKE_BUILD_TYPE=Release \
             -DASSERT=OFF \
             -DCMAKE_C_COMPILER=${{ matrix.c_compiler }} \
@@ -129,8 +126,8 @@ jobs:
         shell: pwsh
         run: |
           mkdir build
-          cd build
-          cmake ..  -DCMAKE_INSTALL_PREFIX=C:\MDB 
-DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake 
-DPY3INTEGRATION=OFF -DRINTEGRATION=OFF  -DCMAKE_BUILD_TYPE=Release 
-DASSERT=OFF -DCMAKE_C_COMPILER=${{ matrix.c_compiler }}  -DCMAKE_SUMMARY=ON
+          cd build 
+          cmake ..  -DCMAKE_INSTALL_PREFIX=C:\MDB 
-DCMAKE_TOOLCHAIN_FILE=C:\vcpkg\scripts\buildsystems\vcpkg.cmake 
-DPY3INTEGRATION=OFF  -DCMAKE_BUILD_TYPE=Release -DASSERT=OFF 
-DCMAKE_C_COMPILER=${{ matrix.c_compiler }}  -DCMAKE_SUMMARY=ON
           cmake --build . --target install
         if: runner.os == 'Windows'
 
diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,23 @@
 # ChangeLog file for devel
 # This file is updated with Maddlog
 
+* Fri Jun 19 2026 Sjoerd Mullender <[email protected]>
+- Removed embedded R support.  It is no longer possible to use
+  user-defined functions which are written in R (i.e. using `CREATE
+  FUNCTION ... LANGUAGE R ...`).  Upgrading to this version will succeed
+  if such functions are defined, but they cannot be used anymore.
+  Use this query to find all affected functions: `SELECT s.name, f.name
+  FROM sys.functions f JOIN sys.schemas s ON s.id = f.schema_id WHERE
+  f.language = 3;`.  These functions can then be dropped manually.
+- Removed embedded C support.  It is no longer possible to use user-defined
+  functions which are written in C or C++ (i.e. using `CREATE FUNCTION
+  ... LANGUAGE C ...`).  Upgrading to this version will succeed if such
+  functions are defined, but they cannot be used anymore.  Use this
+  query to find all affected functions: `SELECT s.name, f.name FROM
+  sys.functions f JOIN sys.schemas s ON s.id = f.schema_id WHERE
+  f.language IN (4, 12);`.  These functions can then be dropped
+  manually.
+
 * Thu May  7 2026 Niels Nes <[email protected]>
 - disallow casting /coercing from decimal to integers when the functions
   work on bits (like xor, and, or, <<, >> etc)
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -67,14 +67,6 @@
 # operators.  Otherwise the POSIX regex functions are used.
 %bcond_without pcre
 
-# By default, include C integration
-%bcond_without cintegration
-
-%if %{fedpkgs}
-# By default, create the MonetDB-R package.
-%bcond_without rintegration
-%endif
-
 # By default, include Python 3 integration.
 %bcond_without py3integration
 
@@ -134,9 +126,6 @@ BuildRequires: pkgconfig(liblz4) >= 1.8
 BuildRequires: pkgconfig(python3) >= 3.5
 BuildRequires: python3dist(numpy)
 %endif
-%if %{with rintegration}
-BuildRequires: pkgconfig(libR)
-%endif
 # optional packages:
 # BuildRequires: pkgconfig(cmocka)      # -DWITH_CMOCKA=ON
 # BuildRequires: pkgconfig(gdal)        # -DSHP=ON
@@ -484,31 +473,6 @@ extensions for %{name}-server.
 %{_libdir}/monetdb5*/lib_geom.so
 %endif
 
-%if %{with rintegration}
-%package R
-Summary: Integration of MonetDB and R, allowing use of R from within SQL
-Group: Applications/Databases
-Requires: %{name}-server%{?_isa} = %{version}-%{release}
-
-%description R
-MonetDB is a database management system that is developed from a
-main-memory perspective with use of a fully decomposed storage model,
-automatic index management, extensibility of data types and search
-accelerators.  It also has an SQL front end.
-
-This package contains the interface to use the R language from within
-SQL queries.
-
-NOTE: INSTALLING THIS PACKAGE OPENS UP SECURITY ISSUES.  If you don't
-know how this package affects the security of your system, do not
-install it.
-
-%files R
-%defattr(-,root,root)
-%{_libdir}/monetdb5*/rapi.R
-%{_libdir}/monetdb5*/lib_rapi.so
-%endif
-
 %if %{with py3integration}
 %package python3
 Summary: Integration of MonetDB and Python, allowing use of Python from within 
SQL
@@ -579,9 +543,6 @@ embedded library (%{name}-embedded).
 %{_libdir}/libmonetdb5*.so.*
 %{_libdir}/libmonetdbsql*.so*
 %dir %{_libdir}/monetdb5-%{version}
-%if %{with cintegration}
-%{_libdir}/monetdb5*/lib_capi.so
-%endif
 %{_libdir}/monetdb5*/lib_csv.so
 %{_libdir}/monetdb5*/lib_parquet.so
 %{_libdir}/monetdb5*/lib_generator.so
@@ -953,14 +914,12 @@ fi
         -DCMAKE_INSTALL_RUNSTATEDIR=/run \
         -DRELEASE_VERSION=ON \
         -DASSERT=OFF \
-        -DCINTEGRATION=%{?with_cintegration:ON}%{!?with_cintegration:OFF} \
         -DFITS=%{?with_fits:ON}%{!?with_fits:OFF} \
         -DGEOM=%{?with_geos:ON}%{!?with_geos:OFF} \
         -DINT128=%{?with_hugeint:ON}%{!?with_hugeint:OFF} \
         -DNETCDF=OFF \
         -DODBC=ON \
         
-DPY3INTEGRATION=%{?with_py3integration:ON}%{!?with_py3integration:OFF} \
-        -DRINTEGRATION=%{?with_rintegration:ON}%{!?with_rintegration:OFF} \
         -DSANITIZER=OFF \
         -DSHP=OFF \
         -DSTRICT=OFF \
diff --git a/README.rst b/README.rst
--- a/README.rst
+++ b/README.rst
@@ -65,7 +65,6 @@ Available options are:
 Option              Explanation
 =================   
===============================================================================================
 ASSERT              Enable asserts (default=ON for development sources, OFF 
for tarball installation)
-CINTEGRATION        Enable support for C UDFs (default=ON except on Windows)
 CMAKE_SUMMARY       Show a summary of the cmake configuration (for debug 
purposes, default=OFF)
 CMAKE_UNITTESTS     Build and run the unittest for the build system 
(default=OFF)
 FITS                Enable support for FITS
@@ -74,7 +73,6 @@ INT128              Enable support for 1
 NETCDF              Enable support for netcdf
 ODBC                Compile the MonetDB ODBC driver
 PY3INTEGRATION      Enable support for Python 3 integration into MonetDB
-RINTEGRATION        Enable support for R integration into MonetDB
 SANITIZER           Enable support for the GCC address sanitizer (default=OFF)
 SHP                 Enable support for ESRI Shapefiles
 STRICT              Enable strict compiler flags (default=ON for development 
sources, OFF for tarball installation)
@@ -107,7 +105,7 @@ The following packages are optional:
 ``cfitsio-devel``, ``gdal-devel``, ``geos-devel``, ``libasan``,
 ``libcmocka-devel``, ``libcurl-devel``, ``libxml2-devel``,
 ``netcdf-devel``, ``proj-devel``, ``python3-devel``, ``python3-numpy``,
-``R-core-devel``, ``unixODBC-devel``, ``valgrind-devel``.
+``unixODBC-devel``, ``valgrind-devel``.
 
 On Ubuntu and Debian the following packages are required:
 ``bison``, ``cmake``, ``gcc``, ``pkg-config``, ``python3``.
@@ -120,7 +118,7 @@ The following packages are optional:
 ``libasan5``, ``libcfitsio-dev``, ``libcmocka-dev``,
 ``libcurl4-gnutls-dev``, ``libgdal-dev``, ``libgeos-dev``,
 ``libnetcdf-dev``, ``libproj-dev``, ``libxml2-dev``, ``python3-dev``,
-``python3-numpy``, ``r-base-dev``, ``unixodbc-dev``, ``valgrind``.
+``python3-numpy``, ``unixodbc-dev``, ``valgrind``.
 
 ``cmake`` must be at least version 3.12, ``python`` must be at least
 version 3.5.
diff --git a/clients/Tests/All b/clients/Tests/All
--- a/clients/Tests/All
+++ b/clients/Tests/All
@@ -1,6 +1,6 @@
 MERCURIAL?exports
-HAVE_HGE&HAVE_FITS&HAVE_GEOM&HAVE_LIBR&HAVE_LIBPY3&HAVE_NETCDF&HAVE_SHP&HAVE_CUDF?MAL-signatures-hge
-!HAVE_HGE&HAVE_FITS&HAVE_GEOM&HAVE_LIBR&HAVE_LIBPY3&HAVE_NETCDF&HAVE_SHP&HAVE_CUDF?MAL-signatures
+HAVE_HGE&HAVE_FITS&HAVE_GEOM&HAVE_LIBPY3&HAVE_NETCDF&HAVE_SHP?MAL-signatures-hge
+!HAVE_HGE&HAVE_FITS&HAVE_GEOM&HAVE_LIBPY3&HAVE_NETCDF&HAVE_SHP?MAL-signatures
 NOT_WIN32?melcheck
 mclient-uri
 testcondvar
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
@@ -31468,11 +31468,6 @@ xor
 pattern batcalc.xor(X_0:sht, X_1:bat[:sht], X_2:bat[:oid]):bat[:sht]
 CMDbatXOR
 Return V xor B
-batcapi
-eval
-pattern batcapi.eval(X_0:ptr, X_1:bit, X_2:str, X_3:any...):any...
-CUDFevalStd
-Execute a simple CUDF script value
 batgeom
 AsEWKT
 command batgeom.AsEWKT(X_0:bat[:wkb]):bat[:str]
@@ -34353,26 +34348,6 @@ subeval_aggr
 unsafe pattern batpyapi3.subeval_aggr(X_0:ptr, X_1:str, X_2:any...):any...
 PYAPI3PyAPIevalAggr
 grouped aggregates through Python
-batrapi
-eval
-pattern batrapi.eval(X_0:lng, X_1:ptr, X_2:str):any...
-RAPIevalStd
-Execute a simple R script value
-batrapi
-eval
-pattern batrapi.eval(X_0:ptr, X_1:str, X_2:any...):any...
-RAPIevalStd
-Execute a simple R script value
-batrapi
-eval_aggr
-pattern batrapi.eval_aggr(X_0:ptr, X_1:str, X_2:any...):any...
-RAPIevalAggr
-grouped aggregates through R
-batrapi
-subeval_aggr
-pattern batrapi.subeval_aggr(X_0:ptr, X_1:str, X_2:any...):any...
-RAPIevalAggr
-grouped aggregates through R
 batsql
 all
 pattern batsql.all(X_0:bat[:bit], X_1:bat[:bit], X_2:bat[:bit]):bat[:bit]
@@ -45508,26 +45483,6 @@ xor
 pattern calc.xor(X_0:sht, X_1:sht):sht
 CMDvarXOR
 Return V1 XOR V2
-capi
-eval
-pattern capi.eval(X_0:ptr, X_1:bit, X_2:str):any
-CUDFevalStd
-Execute a simple CUDF script returning a single value
-capi
-eval
-pattern capi.eval(X_0:ptr, X_1:bit, X_2:str, X_3:any...):any...
-CUDFevalStd
-Execute a simple CUDF script value
-capi
-eval_aggr
-pattern capi.eval_aggr(X_0:ptr, X_1:bit, X_2:str, X_3:any...):any...
-CUDFevalAggr
-grouped aggregates through CUDF
-capi
-subeval_aggr
-pattern capi.subeval_aggr(X_0:ptr, X_1:bit, X_2:str, X_3:any...):any...
-CUDFevalAggr
-grouped aggregates through CUDF
 clients
 backendsum
 command clients.backendsum(X_0:str):str
@@ -50243,26 +50198,6 @@ isset
 command querylog.isset():int
 QLOGissetFcn
 Return status of query logger
-rapi
-eval
-pattern rapi.eval(X_0:ptr, X_1:str):any
-RAPIevalStd
-Execute a simple R script returning a single value
-rapi
-eval
-pattern rapi.eval(X_0:ptr, X_1:str, X_2:any...):any...
-RAPIevalStd
-Execute a simple R script value
-rapi
-eval_aggr
-pattern rapi.eval_aggr(X_0:ptr, X_1:str, X_2:any...):any...
-RAPIevalAggr
-grouped aggregates through R
-rapi
-subeval_aggr
-pattern rapi.subeval_aggr(X_0:ptr, X_1:str, X_2:any...):any...
-RAPIevalAggr
-grouped aggregates through R
 remote
 batbincopy
 pattern remote.batbincopy():bat[:any]
diff --git a/clients/Tests/SingleServer b/clients/Tests/SingleServer
--- a/clients/Tests/SingleServer
+++ b/clients/Tests/SingleServer
@@ -1,3 +1,1 @@
---set embedded_c=yes
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to