MonetDB: configurable_working_set - First draft of a MAL interfa...

2018-03-02 Thread Aris Koning
Changeset: a20ad202ae28 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a20ad202ae28
Added Files:
monetdb5/modules/kernel/metrics.c
monetdb5/modules/kernel/metrics.h
Modified Files:
monetdb5/modules/kernel/Makefile.ag
Branch: configurable_working_set
Log Message:

First draft of a MAL interface to various system metrics.


diffs (92 lines):

diff --git a/monetdb5/modules/kernel/Makefile.ag 
b/monetdb5/modules/kernel/Makefile.ag
--- a/monetdb5/modules/kernel/Makefile.ag
+++ b/monetdb5/modules/kernel/Makefile.ag
@@ -26,7 +26,8 @@ lib_kernel = {
logger.c \
microbenchmark.c microbenchmark.h \
mmath.c mmath.h \
-   status.c status.h 
+   status.c status.h \
+   metrics.c metrics.h
 }
 
 headers_mal = {
diff --git a/monetdb5/modules/kernel/metrics.c 
b/monetdb5/modules/kernel/metrics.c
new file mode 100644
--- /dev/null
+++ b/monetdb5/modules/kernel/metrics.c
@@ -0,0 +1,47 @@
+
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2018 MonetDB B.V.
+ */
+
+#include "metrics.h"
+#include "gdk.h"
+#include "mal.h"
+#include "mal_client.h"
+#include "mal_instruction.h"
+#include "mal_interpreter.h"
+
+#include "gdk_posix.h"
+
+mal_export str METRICSrsssize(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci)
+{
+(void) cntxt;
+(void) mb;
+lng *res = getArgReference_lng(stk, pci, 0);
+*res = (lng)MT_getrss();
+
+return MAL_SUCCEED;
+}
+
+mal_export str METRICSgetvmsize(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci)
+{
+(void) cntxt;
+(void) mb;
+lng *res = getArgReference_lng(stk, pci, 0);
+
+#ifdef WIN32
+   MEMORYSTATUSEX psvmemCounters;
+   psvmemCounters.dwLength = sizeof(MEMORYSTATUSEX); 
+   
+   GlobalMemoryStatusEx();
+
+   *res = psvmemCounters.ullTotalVirtual - psvmemCounters.ullAvailVirtual;
+#else
+*res = 0;
+#endif
+
+return MAL_SUCCEED;
+}
diff --git a/monetdb5/modules/kernel/metrics.h 
b/monetdb5/modules/kernel/metrics.h
new file mode 100644
--- /dev/null
+++ b/monetdb5/modules/kernel/metrics.h
@@ -0,0 +1,22 @@
+/*
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0.  If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * Copyright 1997 - July 2008 CWI, August 2008 - 2018 MonetDB B.V.
+ */
+
+#ifndef METRICS_H
+#define METRICS_H
+
+#include "monetdb_config.h"
+
+#include "mal.h"
+#include "mal_client.h"
+#include "mal_instruction.h"
+
+mal_export str METRICSrsssize(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
+
+mal_export str METRICSgetvmsize(Client cntxt, MalBlkPtr mb, MalStkPtr stk, 
InstrPtr pci);
+
+#endif
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: configurable_working_set - Introduce draft of test to c...

2018-03-02 Thread Aris Koning
Changeset: 39e789e11ba4 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=39e789e11ba4
Added Files:
gdk/Tests/All
gdk/Tests/caprss.prologue5
gdk/Tests/caprss.sql
Modified Files:
.vscode/run_tests.bat
Branch: configurable_working_set
Log Message:

Introduce draft of test to check the 'gdk_mem_maxsize' option on Windows.


diffs (63 lines):

diff --git a/.vscode/run_tests.bat b/.vscode/run_tests.bat
--- a/.vscode/run_tests.bat
+++ b/.vscode/run_tests.bat
@@ -1,4 +1,6 @@
 rem call environment variables for Monetdb compilation and runtime
 call %~dp0/monetdb-environment.bat
 
-Mtest.py -r
+cd %SOURCE%\gdk\Tests
+
+Mtest.py
diff --git a/gdk/Tests/All b/gdk/Tests/All
new file mode 100644
--- /dev/null
+++ b/gdk/Tests/All
@@ -0,0 +1,1 @@
+caprss
diff --git a/gdk/Tests/caprss.prologue5 b/gdk/Tests/caprss.prologue5
new file mode 100644
--- /dev/null
+++ b/gdk/Tests/caprss.prologue5
@@ -0,0 +1,7 @@
+module prologue;
+
+pattern prologue.getrss():lng
+address METRICSrsssize;
+
+pattern prologue.getvm():lng
+address METRICSgetvmsize;
diff --git a/gdk/Tests/caprss.sql b/gdk/Tests/caprss.sql
new file mode 100644
--- /dev/null
+++ b/gdk/Tests/caprss.sql
@@ -0,0 +1,29 @@
+create function getrss() 
+returns BIGINT external name prologue.getrss;
+
+create function getvm() 
+returns BIGINT external name prologue.getvm;
+
+create table test(a int, b int, c double);
+
+insert into test VALUES (1, 0, 1);
+
+select getrss() as resident_set_size, getvm() as virtual_memory_size;
+
+create procedure loop_insert(n bigint)
+BEGIN
+declare run BIGINT;
+set run = (select count(*) from test);
+
+WHILE run < n DO
+insert into test (select a+1, b+2, rand()*c from test);
+
+set run = (select count(*) from test);
+END WHILE;
+END;
+
+call loop_insert(1000);
+
+select count(*) from test;
+
+select getrss() as resident_set_size, getvm() as virtual_memory_size;
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: configurable_working_set - Improve Visual Studio Code s...

2018-03-02 Thread Aris Koning
Changeset: 2ff2e65df4b9 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2ff2e65df4b9
Modified Files:
.vscode/c_cpp_properties.json
.vscode/settings.json
Branch: configurable_working_set
Log Message:

Improve Visual Studio Code settings.


diffs (27 lines):

diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json
--- a/.vscode/c_cpp_properties.json
+++ b/.vscode/c_cpp_properties.json
@@ -59,7 +59,8 @@
 "name": "Win32",
 "includePath": [
 "C:/Program Files (x86)/Microsoft Visual Studio 
14.0/VC/include",
-"${workspaceRoot}"
+"${workspaceRoot}",
+"${workspaceRoot}/build"
 ],
 "defines": [
 "_DEBUG",
diff --git a/.vscode/settings.json b/.vscode/settings.json
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -3,7 +3,9 @@
 "extraMakefile": "makefile",
 "rules.msc": "makefile",
 "configure.ag": "m4",
-"Makefile.ag": "automake"
+"Makefile.ag": "automake",
+"monetdb_config.h": "c",
+"gdk.h": "c"
 },
 "files.exclude": {
 "**/.git": true,
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: configurable_working_set - Use WIN32 instead of the _WI...

2018-03-02 Thread Aris Koning
Changeset: 59464ad08e31 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=59464ad08e31
Modified Files:
gdk/gdk_posix.c
Branch: configurable_working_set
Log Message:

Use WIN32 instead of the _WIN64 macro to implement MT_getrss.


diffs (15 lines):

diff --git a/gdk/gdk_posix.c b/gdk/gdk_posix.c
--- a/gdk/gdk_posix.c
+++ b/gdk/gdk_posix.c
@@ -742,9 +742,9 @@ MT_init_posix(void)
 }
 
 size_t
-MT_getrss(void)
+MT_getrss(void) // Obtain allocated physical memory
 {
-#ifdef _WIN64
+#ifdef WIN32
PROCESS_MEMORY_COUNTERS ctr;
if (GetProcessMemoryInfo(GetCurrentProcess(), , sizeof(ctr)))
return ctr.WorkingSetSize;
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: configurable_working_set - Added simple start-up script...

2018-03-02 Thread Aris Koning
Changeset: 9b0e5757039a for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9b0e5757039a
Added Files:
.vscode/run_server.bat
Modified Files:
.vscode/tasks.json
Branch: configurable_working_set
Log Message:

Added simple start-up script to start Monetdb server on Windows (from the IDE).


diffs (28 lines):

diff --git a/.vscode/run_server.bat b/.vscode/run_server.bat
new file mode 100644
--- /dev/null
+++ b/.vscode/run_server.bat
@@ -0,0 +1,5 @@
+rem call environment variables for Monetdb compilation and runtime
+call %~dp0/monetdb-environment.bat
+
+rem Start the Monetdb5 server
+%PREFIX%\M5server.bat
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
--- a/.vscode/tasks.json
+++ b/.vscode/tasks.json
@@ -61,6 +61,14 @@
 "windows": {
 "command": "${workspaceFolder}\\.vscode\\run_tests.bat"
 }
+},
+{
+"label": "run server",
+"type": "shell",
+"command": "echo TODO",
+"windows": {
+"command": "${workspaceFolder}\\.vscode\\run_server.bat"
+}
 }
 ]
 }
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: configurable_working_set - Add functionality to query v...

2018-03-02 Thread Aris Koning
Changeset: 6b33dc1cafd5 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6b33dc1cafd5
Modified Files:
gdk/gdk_posix.c
Branch: configurable_working_set
Log Message:

Add functionality to query virtual memory size.


diffs (24 lines):

diff --git a/gdk/gdk_posix.c b/gdk/gdk_posix.c
--- a/gdk/gdk_posix.c
+++ b/gdk/gdk_posix.c
@@ -752,6 +752,20 @@ MT_getrss(void) // Obtain allocated phys
return 0;
 }
 
+size_t
+MT_getvm(void) // Obtain allocated virtual memory
+{
+#ifdef WIN32
+   MEMORYSTATUSEX psvmemCounters;
+   psvmemCounters.dwLength = sizeof(MEMORYSTATUSEX); 
+   
+   GlobalMemoryStatusEx();
+
+   return psvmemCounters.ullTotalVirtual - psvmemCounters.ullAvailVirtual;
+#endif
+   return 0;
+}
+
 /* Windows mmap keeps a global list of base addresses for complex
  * (remapped) memory maps the reason is that each remapped segment
  * needs to be unmapped separately in the end. */
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: configurable_working_set - Move function description to...

2018-03-02 Thread Aris Koning
Changeset: 04ff6a673088 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=04ff6a673088
Modified Files:
gdk/gdk_posix.c
Branch: configurable_working_set
Log Message:

Move function description to corresponding header file.


diffs (21 lines):

diff --git a/gdk/gdk_posix.c b/gdk/gdk_posix.c
--- a/gdk/gdk_posix.c
+++ b/gdk/gdk_posix.c
@@ -742,7 +742,7 @@ MT_init_posix(void)
 }
 
 size_t
-MT_getrss(void) // Obtain allocated physical memory
+MT_getrss(void)
 {
 #ifdef WIN32
PROCESS_MEMORY_COUNTERS ctr;
@@ -753,7 +753,7 @@ MT_getrss(void) // Obtain allocated phys
 }
 
 size_t
-MT_getvm(void) // Obtain allocated virtual memory
+MT_getvm(void)
 {
 #ifdef WIN32
MEMORYSTATUSEX psvmemCounters;
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: configurable_working_set - Implemented 'run clean' task.

2018-03-02 Thread Aris Koning
Changeset: 641eeaca80c6 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=641eeaca80c6
Added Files:
.vscode/run_clean.sh
Modified Files:
.vscode/tasks.json
Branch: configurable_working_set
Log Message:

Implemented 'run clean' task.


diffs (47 lines):

diff --git a/.vscode/run_clean.sh b/.vscode/run_clean.sh
new file mode 100644
--- /dev/null
+++ b/.vscode/run_clean.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+FULL_PATH_TO_SCRIPT=`dirname ${0}`
+
+cd `cygpath ${FULL_PATH_TO_SCRIPT}` && cd ..
+
+
+# Empty the build directory. 
+rm -rf build/*
+
+# Remove all generated files outside of the build directory
+find . -path "NT/rules.msc" -prune -regex 
".*\.am$\|.*\.msc$\|.*\.lst$\|.*\.orig$\|.*cheader\.text\.h" -exec rm \{\} +
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
--- a/.vscode/tasks.json
+++ b/.vscode/tasks.json
@@ -20,7 +20,6 @@
 },
 "presentation": {
 "panel": "new"
-
 },
 "problemMatcher": {
 "base": "$gcc",
@@ -68,7 +67,17 @@
 "command": "echo TODO",
 "windows": {
 "command": "${workspaceFolder}\\.vscode\\run_server.bat"
-}
+},
+"problemMatcher": []
+},
+{
+"label": "run clean",
+"type": "shell",
+"command": "echo TODO",
+"windows": {
+"command": "bash.exe --login 
${workspaceFolder}\\.vscode\\run_clean.sh"
+},
+"problemMatcher": []
 }
 ]
 }
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: Mar2018 - approved output

2018-03-02 Thread Niels Nes
Changeset: 5550f56434fc for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5550f56434fc
Added Files:

sql/test/BugTracker-2018/Tests/sqlitelogictest-in-query.Bug-6545.stable.err

sql/test/BugTracker-2018/Tests/sqlitelogictest-in-query.Bug-6545.stable.out

sql/test/BugTracker-2018/Tests/sqlitelogictest-in-with-division.Bug-6546.stable.err

sql/test/BugTracker-2018/Tests/sqlitelogictest-in-with-division.Bug-6546.stable.out
Branch: Mar2018
Log Message:

approved output


diffs (168 lines):

diff --git 
a/sql/test/BugTracker-2018/Tests/sqlitelogictest-in-query.Bug-6545.stable.err 
b/sql/test/BugTracker-2018/Tests/sqlitelogictest-in-query.Bug-6545.stable.err
new file mode 100644
--- /dev/null
+++ 
b/sql/test/BugTracker-2018/Tests/sqlitelogictest-in-query.Bug-6545.stable.err
@@ -0,0 +1,34 @@
+stderr of test 'sqlitelogictest-in-query.Bug-6545` in directory 
'sql/test/BugTracker-2018` itself:
+
+
+# 13:58:13 >  
+# 13:58:13 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=37083" "--set" 
"mapi_usock=/var/tmp/mtest-9356/.s.monetdb.37083" "--set" "monet_prompt=" 
"--forcemito" 
"--dbpath=/home/niels/scratch/rc-monetdb/Linux-x86_64/var/MonetDB/mTests_sql_test_BugTracker-2018"
+# 13:58:13 >  
+
+# builtin opt  gdk_dbpath = 
/home/niels/scratch/rc-monetdb/Linux-x86_64/var/monetdb5/dbfarm/demo
+# builtin opt  gdk_debug = 0
+# builtin opt  gdk_vmtrim = no
+# builtin opt  monet_prompt = >
+# builtin opt  monet_daemon = no
+# builtin opt  mapi_port = 5
+# builtin opt  mapi_open = false
+# builtin opt  mapi_autosense = false
+# builtin opt  sql_optimizer = default_pipe
+# builtin opt  sql_debug = 0
+# cmdline opt  gdk_nr_threads = 0
+# cmdline opt  mapi_open = true
+# cmdline opt  mapi_port = 37083
+# cmdline opt  mapi_usock = /var/tmp/mtest-9356/.s.monetdb.37083
+# cmdline opt  monet_prompt = 
+# cmdline opt  gdk_dbpath = 
/home/niels/scratch/rc-monetdb/Linux-x86_64/var/MonetDB/mTests_sql_test_BugTracker-2018
+# cmdline opt  gdk_debug = 553648138
+
+# 13:58:13 >  
+# 13:58:13 >  "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-9356" "--port=37083"
+# 13:58:13 >  
+
+
+# 13:58:13 >  
+# 13:58:13 >  "Done."
+# 13:58:13 >  
+
diff --git 
a/sql/test/BugTracker-2018/Tests/sqlitelogictest-in-query.Bug-6545.stable.out 
b/sql/test/BugTracker-2018/Tests/sqlitelogictest-in-query.Bug-6545.stable.out
new file mode 100644
--- /dev/null
+++ 
b/sql/test/BugTracker-2018/Tests/sqlitelogictest-in-query.Bug-6545.stable.out
@@ -0,0 +1,40 @@
+stdout of test 'sqlitelogictest-in-query.Bug-6545` in directory 
'sql/test/BugTracker-2018` itself:
+
+
+# 13:58:13 >  
+# 13:58:13 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=37083" "--set" 
"mapi_usock=/var/tmp/mtest-9356/.s.monetdb.37083" "--set" "monet_prompt=" 
"--forcemito" 
"--dbpath=/home/niels/scratch/rc-monetdb/Linux-x86_64/var/MonetDB/mTests_sql_test_BugTracker-2018"
+# 13:58:13 >  
+
+# MonetDB 5 server v11.29.0
+# This is an unreleased version
+# Serving database 'mTests_sql_test_BugTracker-2018', using 4 threads
+# Compiled for x86_64-unknown-linux-gnu/64bit with 128bit integers
+# Found 7.324 GiB available main-memory.
+# Copyright (c) 1993 - July 2008 CWI.
+# Copyright (c) August 2008 - 2018 MonetDB B.V., all rights reserved
+# Visit https://www.monetdb.org/ for further information
+# Listening for connection requests on mapi:monetdb://localhost.nes.nl:37083/
+# Listening for UNIX domain connection requests on 
mapi:monetdb:///var/tmp/mtest-9356/.s.monetdb.37083
+# MonetDB/GIS module loaded
+# MonetDB/SQL module loaded
+
+Ready.
+
+# 13:58:13 >  
+# 13:58:13 >  "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-9356" "--port=37083"
+# 13:58:13 >  
+
+#CREATE TABLE tab0(col0 INTEGER, col1 INTEGER, col2 INTEGER);
+#INSERT INTO tab0 VALUES (97,1,99),(15,81,47),(87,21,10);
+[ 3]
+#SELECT DISTINCT * FROM tab0 AS cor0 WHERE - 60 + ( + - col0 ) IN ( + - CAST ( 
35 AS INTEGER ) * + ( - 3 ) * - 91 * + + 87, - col0 * + col2 * 18 );
+% sys.cor0,sys.cor0,   sys.cor0 # table_name
+% col0,col1,   col2 # name
+% int, int,int # type
+% 1,   1,  1 # length
+#DROP TABLE tab0;
+
+# 13:58:13 >  
+# 13:58:13 >  "Done."
+# 13:58:13 >  
+
diff --git 
a/sql/test/BugTracker-2018/Tests/sqlitelogictest-in-with-division.Bug-6546.stable.err
 
b/sql/test/BugTracker-2018/Tests/sqlitelogictest-in-with-division.Bug-6546.stable.err
new file mode 100644
--- /dev/null
+++ 
b/sql/test/BugTracker-2018/Tests/sqlitelogictest-in-with-division.Bug-6546.stable.err
@@ -0,0 +1,34 @@
+stderr of test 'sqlitelogictest-in-with-division.Bug-6546` in directory 
'sql/test/BugTracker-2018` itself:
+
+
+# 13:58:13 >  
+# 13:58:13 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=37083" "--set" 
"mapi_usock=/var/tmp/mtest-9356/.s.monetdb.37083" 

MonetDB: default - merged approved output

2018-03-02 Thread Niels Nes
Changeset: 8df6d381a5c8 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8df6d381a5c8
Added Files:

sql/test/BugTracker-2018/Tests/sqlitelogictest-in-query.Bug-6545.stable.err

sql/test/BugTracker-2018/Tests/sqlitelogictest-in-query.Bug-6545.stable.out

sql/test/BugTracker-2018/Tests/sqlitelogictest-in-with-division.Bug-6546.stable.err

sql/test/BugTracker-2018/Tests/sqlitelogictest-in-with-division.Bug-6546.stable.out
Branch: default
Log Message:

merged approved output


diffs (168 lines):

diff --git 
a/sql/test/BugTracker-2018/Tests/sqlitelogictest-in-query.Bug-6545.stable.err 
b/sql/test/BugTracker-2018/Tests/sqlitelogictest-in-query.Bug-6545.stable.err
new file mode 100644
--- /dev/null
+++ 
b/sql/test/BugTracker-2018/Tests/sqlitelogictest-in-query.Bug-6545.stable.err
@@ -0,0 +1,34 @@
+stderr of test 'sqlitelogictest-in-query.Bug-6545` in directory 
'sql/test/BugTracker-2018` itself:
+
+
+# 13:58:13 >  
+# 13:58:13 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=37083" "--set" 
"mapi_usock=/var/tmp/mtest-9356/.s.monetdb.37083" "--set" "monet_prompt=" 
"--forcemito" 
"--dbpath=/home/niels/scratch/rc-monetdb/Linux-x86_64/var/MonetDB/mTests_sql_test_BugTracker-2018"
+# 13:58:13 >  
+
+# builtin opt  gdk_dbpath = 
/home/niels/scratch/rc-monetdb/Linux-x86_64/var/monetdb5/dbfarm/demo
+# builtin opt  gdk_debug = 0
+# builtin opt  gdk_vmtrim = no
+# builtin opt  monet_prompt = >
+# builtin opt  monet_daemon = no
+# builtin opt  mapi_port = 5
+# builtin opt  mapi_open = false
+# builtin opt  mapi_autosense = false
+# builtin opt  sql_optimizer = default_pipe
+# builtin opt  sql_debug = 0
+# cmdline opt  gdk_nr_threads = 0
+# cmdline opt  mapi_open = true
+# cmdline opt  mapi_port = 37083
+# cmdline opt  mapi_usock = /var/tmp/mtest-9356/.s.monetdb.37083
+# cmdline opt  monet_prompt = 
+# cmdline opt  gdk_dbpath = 
/home/niels/scratch/rc-monetdb/Linux-x86_64/var/MonetDB/mTests_sql_test_BugTracker-2018
+# cmdline opt  gdk_debug = 553648138
+
+# 13:58:13 >  
+# 13:58:13 >  "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-9356" "--port=37083"
+# 13:58:13 >  
+
+
+# 13:58:13 >  
+# 13:58:13 >  "Done."
+# 13:58:13 >  
+
diff --git 
a/sql/test/BugTracker-2018/Tests/sqlitelogictest-in-query.Bug-6545.stable.out 
b/sql/test/BugTracker-2018/Tests/sqlitelogictest-in-query.Bug-6545.stable.out
new file mode 100644
--- /dev/null
+++ 
b/sql/test/BugTracker-2018/Tests/sqlitelogictest-in-query.Bug-6545.stable.out
@@ -0,0 +1,40 @@
+stdout of test 'sqlitelogictest-in-query.Bug-6545` in directory 
'sql/test/BugTracker-2018` itself:
+
+
+# 13:58:13 >  
+# 13:58:13 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=37083" "--set" 
"mapi_usock=/var/tmp/mtest-9356/.s.monetdb.37083" "--set" "monet_prompt=" 
"--forcemito" 
"--dbpath=/home/niels/scratch/rc-monetdb/Linux-x86_64/var/MonetDB/mTests_sql_test_BugTracker-2018"
+# 13:58:13 >  
+
+# MonetDB 5 server v11.29.0
+# This is an unreleased version
+# Serving database 'mTests_sql_test_BugTracker-2018', using 4 threads
+# Compiled for x86_64-unknown-linux-gnu/64bit with 128bit integers
+# Found 7.324 GiB available main-memory.
+# Copyright (c) 1993 - July 2008 CWI.
+# Copyright (c) August 2008 - 2018 MonetDB B.V., all rights reserved
+# Visit https://www.monetdb.org/ for further information
+# Listening for connection requests on mapi:monetdb://localhost.nes.nl:37083/
+# Listening for UNIX domain connection requests on 
mapi:monetdb:///var/tmp/mtest-9356/.s.monetdb.37083
+# MonetDB/GIS module loaded
+# MonetDB/SQL module loaded
+
+Ready.
+
+# 13:58:13 >  
+# 13:58:13 >  "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-9356" "--port=37083"
+# 13:58:13 >  
+
+#CREATE TABLE tab0(col0 INTEGER, col1 INTEGER, col2 INTEGER);
+#INSERT INTO tab0 VALUES (97,1,99),(15,81,47),(87,21,10);
+[ 3]
+#SELECT DISTINCT * FROM tab0 AS cor0 WHERE - 60 + ( + - col0 ) IN ( + - CAST ( 
35 AS INTEGER ) * + ( - 3 ) * - 91 * + + 87, - col0 * + col2 * 18 );
+% sys.cor0,sys.cor0,   sys.cor0 # table_name
+% col0,col1,   col2 # name
+% int, int,int # type
+% 1,   1,  1 # length
+#DROP TABLE tab0;
+
+# 13:58:13 >  
+# 13:58:13 >  "Done."
+# 13:58:13 >  
+
diff --git 
a/sql/test/BugTracker-2018/Tests/sqlitelogictest-in-with-division.Bug-6546.stable.err
 
b/sql/test/BugTracker-2018/Tests/sqlitelogictest-in-with-division.Bug-6546.stable.err
new file mode 100644
--- /dev/null
+++ 
b/sql/test/BugTracker-2018/Tests/sqlitelogictest-in-with-division.Bug-6546.stable.err
@@ -0,0 +1,34 @@
+stderr of test 'sqlitelogictest-in-with-division.Bug-6546` in directory 
'sql/test/BugTracker-2018` itself:
+
+
+# 13:58:13 >  
+# 13:58:13 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=37083" "--set" 

MonetDB: Mar2018 - Avoid doing double work.

2018-03-02 Thread Sjoerd Mullender
Changeset: c451206b6a83 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c451206b6a83
Modified Files:
sql/backends/monet5/rel_bin.c
Branch: Mar2018
Log Message:

Avoid doing double work.


diffs (25 lines):

diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c
--- a/sql/backends/monet5/rel_bin.c
+++ b/sql/backends/monet5/rel_bin.c
@@ -5335,20 +5335,10 @@ rel_deps(sql_allocator *sa, sql_rel *r, 
if (r->r)
return rel_deps(sa, r->r, refs, l);
} else if (r->flag == DDL_PSM) {
-   exps_deps(sa, r->exps, refs, l);
+   break;
} else if (r->flag <= DDL_ALTER_SEQ) {
if (r->l)
return rel_deps(sa, r->l, refs, l);
-   } else if (r->flag <= DDL_DROP_SEQ) {
-   exps_deps(sa, r->exps, refs, l);
-   } else if (r->flag <= DDL_TRANS) {
-   exps_deps(sa, r->exps, refs, l);
-   } else if (r->flag <= DDL_DROP_SCHEMA) {
-   exps_deps(sa, r->exps, refs, l);
-   } else if (r->flag <= DDL_ALTER_TABLE) {
-   exps_deps(sa, r->exps, refs, l);
-   } else if (r->flag <= DDL_ALTER_TABLE_SET_ACCESS) {
-   exps_deps(sa, r->exps, refs, l);
}
break;
}
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: Mar2018 - Whitespace.

2018-03-02 Thread Sjoerd Mullender
Changeset: f7044cc79a70 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f7044cc79a70
Modified Files:
sql/include/sql_relation.h
Branch: Mar2018
Log Message:

Whitespace.


diffs (209 lines):

diff --git a/sql/include/sql_relation.h b/sql/include/sql_relation.h
--- a/sql/include/sql_relation.h
+++ b/sql/include/sql_relation.h
@@ -29,21 +29,21 @@ typedef enum expression_type {
 #define CARD_MULTI 3
 
 typedef struct expression {
-   expression_type  type;  /* atom, cmp, func/aggr */
+   expression_type type;   /* atom, cmp, func/aggr */
const char *name;
const char *rname;
void *l;
void *r;
-   void *f;/* func's and aggr's */
+   void *f;/* func's and aggr's */
/* e_cmp may have have 2 arguments */
-   int  flag;  /* EXP_DISTINCT, NO_NIL, ASCENDING, cmp types */
-   unsigned char card; /* card 
+   int flag;   /* EXP_DISTINCT, NO_NIL, ASCENDING, cmp types */
+   unsigned char card; /* card
   (0 truth value!)
-  (1 atoms) 
+  (1 atoms)
   (2 aggr)
   (3 multi value)
*/
-   sql_subtype tpe;
+   sql_subtype tpe;
int used;   /* used for quick dead code removal */
void *p;/* properties for the optimizer */
 } sql_exp;
@@ -55,15 +55,15 @@ typedef struct expression {
 
 #define LEFT_JOIN  4
 
-#define APPLY_JOIN 8
-#define APPLY_LOJ  16
+#define APPLY_JOIN 8
+#define APPLY_LOJ  16
 #define APPLY_EXISTS   32
 #define APPLY_NOTEXISTS64
 
 /* ASCENDING > 15 else we have problems with cmp types */
 #define ASCENDING  16
 #define CMPMASK(ASCENDING-1)
-#define get_cmp(e) (e->flag)
+#define get_cmp(e) (e->flag)
 #define ANTISEL32
 #define HAS_NO_NIL 64
 #define EXP_INTERN 128
@@ -71,7 +71,7 @@ typedef struct expression {
 #define UPD_COMP   1
 #define UPD_LOCKED 2
 #define UPD_NO_CONSTRAINT  4
- 
+
 #define REL_PARTITION  8
 
 /* We need bit wise exclusive numbers as we merge the level also in the flag */
@@ -86,55 +86,55 @@ typedef struct expression {
 #define GET_PSM_LEVEL(level)   (level>>8)
 
 /* todo make enum */
-/* ordering is important! see rel2bin_ddl() */
-#define DDL_OUTPUT1
-#define DDL_LIST  2
-#define DDL_PSM   3
+/* ordering is important! see rel2bin_ddl() and rel_deps() */
+#define DDL_OUTPUT 1
+#define DDL_LIST   2
+#define DDL_PSM3
 
-#define DDL_CREATE_SEQ 5
-#define DDL_ALTER_SEQ  6
-#define DDL_DROP_SEQ   7
+#define DDL_CREATE_SEQ 5
+#define DDL_ALTER_SEQ  6
+#define DDL_DROP_SEQ   7
 
-#define DDL_RELEASE   11
-#define DDL_COMMIT12
-#define DDL_ROLLBACK  13
-#define DDL_TRANS 14
+#define DDL_RELEASE11
+#define DDL_COMMIT 12
+#define DDL_ROLLBACK   13
+#define DDL_TRANS  14
 
-#define DDL_CREATE_SCHEMA  21
-#define DDL_DROP_SCHEMA22
-#define DDL_CREATE_TABLE   23
-#define DDL_DROP_TABLE24
-#define DDL_CREATE_VIEW25
-#define DDL_DROP_VIEW  26
-#define DDL_DROP_CONSTRAINT27
-#define DDL_ALTER_TABLE28
-#define DDL_CREATE_TYPE29
-#define DDL_DROP_TYPE  30
-#define DDL_DROP_INDEX 31
+#define DDL_CREATE_SCHEMA  21
+#define DDL_DROP_SCHEMA22
+#define DDL_CREATE_TABLE   23
+#define DDL_DROP_TABLE 24
+#define DDL_CREATE_VIEW25
+#define DDL_DROP_VIEW  26
+#define DDL_DROP_CONSTRAINT27
+#define DDL_ALTER_TABLE28
+#define DDL_CREATE_TYPE29
+#define DDL_DROP_TYPE  30
+#define DDL_DROP_INDEX 31
 
-#define DDL_CREATE_FUNCTION41 
-#define DDL_DROP_FUNCTION  42 
-#define DDL_CREATE_TRIGGER 43 
-#define DDL_DROP_TRIGGER   44 
+#define DDL_CREATE_FUNCTION41
+#define DDL_DROP_FUNCTION  42
+#define DDL_CREATE_TRIGGER 43
+#define DDL_DROP_TRIGGER   44
 
-#define DDL_GRANT_ROLES51
-#define DDL_REVOKE_ROLES   52
-#define DDL_GRANT 53
-#define DDL_REVOKE54
-#define DDL_GRANT_FUNC55
-#define DDL_REVOKE_FUNC56
-#define DDL_CREATE_USER57
-#define DDL_DROP_USER 58

monetdb-java: embedded - Merged with default, updated copyright ...

2018-03-02 Thread Pedro Ferreira
Changeset: 5b13ccaba741 for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java?cmd=changeset;node=5b13ccaba741
Modified Files:
build.properties
build.xml
example/MJDBCTest.java
example/PreparedExample.java
example/SQLImport.java
example/SQLcopyinto.java
pom.xml
release.txt
src/main/java/nl/cwi/monetdb/client/JMonetDB.java
src/main/java/nl/cwi/monetdb/client/JdbcClient.java
src/main/java/nl/cwi/monetdb/jdbc/MonetBlob.java
src/main/java/nl/cwi/monetdb/jdbc/MonetClob.java
src/main/java/nl/cwi/monetdb/jdbc/MonetConnection.java
src/main/java/nl/cwi/monetdb/jdbc/MonetDataSource.java
src/main/java/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java
src/main/java/nl/cwi/monetdb/jdbc/MonetDriver.java.in
src/main/java/nl/cwi/monetdb/jdbc/MonetINET.java
src/main/java/nl/cwi/monetdb/jdbc/MonetPreparedStatement.java
src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java
src/main/java/nl/cwi/monetdb/jdbc/MonetSavepoint.java
src/main/java/nl/cwi/monetdb/jdbc/MonetStatement.java
src/main/java/nl/cwi/monetdb/jdbc/MonetURL.java
src/main/java/nl/cwi/monetdb/jdbc/MonetWrapper.java
src/main/java/nl/cwi/monetdb/mcl/connection/ControlCommands.java
src/main/java/nl/cwi/monetdb/mcl/connection/IMonetDBLanguage.java
src/main/java/nl/cwi/monetdb/mcl/connection/MCLException.java
src/main/java/nl/cwi/monetdb/mcl/connection/SenderThread.java

src/main/java/nl/cwi/monetdb/mcl/connection/helpers/BufferReallocator.java
src/main/java/nl/cwi/monetdb/mcl/connection/helpers/ChannelSecurity.java

src/main/java/nl/cwi/monetdb/mcl/connection/helpers/GregorianCalendarParser.java
src/main/java/nl/cwi/monetdb/mcl/connection/helpers/TimestampHelper.java
src/main/java/nl/cwi/monetdb/mcl/connection/mapi/AbstractSocket.java
src/main/java/nl/cwi/monetdb/mcl/connection/mapi/MapiConnection.java
src/main/java/nl/cwi/monetdb/mcl/connection/mapi/MapiLanguage.java
src/main/java/nl/cwi/monetdb/mcl/connection/mapi/OldMapiSocket.java
src/main/java/nl/cwi/monetdb/mcl/protocol/AbstractProtocol.java
src/main/java/nl/cwi/monetdb/mcl/protocol/ProtocolException.java
src/main/java/nl/cwi/monetdb/mcl/protocol/ServerResponses.java
src/main/java/nl/cwi/monetdb/mcl/protocol/StarterHeaders.java
src/main/java/nl/cwi/monetdb/mcl/protocol/TableResultHeaders.java

src/main/java/nl/cwi/monetdb/mcl/protocol/oldmapi/OldMapiDataBlockResponse.java
src/main/java/nl/cwi/monetdb/mcl/protocol/oldmapi/OldMapiProtocol.java

src/main/java/nl/cwi/monetdb/mcl/protocol/oldmapi/OldMapiServerResponseParser.java

src/main/java/nl/cwi/monetdb/mcl/protocol/oldmapi/OldMapiStartOfHeaderParser.java

src/main/java/nl/cwi/monetdb/mcl/protocol/oldmapi/OldMapiTableHeaderParser.java

src/main/java/nl/cwi/monetdb/mcl/protocol/oldmapi/OldMapiTupleLineParser.java

src/main/java/nl/cwi/monetdb/mcl/protocol/oldmapi/OldMapiTupleLineParserHelper.java

src/main/java/nl/cwi/monetdb/mcl/responses/AbstractDataBlockResponse.java
src/main/java/nl/cwi/monetdb/mcl/responses/AutoCommitResponse.java
src/main/java/nl/cwi/monetdb/mcl/responses/IIncompleteResponse.java
src/main/java/nl/cwi/monetdb/mcl/responses/IResponse.java
src/main/java/nl/cwi/monetdb/mcl/responses/ResultSetResponse.java
src/main/java/nl/cwi/monetdb/mcl/responses/SchemaResponse.java
src/main/java/nl/cwi/monetdb/mcl/responses/UpdateResponse.java
src/main/java/nl/cwi/monetdb/merovingian/Control.java
src/main/java/nl/cwi/monetdb/merovingian/MerovingianException.java
src/main/java/nl/cwi/monetdb/merovingian/SabaothDB.java
src/main/java/nl/cwi/monetdb/util/CmdLineOpts.java
src/main/java/nl/cwi/monetdb/util/Exporter.java
src/main/java/nl/cwi/monetdb/util/Extract.java
src/main/java/nl/cwi/monetdb/util/OptionsException.java
src/main/java/nl/cwi/monetdb/util/SQLExporter.java
src/main/java/nl/cwi/monetdb/util/SQLRestore.java
src/main/java/nl/cwi/monetdb/util/XMLExporter.java
tests/BugConcurrent_clients_SF_1504657.java
tests/BugConcurrent_sequences.java
tests/BugDatabaseMetaData_Bug_3356.java
tests/BugDecimalRound_Bug_3561.java
tests/BugExecuteUpdate_Bug_3350.java
tests/BugResultSetMetaData_Bug_6183.java
tests/BugSetQueryTimeout_Bug_3357.java
tests/Bug_Connect_as_voc_getMetaData_Failure_Bug_6388.java
tests/Bug_PrepStmtSetObject_CLOB_6349.java
tests/Bug_PrepStmtSetString_6382.java
tests/Test_Cautocommit.java
tests/Test_Cforkbomb.java
tests/Test_CisValid.java
tests/Test_Clargequery.java
tests/Test_Cmanycon.java
tests/Test_Creplysize.java
  

MonetDB: Mar2018 - Moved adding comments to the SQL backend.

2018-03-02 Thread Sjoerd Mullender
Changeset: 2ab5a4392e80 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2ab5a4392e80
Modified Files:
clients/Tests/MAL-signatures.stable.out
clients/Tests/MAL-signatures.stable.out.int128
clients/Tests/exports.stable.out
monetdb5/optimizer/opt_prelude.c
monetdb5/optimizer/opt_prelude.h
sql/backends/monet5/rel_bin.c
sql/backends/monet5/sql_cat.c
sql/backends/monet5/sql_cat.h
sql/backends/monet5/sql_statement.c
sql/backends/monet5/sql_upgrades.c
sql/backends/monet5/sqlcatalog.mal
sql/include/sql_relation.h
sql/scripts/97_comments.sql
sql/server/rel_schema.c
sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.32bit
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64
sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade/Tests/upgrade.stable.out
sql/test/emptydb-upgrade/Tests/upgrade.stable.out.32bit
sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
sql/test/emptydb/Tests/check.stable.out
sql/test/emptydb/Tests/check.stable.out.32bit
sql/test/emptydb/Tests/check.stable.out.int128
sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade/Tests/upgrade.stable.out
sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit
sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128
Branch: Mar2018
Log Message:

Moved adding comments to the SQL backend.
No need anymore for sys.no_op.


diffs (truncated from 894 to 300 lines):

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
@@ -10948,6 +10948,7 @@ Ready.
 [ "sqlcatalog","alter_set_table",  "pattern 
sqlcatalog.alter_set_table(sname:str, tnme:str, access:int):void ",
"SQLalter_set_table;",  "Catalog operation alter_set_table" ]
 [ "sqlcatalog","alter_table",  "pattern 
sqlcatalog.alter_table(sname:str, tname:str, tbl:ptr, action:int):void ",  
"SQLalter_table;",  "Catalog operation alter_table" ]
 [ "sqlcatalog","alter_user",   "pattern 
sqlcatalog.alter_user(sname:str, passwrd:str, enc:int, schema:str, 
oldpasswrd:str):void ", "SQLalter_user;",   "Catalog operation 
alter_user"  ]
+[ "sqlcatalog","comment_on",   "pattern 
sqlcatalog.comment_on(objid:int, remark:str):void ",   "SQLcomment_on;",   
"Catalog operation comment_on"  ]
 [ "sqlcatalog","create_function",  "pattern 
sqlcatalog.create_function(sname:str, fname:str, fcn:ptr):void ",  
"SQLcreate_function;",  "Catalog operation create_function" ]
 [ "sqlcatalog","create_role",  "pattern 
sqlcatalog.create_role(sname:str, role:str, grator:int):void ",
"SQLcreate_role;",  "Catalog operation create_role" ]
 [ "sqlcatalog","create_schema","pattern 
sqlcatalog.create_schema(sname:str, auth:str, ifnotexists:int, action:int):void 
", "SQLcreate_schema;","Catalog operation create_schema"   ]
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
@@ -15161,6 +15161,7 @@ Ready.
 [ "sqlcatalog","alter_set_table",  "pattern 
sqlcatalog.alter_set_table(sname:str, tnme:str, access:int):void ",
"SQLalter_set_table;",  "Catalog operation alter_set_table" ]
 [ "sqlcatalog","alter_table",  "pattern 
sqlcatalog.alter_table(sname:str, tname:str, tbl:ptr, action:int):void ",  
"SQLalter_table;",  "Catalog operation alter_table" ]
 [ "sqlcatalog","alter_user",   "pattern 
sqlcatalog.alter_user(sname:str, passwrd:str, enc:int, schema:str, 
oldpasswrd:str):void ", "SQLalter_user;",   "Catalog operation 
alter_user"  ]
+[ "sqlcatalog","comment_on",   "pattern 
sqlcatalog.comment_on(objid:int, remark:str):void ",   "SQLcomment_on;",   
"Catalog operation comment_on"  ]
 [ "sqlcatalog","create_function",  "pattern 
sqlcatalog.create_function(sname:str, fname:str, fcn:ptr):void ",  
"SQLcreate_function;",  "Catalog operation create_function" ]
 [ "sqlcatalog",

MonetDB: default - merged (again) with Mar2018

2018-03-02 Thread Niels Nes
Changeset: 763df5150f0f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=763df5150f0f
Modified Files:
clients/Tests/MAL-signatures.stable.out
clients/Tests/MAL-signatures.stable.out.int128
clients/Tests/exports.stable.out
monetdb5/optimizer/opt_prelude.c
monetdb5/optimizer/opt_prelude.h
sql/backends/monet5/rel_bin.c
sql/backends/monet5/sql_cat.c
sql/backends/monet5/sql_cat.h
sql/backends/monet5/sql_statement.c
sql/backends/monet5/sql_upgrades.c
sql/backends/monet5/sqlcatalog.mal
sql/include/sql_relation.h
sql/scripts/97_comments.sql
sql/server/rel_schema.c
sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.32bit
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64
sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade/Tests/upgrade.stable.out
sql/test/emptydb-upgrade/Tests/upgrade.stable.out.32bit
sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
sql/test/emptydb/Tests/check.stable.out
sql/test/emptydb/Tests/check.stable.out.32bit
sql/test/emptydb/Tests/check.stable.out.int128
sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade/Tests/upgrade.stable.out
sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit
sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128
Branch: default
Log Message:

merged (again) with Mar2018


diffs (truncated from 3288 to 300 lines):

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
@@ -10948,6 +10948,7 @@ Ready.
 [ "sqlcatalog","alter_set_table",  "pattern 
sqlcatalog.alter_set_table(sname:str, tnme:str, access:int):void ",
"SQLalter_set_table;",  "Catalog operation alter_set_table" ]
 [ "sqlcatalog","alter_table",  "pattern 
sqlcatalog.alter_table(sname:str, tname:str, tbl:ptr, action:int):void ",  
"SQLalter_table;",  "Catalog operation alter_table" ]
 [ "sqlcatalog","alter_user",   "pattern 
sqlcatalog.alter_user(sname:str, passwrd:str, enc:int, schema:str, 
oldpasswrd:str):void ", "SQLalter_user;",   "Catalog operation 
alter_user"  ]
+[ "sqlcatalog","comment_on",   "pattern 
sqlcatalog.comment_on(objid:int, remark:str):void ",   "SQLcomment_on;",   
"Catalog operation comment_on"  ]
 [ "sqlcatalog","create_function",  "pattern 
sqlcatalog.create_function(sname:str, fname:str, fcn:ptr):void ",  
"SQLcreate_function;",  "Catalog operation create_function" ]
 [ "sqlcatalog","create_role",  "pattern 
sqlcatalog.create_role(sname:str, role:str, grator:int):void ",
"SQLcreate_role;",  "Catalog operation create_role" ]
 [ "sqlcatalog","create_schema","pattern 
sqlcatalog.create_schema(sname:str, auth:str, ifnotexists:int, action:int):void 
", "SQLcreate_schema;","Catalog operation create_schema"   ]
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
@@ -15161,6 +15161,7 @@ Ready.
 [ "sqlcatalog","alter_set_table",  "pattern 
sqlcatalog.alter_set_table(sname:str, tnme:str, access:int):void ",
"SQLalter_set_table;",  "Catalog operation alter_set_table" ]
 [ "sqlcatalog","alter_table",  "pattern 
sqlcatalog.alter_table(sname:str, tname:str, tbl:ptr, action:int):void ",  
"SQLalter_table;",  "Catalog operation alter_table" ]
 [ "sqlcatalog","alter_user",   "pattern 
sqlcatalog.alter_user(sname:str, passwrd:str, enc:int, schema:str, 
oldpasswrd:str):void ", "SQLalter_user;",   "Catalog operation 
alter_user"  ]
+[ "sqlcatalog","comment_on",   "pattern 
sqlcatalog.comment_on(objid:int, remark:str):void ",   "SQLcomment_on;",   
"Catalog operation comment_on"  ]
 [ "sqlcatalog","create_function",  "pattern 
sqlcatalog.create_function(sname:str, fname:str, fcn:ptr):void ",  
"SQLcreate_function;",  "Catalog operation create_function" ]
 [ "sqlcatalog","create_role",  "pattern 

monetdb-java: embedded - Merge with default

2018-03-02 Thread Pedro Ferreira
Changeset: c23218fbc2e9 for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java?cmd=changeset;node=c23218fbc2e9
Modified Files:
src/main/java/nl/cwi/monetdb/jdbc/MonetResultSet.java
Branch: embedded
Log Message:

Merge with default

___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


monetdb-java: embedded - Indentation

2018-03-02 Thread Pedro Ferreira
Changeset: 4106c9ed7b6a for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java?cmd=changeset;node=4106c9ed7b6a
Modified Files:
src/main/java/nl/cwi/monetdb/mcl/connection/mapi/MapiConnection.java
Branch: embedded
Log Message:

Indentation


diffs (13 lines):

diff --git 
a/src/main/java/nl/cwi/monetdb/mcl/connection/mapi/MapiConnection.java 
b/src/main/java/nl/cwi/monetdb/mcl/connection/mapi/MapiConnection.java
--- a/src/main/java/nl/cwi/monetdb/mcl/connection/mapi/MapiConnection.java
+++ b/src/main/java/nl/cwi/monetdb/mcl/connection/mapi/MapiConnection.java
@@ -264,7 +264,8 @@ public class MapiConnection extends Mone
 * @throws SQLException if an IO exception or a database error occurs
 */
@Override
-   protected boolean executeNextQueryBatch(MonetStatement statement, 
List batch, int[] counts, BatchUpdateException e) throws SQLException {
+   protected boolean executeNextQueryBatch(MonetStatement statement, 
List batch, int[] counts,
+   
BatchUpdateException e) throws SQLException {
int offset = 0;
boolean first = true, error = false;
int builderSize = this.initialStringBuilderSize();
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: Mar2018 - Approve after changeset f74f0724d3b9.

2018-03-02 Thread Sjoerd Mullender
Changeset: 35cc1a5b221f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=35cc1a5b221f
Modified Files:
sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.32bit
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64
sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade/Tests/upgrade.stable.out
sql/test/emptydb-upgrade/Tests/upgrade.stable.out.32bit
sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
sql/test/emptydb/Tests/check.stable.out
sql/test/emptydb/Tests/check.stable.out.32bit
sql/test/emptydb/Tests/check.stable.out.int128
sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade/Tests/upgrade.stable.out
sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit
sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128
Branch: Mar2018
Log Message:

Approve after changeset f74f0724d3b9.


diffs (truncated from 2457 to 300 lines):

diff --git a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 
b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
--- a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
+++ b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
@@ -5521,41 +5521,42 @@ SELECT k.table_id AS key_table_id, k.id 
 
 GRANT SELECT ON sys.dependency_keys_on_foreignkeys TO PUBLIC;
 
-CREATE VIEW sys.dependency_tables_on_procdures AS
-SELECT t.schema_id AS table_schema_id, t.id AS table_id, t.name AS table_name, 
p.name, p.type AS proc_type, dep.depend_type AS depend_type
+CREATE VIEW sys.dependency_tables_on_procedures AS
+SELECT t.schema_id AS table_schema_id, t.id AS table_id, t.name AS table_name, 
p.id AS procedure_id, p.name AS procedure_name, p.type AS procedure_type, 
dep.depend_type AS depend_type
   FROM sys.functions AS p, sys.tables AS t, sys.dependencies AS dep
  WHERE t.id = dep.id AND p.id = dep.depend_id
AND dep.depend_type = 13 AND p.type = 2 AND t.type NOT IN (1, 11)
  ORDER BY t.name, t.schema_id, p.name, p.id;
 
-GRANT SELECT ON sys.dependency_tables_on_procdures TO PUBLIC;
+GRANT SELECT ON sys.dependency_tables_on_procedures TO PUBLIC;
 
-CREATE VIEW sys.dependency_views_on_procdures AS
-SELECT v.name AS view_name, p.name AS proc_name, p.type AS proc_type, 
dep.depend_type AS depend_type
+CREATE VIEW sys.dependency_views_on_procedures AS
+SELECT v.schema_id AS view_schema_id, v.id AS view_id, v.name AS view_name, 
p.id AS procedure_id, p.name AS procedure_name, p.type AS procedure_type, 
dep.depend_type AS depend_type
   FROM sys.functions AS p, sys.tables AS v, sys.dependencies AS dep
  WHERE v.id = dep.id AND p.id = dep.depend_id
AND dep.depend_type = 13 AND p.type = 2 AND v.type IN (1, 11)
  ORDER BY v.name, v.schema_id, p.name, p.id;
 
-GRANT SELECT ON sys.dependency_views_on_procdures TO PUBLIC;
+GRANT SELECT ON sys.dependency_views_on_procedures TO PUBLIC;
 
-CREATE VIEW sys.dependency_columns_on_procdures AS
-SELECT c.name AS column_name, p.name AS proc_name, p.type AS proc_type, 
dep.depend_type AS depend_type
+CREATE VIEW sys.dependency_columns_on_procedures AS
+SELECT c.table_id, c.id AS column_id, c.name AS column_name, p.id AS 
procedure_id, p.name AS procedure_name, p.type AS procedure_type, 
dep.depend_type AS depend_type
   FROM sys.functions AS p, sys.columns AS c, sys.dependencies AS dep
  WHERE c.id = dep.id AND p.id = dep.depend_id
AND dep.depend_type = 13 AND p.type = 2
  ORDER BY c.name, c.table_id, p.name, p.id;
 
-GRANT SELECT ON sys.dependency_columns_on_procdures TO PUBLIC;
+GRANT SELECT ON sys.dependency_columns_on_procedures TO PUBLIC;
 
-CREATE VIEW sys.dependency_functions_on_procdures AS
-SELECT p.name AS proc_name, p.type AS proc_type, f2.name AS func_name, f2.type 
AS func_type, dep.depend_type AS depend_type
-  FROM sys.functions AS p, sys.functions AS f2, sys.dependencies AS dep
- WHERE f2.id = dep.id AND p.id = dep.depend_id
+CREATE VIEW sys.dependency_functions_on_procedures AS
+SELECT f.schema_id AS function_schema_id, f.id AS function_id, f.name AS 
function_name, f.type AS function_type,
+   p.schema_id AS procedure_schema_id, p.id AS procedure_id, p.name AS 
procedure_name, p.type AS procedure_type, dep.depend_type AS depend_type
+  FROM sys.functions AS p, sys.functions AS f, sys.dependencies AS dep
+ WHERE 

MonetDB: default - merged with Mar2018

2018-03-02 Thread Niels Nes
Changeset: 14211c2d07ea for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=14211c2d07ea
Modified Files:
clients/mapiclient/mnc.c
monetdb5/modules/mal/mal_mapi.c
sql/ChangeLog.Mar2018
sql/backends/monet5/sql.c
sql/backends/monet5/sql_upgrades.c
sql/scripts/21_dependency_views.sql
sql/server/rel_select.c
sql/test/BugTracker-2016/Tests/storagemodel.sql
sql/test/BugTracker-2016/Tests/storagemodel.stable.out

sql/test/BugTracker-2017/Tests/crash_correlated_subqueries_in_select.Bug-6254.stable.out
sql/test/Dependencies/Tests/Dependencies.stable.out
sql/test/Dependencies/Tests/Dependencies.stable.out.int128
sql/test/Dependencies/Tests/dependency_loop.stable.out
sql/test/Dependencies/Tests/dependency_loop.stable.out.int128
tools/merovingian/daemon/connections.c
Branch: default
Log Message:

merged with Mar2018


diffs (truncated from 753 to 300 lines):

diff --git a/clients/mapiclient/mnc.c b/clients/mapiclient/mnc.c
--- a/clients/mapiclient/mnc.c
+++ b/clients/mapiclient/mnc.c
@@ -213,6 +213,7 @@ main(int argc, char **argv)
 #endif
 
if (connect(s, serv, sizeof(server)) == SOCKET_ERROR) {
+   closesocket(s);
fprintf(stderr,
 "initiating connection on socket failed: %s\n",
 strerror(errno));
@@ -253,13 +254,20 @@ main(int argc, char **argv)
 
server.sin_port = htons((unsigned short) ((port) & 0x));
if (bind(sock, (SOCKPTR) , length) == SOCKET_ERROR) {
+   closesocket(sock);
fprintf(stderr, "bind to port %d failed: %s\n",
port, strerror(errno));
exit(1);
}
 
-   listen(sock, 1);
+   if(listen(sock, 1) == -1) {
+   closesocket(sock);
+   fprintf(stderr, "failed to set socket to listen: %s\n",
+   strerror(errno));
+   exit(1);
+   }
if ((s = accept4(sock, (SOCKPTR)0, (socklen_t *)0, 
SOCK_CLOEXEC)) == INVALID_SOCKET) {
+   closesocket(sock);
fprintf(stderr, "failed to accept connection: %s\n",
strerror(errno));
exit(1);
@@ -288,8 +296,11 @@ main(int argc, char **argv)
/* on Windows: unsigned int,
 * elsewhere: size_t, but then
 * unsigned int shouldn't harm */
-   if (!write(1, buf, (unsigned int) len))
+   if (!write(1, buf, (unsigned int) len)) {
+   mnstr_destroy(in);
+   mnstr_destroy(out);
exit(2);
+   }
seenflush = 0;
} else {
/* flush or error */
diff --git a/monetdb5/modules/mal/mal_mapi.c b/monetdb5/modules/mal/mal_mapi.c
--- a/monetdb5/modules/mal/mal_mapi.c
+++ b/monetdb5/modules/mal/mal_mapi.c
@@ -158,6 +158,7 @@ doChallenge(void *data)
generateChallenge(challenge, 8, 12);
algos = mcrypt_getHashAlgorithms();
if(!algos) {
+   mnstr_printf(fdout, "!allocation failure in the server\n");
GDKsyserror("SERVERlisten:"MAL_MALLOC_FAIL);
close_stream(fdin);
close_stream(fdout);
@@ -278,6 +279,7 @@ doChallenge(void *data)
bs = bstream_create(fdin, 128 * BLOCK);
 
if (bs == NULL){
+   mnstr_printf(fdout, "!allocation failure in the server\n");
close_stream(fdin);
close_stream(fdout);
GDKfree(buf);
@@ -436,7 +438,7 @@ SERVERlistenThread(SOCKET *Sock)
{   int *c_d;
/* filedescriptor, put it in place of 
msgsock */
cmsg = CMSG_FIRSTHDR();
-   shutdown(msgsock, SHUT_WR);
+   (void) shutdown(msgsock, SHUT_WR);
closesocket(msgsock);
if (!cmsg || cmsg->cmsg_type != 
SCM_RIGHTS) {
fprintf(stderr, 
"!mal_mapi.listen: "
@@ -714,7 +716,20 @@ SERVERlisten(int *Port, str *Usockfile, 
 #endif
);
}
-   listen(sock, maxusers);
+   if(listen(sock, maxusers) == SOCKET_ERROR) {
+   closesocket(sock);
+   

monetdb-java: embedded - Move batch processing definition in ord...

2018-03-02 Thread Pedro Ferreira
Changeset: e6dc6196f470 for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java?cmd=changeset;node=e6dc6196f470
Modified Files:
src/main/java/nl/cwi/monetdb/jdbc/MonetConnection.java
src/main/java/nl/cwi/monetdb/jdbc/MonetStatement.java
src/main/java/nl/cwi/monetdb/mcl/connection/mapi/MapiConnection.java
Branch: embedded
Log Message:

Move batch processing definition in order to support it properly in a embedded 
connection


diffs (175 lines):

diff --git a/src/main/java/nl/cwi/monetdb/jdbc/MonetConnection.java 
b/src/main/java/nl/cwi/monetdb/jdbc/MonetConnection.java
--- a/src/main/java/nl/cwi/monetdb/jdbc/MonetConnection.java
+++ b/src/main/java/nl/cwi/monetdb/jdbc/MonetConnection.java
@@ -200,13 +200,26 @@ public abstract class MonetConnection ex
/**
 * Sends a control command to the server.
 *
-* @param commandID the command identifier according to {@link 
ControlCommands} listing
+* @param commandID The command identifier according to {@link 
ControlCommands} listing
 * @param data The integer to send according to the control command
 * @throws SQLException if an IO exception or a database error occurs
 */
public abstract void sendControlCommand(int commandID, int data) throws 
SQLException;
 
/**
+* Execute a batch of SQL query statements.
+*
+* @param statement The original MonetStatement where the batch comes 
from
+* @param batch The list of queries to execute
+* @param counts The return of the update statement of each input query
+* @param e An exception to be thrown if an error occurs
+* @return If all queries in the batch executed successfully or not
+* @throws SQLException if an IO exception or a database error occurs
+*/
+   protected abstract boolean executeNextQueryBatch(MonetStatement 
statement, List batch, int[] counts,
+   
 BatchUpdateException e) throws SQLException;
+
+   /**
 * Releases this Connection object's database and JDBC resources 
immediately instead of waiting for them to be
 * automatically released. All Statements created from this Connection 
will be closed when this method is called.
 *
diff --git a/src/main/java/nl/cwi/monetdb/jdbc/MonetStatement.java 
b/src/main/java/nl/cwi/monetdb/jdbc/MonetStatement.java
--- a/src/main/java/nl/cwi/monetdb/jdbc/MonetStatement.java
+++ b/src/main/java/nl/cwi/monetdb/jdbc/MonetStatement.java
@@ -186,43 +186,9 @@ public class MonetStatement extends Mone
return new int[0];
 
int[] counts = new int[batch.size()];
-   int offset = 0;
-   boolean first = true;
-   boolean error = false;
-
BatchUpdateException e = new 
BatchUpdateException("Error(s) occurred while executing the batch, see next 
SQLExceptions for details", "22000", counts);
-   int builderSize = connection.initialStringBuilderSize();
-   StringBuilder tmpBatch = new StringBuilder(builderSize);
-   String sep = 
connection.getLanguage().getQueryTemplateIndex(2);
-   for (int i = 0; i < batch.size(); i++) {
-   String tmp = batch.get(i);
-   if (sep.length() + tmp.length() > builderSize) {
-   // The thing is too big. Way too big. 
Since it won't be optimal anyway, just add it to whatever we
-   // have and continue.
-   if (!first) {
-   tmpBatch.append(sep);
-   }
-   tmpBatch.append(tmp);
-   // send and receive
-   error |= 
internalBatch(tmpBatch.toString(), counts, offset, i + 1, e);
-   offset = i;
-   tmpBatch.delete(0, tmpBatch.length());
-   first = true;
-   continue;
-   }
-   if (tmpBatch.length() + sep.length() + 
tmp.length() >= builderSize) {
-   // send and receive
-   error |= 
internalBatch(tmpBatch.toString(), counts, offset, i + 1, e);
-   offset = i;
-   tmpBatch.delete(0, tmpBatch.length());
-   first = true;
-   }
-   if (!first) tmpBatch.append(sep);
-   

MonetDB: Mar2018 - Move creation of sys.comments table to C.

2018-03-02 Thread Sjoerd Mullender
Changeset: c645018726e3 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c645018726e3
Modified Files:
sql/backends/monet5/sql_upgrades.c
sql/scripts/97_comments.sql
sql/server/sql_mvc.c
sql/server/sql_privileges.c
sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.32bit
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.powerpc64
sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade/Tests/upgrade.stable.out
sql/test/emptydb-upgrade/Tests/upgrade.stable.out.32bit
sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
sql/test/emptydb/Tests/check.stable.out
sql/test/emptydb/Tests/check.stable.out.32bit
sql/test/emptydb/Tests/check.stable.out.int128
sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade/Tests/upgrade.stable.out
sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit
sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128
Branch: Mar2018
Log Message:

Move creation of sys.comments table to C.
It's a core table, it should be created by the core.


diffs (truncated from 395 to 300 lines):

diff --git a/sql/backends/monet5/sql_upgrades.c 
b/sql/backends/monet5/sql_upgrades.c
--- a/sql/backends/monet5/sql_upgrades.c
+++ b/sql/backends/monet5/sql_upgrades.c
@@ -975,6 +975,21 @@ sql_update_mar2018(Client c, mvc *sql)
throw(SQL, "sql_update_mar2018", SQLSTATE(HY001) 
MAL_MALLOC_FAIL);
s = mvc_bind_schema(sql, "sys");
 
+   t = mvc_create_table(sql, s, "comments", tt_table, 1, SQL_PERSIST, 0, 
-1);
+   sql_column *col = mvc_create_column_(sql, t, "id", "int", 32);
+   sql_key *k = sql_trans_create_ukey(sql->session->tr, t, 
"comments_id_pkey", pkey);
+   k = sql_trans_create_kc(sql->session->tr, k, col);
+   k = sql_trans_key_done(sql->session->tr, k);
+   sql_trans_create_dependency(sql->session->tr, col->base.id, 
k->idx->base.id, INDEX_DEPENDENCY);
+   col = mvc_create_column_(sql, t, "remark", "varchar", 65000);
+   sql_trans_alter_null(sql->session->tr, col, 0);
+
+   sql_table *privs = mvc_bind_table(sql, s, "privileges");
+   int pub = ROLE_PUBLIC;
+   int p = PRIV_SELECT;
+   int zero = 0;
+   table_funcs.table_insert(sql->session->tr, privs, >base.id, , 
, , );
+
pos += snprintf(buf + pos, bufsize - pos, "set schema \"sys\";\n");
 
/* 21_dependency_views.sql */
@@ -1406,11 +1421,6 @@ sql_update_mar2018(Client c, mvc *sql)
 
/* 97_comments */
pos += snprintf(buf + pos, bufsize - pos,
-   "CREATE TABLE sys.comments (\n"
-   "id INTEGER NOT NULL PRIMARY KEY,\n"
-   "remark VARCHAR(65000) NOT NULL\n"
-   ");\n"
-   "GRANT SELECT ON sys.comments TO PUBLIC;\n"
"CREATE FUNCTION sys.function_type_keyword(ftype INT)\n"
"RETURNS VARCHAR(20)\n"
"BEGIN\n"
diff --git a/sql/scripts/97_comments.sql b/sql/scripts/97_comments.sql
--- a/sql/scripts/97_comments.sql
+++ b/sql/scripts/97_comments.sql
@@ -4,13 +4,6 @@
 --
 -- Copyright 1997 - July 2008 CWI, August 2008 - 2018 MonetDB B.V.
 
-CREATE TABLE sys.comments (
-id INTEGER NOT NULL PRIMARY KEY,
-remark VARCHAR(65000) NOT NULL
-);
-GRANT SELECT ON sys.comments TO PUBLIC;
-
-
 -- This table used to be in 99_system.sql but we need the systemfunctions table
 -- in sys.describe_all_objects and sys.commented_function_signatures defined 
below.
 CREATE TABLE sys.systemfunctions (function_id INTEGER NOT NULL);
diff --git a/sql/server/sql_mvc.c b/sql/server/sql_mvc.c
--- a/sql/server/sql_mvc.c
+++ b/sql/server/sql_mvc.c
@@ -158,8 +158,18 @@ mvc_init(int debug, store_type store, in
while ((rid = 
table_funcs.column_find_row(m->session->tr, depids, , NULL)), 
!is_oid_nil(rid)) {
table_funcs.column_update_value(m->session->tr, 
depids, rid, );
}
-   } else { 
+   } else {
+   sql_column *col;
+   sql_key *k;
sql_create_env(m, s);
+   t = mvc_create_table(m, s, "comments", tt_table, 1, 
SQL_PERSIST,