Changeset: 2240f1be9dda for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2240f1be9dda
Modified Files:
        MonetDB.spec
        gdk/gdk_group.c
        gdk/gdk_hash.c
        gdk/gdk_heap.c
        gdk/gdk_imprints.c
        gdk/gdk_orderidx.c
        gdk/gdk_storage.c
        gdk/gdk_utils.c
        tools/merovingian/daemon/controlrunner.c
        tools/monetdbe/monetdbe.c
        tools/mserver/mserver5.1.in
        tools/mserver/mserver5.c
        tools/mserver/shutdowntest.c
Branch: default
Log Message:

Merge with Oct2020 branch.


diffs (truncated from 2286 to 300 lines):

diff --git a/ChangeLog.Oct2020 b/ChangeLog.Oct2020
--- a/ChangeLog.Oct2020
+++ b/ChangeLog.Oct2020
@@ -5,7 +5,7 @@
 - Finished a first version of the new monitoring function
   user_statistics(), which is only intended for the DBAs.
   For each database user who has logged in during the current mserver5
-  session, it returns 
+  session, it returns
   "username": login name of the database user,
   "querycount": the number of queries this user has executed since his/her
       first login,
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -116,9 +116,14 @@ BuildRequires: gcc
 BuildRequires: bison
 BuildRequires: /usr/bin/python3
 %if %{?rhel:1}%{!?rhel:0}
+# RH 7 (and for readline also 8)
 BuildRequires: bzip2-devel
+BuildRequires: unixODBC-devel
+BuildRequires: readline-devel
 %else
 BuildRequires: pkgconfig(bzip2)
+BuildRequires: pkgconfig(odbc)
+BuildRequires: pkgconfig(readline)
 %endif
 %if %{with fits}
 BuildRequires: pkgconfig(cfitsio)
@@ -128,23 +133,19 @@ BuildRequires: geos-devel >= 3.4.0
 %endif
 BuildRequires: pkgconfig(libcurl)
 BuildRequires: pkgconfig(liblzma)
-# BuildRequires: libmicrohttpd-devel
-BuildRequires: libuuid-devel
+BuildRequires: pkgconfig(uuid)
 BuildRequires: pkgconfig(libxml-2.0)
 BuildRequires: pkgconfig(openssl)
 %if %{with pcre}
 BuildRequires: pkgconfig(libpcre) >= 4.5
 %endif
-BuildRequires: readline-devel
-BuildRequires: unixODBC-devel
-# BuildRequires: uriparser-devel
 BuildRequires: pkgconfig(zlib)
 %if %{with py3integration}
-BuildRequires: python3-devel >= 3.5
+BuildRequires: pkgconfig(python3) >= 3.5
 BuildRequires: python3-numpy
 %endif
 %if %{with rintegration}
-BuildRequires: R-core-devel
+BuildRequires: pkgconfig(libR)
 %endif
 
 %if (0%{?fedora} >= 22)
@@ -762,6 +763,11 @@ fi
 %setup -q
 
 %build
+%if (0%{?fedora} >= 33)
+# on Fedora 33 we get a crash of the compiler when using -flto, so disable it
+CFLAGS="${CFLAGS:-%optflags} -fno-lto"
+export CFLAGS
+%endif
 %cmake3 \
        -DRELEASE_VERSION=ON \
        -DASSERT=OFF \
diff --git a/README.rst b/README.rst
--- a/README.rst
+++ b/README.rst
@@ -8,12 +8,13 @@ shifted to the spin-off company `MonetDB
 Via the MonetDB project we have brought the MonetDB system in open
 source, where it is accessible at https://www.monetdb.org/Downloads/.
 Even though development happens mostly in a company, the MonetDB
-database system will remain open source.
+database system will remain open source.  It is available under the
+`Mozilla Public License 2.0`__.
 
 The MonetDB database system is a high-performance database kernel for
 query-intensive applications. The MonetDB source can be found at our
 `Mercurial server`__. There is also a `github mirror`__ that is updated
-once a day.
+once an hour.
 
 .. _CWI: https://www.cwi.nl/
 __ CWI_
@@ -24,19 +25,110 @@ once a day.
 .. _solutions: https://www.monetdbsolutions.com
 __ solutions_
 
+.. _mpl: http://mozilla.org/MPL/2.0/
+__ mpl_
+
 .. _MonetDB: https://dev.monetdb.org/hg/MonetDB/
 __ MonetDB_
 
 .. _github: https://github.com/MonetDB/MonetDB
 __ github_
 
-If you got a source distribution, please compile and install MonetDB
-first, following the instructions in the file `build.rst`__.
+Building
+--------
+
+MonetDB is built using the ``cmake`` program.  It is recommended to
+build in a directory that is not inside the source tree.  In order to
+build, use the following commands when inside your build directory::
+
+  cmake [options] /path/to/monetdb/source
+  cmake --build .
+  cmake --build . --target install
+
+In order to install into a different directory than the default
+``/usr/local``, add the option ``-DCMAKE_INSTALL_PREFIX``::
+
+  cmake -DCMAKE_INSTALL_PREFIX=/path/to/install/monetdb /path/to/monetdb/source
+  cmake --build .
+  cmake --build . --target install
+
+Build Options
+.............
+
+There are many options that can be used to select how MonetDB is to be
+built.  Options can be turned ``ON`` or ``OFF`` using a ``-D`` flag on
+the first of the ``cmake`` command lines.  Except when specified
+otherwise, options are ``ON`` when the relevant libraries can be found.
+Available options are:
 
-__ documentation/source/build.rst
+==============  
===============================================================================================
+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_UNITTEST  Build and run the unittest for the build system (default=OFF)
+FITS            Enable support for FITS
+GEOM            Enable support for geom module
+INT128          Enable support for 128-bit integers
+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)
+TESTING         Enable support for testing
+WITH_BZ2        Include bz2 support
+WITH_CMOCKA     Include cmocka support (default=OFF)
+WITH_CRYPTO     Only in very some special cases we build without crypto 
dependencies
+WITH_CURL       Include curl support
+WITH_LZMA       Include lzma support
+WITH_PCRE       Include pcre support
+WITH_PROJ       Include proj support
+WITH_READLINE   Include readline support
+WITH_UUID       Include uuid support
+WITH_VALGRIND   Include valgrind support
+WITH_XML2       Include xml2 support
+WITH_ZLIB       Include zlib support
+==============  
===============================================================================================
+
+Required packages
+.................
+
+On Fedora, the following packages are required:
+``bison``, ``cmake``, ``gcc``, ``openssl-devel``, ``pkgconf``,
+``python3``.
+
+The following packages are optional but recommended:
+``bzip2-devel``, ``libuuid-devel``, ``pcre-devel``, ``readline-devel``,
+``xz-devel``, ``zlib-devel``.
+
+The following packages are optional:
+``cfitsio-devel``, ``gdal-devel``, ``geos-devel``, ``libasan``,
+``libcurl-devel``, ``libxml2-devel``, ``netcdf-devel``, ``proj-devel``,
+``python3-devel``, ``python3-numpy``, ``R-core-devel``,
+``unixODBC-devel``, ``valgrind-devel``.
+
+On Ubuntu and Debian the following packages are required:
+``bison``, ``cmake``, ``gcc``, ``libssl-dev``, ``pkg-config``,
+``python3``.
+
+The following packages are optional but recommended:
+``libbz2-dev``, ``uuid-dev``, ``libpcre3-dev``, ``libreadline-dev``,
+``liblzma-dev``, ``zlib1g-dev``.
+
+The following packages are optional:
+``libasan5``, ``libcfitsio-dev``, ``libcurl4-gnutls-dev``,
+``libgdal-dev``, ``libgeos-dev``, ``libnetcdf-dev``, ``libproj-dev``,
+``libxml2-dev``, ``python3-dev``, ``python3-numpy``, ``r-base-dev``,
+``unixodbc-dev``, ``valgrind``.
+
+``cmake`` must be at least version 3.12, ``python`` must be at least
+version 3.5.
 
 Bugs
-====
+----
 
 We of course hope there aren't any, but if you do find one, you can
 report bugs in our `bugzilla`__ instance.
diff --git a/buildtools/conf/CMakeLists.txt b/buildtools/conf/CMakeLists.txt
--- a/buildtools/conf/CMakeLists.txt
+++ b/buildtools/conf/CMakeLists.txt
@@ -16,4 +16,11 @@ if(WIN32)
     COMPONENT server)
 endif()
 
+if(DEVELOPMENT AND NOT WIN32)
+  install(FILES
+    Maddlog
+    PERMISSIONS ${PROGRAM_PERMISSIONS_DEFAULT}
+    DESTINATION ${CMAKE_INSTALL_BINDIR})
+endif()
+
 # vim: set ts=2:sw=2:et
diff --git a/clients/Tests/MAL-signatures.stable.out 
b/clients/Tests/MAL-signatures.stable.out
--- a/clients/Tests/MAL-signatures.stable.out
+++ b/clients/Tests/MAL-signatures.stable.out
@@ -5880,6 +5880,8 @@ stdout of test 'MAL-signatures` in direc
 [ "batstr",    "ascii",        "command batstr.ascii(X_1:bat[:str]):bat[:int] 
",       "STRbatAscii;", ""      ]
 [ "batstr",    "endsWith",     "command batstr.endsWith(X_1:bat[:str], 
X_2:bat[:str]):bat[:bit] ",     "STRbatSuffix;",        ""      ]
 [ "batstr",    "endsWith",     "command batstr.endsWith(X_1:bat[:str], 
X_2:str):bat[:bit] ",   "STRbatSuffixcst;",     ""      ]
+[ "batstr",    "insert",       "command batstr.insert(X_1:bat[:str], 
X_2:bat[:int], X_3:bat[:int], X_4:bat[:str]):bat[:str] ", "STRbatInsert;",      
  ""      ]
+[ "batstr",    "insert",       "command batstr.insert(X_1:bat[:str], X_2:int, 
X_3:int, X_4:str):bat[:str] ",   "STRbatInsertcst;",     ""      ]
 [ "batstr",    "length",       "command batstr.length(X_1:bat[:str]):bat[:int] 
",      "STRbatLength;",        ""      ]
 [ "batstr",    "locate",       "command batstr.locate(X_1:bat[:str], 
X_2:bat[:str], X_3:bat[:int]):bat[:int] ",        "STRbatstrLocate2;",    ""    
  ]
 [ "batstr",    "locate",       "command batstr.locate(X_1:bat[:str], X_2:str, 
X_3:int):bat[:int] ",    "STRbatstrLocate2cst;", ""      ]
@@ -5899,6 +5901,8 @@ stdout of test 'MAL-signatures` in direc
 [ "batstr",    "r_search",     "command batstr.r_search(X_1:bat[:str], 
X_2:str):bat[:int] ",   "STRbatRstrSearchcst;", ""      ]
 [ "batstr",    "repeat",       "command batstr.repeat(X_1:bat[:str], 
X_2:bat[:int]):bat[:str] ",       "STRbatrepeat;",        ""      ]
 [ "batstr",    "repeat",       "command batstr.repeat(X_1:bat[:str], 
X_2:int):bat[:str] ",     "STRbatrepeatcst;",     ""      ]
+[ "batstr",    "replace",      "command batstr.replace(X_1:bat[:str], 
X_2:bat[:str], X_3:bat[:str]):bat[:str] ",       "STRbatReplace;",       ""     
 ]
+[ "batstr",    "replace",      "command batstr.replace(X_1:bat[:str], X_2:str, 
X_3:str):bat[:str] ",   "STRbatReplacecst;",    ""      ]
 [ "batstr",    "rpad", "command batstr.rpad(X_1:bat[:str], X_2:bat[:int], 
X_3:bat[:str]):bat[:str] ",  "STRbatRpad2_bat_bat;", ""      ]
 [ "batstr",    "rpad", "command batstr.rpad(X_1:bat[:str], X_2:bat[:int], 
X_3:str):bat[:str] ",        "STRbatRpad2_bat_const;",       ""      ]
 [ "batstr",    "rpad", "command batstr.rpad(X_1:bat[:str], X_2:int, 
X_3:bat[:str]):bat[:str] ",        "STRbatRpad2_const_bat;",       ""      ]
@@ -5910,6 +5914,9 @@ stdout of test 'MAL-signatures` in direc
 [ "batstr",    "rtrim",        "command batstr.rtrim(X_1:bat[:str]):bat[:str] 
",       "STRbatRtrim;", ""      ]
 [ "batstr",    "search",       "command batstr.search(X_1:bat[:str], 
X_2:bat[:str]):bat[:int] ",       "STRbatstrSearch;",     ""      ]
 [ "batstr",    "search",       "command batstr.search(X_1:bat[:str], 
X_2:str):bat[:int] ",     "STRbatstrSearchcst;",  ""      ]
+[ "batstr",    "space",        "command batstr.space(X_1:bat[:int]):bat[:str] 
",       "STRbatSpace;", ""      ]
+[ "batstr",    "splitpart",    "command batstr.splitpart(X_1:bat[:str], 
X_2:bat[:str], X_3:bat[:int]):bat[:str] ",     "STRbatsplitpart;",     ""      ]
+[ "batstr",    "splitpart",    "command batstr.splitpart(X_1:bat[:str], 
X_2:str, X_3:int):bat[:str] ", "STRbatsplitpartcst;",  ""      ]
 [ "batstr",    "startsWith",   "command batstr.startsWith(X_1:bat[:str], 
X_2:bat[:str]):bat[:bit] ",   "STRbatPrefix;",        ""      ]
 [ "batstr",    "startsWith",   "command batstr.startsWith(X_1:bat[:str], 
X_2:str):bat[:bit] ", "STRbatPrefixcst;",     ""      ]
 [ "batstr",    "string",       "command batstr.string(X_1:bat[:str], 
X_2:bat[:int]):bat[:str] ",       "STRbatTail;",  ""      ]
@@ -5918,14 +5925,18 @@ stdout of test 'MAL-signatures` in direc
 [ "batstr",    "stringleft",   "command batstr.stringleft(X_1:bat[:str], 
X_2:int):bat[:str] ", "STRbatprefixcst;",     ""      ]
 [ "batstr",    "stringright",  "command batstr.stringright(X_1:bat[:str], 
X_2:bat[:int]):bat[:str] ",  "STRbatsuffix;",        ""      ]
 [ "batstr",    "stringright",  "command batstr.stringright(X_1:bat[:str], 
X_2:int):bat[:str] ",        "STRbatsuffixcst;",     ""      ]
+[ "batstr",    "substitute",   "command batstr.substitute(X_1:bat[:str], 
X_2:bat[:str], X_3:bat[:str], X_4:bat[:bit]):bat[:str] ",     
"STRbatSubstitute;",    ""      ]
 [ "batstr",    "substitute",   "command batstr.substitute(X_1:bat[:str], 
X_2:str, X_3:str, X_4:bit):bat[:str] ",       "STRbatSubstitutecst;", ""      ]
 [ "batstr",    "substring",    "command batstr.substring(X_1:bat[:str], 
X_2:bat[:int], X_3:bat[:int]):bat[:str] ",     "STRbatsubstring;",     ""      ]
+[ "batstr",    "substring",    "command batstr.substring(X_1:bat[:str], 
X_2:bat[:int]):bat[:str] ",    "STRbatsubstringTail;", ""      ]
+[ "batstr",    "substring",    "command batstr.substring(X_1:bat[:str], 
X_2:int):bat[:str] ",  "STRbatsubstringTailcst;",      ""      ]
 [ "batstr",    "substring",    "command batstr.substring(X_1:bat[:str], 
X_2:int, X_3:int):bat[:str] ", "STRbatsubstringcst;",  ""      ]
 [ "batstr",    "toLower",      "command 
batstr.toLower(X_1:bat[:str]):bat[:str] ",     "STRbatLower;", ""      ]
 [ "batstr",    "toUpper",      "command 
batstr.toUpper(X_1:bat[:str]):bat[:str] ",     "STRbatUpper;", ""      ]
 [ "batstr",    "trim", "command batstr.trim(X_1:bat[:str], 
X_2:bat[:str]):bat[:str] ", "STRbatStrip2_bat;",    ""      ]
 [ "batstr",    "trim", "command batstr.trim(X_1:bat[:str], X_2:str):bat[:str] 
",       "STRbatStrip2_const;",  ""      ]
 [ "batstr",    "trim", "command batstr.trim(X_1:bat[:str]):bat[:str] ",        
"STRbatStrip;", ""      ]
+[ "batstr",    "unicode",      "command 
batstr.unicode(X_1:bat[:int]):bat[:str] ",     "STRbatFromWChr;",      ""      ]
 [ "batstr",    "unicodeAt",    "command batstr.unicodeAt(X_1:bat[:str], 
X_2:bat[:int]):bat[:int] ",    "STRbatWChrAt;",        ""      ]
 [ "batstr",    "unicodeAt",    "command batstr.unicodeAt(X_1:bat[:str], 
X_2:int):bat[:int] ",  "STRbatWChrAtcst;",     ""      ]
 [ "batudf",    "fuse", "command batudf.fuse(X_1:bat[:bte], 
X_2:bat[:bte]):bat[:sht] ", "UDFBATfuse;",  ""      ]
diff --git a/clients/Tests/MAL-signatures.stable.out.int128 
b/clients/Tests/MAL-signatures.stable.out.int128
--- a/clients/Tests/MAL-signatures.stable.out.int128
+++ b/clients/Tests/MAL-signatures.stable.out.int128
@@ -8156,6 +8156,8 @@ stdout of test 'MAL-signatures` in direc
 [ "batstr",    "ascii",        "command batstr.ascii(X_1:bat[:str]):bat[:int] 
",       "STRbatAscii;", ""      ]
 [ "batstr",    "endsWith",     "command batstr.endsWith(X_1:bat[:str], 
X_2:bat[:str]):bat[:bit] ",     "STRbatSuffix;",        ""      ]
 [ "batstr",    "endsWith",     "command batstr.endsWith(X_1:bat[:str], 
X_2:str):bat[:bit] ",   "STRbatSuffixcst;",     ""      ]
+[ "batstr",    "insert",       "command batstr.insert(X_1:bat[:str], 
X_2:bat[:int], X_3:bat[:int], X_4:bat[:str]):bat[:str] ", "STRbatInsert;",      
  ""      ]
+[ "batstr",    "insert",       "command batstr.insert(X_1:bat[:str], X_2:int, 
X_3:int, X_4:str):bat[:str] ",   "STRbatInsertcst;",     ""      ]
 [ "batstr",    "length",       "command batstr.length(X_1:bat[:str]):bat[:int] 
",      "STRbatLength;",        ""      ]
 [ "batstr",    "locate",       "command batstr.locate(X_1:bat[:str], 
X_2:bat[:str], X_3:bat[:int]):bat[:int] ",        "STRbatstrLocate2;",    ""    
  ]
 [ "batstr",    "locate",       "command batstr.locate(X_1:bat[:str], X_2:str, 
X_3:int):bat[:int] ",    "STRbatstrLocate2cst;", ""      ]
@@ -8175,6 +8177,8 @@ stdout of test 'MAL-signatures` in direc
 [ "batstr",    "r_search",     "command batstr.r_search(X_1:bat[:str], 
X_2:str):bat[:int] ",   "STRbatRstrSearchcst;", ""      ]
 [ "batstr",    "repeat",       "command batstr.repeat(X_1:bat[:str], 
X_2:bat[:int]):bat[:str] ",       "STRbatrepeat;",        ""      ]
 [ "batstr",    "repeat",       "command batstr.repeat(X_1:bat[:str], 
X_2:int):bat[:str] ",     "STRbatrepeatcst;",     ""      ]
+[ "batstr",    "replace",      "command batstr.replace(X_1:bat[:str], 
X_2:bat[:str], X_3:bat[:str]):bat[:str] ",       "STRbatReplace;",       ""     
 ]
+[ "batstr",    "replace",      "command batstr.replace(X_1:bat[:str], X_2:str, 
X_3:str):bat[:str] ",   "STRbatReplacecst;",    ""      ]
 [ "batstr",    "rpad", "command batstr.rpad(X_1:bat[:str], X_2:bat[:int], 
X_3:bat[:str]):bat[:str] ",  "STRbatRpad2_bat_bat;", ""      ]
 [ "batstr",    "rpad", "command batstr.rpad(X_1:bat[:str], X_2:bat[:int], 
X_3:str):bat[:str] ",        "STRbatRpad2_bat_const;",       ""      ]
 [ "batstr",    "rpad", "command batstr.rpad(X_1:bat[:str], X_2:int, 
X_3:bat[:str]):bat[:str] ",        "STRbatRpad2_const_bat;",       ""      ]
@@ -8186,6 +8190,9 @@ stdout of test 'MAL-signatures` in direc
 [ "batstr",    "rtrim",        "command batstr.rtrim(X_1:bat[:str]):bat[:str] 
",       "STRbatRtrim;", ""      ]
 [ "batstr",    "search",       "command batstr.search(X_1:bat[:str], 
X_2:bat[:str]):bat[:int] ",       "STRbatstrSearch;",     ""      ]
 [ "batstr",    "search",       "command batstr.search(X_1:bat[:str], 
X_2:str):bat[:int] ",     "STRbatstrSearchcst;",  ""      ]
+[ "batstr",    "space",        "command batstr.space(X_1:bat[:int]):bat[:str] 
",       "STRbatSpace;", ""      ]
+[ "batstr",    "splitpart",    "command batstr.splitpart(X_1:bat[:str], 
X_2:bat[:str], X_3:bat[:int]):bat[:str] ",     "STRbatsplitpart;",     ""      ]
+[ "batstr",    "splitpart",    "command batstr.splitpart(X_1:bat[:str], 
X_2:str, X_3:int):bat[:str] ", "STRbatsplitpartcst;",  ""      ]
 [ "batstr",    "startsWith",   "command batstr.startsWith(X_1:bat[:str], 
X_2:bat[:str]):bat[:bit] ",   "STRbatPrefix;",        ""      ]
 [ "batstr",    "startsWith",   "command batstr.startsWith(X_1:bat[:str], 
X_2:str):bat[:bit] ", "STRbatPrefixcst;",     ""      ]
 [ "batstr",    "string",       "command batstr.string(X_1:bat[:str], 
X_2:bat[:int]):bat[:str] ",       "STRbatTail;",  ""      ]
@@ -8194,14 +8201,18 @@ stdout of test 'MAL-signatures` in direc
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to