Changeset: c509bed616dd for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c509bed616dd Modified Files: sql/backends/monet5/rel_bin.c sql/backends/monet5/sql.c sql/backends/monet5/sql_gencode.c sql/backends/monet5/sql_statement.c sql/server/rel_optimizer.c sql/server/rel_rel.c sql/server/rel_schema.c sql/server/rel_select.c sql/server/rel_updates.c sql/server/sql_atom.c sql/server/sql_mvc.c sql/server/sql_mvc.h sql/storage/sql_storage.h sql/storage/store.c Branch: properties Log Message:
Merged with default diffs (truncated from 7882 to 300 lines): diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -41,25 +41,15 @@ %global fedpkgs 1 %endif -%if %{?rhel:1}%{!?rhel:0} && 0%{?rhel} < 7 -# RedHat Enterprise Linux < 7 -# There is no macro _rundir, and no directory /run, instead use /var/run. -%global _rundir %{_localstatedir}/run -%endif - # On Fedora, the geos library is available, and so we can require it # and build the geom modules. On RedHat Enterprise Linux and # derivatives (CentOS, Scientific Linux), the geos library is not # available. However, the geos library is available in the Extra -# Packages for Enterprise Linux (EPEL). However, On RHEL 6, the geos -# library is too old for us, so we need an extra check for an -# up-to-date version of RHEL. +# Packages for Enterprise Linux (EPEL). %if %{fedpkgs} -%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 # By default create the MonetDB-geom-MonetDB5 package on Fedora and RHEL 7 %bcond_without geos %endif -%endif # By default use PCRE for the implementation of the SQL LIKE and ILIKE # operators. Otherwise the POSIX regex functions are used. @@ -73,11 +63,8 @@ %bcond_without rintegration %endif -%if 0%{?rhel} >= 7 || 0%{?fedora} > 0 -# On RHEL 6, Python 3 is too old. On RHEL 7, Python 3 was too old -# when RHEL 7 was released, but now it is ok. +# By default, include Python 3 integration. %bcond_without py3integration -%endif %if %{fedpkgs} # By default, create the MonetDB-cfitsio package. @@ -104,13 +91,10 @@ Source: https://www.monetdb.org/download # that doesn't exist and we need systemd, so instead we just require # the macro file that contains the definitions. # We need checkpolicy and selinux-policy-devel for the SELinux policy. -%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 -# RHEL >= 7, and all current Fedora BuildRequires: /usr/lib/rpm/macros.d/macros.systemd BuildRequires: checkpolicy BuildRequires: selinux-policy-devel BuildRequires: hardlink -%endif BuildRequires: cmake3 >= 3.12 BuildRequires: gcc BuildRequires: bison @@ -497,9 +481,7 @@ Suggests: %{name}-client%{?_isa} = %{ver %endif # versions up to 1.0.5 don't accept the queryid field in the result set Conflicts: python-pymonetdb < 1.0.6 -%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 Requires(pre): systemd -%endif %description -n MonetDB5-server MonetDB is a database management system that is developed from a @@ -535,9 +517,7 @@ exit 0 %files -n MonetDB5-server %defattr(-,root,root) -%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 %{_sysusersdir}/monetdb.conf -%endif %attr(2750,monetdb,monetdb) %dir %{_localstatedir}/lib/monetdb %attr(2770,monetdb,monetdb) %dir %{_localstatedir}/monetdb5 %attr(2770,monetdb,monetdb) %dir %{_localstatedir}/monetdb5/dbfarm @@ -589,9 +569,7 @@ Provides: %{name}-SQL-server5-hugeint%{? %if (0%{?fedora} >= 22) Suggests: %{name}-client%{?_isa} = %{version}-%{release} %endif -%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 %{?systemd_requires} -%endif %description SQL-server5 MonetDB is a database management system that is developed from a @@ -602,7 +580,6 @@ accelerators. It also has an SQL front This package contains the monetdb and monetdbd programs and the systemd configuration. -%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 %post SQL-server5 %systemd_post monetdbd.service @@ -611,7 +588,6 @@ configuration. %postun SQL-server5 %systemd_postun_with_restart monetdbd.service -%endif %files SQL-server5 %defattr(-,root,root) @@ -619,16 +595,9 @@ configuration. %{_bindir}/monetdbd %dir %attr(775,monetdb,monetdb) %{_localstatedir}/log/monetdb %dir %attr(775,monetdb,monetdb) %{_rundir}/monetdb -%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 # RHEL >= 7, and all current Fedora %{_tmpfilesdir}/monetdbd.conf %{_unitdir}/monetdbd.service -%else -# RedHat Enterprise Linux < 7 -%exclude %{_sysconfdir}/tmpfiles.d/monetdbd.conf -# no _unitdir macro -%exclude %{_prefix}/lib/systemd/system/monetdbd.service -%endif %config(noreplace) %attr(664,monetdb,monetdb) %{_localstatedir}/monetdb5/dbfarm/.merovingian_properties %verify(not mtime) %attr(664,monetdb,monetdb) %{_localstatedir}/monetdb5/dbfarm/.merovingian_lock %config(noreplace) %attr(644,root,root) %{_sysconfdir}/logrotate.d/monetdbd @@ -716,7 +685,6 @@ developer, but if you do want to test, t %dir %{python3_sitelib}/MonetDBtesting %{python3_sitelib}/MonetDBtesting/* -%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 %package selinux Summary: SELinux policy files for MonetDB Group: Applications/Databases @@ -779,13 +747,12 @@ fi %{_datadir}/doc/MonetDB-selinux/* %{_datadir}/selinux/*/monetdb.pp -%endif - %prep %setup -q %build %cmake3 \ + -DCMAKE_INSTALL_RUNSTATEDIR=/run \ -DRELEASE_VERSION=ON \ -DASSERT=OFF \ -DCINTEGRATION=%{?with_cintegration:ON}%{!?with_cintegration:OFF} \ @@ -824,14 +791,12 @@ for d in etc var; do mkdir "%{buildroot} rm "%{buildroot}/usr/var" "%{buildroot}/usr/etc" # move file to correct location -%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 mkdir -p %{buildroot}%{_tmpfilesdir} %{buildroot}%{_sysusersdir} mv %{buildroot}%{_sysconfdir}/tmpfiles.d/monetdbd.conf %{buildroot}%{_tmpfilesdir} cat > %{buildroot}%{_sysusersdir}/monetdb.conf << EOF u monetdb - "MonetDB Server" /var/lib/monetdb EOF rmdir %{buildroot}%{_sysconfdir}/tmpfiles.d -%endif install -d -m 0750 %{buildroot}%{_localstatedir}/lib/monetdb install -d -m 0770 %{buildroot}%{_localstatedir}/monetdb5/dbfarm @@ -850,23 +815,12 @@ rm -f %{buildroot}%{_libdir}/monetdb5/li rm -f %{buildroot}%{_bindir}/monetdb_mtest.sh rm -rf %{buildroot}%{_datadir}/monetdb # /cmake -%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 if [ -x /usr/sbin/hardlink ]; then /usr/sbin/hardlink -cv %{buildroot}%{_datadir}/selinux else # Fedora 31 /usr/bin/hardlink -cv %{buildroot}%{_datadir}/selinux fi -%endif - -%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 -# fix up some paths (/var/run -> /run) -# needed because CMAKE_INSTALL_RUNSTATEDIR refers to /var/run -sed -i 's|/var/run|/run|' \ - %{buildroot}%{_tmpfilesdir}/monetdbd.conf \ - %{buildroot}%{_localstatedir}/monetdb5/dbfarm/.merovingian_properties \ - %{buildroot}%{_unitdir}/monetdbd.service -%endif %changelog * Wed Nov 18 2020 Sjoerd Mullender <sjo...@acm.org> - 11.39.7-20201118 diff --git a/clients/mapiclient/mhelp.c b/clients/mapiclient/mhelp.c --- a/clients/mapiclient/mhelp.c +++ b/clients/mapiclient/mhelp.c @@ -54,7 +54,7 @@ SQLhelp sqlhelp1[] = { "", "ALTER SCHEMA [ IF EXISTS ] ident RENAME TO ident", "ident", - "See also https://www.monetdb.org/Documentation/SQLreference/TableDefinitions/AlterStatement"}, + "See also https://www.monetdb.org/Documentation/SQLReference/DataDefinition/SchemaDefinitions"}, {"ALTER SEQUENCE", "", "ALTER SEQUENCE qname [ AS seq_int_datatype] [ RESTART [WITH intval]] [INCREMENT BY intval]\n" @@ -191,7 +191,7 @@ SQLhelp sqlhelp1[] = { "", "CREATE REPLICA TABLE [ IF NOT EXISTS ] qname table_source", NULL, - "See also https://www.monetdb.org/Documentation/Cookbooks/SQLrecipes/TransactionReplication"}, + "See also https://www.monetdb.org/Documentation/SQLReference/TableDefinitions"}, {"CREATE ROLE", "Create a new role. You can grant privileges to a role and next\n" "grant a role (or multiple roles) to specific users", @@ -246,7 +246,7 @@ SQLhelp sqlhelp1[] = { " RETURNS function_return_data_type\n" " EXTERNAL NAME ident ',' ident", "qname,param,function_return_data_type,ident", - "See also https://www.monetdb.org/Documentation/SQLreference/ProgrammingSQL/Functions"}, + "See also https://www.monetdb.org/Documentation/SQLReference/DataManipulation/WindowFunctions"}, {"CURRENT_DATE", "Pseudo column or function to get the current date", "CURRENT_DATE [ '(' ')' ]", @@ -291,7 +291,7 @@ SQLhelp sqlhelp1[] = { "Debug a SQL statement using MAL debugger", "DEBUG statement", NULL, - "https://www.monetdb.org/Documentation/SQLreference/RuntimeFeatures/Debug"}, + "See also https://www.monetdb.org/Documentation/SQLreference/RuntimeFeatures/Debug"}, {"DECLARE", "Define a local variable", "DECLARE ident_list data_type", diff --git a/common/stream/stream.h b/common/stream/stream.h --- a/common/stream/stream.h +++ b/common/stream/stream.h @@ -232,7 +232,6 @@ stream_export stream *bs_stream(stream * typedef enum { PROTOCOL_AUTO = 0, // unused PROTOCOL_9 = 1, // mal_mapi.c, mal_client.c; - PROTOCOL_10 = 2, // mal_mapi.c, sql_result.c PROTOCOL_COLUMNAR = 3 // sql_result.c } protocol_version; diff --git a/common/utils/mcrypt.c b/common/utils/mcrypt.c --- a/common/utils/mcrypt.c +++ b/common/utils/mcrypt.c @@ -45,7 +45,6 @@ mcrypt_getHashAlgorithms(void) * desire. */ static const char *algorithms = - "PROT10" #ifdef HAVE_RIPEMD160_UPDATE ",RIPEMD160" #endif diff --git a/debian/libmonetdb-client12.install b/debian/libmonetdb-client12.install --- a/debian/libmonetdb-client12.install +++ b/debian/libmonetdb-client12.install @@ -1,2 +1,1 @@ -debian/tmp/usr/lib/x86_64-linux-gnu/libmapi.so.12 /usr/lib/x86_64-linux-gnu -debian/tmp/usr/lib/x86_64-linux-gnu/libmapi.so.12.* /usr/lib/x86_64-linux-gnu +debian/tmp/usr/lib/x86_64-linux-gnu/libmapi.so.* /usr/lib/x86_64-linux-gnu diff --git a/debian/libmonetdb-stream14.install b/debian/libmonetdb-stream14.install --- a/debian/libmonetdb-stream14.install +++ b/debian/libmonetdb-stream14.install @@ -1,2 +1,1 @@ -debian/tmp/usr/lib/x86_64-linux-gnu/libstream.so.14 usr/lib/x86_64-linux-gnu -debian/tmp/usr/lib/x86_64-linux-gnu/libstream.so.14.* usr/lib/x86_64-linux-gnu +debian/tmp/usr/lib/x86_64-linux-gnu/libstream.so.* usr/lib/x86_64-linux-gnu diff --git a/debian/libmonetdb21.install b/debian/libmonetdb21.install --- a/debian/libmonetdb21.install +++ b/debian/libmonetdb21.install @@ -1,2 +1,1 @@ -debian/tmp/usr/lib/x86_64-linux-gnu/libbat.so.21 usr/lib/x86_64-linux-gnu -debian/tmp/usr/lib/x86_64-linux-gnu/libbat.so.21.* usr/lib/x86_64-linux-gnu +debian/tmp/usr/lib/x86_64-linux-gnu/libbat.so.* usr/lib/x86_64-linux-gnu diff --git a/debian/libmonetdbe1.install b/debian/libmonetdbe1.install --- a/debian/libmonetdbe1.install +++ b/debian/libmonetdbe1.install @@ -1,2 +1,1 @@ -debian/tmp/usr/lib/x86_64-linux-gnu/libmonetdbe.so.1 usr/lib/x86_64-linux-gnu -debian/tmp/usr/lib/x86_64-linux-gnu/libmonetdbe.so.1.* usr/lib/x86_64-linux-gnu +debian/tmp/usr/lib/x86_64-linux-gnu/libmonetdbe.so.* usr/lib/x86_64-linux-gnu diff --git a/debian/rules b/debian/rules --- a/debian/rules +++ b/debian/rules @@ -13,6 +13,7 @@ DH_VERBOSE=1 override_dh_auto_configure: dh_auto_configure -- \ + -DCMAKE_INSTALL_RUNSTATEDIR=/run \ -DRELEASE_VERSION=ON \ -DASSERT=OFF \ -DCINTEGRATION=ON \ diff --git a/documentation/source/developers_handbook.rst b/documentation/source/developers_handbook.rst --- a/documentation/source/developers_handbook.rst +++ b/documentation/source/developers_handbook.rst @@ -100,4 +100,21 @@ index ``All`` file. Python tests API ---------------- -See many of the examples in ``sql/test/Users/Tests``. +We are using ``pymonetdb`` client in our testing infrastructure heavily. All .py tests needs to log errors in ``stderror`` +and exit abnormally if failure is present. To ease up writing testing scripts the ``SQLTestCase`` class from ``MonetDBtesting`` +module can be utilized. Following is an example of the ``SQLTestCase`` API:: + + from MonetDBtesting.sqltest import SQLTestCase + + from decimal import Decimal + + with SQLTestCase() as tc: + # using default connection context _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list