Changeset: 1dde2de02b20 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1dde2de02b20
Added Files:
java/tests/Test_CisValid.java
java/tests/Test_FetchSize.java
sql/include/sql_query.h
sql/jdbc/tests/Tests/Test_CisValid.SQL.bat
sql/jdbc/tests/Tests/Test_CisValid.SQL.sh
sql/jdbc/tests/Tests/Test_CisValid.stable.err
sql/jdbc/tests/Tests/Test_CisValid.stable.out
sql/jdbc/tests/Tests/Test_FetchSize.SQL.bat
sql/jdbc/tests/Tests/Test_FetchSize.SQL.sh
sql/jdbc/tests/Tests/Test_FetchSize.stable.err
sql/jdbc/tests/Tests/Test_FetchSize.stable.out
sql/test/BugTracker-2016/Tests/isaUUID_function.Bug-3997.sql
sql/test/BugTracker-2016/Tests/isaUUID_function.Bug-3997.stable.err
sql/test/BugTracker-2016/Tests/isaUUID_function.Bug-3997.stable.out
sql/test/BugTracker-2016/Tests/rename_exps.Bug-3974.stable.out.32bit
Removed Files:
sql/backends/monet5/embeddedclient.c.in
sql/backends/monet5/embeddedclient.h
Modified Files:
NT/monetdb_config.h.in
NT/updatecodes.py
buildtools/autogen/autogen/am.py
buildtools/autogen/autogen/msc.py
clients/Makefile.ag
clients/R/MonetDB.R/R/dbi.R
clients/Tests/MAL-signatures.stable.out
clients/Tests/MAL-signatures.stable.out.int128
clients/Tests/SQL-dump.stable.out
clients/Tests/SQL-dump.stable.out.int128
clients/Tests/exports.stable.out
clients/mapiclient/mclient.c
clients/mapilib/mapi.c
clients/mapilib/mapi.h
configure.ag
gdk/gdk_orderidx.c
gdk/gdk_search.c
gdk/gdk_utils.c
java/ChangeLog.Jul2015
java/ChangeLog.Jun2016
java/src/main/java/nl/cwi/monetdb/jdbc/MonetConnection.java
java/src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java
java/tests/build.xml
monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows
monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows.single
monetdb5/extras/mal_optimizer_template/opt_sql_append.c
monetdb5/mal/Makefile.ag
monetdb5/mal/mal.c
monetdb5/mal/mal_atom.c
monetdb5/mal/mal_builder.c
monetdb5/mal/mal_client.c
monetdb5/mal/mal_debugger.c
monetdb5/mal/mal_factory.c
monetdb5/mal/mal_function.c
monetdb5/mal/mal_instruction.c
monetdb5/mal/mal_linker.c
monetdb5/mal/mal_module.c
monetdb5/mal/mal_namespace.c
monetdb5/mal/mal_namespace.h
monetdb5/mal/mal_parser.c
monetdb5/mal/mal_profiler.c
monetdb5/mal/mal_recycle.c
monetdb5/mal/mal_runtime.c
monetdb5/mal/mal_session.c
monetdb5/modules/atoms/str.c
monetdb5/modules/atoms/str.h
monetdb5/modules/atoms/str.mal
monetdb5/modules/kernel/batstr.c
monetdb5/modules/kernel/batstr.mal
monetdb5/modules/mal/01_batcalc.mal
monetdb5/modules/mal/Makefile.ag
monetdb5/modules/mal/Tests/orderidx00.malC
monetdb5/modules/mal/Tests/orderidx01.malC
monetdb5/modules/mal/Tests/orderidx02.malC
monetdb5/modules/mal/Tests/orderidx02.stable.out
monetdb5/modules/mal/Tests/orderidx04.malC
monetdb5/modules/mal/factories.c
monetdb5/modules/mal/inspect.c
monetdb5/modules/mal/language.c
monetdb5/modules/mal/mal_mapi.c
monetdb5/modules/mal/mal_mapi.h
monetdb5/modules/mal/mdb.c
monetdb5/modules/mal/orderidx.c
monetdb5/modules/mal/remote.c
monetdb5/modules/mal/remote.h
monetdb5/modules/mal/tablet.h
monetdb5/optimizer/Makefile.ag
monetdb5/optimizer/opt_coercion.c
monetdb5/optimizer/opt_constants.c
monetdb5/optimizer/opt_generator.c
monetdb5/optimizer/opt_macro.c
monetdb5/optimizer/opt_matpack.c
monetdb5/optimizer/opt_multiplex.c
monetdb5/optimizer/opt_pipes.c
monetdb5/optimizer/opt_prelude.c
monetdb5/optimizer/opt_prelude.h
monetdb5/optimizer/opt_remap.c
monetdb5/optimizer/opt_statistics.c
monetdb5/optimizer/opt_support.c
monetdb5/optimizer/opt_support.h
monetdb5/optimizer/opt_wrapper.c
monetdb5/optimizer/optimizer.c
monetdb5/scheduler/Makefile.ag
monetdb5/scheduler/run_memo.c
monetdb5/scheduler/run_pipeline.c
monetdb5/scheduler/srvpool.c
monetdb5/scheduler/srvpool.h
monetdb5/tools/Makefile.ag
sql/backends/monet5/LSST/Makefile.ag
sql/backends/monet5/Makefile.ag
sql/backends/monet5/UDF/Makefile.ag
sql/backends/monet5/generator/Makefile.ag
sql/backends/monet5/sql.c
sql/backends/monet5/sql_decimal.mal.sh
sql/backends/monet5/sql_decimal_hge.mal.sh
sql/backends/monet5/sql_execute.c
sql/backends/monet5/sql_gencode.c
sql/backends/monet5/sql_optimizer.c
sql/backends/monet5/sql_scenario.c
sql/backends/monet5/sql_upgrades.c
sql/backends/monet5/vaults/Makefile.ag
sql/backends/monet5/vaults/bam/Makefile.ag
sql/backends/monet5/vaults/fits/Makefile.ag
sql/backends/monet5/vaults/lidar/Makefile.ag
sql/backends/monet5/vaults/netcdf/Makefile.ag
sql/backends/monet5/vaults/shp/Makefile.ag
sql/benchmarks/tpch/Tests/05-explain.stable.out
sql/benchmarks/tpch/Tests/08-explain.stable.out
sql/benchmarks/tpch/Tests/11-explain.stable.out
sql/benchmarks/tpch/Tests/12-explain.stable.out
sql/benchmarks/tpch/Tests/15-explain.stable.out
sql/benchmarks/tpch/Tests/18-explain.stable.out
sql/benchmarks/tpch/Tests/22-explain.stable.out
sql/common/sql_types.c
sql/include/Makefile.ag
sql/jdbc/tests/Tests/All
sql/jdbc/tests/Tests/Test_Rmetadata.stable.out
sql/scripts/45_uuid.sql
sql/server/Makefile.ag
sql/server/sql_mvc.h
sql/server/sql_parser.y
sql/server/sql_qc.c
sql/storage/store.c
sql/test/ADT2006/Tests/bram.stable.out
sql/test/BugDay_2005-10-06_2.9.3/Tests/var_char_cast_truncate.SF-1150907.stable.out
sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out
sql/test/BugTracker-2013/Tests/binary_copy_into.Bug-3345.SQL.py
sql/test/BugTracker-2016/Tests/All
sql/test/BugTracker-2016/Tests/decimal_vs_integer.Bug-3941.stable.out.32bit
sql/test/BugTracker-2016/Tests/storagemodel.Bug-3923.sql
sql/test/BugTracker-2016/Tests/storagemodel.Bug-3923.stable.out
sql/test/Tests/str-pad.stable.out
sql/test/Tests/str-trim.stable.out
sql/test/Tests/string.stable.out
sql/test/Tests/systemfunctions.stable.out
sql/test/Tests/systemfunctions.stable.out.int128
sql/test/bugs/Tests/unicode_varchar-bug-sf-1041324_JdbcClient.stable.out
sql/test/bugs/Tests/unicode_varchar-bug-sf-1041324_MapiClient.stable.out
sql/test/emptydb-upgrade-chain-hge/Tests/check.stable.out.int128
sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade-chain/Tests/check.stable.out
sql/test/emptydb-upgrade-chain/Tests/check.stable.out.int128
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade-hge/Tests/check.stable.out.int128
sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade/Tests/check.stable.out
sql/test/emptydb-upgrade/Tests/check.stable.out.int128
sql/test/emptydb-upgrade/Tests/upgrade.stable.out
sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
sql/test/emptydb/Tests/check.stable.out
sql/test/emptydb/Tests/check.stable.out.int128
sql/test/leaks/Tests/check0.stable.out
sql/test/leaks/Tests/check1.stable.out
sql/test/leaks/Tests/check1.stable.out.int128
sql/test/leaks/Tests/check2.stable.out
sql/test/leaks/Tests/check2.stable.out.int128
sql/test/leaks/Tests/check3.stable.out
sql/test/leaks/Tests/check3.stable.out.int128
sql/test/leaks/Tests/check4.stable.out
sql/test/leaks/Tests/check4.stable.out.int128
sql/test/leaks/Tests/check5.stable.out
sql/test/leaks/Tests/check5.stable.out.int128
sql/test/leaks/Tests/select1.stable.out
sql/test/leaks/Tests/select2.stable.out
sql/test/pg_regress/Tests/strings.stable.out
sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out
sql/test/testdb-upgrade/Tests/upgrade.stable.out
sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128
testing/Mtest.py.in
tools/embedded/Makefile.ag
tools/embedded/Tests/lowlevel.R
tools/embedded/build-on-windows.bat
tools/embedded/build-rpkg.sh
tools/embedded/embedded.c
tools/embedded/inlined_scripts.c
tools/embedded/inlined_scripts.py
tools/embedded/inlined_scripts.sh
tools/embedded/pkg-excludes
tools/embedded/rpackage/DESCRIPTION
tools/embedded/rpackage/R/monetdb.R
tools/embedded/rpackage/configure
tools/embedded/rpackage/configure.win
Branch: data-vaults
Log Message:
Merge with default
diffs (truncated from 140345 to 300 lines):
diff --git a/NT/monetdb_config.h.in b/NT/monetdb_config.h.in
--- a/NT/monetdb_config.h.in
+++ b/NT/monetdb_config.h.in
@@ -315,11 +315,12 @@
/* Define to 1 if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
-
+#ifdef _MSC_VER
/* Define to 1 if you have the `localtime_r' function. */
#define HAVE_LOCALTIME_R 1
/* there is something very similar to localtime_r on Windows: */
#define localtime_r(tp,tm) localtime_s(tm,tp)
+#endif
/* Define to 1 if you have the `lockf' function. */
/* #undef HAVE_LOCKF */
@@ -1134,6 +1135,11 @@ typedef __uint128_t uhge;
#ifdef HAVE_EMBEDDED_R
#define _MSC_EXTENSIONS 1
#undef HAVE_CTIME_R
+#else
+#define HAVE_MAPI 1
#endif
+#define PROMPT1 "\001\001\n" /* prompt: ready for new query
*/
+#define PROMPT2 "\001\002\n" /* prompt: more data needed */
+
#endif /* _SEEN_MONETDB_CONFIG_H */
diff --git a/NT/updatecodes.py b/NT/updatecodes.py
--- a/NT/updatecodes.py
+++ b/NT/updatecodes.py
@@ -13,20 +13,22 @@ prcdre = re.compile('"ProductCode" = "8:
pacdre = re.compile('"PackageCode" = "8:{(.*)}"')
def update(f):
- p = subprocess.Popen(['uuidgen'], stdout = subprocess.PIPE)
+ p = subprocess.Popen(['uuidgen'], stdout = subprocess.PIPE,
+ universal_newlines = True)
u, e = p.communicate()
- productcode = u.strip('\r\n').upper()
- p = subprocess.Popen(['uuidgen'], stdout = subprocess.PIPE)
+ productcode = u.strip('\n').upper()
+ p = subprocess.Popen(['uuidgen'], stdout = subprocess.PIPE,
+ universal_newlines = True)
u, e = p.communicate()
- packagecode = u.strip('\r\n').upper()
- fp = open(f, 'rb')
+ packagecode = u.strip('\n').upper()
+ fp = open(f)
data = fp.read()
fp.close()
repl = '"ProductCode" = "8:{%s}"' % productcode
data = prcdre.sub(repl, data)
repl = '"PackageCode" = "8:{%s}"' % packagecode
data = pacdre.sub(repl, data)
- fp = open(f, 'wb')
+ fp = open(f, 'w')
fp.write(data)
fp.close()
diff --git a/buildtools/autogen/autogen/am.py b/buildtools/autogen/autogen/am.py
--- a/buildtools/autogen/autogen/am.py
+++ b/buildtools/autogen/autogen/am.py
@@ -829,105 +829,6 @@ def am_library(fd, var, libmap, am):
am_deps(fd, libmap['DEPS'], am)
-def am_libs(fd, var, libsmap, am):
-
- ld = "libdir"
- if ("DIR" in libsmap):
- ld = libsmap["DIR"][0] # use first name given
- ld = am_translate_dir(ld, am)
-
- sep = ""
- if 'SEP' in libsmap:
- sep = libsmap['SEP'][0]
-
- scripts_ext = []
- if 'SCRIPTS' in libsmap:
- scripts_ext = libsmap['SCRIPTS']
-
- if 'MTSAFE' in libsmap:
- fd.write("CFLAGS %s $(THREAD_SAVE_FLAGS)\n" % am_assign)
-
- libnames = []
- for libsrc in libsmap['SOURCES']:
- SCRIPTS = []
- libname, libext = split_filename(libsrc)
- am['EXTRA_DIST'].append(libsrc)
-
- libnames.append(sep+libname)
-
-# temporarily switched off, the scripts created by libtool cause problems
-# for so-so linking
-# if libname + "_LIBS" in libsmap:
-# fd.write(am_additional_libs(libname, sep, "LIB", libsmap[libname +
"_LIBS"], am))
-# elif "LIBS" in libsmap:
-# fd.write(am_additional_libs(libname, sep, "LIB", libsmap["LIBS"], am))
- _libs = []
- if libname + "_DLIBS" in libsmap:
- _libs += libsmap[libname + "_DLIBS"]
- fd.write(am_additional_install_libs(libname, sep, libsmap[libname+
"_DLIBS"], am))
-
- if "LIBS" in libsmap:
- _libs += libsmap["LIBS"]
- if "LDFLAGS" in libsmap:
- _libs += libsmap["LDFLAGS"]
- if 'VERSION' in libsmap:
- version = ['-version-info', libsmap['VERSION'][0]]
- elif 'MODULE' in libsmap:
- version = ['-module', '-avoid-version']
- else:
- version = []
- fd.write(am_additional_flags(libname, sep, "LIB", version, am))
- if len(_libs) > 0:
- fd.write(am_additional_libs(libname, sep, "LIB", _libs, am))
-
- fullpref = "lib"+sep+libname+'_la'
- nsrcs = "nodist_"+fullpref+"_SOURCES ="
- srcs = "dist_"+fullpref+" ="
- for target in libsmap['TARGETS']:
- t, ext = split_filename(target)
- if t == libname:
- if ext in scripts_ext:
- if target not in SCRIPTS:
- SCRIPTS.append(target)
- else:
- dist, src = am_find_srcs(target, libsmap['DEPS'], am, None)
- if src == libsrc:
- dist = True
- if dist:
- srcs = srcs + " " + src
- else:
- nsrcs = nsrcs + " " + src
- if target[-2:] == '.o' and target in libsmap['DEPS']:
- am_dep(fd, target, libsmap['DEPS'][target], am,
fullpref+"-")
- basename = target[:-2]
- fd.write('\t$(LIBTOOL) --tag=CC --mode=compile $(CC)
$(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(%s_CFLAGS)
$(CFLAGS) $(%s_CFLAGS) -c -o %s-%s.lo `test -f \'%s.c\' || echo
\'$(srcdir)/\'`%s.c\n' % (fullpref, basename, fullpref, basename, basename,
basename))
- fd.write(nsrcs + "\n")
- fd.write(srcs + "\n")
-
- if len(SCRIPTS) > 0:
- fd.write("%s_scripts = %s\n\n" % (libname, am_list2string(SCRIPTS,
" ", "")))
- am['BUILT_SOURCES'].append("$(" + libname + "_scripts)")
- fd.write("all-local-%s: $(%s_scripts)\n" % (libname, libname))
- am['ALL'].append(libname)
-
- fd.write("%sdir = %s\n" % (libname, ld))
- fd.write("lib%s%s_la_CFLAGS=-DLIB%s $(AM_CFLAGS)\n" %
(sep,libname,libname.upper()))
- am['LIBS'].append(('lib', libname, sep, ''))
- am['InstallList'].append("\t"+ld+sep+libname+".so\n")
-
- if 'HEADERS' in libsmap:
- HDRS = []
- hdrs_ext = libsmap['HEADERS']
- for target in libsmap['DEPS'].keys():
- t, ext = split_filename(target)
- if ext in hdrs_ext:
- am['HDRS'].append(target)
- if ext not in automake_ext:
- am['EXTRA_DIST'].append(target)
-
- am_find_ins(am, libsmap)
- am_deps(fd, libsmap['DEPS'], am)
-
def am_python_generic(fd, var, python, am, PYTHON):
pyre = re.compile(r'packages *= *\[ *(.*[^ ]) *\]')
pynmre = re.compile('name *= *([\'"])([^\'"]+)\\1')
@@ -1083,7 +984,6 @@ output_funcs = {'SUBDIRS': am_subdirs,
'EXTRA_DIST_DIR': am_extra_dist_dir,
'EXTRA_HEADERS': am_extra_headers,
'LIBDIR': am_libdir,
- 'LIBS': am_libs,
'LIB': am_library,
'BINS': am_bins,
'BIN': am_binary,
@@ -1143,7 +1043,7 @@ AUTOMAKE_OPTIONS = no-dependencies 1.4 f
am['BUILT_SOURCES'] = [] # generated source files
am['CLEAN'] = [] # files to be cleaned with make clean
am['EXTRA_DIST'] = []
- am['LIBS'] = [] # all libraries (am_libs and
am_library)
+ am['LIBS'] = [] # all libraries (am_library)
am['NLIBS'] = [] # all libraries which are not installed
am['BINS'] = []
am['NBINS'] = []
diff --git a/buildtools/autogen/autogen/msc.py
b/buildtools/autogen/autogen/msc.py
--- a/buildtools/autogen/autogen/msc.py
+++ b/buildtools/autogen/autogen/msc.py
@@ -858,97 +858,6 @@ def msc_library(fd, var, libmap, msc):
msc_deps(fd, libmap['DEPS'], ".obj", msc)
-def msc_libs(fd, var, libsmap, msc):
-
- lib = "lib"
- ld = "LIBDIR"
- if "DIR" in libsmap:
- lib = "libs"
- ld = libsmap["DIR"][0] # use first name given
- ld = msc_translate_dir(ld,msc)
-
- sep = ""
- if 'SEP' in libsmap:
- sep = libsmap['SEP'][0]
-
- SCRIPTS = []
- scripts_ext = []
- if 'SCRIPTS' in libsmap:
- scripts_ext = libsmap['SCRIPTS']
-
- if 'MTSAFE' in libsmap:
- fd.write("CFLAGS=$(CFLAGS) $(thread_safe_flag_spec)\n")
-
- for libsrc in libsmap['SOURCES']:
- libname, ext = split_filename(libsrc)
- #if ext not in automake_ext:
- msc['EXTRA_DIST'].append(libsrc)
- v = sep + libname
- msc['LIBS'].append('lib' + v + '.dll')
- msc['INSTALL']['lib' + v] = 'lib' + v + '.dll', '.dll', ld, 'lib' + v
+ '.lib', ''
-
- dlib = []
- if libname + "_DLIBS" in libsmap:
- dlib = libsmap[libname+"_DLIBS"]
- if libname + "_LIBS" in libsmap:
- msc_additional_libs(fd, libname, sep, "LIB", libsmap[libname +
"_LIBS"], dlib, msc, 'lib', '.dll')
- else:
- libslist = []
- if "LIBS" in libsmap:
- libslist = libslist + libsmap["LIBS"]
- if "WINLIBS" in libsmap:
- libslist = libslist + libsmap["WINLIBS"]
- if libslist:
- msc_additional_libs(fd, libname, sep, "LIB", libslist, dlib,
msc, 'lib', '.dll')
-
- srcs = "lib%s%s_OBJS =" % (sep, libname)
- deps = "lib%s%s_DEPS = $(lib%s%s_OBJS)" % (sep, libname, sep, libname)
- deffile = ''
- for target in libsmap['TARGETS']:
- t, ext = split_filename(target)
- if t == libname:
- t, ext = split_filename(target)
- if ext == "o":
- srcs = srcs + " " + t + ".obj"
- elif ext == "tab.o":
- srcs = srcs + " " + t + ".tab.obj"
- elif ext == "yy.o":
- srcs = srcs + " " + t + ".yy.obj"
- elif ext == 'res':
- srcs = srcs + " " + t + ".res"
- elif ext in scripts_ext:
- if target not in SCRIPTS:
- SCRIPTS.append(target)
- elif ext == 'def':
- deffile = ' "-DEF:%s"' % target
- deps = deps + " " + target
- fd.write(srcs + "\n")
- fd.write(deps + "\n")
- ln = "lib" + sep + libname
- fd.write(ln + ".lib: " + ln + ".dll\n")
- fd.write(ln + ".dll: $(" + ln.replace('-','_') + "_DEPS)\n")
- fd.write('\tpython "$(TOPDIR)\\..\\NT\\wincompile.py" $(CC) $(CFLAGS)
-LD -Fe%s.dll $(%s_OBJS) /link @<<\n$(%s_LIBS)%s\n<<\n' % (ln,
ln.replace('-','_'), ln.replace('-','_'), deffile))
- fd.write("\tif exist [email protected] $(MT) -manifest [email protected]
-outputresource:$@;2\n");
- if sep == '_':
- fd.write('\tif not exist .libs $(MKDIR) .libs\n')
- fd.write('\t$(INSTALL) "%s.dll" ".libs\\%s.dll"\n' % (ln, ln))
- fd.write("\n")
-
- if SCRIPTS:
- fd.write("SCRIPTS =" + msc_space_sep_list(SCRIPTS))
- msc['BUILT_SOURCES'].append("$(SCRIPTS)")
- msc['SCRIPTS'].append("$(SCRIPTS)")
-
- if 'HEADERS' in libsmap:
- HDRS = []
- hdrs_ext = libsmap['HEADERS']
- for target in libsmap['DEPS'].keys():
- t, ext = split_filename(target)
- if ext in hdrs_ext:
- msc['HDRS'].append(target)
-
- msc_deps(fd, libsmap['DEPS'], ".obj", msc)
-
def msc_includes(fd, var, values, msc):
incs = "-I$(srcdir)"
for i in values:
@@ -1045,7 +954,6 @@ output_funcs = {'SUBDIRS': msc_subdirs,
'EXTRA_DIST': msc_extra_dist,
'EXTRA_HEADERS': msc_extra_headers,
'LIBDIR': msc_libdir,
- 'LIBS': msc_libs,
'LIB': msc_library,
'BINS': msc_bins,
'BIN': msc_binary,
diff --git a/clients/Makefile.ag b/clients/Makefile.ag
--- a/clients/Makefile.ag
+++ b/clients/Makefile.ag
@@ -4,6 +4,6 @@
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list