Changeset: b1b6a0ee5c95 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/b1b6a0ee5c95 Modified Files: MonetDB.spec Branch: default Log Message:
Merge with Dec2023 branch. diffs (truncated from 530 to 300 lines): diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -96,7 +96,11 @@ 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. -BuildRequires: /usr/lib/rpm/macros.d/macros.systemd +%if 0%{?rhel} != 7 +BuildRequires: systemd-rpm-macros +%else +BuildRequires: systemd +%endif BuildRequires: checkpolicy BuildRequires: selinux-policy-devel BuildRequires: hardlink @@ -220,6 +224,8 @@ accelerators. It also has an SQL front This package contains a shared library (libstream) which is needed by various other components. +%ldconfig_scriptlets stream + %files stream %license COPYING %defattr(-,root,root) @@ -250,9 +256,35 @@ library. %{_includedir}/monetdb/stream_socket.h %{_libdir}/pkgconfig/monetdb-stream.pc +%package client-lib +Summary: MonetDB - Monet Database Management System Client Programs +Group: Applications/Databases +%if (0%{?fedora} >= 22) +Recommends: %{name}-SQL-server5%{?_isa} = %{version}-%{release} +Recommends: MonetDB5-server%{?_isa} = %{version}-%{release} +%endif + +%description client-lib +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 libmapi.so, the main client library used by both +mclient, msqldump and by the ODBC driver. If you want to use MonetDB, +you will very likely need this package. + +%ldconfig_scriptlets client-lib + +%files client-lib +%license COPYING +%defattr(-,root,root) +%{_libdir}/libmapi.so.* + %package client Summary: MonetDB - Monet Database Management System Client Programs Group: Applications/Databases +Requires: %{name}-client-lib%{?_isa} = %{version}-%{release} %if (0%{?fedora} >= 22) Recommends: %{name}-SQL-server5%{?_isa} = %{version}-%{release} Recommends: MonetDB5-server%{?_isa} = %{version}-%{release} @@ -274,14 +306,13 @@ MonetDB, you will very likely need this %defattr(-,root,root) %{_bindir}/mclient %{_bindir}/msqldump -%{_libdir}/libmapi.so.* -%doc %{_mandir}/man1/mclient.1.gz -%doc %{_mandir}/man1/msqldump.1.gz +%{_mandir}/man1/mclient.1* +%{_mandir}/man1/msqldump.1* %package client-devel Summary: MonetDB - Monet Database Management System Client Programs Group: Applications/Databases -Requires: %{name}-client%{?_isa} = %{version}-%{release} +Requires: %{name}-client-lib%{?_isa} = %{version}-%{release} Requires: %{name}-stream-devel%{?_isa} = %{version}-%{release} %description client-devel @@ -303,7 +334,7 @@ This package contains the files needed t %package client-odbc Summary: MonetDB ODBC driver Group: Applications/Databases -Requires: %{name}-client%{?_isa} = %{version}-%{release} +Requires: %{name}-client-lib%{?_isa} = %{version}-%{release} Requires(post): %{_bindir}/odbcinst Requires(postun): %{_bindir}/odbcinst @@ -477,11 +508,40 @@ format. %{_libdir}/monetdb5/lib_fits.so %endif +%package -n MonetDB5-libs +Summary: MonetDB - Monet Database Main Libraries +Group: Applications/Databases + +%description -n MonetDB5-libs +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 MonetDB server component in the form of a set +of libraries. You need this package if you want to use the MonetDB +database system, either as independent program (MonetDB5-server) or as +embedded library (%{name}-embedded). + +%ldconfig_scriptlets -n MonetDB5-libs + +%files -n MonetDB5-libs +%defattr(-,root,root) +%{_libdir}/libmonetdb5.so.* +%{_libdir}/libmonetdbsql.so* +%dir %{_libdir}/monetdb5 +%if %{with cintegration} +%{_libdir}/monetdb5/lib_capi.so +%endif +%{_libdir}/monetdb5/lib_csv.so +%{_libdir}/monetdb5/lib_generator.so + %package -n MonetDB5-server Summary: MonetDB - Monet Database Management System Group: Applications/Databases Requires(pre): shadow-utils Requires: %{name}-client%{?_isa} = %{version}-%{release} +Requires: MonetDB5-libs%{?_isa} = %{version}-%{release} Obsoletes: MonetDB5-server-hugeint < 11.38.0 %if %{with hugeint} Provides: MonetDB5-server-hugeint%{?_isa} = %{version}-%{release} @@ -531,15 +591,7 @@ exit 0 %attr(2770,monetdb,monetdb) %dir %{_localstatedir}/monetdb5 %attr(2770,monetdb,monetdb) %dir %{_localstatedir}/monetdb5/dbfarm %{_bindir}/mserver5 -%{_libdir}/libmonetdb5.so.* -%{_libdir}/libmonetdbsql.so* -%dir %{_libdir}/monetdb5 -%if %{with cintegration} -%{_libdir}/monetdb5/lib_capi.so -%endif -%{_libdir}/monetdb5/lib_csv.so -%{_libdir}/monetdb5/lib_generator.so -%doc %{_mandir}/man1/mserver5.1.gz +%{_mandir}/man1/mserver5.1* %dir %{_datadir}/doc/MonetDB %docdir %{_datadir}/doc/MonetDB %{_datadir}/doc/MonetDB/* @@ -547,7 +599,7 @@ exit 0 %package -n MonetDB5-server-devel Summary: MonetDB development files Group: Applications/Databases -Requires: MonetDB5-server%{?_isa} = %{version}-%{release} +Requires: MonetDB5-libs%{?_isa} = %{version}-%{release} Requires: %{name}-devel%{?_isa} = %{version}-%{release} %description -n MonetDB5-server-devel @@ -609,8 +661,8 @@ configuration. %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 -%doc %{_mandir}/man1/monetdb.1.gz -%doc %{_mandir}/man1/monetdbd.1.gz +%{_mandir}/man1/monetdb.1* +%{_mandir}/man1/monetdbd.1* %dir %{_datadir}/doc/MonetDB-SQL %docdir %{_datadir}/doc/MonetDB-SQL %{_datadir}/doc/MonetDB-SQL/* @@ -640,7 +692,7 @@ This package contains files needed to de %package embedded Summary: MonetDB as an embedded library Group: Applications/Databases -Requires: MonetDB5-server%{?_isa} = %{version}-%{release} +Requires: MonetDB5-libs%{?_isa} = %{version}-%{release} %description embedded MonetDB is a database management system that is developed from a @@ -652,6 +704,8 @@ This package contains the library to tur library, also known as MonetDBe. Also see %{name}-embedded-devel to use this in a program. +%ldconfig_scriptlets embedded + %files embedded %{_libdir}/libmonetdbe.so.* @@ -731,11 +785,13 @@ Requires(post): MonetDB5-server%{?_isa Requires(postun): MonetDB5-server%{?_isa} = %{version}-%{release} Requires(post): %{name}-SQL-server5%{?_isa} = %{version}-%{release} Requires(postun): %{name}-SQL-server5%{?_isa} = %{version}-%{release} -Requires(post): /usr/sbin/semodule, /sbin/restorecon, /sbin/fixfiles -Requires(postun): /usr/sbin/semodule, /sbin/restorecon, /sbin/fixfiles +# we need /usr/sbin/semodule, /sbin/restorecon, /sbin/fixfiles which are in +# policycoreutils +Requires(post): policycoreutils +Requires(postun): policycoreutils BuildArch: noarch -%global selinux_types %(%{__awk} '/^#[[:space:]]*SELINUXTYPE=/,/^[^#]/ { if ($3 == "-") printf "%s ", $2 }' /etc/selinux/config 2>/dev/null) +%global selinux_types %(awk '/^#[[:space:]]*SELINUXTYPE=/,/^[^#]/ { if ($3 == "-") printf "%s ", $2 }' /etc/selinux/config 2>/dev/null) %global selinux_variants %([ -z "%{selinux_types}" ] && echo mls targeted || echo %{selinux_types}) %description selinux diff --git a/geom/sql/pg_regression/Tests/delaunaytriangles.test b/geom/sql/pg_regression/Tests/delaunaytriangles.test --- a/geom/sql/pg_regression/Tests/delaunaytriangles.test +++ b/geom/sql/pg_regression/Tests/delaunaytriangles.test @@ -1,20 +1,20 @@ -query IT rowsort -SELECT 1, ST_AsText(ST_DelaunayTriangles(ST_WKTToSQL('MULTIPOINT(5 5, 6 0, 7 9)'), 0.0, 0)) +query II rowsort +SELECT 1, ST_Equals(ST_DelaunayTriangles(ST_WKTToSQL('MULTIPOINT(5 5, 6 0, 7 9)'), 0.0, 0), ST_WKTToSQL('GEOMETRYCOLLECTION (POLYGON ((5 5, 6 0, 7 9, 5 5)))')) ---- 1 -GEOMETRYCOLLECTION (POLYGON ((5 5, 6 0, 7 9, 5 5))) +1 -query IT rowsort -SELECT 2, ST_AsText(ST_DelaunayTriangles(ST_WKTToSQL('MULTIPOINT(5 5, 6 0, 7 9, 8 9)'), 0.0, 0)) +query II rowsort +SELECT 2, ST_Equals(ST_DelaunayTriangles(ST_WKTToSQL('MULTIPOINT(5 5, 6 0, 7 9, 8 9)'), 0.0, 0), ST_WKTToSQL('GEOMETRYCOLLECTION (POLYGON ((5 5, 6 0, 8 9, 5 5)), POLYGON ((5 5, 8 9, 7 9, 5 5)))')) ---- 2 -GEOMETRYCOLLECTION (POLYGON ((5 5, 6 0, 8 9, 5 5)), POLYGON ((5 5, 8 9, 7 9, 5 5))) +1 -query IT rowsort -SELECT 3, ST_AsText(ST_DelaunayTriangles(ST_WKTToSQL('MULTIPOINT(5 5, 6 0, 7 9, 8 9)'), 2.0, 0)) +query II rowsort +SELECT 3, ST_Equals(ST_DelaunayTriangles(ST_WKTToSQL('MULTIPOINT(5 5, 6 0, 7 9, 8 9)'), 2.0, 0), ST_WKTToSQL('GEOMETRYCOLLECTION (POLYGON ((5 5, 6 0, 7 9, 5 5)))')) ---- 3 -GEOMETRYCOLLECTION (POLYGON ((5 5, 6 0, 7 9, 5 5))) +1 query IT rowsort SELECT 4, ST_AsText(ST_DelaunayTriangles(ST_WKTToSQL('MULTIPOINT(5 5, 6 0, 7 9, 8 9)'), 2.0, 1)) diff --git a/testing/sqllogictest.py b/testing/sqllogictest.py --- a/testing/sqllogictest.py +++ b/testing/sqllogictest.py @@ -40,6 +40,7 @@ import importlib import MonetDBtesting.utils as utils from pathlib import Path from typing import Optional +import difflib architecture = platform.machine() if architecture == 'AMD64': # Windows :-( @@ -365,21 +366,6 @@ class SQLLogic: file=self.out) print("query text:", file=self.out) print(query, file=self.out) - print('', file=self.out) - if data is not None: - if len(data) < 100: - print('query result:', file=self.out) - else: - print('truncated query result:', file=self.out) - for row in data[:100]: - sep='' - for col in row: - if col is None: - print(sep, 'NULL', sep='', end='', file=self.out) - else: - print(sep, col, sep='', end='', file=self.out) - sep = '|' - print('', file=self.out) def exec_query(self, query, columns, sorting, pyscript, hashlabel, nresult, hash, expected, conn=None, verbose=False) -> bool: err = False @@ -457,12 +443,15 @@ class SQLLogic: for col in ndata: if expected is not None: if i < len(expected) and col != expected[i]: - self.query_error(query, 'unexpected value; received "%s", expected "%s"' % (col, expected[i]), data=data) + self.query_error(query, 'unexpected value; received "%s", expected "%s"' % (col, expected[i])) err = True i += 1 m.update(bytes(col, encoding='ascii')) m.update(b'\n') result.append(col) + if err: + print('Differences:', file=self.out) + self.out.writelines(list(difflib.ndiff([x + '\n' for x in expected], [x + '\n' for x in ndata]))) if resdata is not None: result = [] ndata = [] @@ -500,9 +489,10 @@ class SQLLogic: except NameError: self.query_error(query, 'cannot find filter function') err = True + ndata = data if not err: try: - data = pyfnc(data) + ndata = pyfnc(data) except: self.query_error(query, 'filter function failed') err = True @@ -512,21 +502,24 @@ class SQLLogic: except: resdata = None ncols = 1 _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org