Changeset: 114de7114bb6 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=114de7114bb6 Modified Files: .hgtags sql/server/rel_optimizer.c Branch: mtest Log Message:
merge default diffs (truncated from 4545 to 300 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -783,3 +783,9 @@ bb157905ecb86908dcfb112d102a8c6152557b5d 94231c85384d893701beeeb69996f57c70fade4d Oct2020_root 017e44827765fb819d31faefcdf9066dfe593f04 Oct2020_1 017e44827765fb819d31faefcdf9066dfe593f04 Oct2020_release +cb4b3f021774b60ffd84c3004d341ec04de736f3 Oct2020_3 +017e44827765fb819d31faefcdf9066dfe593f04 Oct2020_release +cb4b3f021774b60ffd84c3004d341ec04de736f3 Oct2020_release +bd91504a03736565fb2dff13cd4c94c738e81aa0 Oct2020_5 +cb4b3f021774b60ffd84c3004d341ec04de736f3 Oct2020_release +bd91504a03736565fb2dff13cd4c94c738e81aa0 Oct2020_release diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -257,6 +257,7 @@ Summary: MonetDB - Monet Database Manage Group: Applications/Databases %if (0%{?fedora} >= 22) Recommends: %{name}-SQL-server5%{?_isa} = %{version}-%{release} +Recommends: MonetDB5-server%{?_isa} = %{version}-%{release} %endif %description client @@ -351,7 +352,7 @@ Requires: %{name}-client-odbc%{?_isa} = Recommends: perl-DBD-monetdb >= 1.0 Recommends: php-monetdb >= 1.0 %endif -Requires: %{name}-SQL-server5%{?_isa} = %{version}-%{release} +Requires: MonetDB5-server%{?_isa} = %{version}-%{release} Requires: python3-pymonetdb >= 1.0.6 %description client-tests @@ -394,7 +395,7 @@ automatic index management, extensibilit accelerators. It also has an SQL front end. This package contains the GIS (Geographic Information System) -extensions for %{name}-SQL-server5. +extensions for MonetDB5-server. %files geom-MonetDB5 %defattr(-,root,root) @@ -405,7 +406,7 @@ extensions for %{name}-SQL-server5. %package R Summary: Integration of MonetDB and R, allowing use of R from within SQL Group: Applications/Databases -Requires: MonetDB-SQL-server5%{?_isa} = %{version}-%{release} +Requires: MonetDB5-server%{?_isa} = %{version}-%{release} %description R MonetDB is a database management system that is developed from a @@ -430,7 +431,7 @@ install it. %package python3 Summary: Integration of MonetDB and Python, allowing use of Python from within SQL Group: Applications/Databases -Requires: MonetDB-SQL-server5%{?_isa} = %{version}-%{release} +Requires: MonetDB5-server%{?_isa} = %{version}-%{release} %description python3 MonetDB is a database management system that is developed from a @@ -454,7 +455,7 @@ install it. %package cfitsio Summary: MonetDB: Add on module that provides support for FITS files Group: Applications/Databases -Requires: MonetDB-SQL-server5%{?_isa} = %{version}-%{release} +Requires: MonetDB5-server%{?_isa} = %{version}-%{release} %description cfitsio MonetDB is a database management system that is developed from a @@ -496,8 +497,9 @@ automatic index management, extensibilit accelerators. It also has an SQL front end. This package contains the MonetDB server component. You need this -package if you want to use the MonetDB database system. If you want -to use the SQL front end, you also need %{name}-SQL-server5. +package if you want to use the MonetDB database system. If you want to +use the monetdb and monetdbd programs to manage your databases +(recommended), you also need %{name}-SQL-server5. %pre -n MonetDB5-server %{?sysusers_create_package:echo 'u monetdb - "MonetDB Server" /var/lib/monetdb' | systemd-sysusers --replace=%_sysusersdir/monetdb.conf -} @@ -531,6 +533,7 @@ exit 0 %{_bindir}/mserver5 %exclude %{_bindir}/stethoscope %{_libdir}/libmonetdb5.so.* +%{_libdir}/libmonetdbsql.so* %dir %{_libdir}/monetdb5 %if %{with cintegration} %{_libdir}/monetdb5/lib_capi.so @@ -584,8 +587,8 @@ main-memory perspective with use of a fu automatic index management, extensibility of data types and search accelerators. It also has an SQL front end. -This package contains the SQL front end for MonetDB. If you want to -use SQL with MonetDB, you will need to install this package. +This package contains the monetdb and monetdbd programs and the systemd +configuration. %if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 %post SQL-server5 @@ -617,7 +620,6 @@ use SQL with MonetDB, you will need to i %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 -%{_libdir}/libmonetdbsql.so* %doc %{_mandir}/man1/monetdb.1.gz %doc %{_mandir}/man1/monetdbd.1.gz %dir %{_datadir}/doc/MonetDB-SQL @@ -858,6 +860,16 @@ fi %postun -p /sbin/ldconfig %changelog +* Tue Oct 13 2020 Sjoerd Mullender <sjo...@acm.org> - 11.39.5-20201013 +- Rebuilt. + +* Mon Oct 12 2020 Sjoerd Mullender <sjo...@acm.org> - 11.39.5-20201013 +- clients: mclient and msqldump now also look in $XDG_CONFIG_HOME for the monetdb + configuration file. + +* Fri Oct 09 2020 Sjoerd Mullender <sjo...@acm.org> - 11.39.3-20201009 +- Rebuilt. + * Tue Oct 06 2020 Sjoerd Mullender <sjo...@acm.org> - 11.39.1-20201006 - Rebuilt. - BZ#3553: All schema access to ubiquitous functions diff --git a/NT/mkodbcwxs.py b/NT/mkodbcwxs.py --- a/NT/mkodbcwxs.py +++ b/NT/mkodbcwxs.py @@ -82,6 +82,7 @@ def main(): r'bin\stream.dll', # r'lib\stream.pdb', vcpkg.format(r'bin\libiconv.dll'), vcpkg.format(r'bin\bz2.dll'), + vcpkg.format(r'bin\libcharset.dll'), # for libiconv.dll vcpkg.format(r'bin\libcrypto-1_1{}.dll'.format(libcrypto)), vcpkg.format(r'bin\zlib1.dll')]) print(r' </Directory>') diff --git a/NT/mksqlwxs.py b/NT/mksqlwxs.py --- a/NT/mksqlwxs.py +++ b/NT/mksqlwxs.py @@ -88,6 +88,16 @@ def main(): print(r' <FileSearch Id="CheckFile2" Name="gdk.h"/>') print(r' </DirectorySearch>') print(r' </Property>') + print(r' <Property Id="GEOMMALEXISTS">') + print(r' <DirectorySearch Id="CheckFileDir3" Path="[INSTALLDIR]\lib\monetdb5" Depth="0">') + print(r' <FileSearch Id="CheckFile3" Name="geom.mal"/>') + print(r' </DirectorySearch>') + print(r' </Property>') + print(r' <Property Id="GEOMLIBEXISTS">') + print(r' <DirectorySearch Id="CheckFileDir4" Path="[INSTALLDIR]\lib\monetdb5" Depth="0">') + print(r' <FileSearch Id="CheckFile4" Name="_geom.dll"/>') + print(r' </DirectorySearch>') + print(r' </Property>') print(r' <Property Id="PYAPI3EXISTS">') print(r' <DirectorySearch Id="CheckFileDir5" Path="[INSTALLDIR]" Depth="0">') print(r' <FileSearch Id="CheckFile5" Name="pyapi_locatepython3.bat"/>') @@ -137,8 +147,12 @@ def main(): r'bin\stream.dll', vcpkg.format(r'bin\libiconv.dll'), vcpkg.format(r'bin\bz2.dll'), + vcpkg.format(r'bin\getopt.dll'), + vcpkg.format(r'bin\libcharset.dll'), # for libiconv.dll vcpkg.format(r'bin\libcrypto-1_1{}.dll'.format(libcrypto)), vcpkg.format(r'bin\libxml2.dll'), + vcpkg.format(r'bin\lz4.dll'), + vcpkg.format(r'bin\lzma.dll'), vcpkg.format(r'bin\pcre.dll'), vcpkg.format(r'bin\zlib1.dll')]) # id = comp(debug, id, 14, @@ -187,8 +201,12 @@ def main(): r'lib\stream.lib', vcpkg.format(r'lib\libiconv.lib'), vcpkg.format(r'lib\bz2.lib'), + vcpkg.format(r'lib\getopt.lib'), + vcpkg.format(r'lib\libcharset.lib'), vcpkg.format(r'lib\libcrypto.lib'), vcpkg.format(r'lib\libxml2.lib'), + vcpkg.format(r'lib\lz4.lib'), + vcpkg.format(r'lib\lzma.lib'), vcpkg.format(r'lib\pcre.lib'), vcpkg.format(r'lib\zlib.lib')]) print(r' </Directory>') @@ -258,7 +276,7 @@ def main(): print(r' <Feature Id="GeomModule" Level="1000" AllowAdvertise="no" Absent="allow" Title="Geom Module" Description="The GIS (Geographic Information System) extension for MonetDB/SQL.">') for f in geom: print(r' <ComponentRef Id="{}"/>'.format(f)) - print(r' <Condition Level="1">GEOMEXISTS</Condition>') + print(r' <Condition Level="1">GEOMMALEXISTS OR GEOMLIBEXISTS</Condition>') print(r' </Feature>') print(r' </Feature>') print(r' <UIRef Id="WixUI_Mondo"/>') 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@/monetdb 0775 monetdb monetdb - +d @RUNDIR@ 0775 monetdb monetdb - diff --git a/clients/ChangeLog-Archive b/clients/ChangeLog-Archive --- a/clients/ChangeLog-Archive +++ b/clients/ChangeLog-Archive @@ -1,6 +1,10 @@ # DO NOT EDIT THIS FILE -- MAINTAINED AUTOMATICALLY # This file contains past ChangeLog entries +* Mon Oct 12 2020 Sjoerd Mullender <sjo...@acm.org> - 11.39.5-20201013 +- mclient and msqldump now also look in $XDG_CONFIG_HOME for the monetdb + configuration file. + * Mon Apr 20 2020 Sjoerd Mullender <sjo...@acm.org> - 11.37.1-20200511 - The monetdb-client-tools (Debian/Ubuntu) and MonetDB-client-tools (Fedora/RH) containing the stethoscope, tachograph, and tomograph has 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 @@ -4717,9 +4717,6 @@ stdout of test 'MAL-signatures` in direc [ "batcalc", "ifthenelse", "pattern batcalc.ifthenelse(X_1:bit, X_2:any_1, X_3:bat[:any_1]):bat[:any_1] ", "CMDifthen;", "" ] [ "batcalc", "ifthenelse", "pattern batcalc.ifthenelse(X_1:bit, X_2:bat[:any_1], X_3:any_1):bat[:any_1] ", "CMDifthen;", "" ] [ "batcalc", "ifthenelse", "pattern batcalc.ifthenelse(X_1:bit, X_2:bat[:any_1], X_3:bat[:any_1]):bat[:any_1] ", "CMDifthen;", "" ] -[ "batcalc", "index", "command batcalc.index(X_1:bat[:str], X_2:bit):bat[:bte] ", "BATSTRindex_bte;", "" ] -[ "batcalc", "index", "command batcalc.index(X_1:bat[:str], X_2:bit):bat[:int] ", "BATSTRindex_int;", "" ] -[ "batcalc", "index", "command batcalc.index(X_1:bat[:str], X_2:bit):bat[:sht] ", "BATSTRindex_sht;", "" ] [ "batcalc", "int", "pattern batcalc.int(X_1:bat[:bit]):bat[:int] ", "CMDconvertsignal_int;", "" ] [ "batcalc", "int", "pattern batcalc.int(X_1:bat[:bit], X_2:bat[:oid]):bat[:int] ", "CMDconvertsignal_int;", "" ] [ "batcalc", "int", "pattern batcalc.int(X_1:bat[:bte]):bat[:int] ", "CMDconvertsignal_int;", "" ] @@ -5750,7 +5747,6 @@ stdout of test 'MAL-signatures` in direc [ "batcalc", "str", "pattern batcalc.str(X_1:int, X_2:int, X_3:int, X_4:int, X_5:bat[:any_1], X_6:int):bat[:str] ", "SQLbatstr_cast;", "" ] [ "batcalc", "str_noerror", "pattern batcalc.str_noerror(X_1:bat[:any]):bat[:str] ", "CMDconvert_str;", "" ] [ "batcalc", "str_noerror", "pattern batcalc.str_noerror(X_1:bat[:any], X_2:bat[:oid]):bat[:str] ", "CMDconvert_str;", "" ] -[ "batcalc", "strings", "command batcalc.strings(X_1:bat[:str]):bat[:str] ", "BATSTRstrings;", "" ] [ "batcalc", "sub_noerror", "pattern batcalc.sub_noerror(X_1:bat[:bte], X_2:bat[:bte], X_3:bat[:oid], X_4:bat[:oid]):bat[:bte] ", "CMDbatSUB;", "" ] [ "batcalc", "sub_noerror", "pattern batcalc.sub_noerror(X_1:bat[:bte], X_2:bat[:dbl], X_3:bat[:oid], X_4:bat[:oid]):bat[:dbl] ", "CMDbatSUB;", "" ] [ "batcalc", "sub_noerror", "pattern batcalc.sub_noerror(X_1:bat[:bte], X_2:bat[:flt], X_3:bat[:oid], X_4:bat[:oid]):bat[:flt] ", "CMDbatSUB;", "" ] @@ -6340,6 +6336,9 @@ stdout of test 'MAL-signatures` in direc [ "batsql", "get_value", "pattern batsql.get_value(X_1:bat[:str], X_2:bat[:str]):bat[:lng] ", "mvc_bat_get_value;", "" ] [ "batsql", "get_value", "pattern batsql.get_value(X_1:bat[:str], X_2:str):bat[:lng] ", "mvc_bat_get_value;", "" ] [ "batsql", "get_value", "pattern batsql.get_value(X_1:str, X_2:bat[:str]):bat[:lng] ", "mvc_bat_get_value;", "" ] +[ "batsql", "index", "command batsql.index(X_1:bat[:str], X_2:bit):bat[:bte] ", "BATSTRindex_bte;", "" ] +[ "batsql", "index", "command batsql.index(X_1:bat[:str], X_2:bit):bat[:int] ", "BATSTRindex_int;", "" ] +[ "batsql", "index", "command batsql.index(X_1:bat[:str], X_2:bit):bat[:sht] ", "BATSTRindex_sht;", "" ] [ "batsql", "lag", "pattern batsql.lag(X_1:any_1, X_2:any, X_3:bat[:any_1], X_4:any_2, X_5:any_3):bat[:any_1] ", "SQLlag;", "" ] [ "batsql", "lag", "pattern batsql.lag(X_1:any_1, X_2:bat[:any], X_3:any_1, X_4:any_2, X_5:any_3):bat[:any_1] ", "SQLlag;", "" ] [ "batsql", "lag", "pattern batsql.lag(X_1:any_1, X_2:bat[:any], X_3:any_2, X_4:any_3):bat[:any_1] ", "SQLlag;", "" ] @@ -6414,6 +6413,7 @@ stdout of test 'MAL-signatures` in direc [ "batsql", "str_group_concat", "pattern batsql.str_group_concat(X_1:bat[:str], X_2:bat[:str], X_3:bat[:lng], X_4:bat[:lng]):bat[:str] ", "SQLstrgroup_concat;", "" ] [ "batsql", "str_group_concat", "pattern batsql.str_group_concat(X_1:bat[:str], X_2:str, X_3:bat[:lng], X_4:bat[:lng]):bat[:str] ", "SQLstrgroup_concat;", "" ] [ "batsql", "str_group_concat", "pattern batsql.str_group_concat(X_1:str, X_2:bat[:str], X_3:lng, X_4:lng):bat[:str] ", "SQLstrgroup_concat;", "" ] +[ "batsql", "strings", "command batsql.strings(X_1:bat[:str]):bat[:str] ", "BATSTRstrings;", "" ] [ "batsql", "sum", "pattern batsql.sum(X_1:bat[:bte], X_2:bat[:lng], X_3:bat[:lng]):bat[:lng] ", "SQLsum;", "" ] [ "batsql", "sum", "pattern batsql.sum(X_1:bat[:dbl], X_2:bat[:lng], X_3:bat[:lng]):bat[:dbl] ", "SQLsum;", "" ] [ "batsql", "sum", "pattern batsql.sum(X_1:bat[:flt], X_2:bat[:lng], X_3:bat[:lng]):bat[:dbl] ", "SQLsum;", "" ] @@ -7863,9 +7863,6 @@ stdout of test 'MAL-signatures` in direc [ "calc", "hash", "pattern calc.hash(X_1:sht):lng ", "MKEYhash;", "" ] [ "calc", "identity", "command calc.identity(X_1:any):oid ", "SQLidentity;", "" ] [ "calc", "ifthenelse", "pattern calc.ifthenelse(X_1:bit, X_2:any_1, X_3:any_1):any_1 ", "CALCswitchbit;", "" ] -[ "calc", "index", "command calc.index(X_1:str, X_2:bit):bte ", "STRindex_bte;", "" ] -[ "calc", "index", "command calc.index(X_1:str, X_2:bit):int ", "STRindex_int;", "" ] -[ "calc", "index", "command calc.index(X_1:str, X_2:bit):sht ", "STRindex_sht;", "" ] [ "calc", "inet", "command calc.inet(X_1:str):inet ", "INET_fromstr;", "" ] [ "calc", "inet", "command calc.inet(X_1:inet):inet ", "INET_inet;", "" ] [ "calc", "int", "pattern calc.int(X_1:bit):int ", "CMDvarCONVERT;", "" ] @@ -8212,7 +8209,6 @@ stdout of test 'MAL-signatures` in direc [ "calc", "str", "pattern calc.str(X_1:any):str ", "CMDvarCONVERT;", "" ] [ "calc", "str", "pattern calc.str(X_1:int, X_2:int, X_3:int, X_4:int, X_5:any_1, X_6:int):str ", "SQLstr_cast;", "" ] [ "calc", "str", "command calc.str(X_1:uuid):str ", "UUIDuuid2str;", "" ] -[ "calc", "strings", "command calc.strings(X_1:str):str ", "STRstrings;", "" ] [ "calc", "sub_noerror", "pattern calc.sub_noerror(X_1:bte, X_2:bte):bte ", "CMDvarSUB;", "" ] [ "calc", "sub_noerror", "pattern calc.sub_noerror(X_1:bte, X_2:dbl):dbl ", "CMDvarSUB;", "" ] [ "calc", "sub_noerror", "pattern calc.sub_noerror(X_1:bte, X_2:flt):flt ", "CMDvarSUB;", "" ] @@ -9259,6 +9255,9 @@ stdout of test 'MAL-signatures` in direc [ "sql", "hot_snapshot", "unsafe pattern sql.hot_snapshot(X_1:str, X_2:bit):void ", "SQLhot_snapshot_wrap;", "" ] [ "sql", "importTable", "unsafe pattern sql.importTable(X_1:str, X_2:str, X_3:int, X_4:str...):bat[:any]... ", "mvc_bin_import_table_wrap;", "" ] [ "sql", "include", "pattern sql.include(X_1:str):void ", "SQLinclude;", "" ] +[ "sql", "index", "command sql.index(X_1:str, X_2:bit):bte ", "STRindex_bte;", "" ] +[ "sql", "index", "command sql.index(X_1:str, X_2:bit):int ", "STRindex_int;", "" ] +[ "sql", "index", "command sql.index(X_1:str, X_2:bit):sht ", "STRindex_sht;", "" ] [ "sql", "lag", "pattern sql.lag(X_1:any_1, X_2:any, X_3:any_1, X_4:bit, X_5:bit):any_1 ", "SQLlag;", "" ] [ "sql", "lag", "pattern sql.lag(X_1:any_1, X_2:any, X_3:bit, X_4:bit):any_1 ", "SQLlag;", "" ] [ "sql", "lag", "pattern sql.lag(X_1:any_1, X_2:bit, X_3:bit):any_1 ", "SQLlag;", "" ] @@ -9358,6 +9357,7 @@ stdout of test 'MAL-signatures` in direc [ "sql", "storage", "pattern sql.storage(X_17:str, X_18:str, X_19:str) (X_0:bat[:str], X_1:bat[:str], X_2:bat[:str], X_3:bat[:str], X_4:bat[:str], X_5:bat[:str], X_6:bat[:lng], X_7:bat[:int], X_8:bat[:lng], X_9:bat[:lng], X_10:bat[:lng], X_11:bat[:bit], X_12:bat[:lng], X_13:bat[:bit], X_14:bat[:bit], X_15:bat[:bit], X_16:bat[:lng]) ", "sql_storage;", "" ] [ "sql", "str_group_concat", "pattern sql.str_group_concat(X_1:str, X_2:lng, X_3:lng):str ", "SQLstrgroup_concat;", "" ] [ "sql", "str_group_concat", "pattern sql.str_group_concat(X_1:str, X_2:str, X_3:lng, X_4:lng):str ", "SQLstrgroup_concat;", "" ] +[ "sql", "strings", "command sql.strings(X_1:str):str ", "STRstrings;", "" ] [ "sql", "subdelta", "command sql.subdelta(X_1:bat[:oid], X_2:bat[:oid], X_3:bat[:oid], X_4:bat[:oid]):bat[:oid] ", "DELTAsub2;", "" ] [ "sql", "subdelta", "command sql.subdelta(X_1:bat[:oid], X_2:bat[:oid], X_3:bat[:oid], X_4:bat[:oid], X_5:bat[:oid]):bat[:oid] ", "DELTAsub;", "" ] [ "sql", "sum", "pattern sql.sum(X_1:bte, X_2:lng, X_3:lng):lng ", "SQLsum;", "" ] 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 @@ -6793,9 +6793,6 @@ stdout of test 'MAL-signatures` in direc [ "batcalc", "ifthenelse", "pattern batcalc.ifthenelse(X_1:bit, X_2:any_1, X_3:bat[:any_1]):bat[:any_1] ", "CMDifthen;", "" ] [ "batcalc", "ifthenelse", "pattern batcalc.ifthenelse(X_1:bit, X_2:bat[:any_1], X_3:any_1):bat[:any_1] ", "CMDifthen;", "" ] [ "batcalc", "ifthenelse", "pattern batcalc.ifthenelse(X_1:bit, X_2:bat[:any_1], X_3:bat[:any_1]):bat[:any_1] ", "CMDifthen;", "" ] -[ "batcalc", "index", "command batcalc.index(X_1:bat[:str], X_2:bit):bat[:bte] ", "BATSTRindex_bte;", "" ] -[ "batcalc", "index", "command batcalc.index(X_1:bat[:str], X_2:bit):bat[:int] ", "BATSTRindex_int;", "" ] -[ "batcalc", "index", "command batcalc.index(X_1:bat[:str], X_2:bit):bat[:sht] ", "BATSTRindex_sht;", "" ] [ "batcalc", "int", "pattern batcalc.int(X_1:bat[:bit]):bat[:int] ", "CMDconvertsignal_int;", "" ] [ "batcalc", "int", "pattern batcalc.int(X_1:bat[:bit], X_2:bat[:oid]):bat[:int] ", "CMDconvertsignal_int;", "" ] _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list