Changeset: 95c4f506e563 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=95c4f506e563
Modified Files:
        sql/src/test/VOC/Tests/VOC.SQL.bat
        sql/src/test/VOC/Tests/VOC.SQL.sh
Branch: default
Log Message:

Merge with Oct2010 branch.


diffs (truncated from 165919 to 300 lines):

diff -r 8a23109c64a8 -r 95c4f506e563 MonetDB4/src/modules/plain/Tests/bat.py
--- a/MonetDB4/src/modules/plain/Tests/bat.py   Mon Oct 04 15:17:23 2010 +0200
+++ b/MonetDB4/src/modules/plain/Tests/bat.py   Mon Oct 04 17:25:39 2010 +0200
@@ -1,5 +1,7 @@
-import os
-MSERVER =  os.environ['MSERVER']
-TSTDB = os.environ['TSTDB']
-TST = os.environ['TST']
-os.system("%s --dbname=%s --set gdk_mem_pagebits=16 < %s.milS" % (MSERVER, 
TSTDB, TST))
+from MonetDBtesting import process
+s = process.server(lang = 'mil', args = ['--set', 'gdk_mem_pagebits=16'],
+                   stdin = open('%s.mil' % os.environ['TST']),
+                   stdout = process.PIPE, stderr = process.PIPE)
+out, err = s.communicate()
+sys.stdout.write(out)
+sys.stderr.write(err)
diff -r 8a23109c64a8 -r 95c4f506e563 clients/src/mapiclient/mclient.c
--- a/clients/src/mapiclient/mclient.c  Mon Oct 04 15:17:23 2010 +0200
+++ b/clients/src/mapiclient/mclient.c  Mon Oct 04 17:25:39 2010 +0200
@@ -1869,7 +1869,11 @@
                        length = 0;
                } else
                        length = strlen(line);
-               if (hdl == NULL && length > 0 && line[length - 1] == '\n') {
+               /* the fp == stdin test is so that we don't treat '\\'
+                  special for files that were passed on the command
+                  line with -e in effect (see near the bottom of
+                  main()) */
+               if (hdl == NULL && length > 0 && line[length - 1] == '\n' && fp 
== stdin) {
                        /* test for special commands */
                        if (mode != MAL)
                                while (length > 0 &&
@@ -2723,7 +2727,26 @@
        if (optind < argc) {
                /* execute from file(s) */
                while (optind < argc) {
-                       c |= doFile(mid, argv[optind]);
+                       if (echoquery) {
+                               /* a bit of a hack: process file
+                                  line-by-line if using -e (--echo)
+                                  so that the queries that are echoed
+                                  have something to do with the
+                                  output that follows (otherwise we
+                                  just echo the start of the file for
+                                  each query) */
+                               FILE *fp;
+                               if ((fp = fopen(argv[optind], "r")) == NULL) {
+                                       fprintf(stderr, "%s: cannot open\n", 
argv[optind]);
+                                       c |= 1;
+                               } else {
+                                       /* note that since fp != stdin,
+                                          we don't treat \ special */
+                                       c |= doFileByLines(mid, fp, NULL);
+                                       fclose(fp);
+                               }
+                       } else
+                               c |= doFile(mid, argv[optind]);
                        optind++;
                }
        }
diff -r 8a23109c64a8 -r 95c4f506e563 sql/src/test/VOC/Tests/All
--- a/sql/src/test/VOC/Tests/All        Mon Oct 04 15:17:23 2010 +0200
+++ b/sql/src/test/VOC/Tests/All        Mon Oct 04 17:25:39 2010 +0200
@@ -1,1 +1,1 @@
-HAVE_JDBCCLIENT_JAR?VOC
+VOC
diff -r 8a23109c64a8 -r 95c4f506e563 sql/src/test/VOC/Tests/VOC.SQL.bat
--- a/sql/src/test/VOC/Tests/VOC.SQL.bat        Mon Oct 04 15:17:23 2010 +0200
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-...@echo off
-
-echo user=monetdb>     .monetdb
-echo password=monetdb>>        .monetdb
-
-set LANG=en_US.UTF-8
-
-prompt # $t $g  
-echo on
-
-call java nl.cwi.monetdb.client.JdbcClient -h %HOST% -p %MAPIPORT% -d %TSTDB% 
-e -f "%RELSRCDIR%\..\VOCcreate_user.sql"
-
-...@echo user=voc>             .monetdb
-...@echo password=voc>>        .monetdb
-
-call java nl.cwi.monetdb.client.JdbcClient -h %HOST% -p %MAPIPORT% -d %TSTDB% 
-e -f "%RELSRCDIR%\..\VOCschema.sql"
-call java nl.cwi.monetdb.client.JdbcClient -h %HOST% -p %MAPIPORT% -d %TSTDB% 
-e -f "%RELSRCDIR%\..\VOCinsert.sql"
-call java nl.cwi.monetdb.client.JdbcClient -h %HOST% -p %MAPIPORT% -d %TSTDB% 
-e -f "%RELSRCDIR%\..\VOCquery.sql"
-call java nl.cwi.monetdb.client.JdbcClient -h %HOST% -p %MAPIPORT% -d %TSTDB% 
-e -f "%RELSRCDIR%\..\VOCmanual_examples.sql"
-call java nl.cwi.monetdb.client.JdbcClient -h %HOST% -p %MAPIPORT% -d %TSTDB% 
-e -f "%RELSRCDIR%\..\VOCdrop.sql"
-
-...@echo user=monetdb> .monetdb
-...@echo password=monetdb>> .monetdb
-
-call java nl.cwi.monetdb.client.JdbcClient -h %HOST% -p %MAPIPORT% -d %TSTDB% 
-e -f "%RELSRCDIR%\..\VOCdrop_user.sql"
-
-...@del .monetdb
diff -r 8a23109c64a8 -r 95c4f506e563 sql/src/test/VOC/Tests/VOC.SQL.py
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sql/src/test/VOC/Tests/VOC.SQL.py Mon Oct 04 17:25:39 2010 +0200
@@ -0,0 +1,25 @@
+import os, sys
+from MonetDBtesting import process
+
+d = os.environ['RELSRCDIR']
+
+def client(file, user, passwd):
+    c = process.client(lang = 'sql',
+                       user = user, passwd = passwd,
+                       args = [os.path.join(d, os.pardir, file)],
+                       stdout = process.PIPE, stderr = process.PIPE,
+                       log = True)
+    out, err = c.communicate()
+    sys.stdout.write(out)
+    sys.stdout.write(err)
+
+client('VOCcreate_user.sql', 'monetdb', 'monetdb')
+client('VOCschema.sql', 'voc', 'voc')
+client('VOCinsert.sql', 'voc', 'voc')
+client('VOCquery.sql', 'voc', 'voc')
+client('VOCmanual_examples.sql', 'voc', 'voc')
+client('VOCdrop.sql', 'voc', 'voc')
+client('VOCdrop_user.sql', 'monetdb', 'monetdb')
+
+sys.stdout.flush()
+sys.stderr.flush()
diff -r 8a23109c64a8 -r 95c4f506e563 sql/src/test/VOC/Tests/VOC.SQL.sh
--- a/sql/src/test/VOC/Tests/VOC.SQL.sh Mon Oct 04 15:17:23 2010 +0200
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-#!/bin/bash
-
-cat << EOF > .monetdb
-user=monetdb
-password=monetdb
-EOF
-
-LC_ALL="`locale -a | grep -i en_us | grep -i utf | head -n 1`"
-export LC_ALL
-
-Mlog -x "$MTIMEOUT java nl.cwi.monetdb.client.JdbcClient -h $HOST -p $MAPIPORT 
-d ${TSTDB} -e -f \"$RELSRCDIR/../VOCcreate_user.sql\" 2>&1"
-
-cat << EOF > .monetdb
-user=voc
-password=voc
-EOF
-
-Mlog -x "$MTIMEOUT java nl.cwi.monetdb.client.JdbcClient -h $HOST -p $MAPIPORT 
-d ${TSTDB} -e -f \"$RELSRCDIR/../VOCschema.sql\" 2>&1"
-Mlog -x "$MTIMEOUT java nl.cwi.monetdb.client.JdbcClient -h $HOST -p $MAPIPORT 
-d ${TSTDB} -e -f \"$RELSRCDIR/../VOCinsert.sql\" 2>&1"
-Mlog -x "$MTIMEOUT java nl.cwi.monetdb.client.JdbcClient -h $HOST -p $MAPIPORT 
-d ${TSTDB} -e -f \"$RELSRCDIR/../VOCquery.sql\" 2>&1"
-Mlog -x "$MTIMEOUT java nl.cwi.monetdb.client.JdbcClient -h $HOST -p $MAPIPORT 
-d ${TSTDB} -e -f \"$RELSRCDIR/../VOCmanual_examples.sql\" 2>&1"
-Mlog -x "$MTIMEOUT java nl.cwi.monetdb.client.JdbcClient -h $HOST -p $MAPIPORT 
-d ${TSTDB} -e -f \"$RELSRCDIR/../VOCdrop.sql\" 2>&1"
-
-cat << EOF > .monetdb
-user=monetdb
-password=monetdb
-EOF
-
-Mlog -x "$MTIMEOUT java nl.cwi.monetdb.client.JdbcClient -h $HOST -p $MAPIPORT 
-d ${TSTDB} -e -f \"$RELSRCDIR/../VOCdrop_user.sql\" 2>&1"
-
-rm -f .monetdb
diff -r 8a23109c64a8 -r 95c4f506e563 sql/src/test/VOC/Tests/VOC.stable.err
--- a/sql/src/test/VOC/Tests/VOC.stable.err     Mon Oct 04 15:17:23 2010 +0200
+++ b/sql/src/test/VOC/Tests/VOC.stable.err     Mon Oct 04 17:25:39 2010 +0200
@@ -1,47 +1,93 @@
 stderr of test 'VOC` in directory 'src/test/VOC` itself:
 
 
-# 10:37:20 >  
-# 10:37:20 >  Mtimeout -timeout 900 mserver5 
"--config=/ufs/goncalve/scratch/MonetDB/monetdb5/etc/MonetDB5.conf" --debug=10 
--set "monet_mod_path=/ufs/goncalve/scratch/MonetDB/monetdb5/lib/MonetDB5" 
--set "gdk_dbfarm=/ufs/goncalve/scratch/MonetDB/monetdb5/var/MonetDB5/dbfarm" 
--set "sql_logdir=/ufs/goncalve/scratch/MonetDB/monetdb5/var/MonetDB5/dblogs" 
--set mapi_port=33532 --set monet_prompt= --trace 
"--dbname=mTests_src_test_VOC" --dbinit='include sql;' ; echo ; echo Over..
-# 10:37:20 >  
+# 16:09:44 >  
+# 16:09:44 >   mserver5 
"--config=/ufs/sjoerd/Monet-candidate/etc/monetdb5.conf" --debug=10 --set 
gdk_nr_threads=0 --set gdk_testing=true --set 
"monet_mod_path=/ufs/sjoerd/Monet-candidate/lib64/MonetDB5:/ufs/sjoerd/Monet-candidate/lib64/MonetDB5/lib:/ufs/sjoerd/Monet-candidate/lib64/MonetDB5/bin"
 --set "gdk_dbfarm=/ufs/sjoerd/Monet-candidate/var/MonetDB5/dbfarm"  --set 
mapi_open=true --set xrpc_open=true --set mapi_port=35964 --set xrpc_port=46696 
--set monet_prompt= --set mal_listing=2 --trace  "--dbname=mTests_src_test_VOC" 
--set mal_listing=0 ; echo ; echo Over..
+# 16:09:44 >  
 
+# builtin opt  gdk_arch = 64bitx86_64-unknown-linux-gnu
+# builtin opt  gdk_version = 1.40.0
+# builtin opt  prefix = /ufs/sjoerd/Monet-candidate
+# builtin opt  exec_prefix = ${prefix}
+# builtin opt  gdk_dbname = demo
+# builtin opt  gdk_dbfarm = ${prefix}/var/MonetDB/dbfarm
+# builtin opt  gdk_debug = 0
+# builtin opt  gdk_alloc_map = no
+# builtin opt  gdk_vmtrim = yes
+# builtin opt  monet_admin = adm
+# builtin opt  monet_prompt = >
+# builtin opt  monet_welcome = yes
+# builtin opt  monet_mod_path = ${prefix}/lib64/MonetDB
+# builtin opt  monet_daemon = no
+# builtin opt  host = localhost
+# builtin opt  mapi_port = 50000
+# builtin opt  mapi_clients = 2
+# builtin opt  mapi_open = false
+# builtin opt  mapi_autosense = false
+# builtin opt  sql_debug = 0
+# builtin opt  standoff_ns = 
+# builtin opt  standoff_start = start
+# builtin opt  standoff_end = end
+# config opt   prefix = /ufs/sjoerd/Monet-candidate
+# config opt   config = ${prefix}/etc/monetdb5.conf
+# config opt   prefix = /ufs/sjoerd/Monet-candidate
+# config opt   exec_prefix = ${prefix}
+# config opt   gdk_dbfarm = ${prefix}/var/MonetDB5/dbfarm
+# config opt   monet_mod_path = 
${prefix}/lib64/MonetDB5:${prefix}/lib64/MonetDB5/lib:${prefix}/lib64/MonetDB5/bin
+# config opt   mero_pidfile = ${prefix}/var/run/MonetDB/merovingian.pid
+# config opt   mero_controlport = 50001
+# config opt   sql_optimizer = default_pipe
+# config opt   minimal_pipe = inline,remap,deadcode,multiplex,garbageCollector
+# config opt   default_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,mitosis,mergetable,deadcode,commonTerms,joinPath,reorder,deadcode,reduce,dataflow,history,multiplex,garbageCollector
+# config opt   no_mitosis_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,mergetable,deadcode,commonTerms,joinPath,reorder,deadcode,reduce,dataflow,history,multiplex,garbageCollector
+# config opt   sequential_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,mergetable,deadcode,commonTerms,joinPath,reorder,deadcode,reduce,history,multiplex,garbageCollector
+# config opt   nov2009_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,mergetable,deadcode,constants,commonTerms,joinPath,deadcode,reduce,dataflow,history,multiplex,garbageCollector
+# config opt   replication_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,mergetable,deadcode,constants,commonTerms,joinPath,deadcode,reduce,dataflow,history,replication,multiplex,garbageCollector
+# config opt   accumulator_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,mergetable,deadcode,constants,commonTerms,joinPath,deadcode,reduce,accumulators,dataflow,history,multiplex,garbageCollector
+# config opt   recycler_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,deadcode,constants,commonTerms,joinPath,deadcode,recycle,reduce,dataflow,history,multiplex,garbageCollector
+# config opt   cracker_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,selcrack,deadcode,constants,commonTerms,joinPath,deadcode,reduce,dataflow,history,multiplex,garbageCollector
+# config opt   sidcrack_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,sidcrack,deadcode,constants,commonTerms,joinPath,deadcode,reduce,dataflow,history,multiplex,garbageCollector
+# config opt   datacell_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,deadcode,constants,commonTerms,joinPath,datacell,deadcode,reduce,dataflow,history,multiplex,garbageCollector
+# config opt   octopus_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,mitosis,mergetable,deadcode,constants,commonTerms,joinPath,octopus,deadcode,reduce,dataflow,history,multiplex,garbageCollector
+# config opt   datacyclotron_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,datacyclotron,mergetable,deadcode,commonTerms,joinPath,reorder,deadcode,reduce,dataflow,history,replication,multiplex,garbageCollector
+# config opt   derive_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,mitosis,mergetable,deadcode,commonTerms,derivePath,joinPath,reorder,deadcode,reduce,dataflow,history,multiplex,garbageCollector
+# config opt   dictionary_pipe = 
inline,remap,dictionary,evaluate,costModel,coercions,emptySet,aliases,mergetable,deadcode,constants,commonTerms,joinPath,deadcode,reduce,dataflow,history,multiplex,garbageCollector
+# config opt   compression_pipe = 
inline,remap,evaluate,costModel,coercions,emptySet,aliases,mergetable,deadcode,constants,commonTerms,joinPath,deadcode,reduce,dataflow,compression,dataflow,history,multiplex,garbageCollector
+# cmdline opt  config = /ufs/sjoerd/Monet-candidate/etc/monetdb5.conf
+# cmdline opt  gdk_nr_threads = 0
+# cmdline opt  gdk_testing = true
+# cmdline opt  monet_mod_path = 
/ufs/sjoerd/Monet-candidate/lib64/MonetDB5:/ufs/sjoerd/Monet-candidate/lib64/MonetDB5/lib:/ufs/sjoerd/Monet-candidate/lib64/MonetDB5/bin
+# cmdline opt  gdk_dbfarm = /ufs/sjoerd/Monet-candidate/var/MonetDB5/dbfarm
+# cmdline opt  mapi_open = true
+# cmdline opt  xrpc_open = true
+# cmdline opt  mapi_port = 35964
+# cmdline opt  xrpc_port = 46696
+# cmdline opt  monet_prompt = 
+# cmdline opt  mal_listing = 2
+# cmdline opt  gdk_dbname = mTests_src_test_VOC
+# cmdline opt  mal_listing = 0
+#warning: please don't forget to set your vault key!
+#(see /ufs/sjoerd/Monet-candidate/etc/monetdb5.conf)
 
-# 10:37:20 >  
-# 10:37:20 >  Mtimeout -timeout 780 ./VOC.SQL VOC 
-# 10:37:20 >  
 
 
-# 10:37:20 >  
-# 10:37:20 >  Mtimeout -timeout 60 java -jar 
/net/amor.ins.cwi.nl/export/scratch1/goncalve/SQL/sql/build/src/jdbc/jdbcclient-1.4.jar
 -h localhost -p 33532 -d mTests_src_test_VOC -e -f 
../../../../../../../../../../ufs/goncalve/MonetDB/SQL/sql/src/test/VOC/Tests/../VOCcreate_user.sql
-# 10:37:20 >  
 
+# 16:16:32 >  
+# 16:16:32 >  /usr/bin/python VOC.SQL.py VOC 
+# 16:16:32 >  
 
-# 10:37:20 >  
-# 10:37:20 >  Mtimeout -timeout 60 java -jar 
/net/amor.ins.cwi.nl/export/scratch1/goncalve/SQL/sql/build/src/jdbc/jdbcclient-1.4.jar
 -h localhost -p 33532 -d mTests_src_test_VOC -e -f 
../../../../../../../../../../ufs/goncalve/MonetDB/SQL/sql/src/test/VOC/Tests/../VOCschema.sql
-# 10:37:20 >  
 
 
-# 10:37:21 >  
-# 10:37:21 >  Mtimeout -timeout 60 java -jar 
/net/amor.ins.cwi.nl/export/scratch1/goncalve/SQL/sql/build/src/jdbc/jdbcclient-1.4.jar
 -h localhost -p 33532 -d mTests_src_test_VOC -e -f 
../../../../../../../../../../ufs/goncalve/MonetDB/SQL/sql/src/test/VOC/Tests/../VOCinsert.sql
-# 10:37:21 >  
 
 
-# 10:37:40 >  
-# 10:37:40 >  Mtimeout -timeout 60 java -jar 
/net/amor.ins.cwi.nl/export/scratch1/goncalve/SQL/sql/build/src/jdbc/jdbcclient-1.4.jar
 -h localhost -p 33532 -d mTests_src_test_VOC -e -f 
../../../../../../../../../../ufs/goncalve/MonetDB/SQL/sql/src/test/VOC/Tests/../VOCquery.sql
-# 10:37:40 >  
+# 16:20:30 >  
+# 16:20:30 >  Mtimeout -timeout 120 mclient -lsql -ftest -e --host=ottar 
--port=32632 
../../../../../../../../../../../ufs/sjoerd/src/MonetDB/candidate/sql/src/test/VOC/Tests/../VOCinsert.sql
+# 16:20:30 >  
 
 
-# 10:37:41 >  
-# 10:37:41 >  Mtimeout -timeout 60 java -jar 
/net/amor.ins.cwi.nl/export/scratch1/goncalve/SQL/sql/build/src/jdbc/jdbcclient-1.4.jar
 -h localhost -p 33532 -d mTests_src_test_VOC -e -f 
../../../../../../../../../../ufs/goncalve/MonetDB/SQL/sql/src/test/VOC/Tests/../VOCdrop.sql
-# 10:37:41 >  
 
 
-# 10:37:41 >  
-# 10:37:41 >  Mtimeout -timeout 60 java -jar 
/net/amor.ins.cwi.nl/export/scratch1/goncalve/SQL/sql/build/src/jdbc/jdbcclient-1.4.jar
 -h localhost -p 33532 -d mTests_src_test_VOC -e -f 
../../../../../../../../../../ufs/goncalve/MonetDB/SQL/sql/src/test/VOC/Tests/../VOCdrop_user.sql
-# 10:37:41 >  
+# 16:22:29 >  
+# 16:22:29 >  Done.
+# 16:22:29 >  
 
-
-# 10:37:42 >  
-# 10:37:42 >  Done.
-# 10:37:42 >  
-
diff -r 8a23109c64a8 -r 95c4f506e563 sql/src/test/VOC/Tests/VOC.stable.out
--- a/sql/src/test/VOC/Tests/VOC.stable.out     Mon Oct 04 15:17:23 2010 +0200
+++ b/sql/src/test/VOC/Tests/VOC.stable.out     Mon Oct 04 17:25:39 2010 +0200
@@ -1,97458 +1,68197 @@
 stdout of test 'VOC` in directory 'src/test/VOC` itself:
 
 
-# 10:31:35 >  
-# 10:31:35 >   mserver5 
"--config=/ufs/niels/scratch/monetdb/Linux-x86_64/etc/monetdb5.conf" --debug=10 
--set 
"monet_mod_path=/ufs/niels/scratch/monetdb/Linux-x86_64/lib/MonetDB5:/ufs/niels/scratch/monetdb/Linux-x86_64/lib/MonetDB5/lib:/ufs/niels/scratch/monetdb/Linux-x86_64/lib/MonetDB5/bin"
 --set "gdk_dbfarm=/ufs/niels/scratch/monetdb/Linux-x86_64/var/MonetDB5/dbfarm" 
--set 
"sql_logdir=/ufs/niels/scratch/monetdb/Linux-x86_64/var/MonetDB5/sql_logs"  
--set mapi_open=true --set xrpc_open=true --set mapi_port=34021 --set 
xrpc_port=49015 --set monet_prompt= --trace  "--dbname=mTests_src_test_VOC" 
--set mal_listing=0 "--dbinit= include sql;" ; echo ; echo Over..
-# 10:31:35 >  
+# 17:11:18 >  
+# 17:11:18 >   mserver5 
"--config=/ufs/sjoerd/Monet-candidate/etc/monetdb5.conf" --debug=10 --set 
gdk_nr_threads=0 --set gdk_testing=true --set 
"monet_mod_path=/ufs/sjoerd/Monet-candidate/lib64/MonetDB5:/ufs/sjoerd/Monet-candidate/lib64/MonetDB5/lib:/ufs/sjoerd/Monet-candidate/lib64/MonetDB5/bin"
 --set "gdk_dbfarm=/ufs/sjoerd/Monet-candidate/var/MonetDB5/dbfarm"  --set 
mapi_open=true --set xrpc_open=true --set mapi_port=30367 --set xrpc_port=48749 
--set monet_prompt= --set mal_listing=2 --trace  "--dbname=mTests_src_test_VOC" 
--set mal_listing=0 ; echo ; echo Over..
+# 17:11:18 >  
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to