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