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

Reply via email to