Changeset: 0b290c85ec83 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0b290c85ec83 Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/exports.stable.out gdk/gdk_bbp.c monetdb5/mal/mal_profiler.c monetdb5/modules/atoms/str.c monetdb5/modules/kernel/batstr.c monetdb5/optimizer/opt_mergetable.c monetdb5/optimizer/opt_remap.c sql/backends/monet5/UDF/pyapi3/conversion3.c sql/backends/monet5/rel_bin.c sql/backends/monet5/sql.c sql/backends/monet5/sql.h sql/backends/monet5/sql_cat.c sql/backends/monet5/sql_optimizer.c sql/backends/monet5/sql_statement.c sql/backends/monet5/sql_statistics.c sql/backends/monet5/sql_upgrades.c sql/common/sql_types.c sql/server/rel_updates.c sql/server/sql_mvc.h sql/storage/bat/bat_storage.c sql/test/BugTracker-2014/Tests/manifold.Bug-3556.stable.out sql/test/BugTracker-2019/Tests/duplicates-not-eliminated-long-CASE-stmt.Bug-6697.stable.out sql/test/BugTracker-2019/Tests/duplicates-not-eliminated-long-CASE-stmt.Bug-6697.stable.out.single sql/test/SQLancer/Tests/sqlancer01.stable.out sql/test/emptydb/Tests/check.stable.out sql/test/emptydb/Tests/check.stable.out.32bit sql/test/emptydb/Tests/check.stable.out.int128 sql/test/sys-schema/Tests/systemfunctions.stable.out sql/test/sys-schema/Tests/systemfunctions.stable.out.int128 Branch: unlock Log Message:
merged with default diffs (truncated from 156371 to 300 lines): diff --git a/.editorconfig b/.editorconfig --- a/.editorconfig +++ b/.editorconfig @@ -1,3 +1,5 @@ +root = true + # Unix-style newlines with a newline ending every file [*] end_of_line = lf @@ -16,7 +18,3 @@ indent_style = space indent_size = 4 trim_trailing_whitespace = true charset = utf-8 - -[gdk/*.{c,h}] -tab_width = 8 -max_line_length = 72 diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -140,6 +140,13 @@ BuildRequires: pkgconfig(openssl) BuildRequires: pkgconfig(libpcre) >= 4.5 %endif BuildRequires: pkgconfig(zlib) +%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} > 7 +# not on RHEL 7 +BuildRequires: pkgconfig(liblz4) >= 1.8 +%global LZ4 ON +%else +%global LZ4 OFF +%endif %if %{with py3integration} BuildRequires: pkgconfig(python3) >= 3.5 BuildRequires: python3-numpy @@ -149,8 +156,6 @@ BuildRequires: pkgconfig(libR) %endif # if we were to compile with cmocka support (-DWITH_CMOCKA=ON): # BuildRequires: pkgconfig(cmocka) -# if we were to compile with lz4 support (-DWITH_LZ4=ON): -# BuildRequires: pkgconfig(liblz4) # if we were to compile with NetCDF support (-DNETCDF=ON): # BuildRequires: pkgconfig(netcdf) # if we were to compile with proj support (-DWITH_PROJ=ON): @@ -784,8 +789,6 @@ export CFLAGS %endif %cmake3 \ -DRELEASE_VERSION=ON \ - -DRUNDIR=%{_rundir}/monetdb \ - -DLOGDIR=%{_localstatedir}/log/monetdb \ -DASSERT=OFF \ -DCINTEGRATION=%{?with_cintegration:ON}%{!?with_cintegration:OFF} \ -DFITS=%{?with_fits:ON}%{!?with_fits:OFF} \ @@ -803,7 +806,7 @@ export CFLAGS -DWITH_CMOCKA=OFF \ -DWITH_CRYPTO=ON \ -DWITH_CURL=ON \ - -DWITH_LZ4=OFF \ + -DWITH_LZ4=%{LZ4} \ -DWITH_LZMA=ON \ -DWITH_PCRE=ON \ -DWITH_PROJ=OFF \ @@ -817,7 +820,10 @@ export CFLAGS %cmake3_build %install +mkdir -p "%{buildroot}/usr" +for d in etc var; do mkdir "%{buildroot}/$d"; ln -s ../$d "%{buildroot}/usr/$d"; done %cmake3_install +rm "%{buildroot}/usr/var" "%{buildroot}/usr/etc" # move file to correct location %if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 diff --git a/buildtools/conf/monetdbd.conf.in b/buildtools/conf/monetdbd.conf.in --- a/buildtools/conf/monetdbd.conf.in +++ b/buildtools/conf/monetdbd.conf.in @@ -1,3 +1,3 @@ # this file is for systemd # monetdbd needs a directory in /run that is owned by monetdb:monetdb -d @RUNDIR@ 0775 monetdb monetdb - +d @CMAKE_INSTALL_FULL_RUNSTATEDIR@/monetdb 0775 monetdb monetdb - diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out --- a/clients/Tests/exports.stable.out +++ b/clients/Tests/exports.stable.out @@ -1125,6 +1125,7 @@ str batpyapi3Ref; str batrapiRef; str batsqlRef; str batstrRef; +bool batstr_func_has_candidates(const char *func); str batxmlRef; str bbpRef; str betweenRef; diff --git a/cmake/monetdb-deb-packages.cmake b/cmake/monetdb-deb-packages.cmake --- a/cmake/monetdb-deb-packages.cmake +++ b/cmake/monetdb-deb-packages.cmake @@ -8,7 +8,7 @@ set(CPACK_DEBIAN_PACKAGE_MAINTAINER "MonetDB BV <i...@monetdb.org>") set(CPACK_DEB_COMPONENT_INSTALL ON) -set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS ON) +set(CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS OFF) set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT) set(CPACK_DEBIAN_PACKAGE_SECTION "misc") set(CPACK_DEBIAN_PACKAGE_SOURCE "monetdb") @@ -171,18 +171,6 @@ set(CPACK_DEBIAN_SERVER_PACKAGE_CONTROL_ ${CMAKE_CURRENT_SOURCE_DIR}/debian/monetdb5-server.postinst ) -set(CPACK_DEBIAN_HUGEINT_PACKAGE_NAME "monetdb5-server-hugeint") -set(CPACK_DEBIAN_HUGEINT_PACKAGE_DEPENDS "monetdb5-server (= \\\${source:Version})") -set(CPACK_DEBIAN_HUGEINT_PACKAGE_ARCHITECTURE "amd64") -set(CPACK_COMPONENT_HUGEINT_DESCRIPTION "MonetDB - 128-bit integer support for MonetDB5-server - 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 provides HUGEINT (128-bit integer) support for the - MonetDB5-server component.") - set(CPACK_DEBIAN_SERVERDEV_PACKAGE_NAME "monetdb5-server-dev") set(CPACK_DEBIAN_SERVERDEV_PACKAGE_DEPENDS "\\\${shlibs:Depends}, \\\${misc:Depends}, monetdb5-server (= \\\${source:Version}), libmonetdb-dev (= \\\${source:Version})") @@ -200,8 +188,6 @@ set(CPACK_DEBIAN_SQL_PACKAGE_DEPENDS "\\\${shlibs:Depends}" "\\\${misc:Depends}" "monetdb5-server (= \\\${source:Version})") -set(CPACK_DEBIAN_SQL_PACKAGE_RECOMMENDS - "monetdb5-sql-hugeint (= \\\${source:Version}) [amd64]") set(CPACK_DEBIAN_SQL_PACKAGE_SUGGEST "monetdb-client (= \\\${source:Version})") set(CPACK_COMPONENT_SQL_DESCRIPTION "MonetDB SQL support for monetdb5 MonetDB is a database management system that is developed from a @@ -218,20 +204,6 @@ set(CPACK_DEBIAN_SQL_PACKAGE_CONTROL_FIL ${CMAKE_CURRENT_SOURCE_DIR}/debian/monetdb5-sql.postinst ) -set(CPACK_DEBIAN_SQLINT128_PACKAGE_NAME "monetdb5-sql-hugeint") -set(CPACK_DEBIAN_SQLINT128_PACKAGE_DEPENDS - "monetdb5-sql (= \\\${source:Version})" - "monetdb5-server-hugeint (= \\\${source:Version})") -set(CPACK_DEBIAN_SQLINT128_PACKAGE_ARCHITECTURE "amd64") -set(CPACK_COMPONENT_SQLINT128_DESCRIPTION "MonetDB5 128 bit integer (hugeint) support for SQL - 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 provides HUGEINT (128-bit integer) support for the SQL - front end of MonetDB.") - set(CPACK_DEBIAN_PYAPI3_PACKAGE_NAME "monetdb-python3") set(CPACK_DEBIAN_PYAPI3_PACKAGE_DEPENDS "\\\${shlibs:Depends}" diff --git a/cmake/monetdb-defines.cmake b/cmake/monetdb-defines.cmake --- a/cmake/monetdb-defines.cmake +++ b/cmake/monetdb-defines.cmake @@ -206,7 +206,6 @@ macro(monetdb_macro_variables) set(BINDIR "${CMAKE_INSTALL_FULL_BINDIR}") set(LIBDIR "${CMAKE_INSTALL_FULL_LIBDIR}") set(DATADIR "${CMAKE_INSTALL_FULL_DATADIR}") - set(DATA_DIR "${CMAKE_INSTALL_FULL_DATADIR}") set(LOCALSTATEDIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}") if(WIN32) # Fix cmake conversions @@ -219,22 +218,12 @@ macro(monetdb_macro_variables) endif() set(DATAROOTDIR "${CMAKE_INSTALL_FULL_DATAROOTDIR}") - set(BIN_DIR "${CMAKE_INSTALL_FULL_BINDIR}") set(INCLUDEDIR "${CMAKE_INSTALL_FULL_INCLUDEDIR}") set(INFODIR "${CMAKE_INSTALL_FULL_INFODIR}") - set(LIB_DIR "${CMAKE_INSTALL_FULL_LIBDIR}") set(LIBEXECDIR "${CMAKE_INSTALL_FULL_LIBEXECDIR}") - set(LOCALSTATE_DIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}") # set(MANDIR "${CMAKE_INSTALL_FULL_MANDIR}") set(SYSCONFDIR "${CMAKE_INSTALL_FULL_SYSCONFDIR}") - set(LOGDIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/log/monetdb" - CACHE PATH - "Where to put log files (default LOCALSTATEDIR/log/monetdb)") set(PKGCONFIGDIR "${LIBDIR}/pkgconfig") - set(RUNDIR - "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/run/monetdb" - CACHE PATH - "Where to put pid files (default LOCALSTATEDIR/run/monetdb)") endmacro() macro(monetdb_configure_crypto) diff --git a/cmake/monetdb-rpm-packages.cmake b/cmake/monetdb-rpm-packages.cmake --- a/cmake/monetdb-rpm-packages.cmake +++ b/cmake/monetdb-rpm-packages.cmake @@ -20,6 +20,7 @@ set(CPACK_RPM_PACKAGE_LICENSE "MPLv2.0") set(CPACK_RPM_PACKAGE_GROUP "Applications/Databases") set(CPACK_RPM_PACKAGE_URL "https://www.monetdb.org/") set(CPACK_RPM_CHANGELOG_FILE "${CMAKE_SOURCE_DIR}/misc/packages/rpm/changelog") +set(CPACK_RPM_PACKAGE_RELOCATABLE OFF) set(CPACK_RPM_monetdb_PACKAGE_NAME "${CMAKE_PROJECT_NAME}") set(CPACK_RPM_monetdb_FILE_NAME "${CMAKE_PROJECT_NAME}-${MONETDB_VERSION}.rpm") @@ -87,18 +88,13 @@ set(CPACK_RPM_server_PACKAGE_NAME "Monet set(CPACK_RPM_server_FILE_NAME "${CPACK_RPM_server_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") set(CPACK_RPM_server_PACKAGE_SUMMARY "MonetDB - Monet Database Management System") set(CPACK_RPM_server_PACKAGE_REQUIRES "%{name}-client%{?_isa} = %{version}-%{release}") -# TODO: check for hugeint -set(CPACK_RPM_server_PACKAGE_RECOMMENDS "%{name}-SQL-server5%{?_isa} = %{version}-%{release}, MonetDB5-server-hugeint%{?_isa} = %{version}-%{release}") +set(CPACK_RPM_server_PACKAGE_RECOMMENDS "%{name}-SQL-server5%{?_isa} = %{version}-%{release}") + set(CPACK_RPM_server_PACKAGE_SUGGESTS "%{name}-client%{?_isa} = %{version}-%{release}") set(CPACK_RPM_server_PACKAGE_CONFLICTS "python-pymonetdb < 1.0.6") # TODO: check for rhel set(CPACK_RPM_server_PACKAGE_REQUIRES_PRE "shadow-utils, systemd") -set(CPACK_RPM_hugeint_PACKAGE_NAME "MonetDB5-server-hugeint") -set(CPACK_RPM_hugeint_FILE_NAME "${CPACK_RPM_hugeint_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") -set(CPACK_RPM_hugeint_PACKAGE_SUMMARY "MonetDB - 128-bit integer support for MonetDB5-server") -set(CPACK_RPM_hugeint_PACKAGE_REQUIRES "MonetDB5-server%{?_isa}") - set(CPACK_RPM_serverdev_PACKAGE_NAME "MonetDB5-server-devel") set(CPACK_RPM_serverdev_FILE_NAME "${CPACK_RPM_serverdev_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") set(CPACK_RPM_serverdev_PACKAGE_SUMMARY "MonetDB development files") @@ -108,16 +104,9 @@ set(CPACK_RPM_sql_PACKAGE_NAME "SQL-serv set(CPACK_RPM_sql_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_RPM_sql_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") set(CPACK_RPM_sql_PACKAGE_SUMMARY "MonetDB5 SQL server modules") set(CPACK_RPM_sql_PACKAGE_REQUIRES_PRE "MonetDB5-server%{?_isa} = %{version}-%{release}") -# TODO: check hugeint -set(CPACK_RPM_sql_PACKAGE_RECOMMENDS "%{name}-SQL-server5-hugeint%{?_isa} = %{version}-%{release}") set(CPACK_RPM_sql_PACKAGE_SUGGESTS "%{name}-client%{?_isa} = %{version}-%{release}") # TODO: systemd_requires? -set(CPACK_RPM_sqlint128_PACKAGE_NAME "SQL-server5-hugeint") -set(CPACK_RPM_sqlint128_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_RPM_sqlint128_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") -set(CPACK_RPM_sqlint128_PACKAGE_SUMMARY "MonetDB5 128 bit integer (hugeint) support for SQL") -set(CPACK_RPM_sqlint128_PACKAGE_REQUIRES "MonetDB5-server-hugeint%{?_isa} = %{version}-%{release}, MonetDB-SQL-server5%{?_isa} = %{version}-%{release}") - set(CPACK_RPM_testing_PACKAGE_NAME "testing") set(CPACK_RPM_testing_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_RPM_testing_PACKAGE_NAME}-${MONETDB_VERSION}.rpm") set(CPACK_RPM_TESTING_PACKAGE_SUMMARY "MonetDB - Monet Database Management System") diff --git a/debian/control b/debian/control --- a/debian/control +++ b/debian/control @@ -7,7 +7,7 @@ Vcs-Browser: https://dev.monetdb.org/hg/ Vcs-Hg: https://dev.monetdb.org/hg/MonetDB/ Build-Depends: debhelper (>= 9), cmake (>= 3.12), bison, libbz2-dev, libcurl4-gnutls-dev, libgeos-dev (>= 3.4.0), - libpcre3-dev, libreadline-dev, liblzma-dev, + libpcre3-dev, libreadline-dev, liblzma-dev, liblz4-dev (>= 1.8.0), libssl-dev, libxml2-dev, pkg-config, python3, python3-dev, python3-numpy, unixodbc-dev, uuid-dev, zlib1g-dev, r-base-dev, diff --git a/debian/rules b/debian/rules --- a/debian/rules +++ b/debian/rules @@ -14,8 +14,6 @@ DH_VERBOSE=1 override_dh_auto_configure: dh_auto_configure -- \ -DRELEASE_VERSION=ON \ - -DRUNDIR=/run/monetdb \ - -DLOGDIR=/var/log/monetdb \ -DASSERT=OFF \ -DCINTEGRATION=ON \ -DFITS=ON \ @@ -33,7 +31,7 @@ override_dh_auto_configure: -DWITH_CMOCKA=OFF \ -DWITH_CRYPTO=ON \ -DWITH_CURL=ON \ - -DWITH_LZ4=OFF \ + -DWITH_LZ4=ON \ -DWITH_LZMA=ON \ -DWITH_PCRE=ON \ -DWITH_PROJ=OFF \ diff --git a/gdk/.editorconfig b/gdk/.editorconfig new file mode 100644 --- /dev/null +++ b/gdk/.editorconfig @@ -0,0 +1,3 @@ +[*.{c,h}] +tab_width = 8 +max_line_length = 72 diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c --- a/gdk/gdk_bbp.c +++ b/gdk/gdk_bbp.c @@ -3682,6 +3682,10 @@ BBPdiskscan(const char *parent, size_t b /* older versions used .thash which we * can simply ignore */ delete = true; + } else if (strncmp(p + 1, "thsh", 4) == 0) { + /* temporary hash files which we can + * simply ignore */ + delete = true; } else if (strncmp(p + 1, "timprints", 9) == 0) { BAT *b = getdesc(bid); delete = b == NULL; diff --git a/misc/selinux/monetdb.fc.in b/misc/selinux/monetdb.fc.in --- a/misc/selinux/monetdb.fc.in +++ b/misc/selinux/monetdb.fc.in @@ -1,7 +1,7 @@ @CMAKE_INSTALL_FULL_BINDIR@/monetdbd -- gen_context(system_u:object_r:monetdbd_exec_t,s0) @CMAKE_INSTALL_FULL_BINDIR@/mserver5 -- gen_context(system_u:object_r:mserver5_exec_t,s0) @CMAKE_INSTALL_FULL_LIBDIR@/systemd/system/monetdbd.* gen_context(system_u:object_r:monetdbd_unit_file_t,s0) -@LOGDIR@(/.*)? gen_context(system_u:object_r:monetdbd_log_t,s0) +@CMAKE_INSTALL_FULL_LOCALSTATEDIR@/log/monetdb(/.*)? gen_context(system_u:object_r:monetdbd_log_t,s0) # for some reason we cannot use /run/monetdb here, even though that is the real name _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list