MonetDB: Apr2019 - Remove reference to test that doesn't exist.

2019-02-27 Thread Sjoerd Mullender
Changeset: af321f69cca6 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=af321f69cca6
Removed Files:
sql/test/BugTracker-2016/Tests/querylog.stable.err
sql/test/BugTracker-2016/Tests/querylog.stable.out
Modified Files:
sql/test/BugTracker-2016/Tests/All
Branch: Apr2019
Log Message:

Remove reference to test that doesn't exist.


diffs (128 lines):

diff --git a/sql/test/BugTracker-2016/Tests/All 
b/sql/test/BugTracker-2016/Tests/All
--- a/sql/test/BugTracker-2016/Tests/All
+++ b/sql/test/BugTracker-2016/Tests/All
@@ -40,7 +40,6 @@ RELEASE_SAVEPOINT_after_UPDATE_crash.Bug
 analyze-quotes-incorrectly.Bug-4021
 boolean-evaluation.Bug-4025
 HAVE_GEOM?nested-mal-with-multiplex.Bug-4035
-querylog
 trigger_bulk.Bug-4045
 innerjoin-leftjoin-or.Bug-4049
 create_merge_table_withdata.Bug-4041
diff --git a/sql/test/BugTracker-2016/Tests/querylog.stable.err 
b/sql/test/BugTracker-2016/Tests/querylog.stable.err
deleted file mode 100644
--- a/sql/test/BugTracker-2016/Tests/querylog.stable.err
+++ /dev/null
@@ -1,38 +0,0 @@
-stderr of test 'querylog` in directory 'sql/test/BugTracker-2016` itself:
-
-
-# 15:31:52 >  
-# 15:31:52 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=30257" "--set" 
"mapi_usock=/var/tmp/mtest-19785/.s.monetdb.30257" "--set" "monet_prompt=" 
"--forcemito" 
"--dbpath=/export/scratch1/mk/default//Linux/var/MonetDB/mTests_sql_test_BugTracker-2016"
-# 15:31:52 >  
-
-# builtin opt  gdk_dbpath = 
/export/scratch1/mk/default//Linux/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 = 30257
-# cmdline opt  mapi_usock = /var/tmp/mtest-19785/.s.monetdb.30257
-# cmdline opt  monet_prompt = 
-# cmdline opt  gdk_dbpath = 
/export/scratch1/mk/default//Linux/var/MonetDB/mTests_sql_test_BugTracker-2016
-# cmdline opt  gdk_debug = 536870922
-
-# 15:31:52 >  
-# 15:31:52 >  "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-19785" "--port=30257"
-# 15:31:52 >  
-
-MAPI  = (monetdb) /var/tmp/mtest-19785/.s.monetdb.30257
-QUERY = call sys.querylog_threshold(0);
-ERROR = !SELECT: no such unary operator 'querylog_threshold(tinyint)'
-
-
-# 15:31:52 >  
-# 15:31:52 >  "Done."
-# 15:31:52 >  
-
diff --git a/sql/test/BugTracker-2016/Tests/querylog.stable.out 
b/sql/test/BugTracker-2016/Tests/querylog.stable.out
deleted file mode 100644
--- a/sql/test/BugTracker-2016/Tests/querylog.stable.out
+++ /dev/null
@@ -1,69 +0,0 @@
-stdout of test 'querylog` in directory 'sql/test/BugTracker-2016` itself:
-
-
-# 15:31:52 >  
-# 15:31:52 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=30257" "--set" 
"mapi_usock=/var/tmp/mtest-19785/.s.monetdb.30257" "--set" "monet_prompt=" 
"--forcemito" 
"--dbpath=/export/scratch1/mk/default//Linux/var/MonetDB/mTests_sql_test_BugTracker-2016"
-# 15:31:52 >  
-
-# MonetDB 5 server v11.24.0
-# This is an unreleased version
-# Serving database 'mTests_sql_test_BugTracker-2016', using 8 threads
-# Compiled for x86_64-unknown-linux-gnu/64bit with 128bit integers
-# Found 15.589 GiB available main-memory.
-# Copyright (c) 1993-July 2008 CWI.
-# Copyright (c) August 2008-2016 MonetDB B.V., all rights reserved
-# Visit http://www.monetdb.org/ for further information
-# Listening for connection requests on mapi:monetdb://vienna.da.cwi.nl:30257/
-# Listening for UNIX domain connection requests on 
mapi:monetdb:///var/tmp/mtest-19785/.s.monetdb.30257
-# MonetDB/GIS module loaded
-# MonetDB/SQL module loaded
-
-Ready.
-
-# 15:31:52 >  
-# 15:31:52 >  "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-19785" "--port=30257"
-# 15:31:52 >  
-
-#select * from querylog_catalog;
-% .querylog_catalog,   .querylog_catalog,  .querylog_catalog,  
.querylog_catalog,  .querylog_catalog,  .querylog_catalog,  
.querylog_catalog,  .querylog_catalog # table_name
-% id,  owner,  defined,query,  pipe,   plan,   mal,optimize # name
-% oid, clob,   timestamp,  clob,   clob,   clob,   int,bigint # type
-% 3,   0,  26, 0,  0,  0,  1,  1 # length
-#select * from querylog_calls;
-% .querylog_calls, .querylog_calls,.querylog_calls,
.querylog_calls,.querylog_calls,.querylog_calls,
.querylog_calls,.querylog_calls,.querylog_calls # table_name
-% id,  start,  stop,   arguments,  tuples, run,ship,   cpu,io # 
name
-% oid, timestamp,  timestamp,  clob,   bigint, bigint, bigint, int,
int # type
-% 3,   26, 26, 0,  1,  

MonetDB: default - Merge with Apr2019 branch.

2019-02-27 Thread Sjoerd Mullender
Changeset: 17f37a59df61 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=17f37a59df61
Modified Files:
clients/Tests/MAL-signatures.stable.out
clients/Tests/MAL-signatures.stable.out.int128
clients/Tests/exports.stable.out
gdk/gdk_bbp.c
gdk/gdk_posix.h
gdk/gdk_private.h
gdk/gdk_system.c
gdk/gdk_system.h
gdk/gdk_utils.c
gdk/gdk_utils.h
monetdb5/extras/rapi/rapi.c
monetdb5/mal/mal.c
monetdb5/mal/mal_client.c
monetdb5/mal/mal_client.h
monetdb5/mal/mal_dataflow.c
monetdb5/mal/mal_profiler.c
monetdb5/mal/mal_readline.c
monetdb5/mal/mal_resource.c
monetdb5/mal/mal_scenario.c
monetdb5/modules/kernel/mmath.c
monetdb5/modules/mal/mal_mapi.c
monetdb5/modules/mal/tablet.c
monetdb5/modules/mal/tablet.h
monetdb5/modules/mal/wlc.c
monetdb5/modules/mal/wlc.mal
monetdb5/optimizer/opt_pipes.c
sql/backends/monet5/UDF/pyapi/pyapi.c
sql/backends/monet5/sql_cat.c
sql/backends/monet5/sql_scenario.c
sql/backends/monet5/sql_upgrades.c
sql/backends/monet5/vaults/lidar/lidar.c
sql/common/sql_list.c
sql/server/rel_schema.c
sql/storage/store.c
sql/test/merge-partitions/Tests/mergepart01.stable.err
sql/test/mergetables/Tests/mergeinit.sql
sql/test/mergetables/Tests/mergeinit.stable.err
tools/mserver/mserver5.c
Branch: default
Log Message:

Merge with Apr2019 branch.


diffs (truncated from 1760 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
@@ -12118,6 +12118,7 @@ Ready.
 [ "wlc",   "init", "pattern wlc.init():void ", "WLCinitCmd;",  "Test 
for running as master"]
 [ "wlc",   "master",   "pattern wlc.master():void ",   "WLCmaster;",   
"Activate the workload-capture-replay process"  ]
 [ "wlc",   "master",   "pattern wlc.master(path:str):void ",   
"WLCmaster;",   "Activate the workload-capture-replay process. Use a different 
location for the logs."  ]
+[ "wlc",   "prelude",  "command wlc.prelude():void ",  "WLCprelude;",  
"Initialization of wlc module"  ]
 [ "wlc",   "query","pattern wlc.query(q:str):void ",   
"WLCquery;","Keep the queries for replay."  ]
 [ "wlc",   "rename_column","pattern wlc.rename_column(sname:str, 
tname:str, cname:str, newnme:str):void ", "WLCgeneric;",  "Catalog operation 
rename_column"   ]
 [ "wlc",   "rename_schema","pattern wlc.rename_schema(sname:str, 
newnme:str):void ",   "WLCgeneric;",  "Catalog operation rename_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
@@ -16546,6 +16546,7 @@ Ready.
 [ "wlc",   "init", "pattern wlc.init():void ", "WLCinitCmd;",  "Test 
for running as master"]
 [ "wlc",   "master",   "pattern wlc.master():void ",   "WLCmaster;",   
"Activate the workload-capture-replay process"  ]
 [ "wlc",   "master",   "pattern wlc.master(path:str):void ",   
"WLCmaster;",   "Activate the workload-capture-replay process. Use a different 
location for the logs."  ]
+[ "wlc",   "prelude",  "command wlc.prelude():void ",  "WLCprelude;",  
"Initialization of wlc module"  ]
 [ "wlc",   "query","pattern wlc.query(q:str):void ",   
"WLCquery;","Keep the queries for replay."  ]
 [ "wlc",   "rename_column","pattern wlc.rename_column(sname:str, 
tname:str, cname:str, newnme:str):void ", "WLCgeneric;",  "Catalog operation 
rename_column"   ]
 [ "wlc",   "rename_schema","pattern wlc.rename_schema(sname:str, 
newnme:str):void ",   "WLCgeneric;",  "Catalog operation rename_schema" 
  ]
diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -459,19 +459,6 @@ int mo_system_config(opt **Set, int setl
 const oid oid_nil;
 DIR *opendir(const char *dirname);
 void print_trace(void);
-void pthread_mutex_destroy(pthread_mutex_t *);
-void pthread_mutex_init(pthread_mutex_t *, const pthread_mutexattr_t *);
-int pthread_mutex_lock(pthread_mutex_t *);
-int pthread_mutex_trylock(pthread_mutex_t *);
-int pthread_mutex_unlock(pthread_mutex_t *);
-void pthread_sema_destroy(pthread_sema_t *s);
-void pthread_sema_destroy(pthread_sema_t *s);
-void pthread_sema_down(pthread_sema_t *s);
-void pthread_sema_down(pthread_sema_t *s);
-void pthread_sema_init(pthread_sema_t *s, int flag, int nresources);
-void pthread_sema_init(pthread_sema_t *s, int flag, int nresources);
-void 

MonetDB: Apr2019 - Remove (unused) alarm references.

2019-02-27 Thread Sjoerd Mullender
Changeset: f4dc46d3dfc4 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f4dc46d3dfc4
Modified Files:
clients/Tests/MAL-signatures.stable.out
clients/Tests/MAL-signatures.stable.out.int128
clients/Tests/exports.stable.out
gdk/gdk_system.c
monetdb5/modules/kernel/alarm.c
monetdb5/modules/kernel/alarm.mal
Branch: Apr2019
Log Message:

Remove (unused) alarm references.
(grafted from d7555b8ffcba46ce34f1c0633ab3b7054569884b)


diffs (236 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
@@ -513,9 +513,7 @@ Ready.
 [ "aggr",  "variancep","command aggr.variancep(b:bat[:sht], 
g:bat[:oid], e:bat[:any_1]):bat[:dbl] ",   "AGGRvariancep3_dbl;",  "Grouped 
tail variance (population/biased) on sht"  ]
 [ "aggr",  "variancep","command aggr.variancep(b:bat[:any_2]):dbl ",   
"ALGvariancep;","Gives the variance of all tail values" ]
 [ "alarm", "ctime","unsafe command alarm.ctime():str ",
"ALARMctime;",  "Return the current time as a C-time string."   ]
-[ "alarm", "epilogue", "command alarm.epilogue():void ",   
"ALARMepilogue;",   "Finalize alarm module."]
 [ "alarm", "epoch","unsafe command alarm.epoch():int ",
"ALARMepoch;",  "Return the current time as UNIX epoch."]
-[ "alarm", "prelude",  "command alarm.prelude():void ",
"ALARMprelude;","Initialize alarm module."  ]
 [ "alarm", "sleep","unsafe command alarm.sleep(secs:int):void ",   
"ALARMsleep;",  "Sleep a few seconds"   ]
 [ "alarm", "time", "unsafe command alarm.time():int ", "ALARMtime;",   
"Return time in milliseconds."  ]
 [ "alarm", "usec", "unsafe command alarm.usec():lng ", "ALARMusec;",   
"Return time in microseconds."  ]
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
@@ -617,9 +617,7 @@ Ready.
 [ "aggr",  "variancep","command aggr.variancep(b:bat[:sht], 
g:bat[:oid], e:bat[:any_1]):bat[:dbl] ",   "AGGRvariancep3_dbl;",  "Grouped 
tail variance (population/biased) on sht"  ]
 [ "aggr",  "variancep","command aggr.variancep(b:bat[:any_2]):dbl ",   
"ALGvariancep;","Gives the variance of all tail values" ]
 [ "alarm", "ctime","unsafe command alarm.ctime():str ",
"ALARMctime;",  "Return the current time as a C-time string."   ]
-[ "alarm", "epilogue", "command alarm.epilogue():void ",   
"ALARMepilogue;",   "Finalize alarm module."]
 [ "alarm", "epoch","unsafe command alarm.epoch():int ",
"ALARMepoch;",  "Return the current time as UNIX epoch."]
-[ "alarm", "prelude",  "command alarm.prelude():void ",
"ALARMprelude;","Initialize alarm module."  ]
 [ "alarm", "sleep","unsafe command alarm.sleep(secs:int):void ",   
"ALARMsleep;",  "Sleep a few seconds"   ]
 [ "alarm", "time", "unsafe command alarm.time():int ", "ALARMtime;",   
"Return time in milliseconds."  ]
 [ "alarm", "usec", "unsafe command alarm.usec():lng ", "ALARMusec;",   
"Return time in microseconds."  ]
diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -690,13 +690,9 @@ str AGGRsum3_sht(bat *retval, const bat 
 str AGGRvariance3_dbl(bat *retval, const bat *bid, const bat *gid, const bat 
*eid);
 str AGGRvariancep3_dbl(bat *retval, const bat *bid, const bat *gid, const bat 
*eid);
 str ALARMctime(str *res);
-str ALARMepilogue(void *ret);
 str ALARMepoch(int *res);
-str ALARMprelude(void *ret);
-str ALARMsetalarm(void *res, int *secs, str *action);
 str ALARMsleep(void *res, int *secs);
 str ALARMtime(int *res);
-str ALARMtimers(bat *res, bat *actions);
 str ALARMusec(lng *ret);
 str ALGbandjoin(bat *r1, bat *r2, const bat *lid, const bat *rid, const bat 
*slid, const bat *srid, const void *low, const void *high, const bit *li, const 
bit *hi, const lng *estimate);
 str ALGcard(lng *result, const bat *bid);
diff --git a/gdk/gdk_system.c b/gdk/gdk_system.c
--- a/gdk/gdk_system.c
+++ b/gdk/gdk_system.c
@@ -536,7 +536,6 @@ MT_thread_sigmask(sigset_t *new_mask, si
 {
/* do not check for errors! */
sigdelset(new_mask, SIGQUIT);
-   sigdelset(new_mask, SIGALRM);
sigdelset(new_mask, SIGPROF);
pthread_sigmask(SIG_SETMASK, new_mask, orig_mask);
 }
diff --git a/monetdb5/modules/kernel/alarm.c b/monetdb5/modules/kernel/alarm.c
--- a/monetdb5/modules/kernel/alarm.c
+++ b/monetdb5/modules/kernel/alarm.c
@@ -25,106 +25,17 @@
 #include 
 #include 
 
-mal_export str ALARMprelude(void *ret);

MonetDB: Apr2019 - Cleanup of locks and semphores.

2019-02-27 Thread Sjoerd Mullender
Changeset: 7b9c41026683 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7b9c41026683
Modified Files:
clients/Tests/MAL-signatures.stable.out
clients/Tests/MAL-signatures.stable.out.int128
clients/Tests/exports.stable.out
gdk/gdk_bbp.c
gdk/gdk_posix.h
gdk/gdk_private.h
gdk/gdk_system.c
gdk/gdk_system.h
gdk/gdk_utils.c
gdk/gdk_utils.h
monetdb5/extras/rapi/rapi.c
monetdb5/mal/mal.c
monetdb5/mal/mal_client.c
monetdb5/mal/mal_client.h
monetdb5/mal/mal_dataflow.c
monetdb5/mal/mal_profiler.c
monetdb5/mal/mal_readline.c
monetdb5/mal/mal_resource.c
monetdb5/mal/mal_scenario.c
monetdb5/modules/kernel/mmath.c
monetdb5/modules/mal/mal_mapi.c
monetdb5/modules/mal/tablet.c
monetdb5/modules/mal/tablet.h
monetdb5/modules/mal/wlc.c
monetdb5/modules/mal/wlc.mal
monetdb5/optimizer/opt_pipes.c
sql/backends/monet5/UDF/pyapi/pyapi.c
sql/backends/monet5/sql_scenario.c
sql/backends/monet5/vaults/lidar/lidar.c
sql/common/sql_list.c
sql/storage/store.c
tools/mserver/mserver5.c
Branch: Apr2019
Log Message:

Cleanup of locks and semphores.
- Make sure all locks are initialized exactly once.
- Make having lock statistics possible even in non-debug mode.
- Also maintain lock statistics (if enabled) when using "native" locking.
- Get rid of fake pthread functions.
- Give locks and semaphores more unique names.


diffs (truncated from 1630 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
@@ -12120,6 +12120,7 @@ Ready.
 [ "wlc",   "init", "pattern wlc.init():void ", "WLCinitCmd;",  "Test 
for running as master"]
 [ "wlc",   "master",   "pattern wlc.master():void ",   "WLCmaster;",   
"Activate the workload-capture-replay process"  ]
 [ "wlc",   "master",   "pattern wlc.master(path:str):void ",   
"WLCmaster;",   "Activate the workload-capture-replay process. Use a different 
location for the logs."  ]
+[ "wlc",   "prelude",  "command wlc.prelude():void ",  "WLCprelude;",  
"Initialization of wlc module"  ]
 [ "wlc",   "query","pattern wlc.query(q:str):void ",   
"WLCquery;","Keep the queries for replay."  ]
 [ "wlc",   "rename_column","pattern wlc.rename_column(sname:str, 
tname:str, cname:str, newnme:str):void ", "WLCgeneric;",  "Catalog operation 
rename_column"   ]
 [ "wlc",   "rename_schema","pattern wlc.rename_schema(sname:str, 
newnme:str):void ",   "WLCgeneric;",  "Catalog operation rename_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
@@ -16548,6 +16548,7 @@ Ready.
 [ "wlc",   "init", "pattern wlc.init():void ", "WLCinitCmd;",  "Test 
for running as master"]
 [ "wlc",   "master",   "pattern wlc.master():void ",   "WLCmaster;",   
"Activate the workload-capture-replay process"  ]
 [ "wlc",   "master",   "pattern wlc.master(path:str):void ",   
"WLCmaster;",   "Activate the workload-capture-replay process. Use a different 
location for the logs."  ]
+[ "wlc",   "prelude",  "command wlc.prelude():void ",  "WLCprelude;",  
"Initialization of wlc module"  ]
 [ "wlc",   "query","pattern wlc.query(q:str):void ",   
"WLCquery;","Keep the queries for replay."  ]
 [ "wlc",   "rename_column","pattern wlc.rename_column(sname:str, 
tname:str, cname:str, newnme:str):void ", "WLCgeneric;",  "Catalog operation 
rename_column"   ]
 [ "wlc",   "rename_schema","pattern wlc.rename_schema(sname:str, 
newnme:str):void ",   "WLCgeneric;",  "Catalog operation rename_schema" 
  ]
diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -460,19 +460,6 @@ int mo_system_config(opt **Set, int setl
 const oid oid_nil;
 DIR *opendir(const char *dirname);
 void print_trace(void);
-void pthread_mutex_destroy(pthread_mutex_t *);
-void pthread_mutex_init(pthread_mutex_t *, const pthread_mutexattr_t *);
-int pthread_mutex_lock(pthread_mutex_t *);
-int pthread_mutex_trylock(pthread_mutex_t *);
-int pthread_mutex_unlock(pthread_mutex_t *);
-void pthread_sema_destroy(pthread_sema_t *s);
-void pthread_sema_destroy(pthread_sema_t *s);
-void pthread_sema_down(pthread_sema_t *s);
-void pthread_sema_down(pthread_sema_t *s);
-void pthread_sema_init(pthread_sema_t *s, int flag, int nresources);
-void pthread_sema_init(pthread_sema_t *s, int flag, int nresources);
-void 

MonetDB: subquery - merges with default

2019-02-27 Thread Niels Nes
Changeset: d9ee6f7cd7c9 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d9ee6f7cd7c9
Added Files:
sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.stable.out
sql/test/BugTracker-2019/Tests/subselect-count.Bug-6686.sql
sql/test/BugTracker-2019/Tests/subselect-count.Bug-6686.stable.err
sql/test/BugTracker-2019/Tests/subselect-count.Bug-6686.stable.out
sql/test/merge-partitions/Tests/mergepart29.py
sql/test/merge-partitions/Tests/mergepart29.stable.err
sql/test/merge-partitions/Tests/mergepart29.stable.out
Modified Files:
configure.ag
monetdb5/NT/M5server.bat
monetdb5/modules/atoms/xml.c
sql/backends/monet5/sql_cat.c
sql/server/rel_schema.c
sql/server/rel_updates.c
sql/server/sql_partition.c
sql/server/sql_privileges.c

sql/test/BugDay_2005-11-09_2.9.3/Tests/grant_public.SF-1114580.stable.err

sql/test/BugDay_2005-11-09_2.9.3/Tests/schema_change_grant_crash.SF-963620.stable.err
sql/test/BugTracker-2010/Tests/crashonschema.Bug-2547.stable.err

sql/test/BugTracker-2016/Tests/create_merge_table_withdata.Bug-4041.stable.err
sql/test/BugTracker-2019/Tests/All
sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.sql
sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.stable.err
sql/test/Users/Tests/grantPrivilegesNonDefaultRole.Bug-3365.stable.err
sql/test/merge-partitions/Tests/All
sql/test/merge-partitions/Tests/mergepart01.sql
sql/test/merge-partitions/Tests/mergepart01.stable.err
sql/test/merge-partitions/Tests/mergepart01.stable.out
sql/test/merge-partitions/Tests/mergepart02.stable.err
sql/test/merge-partitions/Tests/mergepart16.stable.err
sql/test/merge-partitions/Tests/mergepart21.sql
sql/test/merge-partitions/Tests/mergepart21.stable.err
sql/test/merge-partitions/Tests/mergepart21.stable.out
sql/test/merge-partitions/Tests/mergepart27.sql
sql/test/merge-partitions/Tests/mergepart27.stable.err
sql/test/merge-partitions/Tests/mergepart27.stable.out
testing/Mtest.py.in
tools/mserver/mserver5.1.in
Branch: subquery
Log Message:

merges with default


diffs (truncated from 2151 to 300 lines):

diff --git a/configure.ag b/configure.ag
--- a/configure.ag
+++ b/configure.ag
@@ -1473,7 +1473,7 @@ AS_VAR_IF([have_pthread], [no], [], [
LIBS="$LIBS $PTHREAD_LIBS"],
[
# ok, do old-fashioned stuff
-   CPPFLAGS="$CPPFLAGS $PTHREAD_INCS" # in case user did 
--with-pthreads
+   CPPFLAGS="$CPPFLAGS $PTHREAD_INCS" # in case user did 
--with-pthread
LIBS="$LIBS $PTHREAD_LIBS"
pthread_found=yes
AC_SEARCH_LIBS([sem_init], [pthreadGC2 pthreadGC1 
pthreadGC pthread],
@@ -1519,7 +1519,7 @@ AS_VAR_IF([have_pthread], [no],
[PTHREAD_LIBS=""
 PTHREAD_INCS=""
 AC_MSG_RESULT([no])
-AC_MSG_ERROR([MonetDB requires libpthread (try --with-pthreada)])],
+AC_MSG_ERROR([MonetDB requires libpthread (try --with-pthread)])],
[AC_DEFINE([HAVE_LIBPTHREAD], 1, [Define if you have the pthread 
library])
 PTHREAD_INCS="$PTHREAD_INCS $PTHREAD_EXTRA"
 # CPPFLAGS="$CPPFLAGS $PTHREAD_INCS"
diff --git a/monetdb5/NT/M5server.bat b/monetdb5/NT/M5server.bat
--- a/monetdb5/NT/M5server.bat
+++ b/monetdb5/NT/M5server.bat
@@ -43,8 +43,8 @@ set MONETDBPYTHONUDF=embedded_py=false
 
 if not exist "%MONETDB%\pyapi_locatepython3.bat" goto skippython3
 call "%MONETDB%\pyapi_locatepython3.bat"
+if not "%MONETDBPYTHONUDF%" == "embedded_py=false" goto skippython2
 :skippython3
-if not "%MONETDBPYTHONUDF%" == "embedded_py=false" goto skippython2
 if not exist "%MONETDB%\pyapi_locatepython2.bat" goto skippython2
 call "%MONETDB%\pyapi_locatepython2.bat"
 :skippython2
diff --git a/sql/backends/monet5/sql_cat.c b/sql/backends/monet5/sql_cat.c
--- a/sql/backends/monet5/sql_cat.c
+++ b/sql/backends/monet5/sql_cat.c
@@ -154,6 +154,8 @@ validate_alter_table_add_table(mvc *sql,
node *n = cs_find_id(>members, rpt->base.id);
const char *errtable = TABLE_TYPE_DESCRIPTION(rmt->type, 
rmt->properties);
 
+   if (ms->base.id != ps->base.id)
+   throw(SQL,call,SQLSTATE(42000) "ALTER TABLE: all 
partitions of '%s.%s' must be part of schema '%s'", msname, mtname, msname);
if (n && !update)
throw(SQL,call,SQLSTATE(42S02) "ALTER TABLE: table 
'%s.%s' is already part of the %s '%s.%s'", psname, ptname, errtable, msname, 
mtname);
if (!n && update)
diff --git a/sql/server/rel_schema.c b/sql/server/rel_schema.c
--- a/sql/server/rel_schema.c
+++ b/sql/server/rel_schema.c
@@ -668,9 +668,14 @@ 

MonetDB: subquery - fixes for any,all and in/not in handling

2019-02-27 Thread Niels Nes
Changeset: 1c6e7ba25ff6 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1c6e7ba25ff6
Added Files:
sql/test/subquery/Tests/all.stable.err
sql/test/subquery/Tests/all.stable.out
sql/test/subquery/Tests/any.stable.err
sql/test/subquery/Tests/any.stable.out
sql/test/subquery/Tests/any_all.stable.err
sql/test/subquery/Tests/any_all.stable.out
sql/test/subquery/Tests/scalar.stable.err
sql/test/subquery/Tests/scalar.stable.out
Modified Files:
sql/backends/monet5/rel_bin.c
sql/backends/monet5/sql.c
sql/backends/monet5/sql.h
sql/backends/monet5/sql.mal
sql/common/sql_types.c
sql/server/rel_exp.h
sql/server/rel_optimizer.c
sql/server/rel_rel.c
sql/server/rel_rel.h
sql/server/rel_select.c
sql/server/rel_select.h
sql/test/subquery/Tests/All
sql/test/subquery/Tests/subquery.stable.out
Branch: subquery
Log Message:

fixes for any,all and in/not in handling


diffs (truncated from 2071 to 300 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
@@ -706,6 +706,8 @@ exp_bin(backend *be, sql_exp *e, stmt *l
 
if (s && s->type == st_list)
s = bin_find_column(be, s, 
e->l?e->l:e->r, e->r);
+   if (s && s->nrcols > 0)
+   return stmt_fetch(be, s);
return s; /* ugh */
}
}
diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c
--- a/sql/backends/monet5/sql.c
+++ b/sql/backends/monet5/sql.c
@@ -3109,12 +3109,12 @@ SQLall(ptr ret, const bat *bid)
} else if (c == 1 || (b->tsorted && b->trevsorted)) {
BATiter bi = bat_iterator(b);
p = BUNtail(bi, 0);
-   } else if (b->tkey
-  || (b->ttype == TYPE_void && is_oid_nil(b->tseqbase))) {
+   } else if (b->ttype == TYPE_void && is_oid_nil(b->tseqbase)) {
p = ATOMnilptr(b->ttype);
} else {
BUN q, r;
int (*ocmp) (const void *, const void *);
+   const void *n = ATOMnilptr(b->ttype);
BATiter bi = bat_iterator(b);
r = BUNlast(b);
p = BUNtail(bi, 0);
@@ -3122,7 +3122,8 @@ SQLall(ptr ret, const bat *bid)
for (q = 1; q < r; q++) {
const void *c = BUNtail(bi, q);
if (ocmp(p, c) != 0) {
-   p = ATOMnilptr(b->ttype);
+   if (ocmp(n, c) != 0) 
+   p = ATOMnilptr(b->ttype);
break;
}
}
@@ -3162,6 +3163,172 @@ SQLall(ptr ret, const bat *bid)
 }
 
 str
+SQLnil(bit *ret, const bat *bid)
+{
+   BAT *b;
+
+   if ((b = BATdescriptor(*bid)) == NULL) {
+   throw(SQL, "all", SQLSTATE(HY005) "Cannot access column 
descriptor");
+   }
+   *ret = FALSE;
+   if (BATcount(b) == 0)
+   *ret = bit_nil;
+   if (BATcount(b) > 0) {
+   BUN q, o;
+   int (*ocmp) (const void *, const void *);
+   BATiter bi = bat_iterator(b);
+   const void *nilp = ATOMnilptr(b->ttype);
+
+   o = BUNlast(b);
+   ocmp = ATOMcompare(b->ttype);
+   for (q = 0; q < o; q++) {
+   const void *c = BUNtail(bi, q);
+   if (ocmp(nilp, c) == 0) {
+   *ret = TRUE;
+   break;
+   }
+   }
+   }
+   BBPunfix(b->batCacheid);
+   return MAL_SUCCEED;
+}
+
+str 
+SQLany_cmp(bit *ret, const bit *cmp, const bit *nl, const bit *nr)
+{
+   *ret = FALSE;
+   if (*nr == bit_nil) /* empty -> FALSE */
+   *ret = FALSE;
+   else if (*cmp == TRUE)
+   *ret = TRUE;
+   else if (*nl == TRUE || *nr == TRUE)
+   *ret = bit_nil;
+   return MAL_SUCCEED;
+}
+
+str 
+SQLall_cmp(bit *ret, const bit *cmp, const bit *nl, const bit *nr)
+{
+   *ret = TRUE;
+   if (*nr == bit_nil) /* empty -> TRUE */
+   *ret = TRUE;
+   else if (*cmp == FALSE)
+   *ret = FALSE;
+   else if (*nl == TRUE || *nr == TRUE)
+   *ret = bit_nil;
+   return MAL_SUCCEED;
+}
+
+str
+SQLanyequal(bit *ret, const bat *bid1, const bat *bid2)
+{
+   BAT *l, *r;
+   const void *p;
+
+   if ((l = BATdescriptor(*bid1)) == NULL) {
+   throw(SQL, "all", SQLSTATE(HY005) "Cannot access column 
descriptor");
+   }
+   if ((r = BATdescriptor(*bid2)) == NULL) {
+   BBPunfix(l->batCacheid);
+   

MonetDB: Apr2019 - Cannot add a view into a merge/remote/replica...

2019-02-27 Thread Pedro Ferreira
Changeset: ab619c893147 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ab619c893147
Modified Files:
sql/backends/monet5/sql_cat.c
sql/server/rel_schema.c
sql/test/merge-partitions/Tests/mergepart01.stable.err
sql/test/mergetables/Tests/mergeinit.sql
sql/test/mergetables/Tests/mergeinit.stable.err
Branch: Apr2019
Log Message:

Cannot add a view into a merge/remote/replica table. This fixes bug 6685.


diffs (78 lines):

diff --git a/sql/backends/monet5/sql_cat.c b/sql/backends/monet5/sql_cat.c
--- a/sql/backends/monet5/sql_cat.c
+++ b/sql/backends/monet5/sql_cat.c
@@ -154,8 +154,10 @@ validate_alter_table_add_table(mvc *sql,
node *n = cs_find_id(>members, rpt->base.id);
const char *errtable = TABLE_TYPE_DESCRIPTION(rmt->type, 
rmt->properties);
 
+   if (isView(rpt))
+   throw(SQL,call,SQLSTATE(42000) "ALTER TABLE: can't add 
a view into a %s", errtable);
if (ms->base.id != ps->base.id)
-   throw(SQL,call,SQLSTATE(42000) "ALTER TABLE: all 
partitions of '%s.%s' must be part of schema '%s'", msname, mtname, msname);
+   throw(SQL,call,SQLSTATE(42000) "ALTER TABLE: all 
children tables of '%s.%s' must be part of schema '%s'", msname, mtname, 
msname);
if (n && !update)
throw(SQL,call,SQLSTATE(42S02) "ALTER TABLE: table 
'%s.%s' is already part of the %s '%s.%s'", psname, ptname, errtable, msname, 
mtname);
if (!n && update)
diff --git a/sql/server/rel_schema.c b/sql/server/rel_schema.c
--- a/sql/server/rel_schema.c
+++ b/sql/server/rel_schema.c
@@ -1489,9 +1489,12 @@ sql_alter_table(mvc *sql, dlist *dl, dli
if (te->token == SQL_TABLE) {
symbol *extra = 
dl->h->next->next->next->data.sym;
 
+   if (isView(pt))
+   return sql_error(sql, 02, 
SQLSTATE(42000) "ALTER TABLE: can't add a view into a %s",
+
TABLE_TYPE_DESCRIPTION(t->type, t->properties));
if (strcmp(sname, nsname) != 0)
-   return sql_error(sql, 02, 
SQLSTATE(42000) "ALTER TABLE: all partitions of '%s.%s' must be part of "
-
"schema '%s'", sname, tname, sname);
+   return sql_error(sql, 02, 
SQLSTATE(42000) "ALTER TABLE: all children tables of '%s.%s' must be "
+"part 
of schema '%s'", sname, tname, sname);
if (!extra)
return rel_alter_table(sql->sa, 
DDL_ALTER_TABLE_ADD_TABLE, sname, tname, nsname, ntname, 0);
 
diff --git a/sql/test/merge-partitions/Tests/mergepart01.stable.err 
b/sql/test/merge-partitions/Tests/mergepart01.stable.err
--- a/sql/test/merge-partitions/Tests/mergepart01.stable.err
+++ b/sql/test/merge-partitions/Tests/mergepart01.stable.err
@@ -67,7 +67,7 @@ ERROR = !ALTER TABLE: unable to rename t
 CODE  = 2BM37
 MAPI  = (monetdb) /var/tmp/mtest-19335/.s.monetdb.38088
 QUERY = ALTER TABLE testme ADD TABLE other_schema.subtable1 AS PARTITION 
BETWEEN 4 AND 23; --error, all the tables must belong to the same schema
-ERROR = !ALTER TABLE: all partitions of 'sys.testme' must be part of schema 
'sys'
+ERROR = !ALTER TABLE: all children tables of 'sys.testme' must be part of 
schema 'sys'
 CODE  = 42000
 
 # 17:07:39 >  
diff --git a/sql/test/mergetables/Tests/mergeinit.sql 
b/sql/test/mergetables/Tests/mergeinit.sql
--- a/sql/test/mergetables/Tests/mergeinit.sql
+++ b/sql/test/mergetables/Tests/mergeinit.sql
@@ -1,12 +1,14 @@
 CREATE TABLE part1 ( x double, y double, z double);
 CREATE TABLE part2 ( x double, y double, z double);
+CREATE VIEW wrong as (select cast(1 as double), cast(2 as double), cast(3 as 
double));
 
 CREATE MERGE TABLE complete ( x double, y double, z double);
 
 ALTER TABLE complete ADD TABLE part1;
 ALTER TABLE complete ADD TABLE part2;
-
+ALTER TABLE complete ADD TABLE wrong; --error, cannot add views to a merge 
table
 
 DROP TABLE complete;
 DROP TABLE part1;
 DROP TABLE part2;
+DROP VIEW wrong;
diff --git a/sql/test/mergetables/Tests/mergeinit.stable.err 
b/sql/test/mergetables/Tests/mergeinit.stable.err
--- a/sql/test/mergetables/Tests/mergeinit.stable.err
+++ b/sql/test/mergetables/Tests/mergeinit.stable.err
@@ -30,6 +30,10 @@ stderr of test 'mergeinit` in directory 
 # 16:18:31 >  "mclient" "-lsql" "-ftest" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-10817" "--port=39884"
 # 16:18:31 >  
 
+MAPI  = (monetdb) /var/tmp/mtest-3039/.s.monetdb.32377
+QUERY = ALTER TABLE complete ADD TABLE wrong; --error, cannot add views to a 
merge table
+ERROR = !ALTER TABLE: can't add a 

MonetDB: Apr2019 - Check for errors properly!

2019-02-27 Thread Pedro Ferreira
Changeset: b4c7445473b6 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b4c7445473b6
Modified Files:
sql/backends/monet5/sql_upgrades.c
Branch: Apr2019
Log Message:

Check for errors properly!


diffs (53 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
@@ -1220,7 +1220,7 @@ sql_update_mar2018_sp1(Client c, mvc *sq
 static str
 sql_update_remote_tables(Client c, mvc *sql)
 {
-   res_table *output;
+   res_table *output = NULL;
str err = MAL_SUCCEED;
size_t bufsize = 1000, pos = 0;
char *buf;
@@ -1283,27 +1283,30 @@ sql_update_remote_tables(Client c, mvc *
v = BUNtvar(tbl_it, i);
u = BUNtvar(uri_it, i);
if (v == NULL || (*cmp)(v, nil) == 0 ||
-   u == NULL || (*cmp)(u, nil) == 0) {
-   BBPunfix(tbl->batCacheid);
-   BBPunfix(uri->batCacheid);
+   u == NULL || (*cmp)(u, nil) == 0)
goto bailout;
-   }
 
/* Since the loop might fail, it might be a 
good idea
 * to update the credentials as a second step
 */
remote_server_uri = mapiuri_uri((char *)u, 
sql->sa);
-   AUTHaddRemoteTableCredentials((char *)v, 
"monetdb", remote_server_uri, "monetdb", "monetdb", false);
+   if ((err = AUTHaddRemoteTableCredentials((char 
*)v, "monetdb", remote_server_uri, "monetdb", "monetdb", false)) != MAL_SUCCEED)
+   goto bailout;
}
}
-   BBPunfix(tbl->batCacheid);
-   BBPunfix(uri->batCacheid);
+   } else {
+   err = createException(SQL, "sql_update_remote_tables", 
SQLSTATE(HY002) RUNTIME_OBJECT_MISSING);
}
-   res_table_destroy(output);
 
-  bailout:
+bailout:
+   if (tbl)
+   BBPunfix(tbl->batCacheid);
+   if (uri)
+   BBPunfix(uri->batCacheid);
+   if (output)
+   res_table_destroy(output);
GDKfree(buf);
-   return err;
+   return err; /* usually MAL_SUCCEED */
 }
 
 static str
___
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list


MonetDB: translate-scripts - Merge with default.

2019-02-27 Thread Pedro Ferreira
Changeset: 20cb185a8578 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=20cb185a8578
Added Files:
sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.stable.out
sql/test/BugTracker-2019/Tests/subselect-count.Bug-6686.sql
sql/test/BugTracker-2019/Tests/subselect-count.Bug-6686.stable.err
sql/test/BugTracker-2019/Tests/subselect-count.Bug-6686.stable.out
sql/test/merge-partitions/Tests/mergepart29.py
sql/test/merge-partitions/Tests/mergepart29.stable.err
sql/test/merge-partitions/Tests/mergepart29.stable.out
Modified Files:
configure.ag
monetdb5/NT/M5server.bat
monetdb5/modules/atoms/xml.c
sql/backends/monet5/sql_cat.c
sql/backends/monet5/sql_upgrades.c
sql/server/rel_schema.c
sql/server/rel_updates.c
sql/server/sql_partition.c
sql/server/sql_privileges.c

sql/test/BugDay_2005-11-09_2.9.3/Tests/grant_public.SF-1114580.stable.err

sql/test/BugDay_2005-11-09_2.9.3/Tests/schema_change_grant_crash.SF-963620.stable.err
sql/test/BugTracker-2010/Tests/crashonschema.Bug-2547.stable.err

sql/test/BugTracker-2016/Tests/create_merge_table_withdata.Bug-4041.stable.err
sql/test/BugTracker-2019/Tests/All
sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.sql
sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.stable.err
sql/test/Users/Tests/grantPrivilegesNonDefaultRole.Bug-3365.stable.err
sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128

sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.powerpc64.int128
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.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/merge-partitions/Tests/All
sql/test/merge-partitions/Tests/mergepart01.sql
sql/test/merge-partitions/Tests/mergepart01.stable.err
sql/test/merge-partitions/Tests/mergepart01.stable.out
sql/test/merge-partitions/Tests/mergepart02.stable.err
sql/test/merge-partitions/Tests/mergepart16.stable.err
sql/test/merge-partitions/Tests/mergepart21.sql
sql/test/merge-partitions/Tests/mergepart21.stable.err
sql/test/merge-partitions/Tests/mergepart21.stable.out
sql/test/merge-partitions/Tests/mergepart27.sql
sql/test/merge-partitions/Tests/mergepart27.stable.err
sql/test/merge-partitions/Tests/mergepart27.stable.out
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-hge/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade/Tests/upgrade.stable.out
sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit
testing/Mtest.py.in
tools/mserver/mserver5.1.in
Branch: translate-scripts
Log Message:

Merge with default.


diffs (truncated from 132770 to 300 lines):

diff --git a/configure.ag b/configure.ag
--- a/configure.ag
+++ b/configure.ag
@@ -1473,7 +1473,7 @@ AS_VAR_IF([have_pthread], [no], [], [
LIBS="$LIBS $PTHREAD_LIBS"],
[
# ok, do old-fashioned stuff
-   CPPFLAGS="$CPPFLAGS $PTHREAD_INCS" # in case user did 
--with-pthreads
+   CPPFLAGS="$CPPFLAGS $PTHREAD_INCS" # in case user did 
--with-pthread
LIBS="$LIBS $PTHREAD_LIBS"
pthread_found=yes
AC_SEARCH_LIBS([sem_init], [pthreadGC2 pthreadGC1 
pthreadGC pthread],
@@ -1519,7 +1519,7 @@ AS_VAR_IF([have_pthread], [no],
[PTHREAD_LIBS=""
 PTHREAD_INCS=""
 AC_MSG_RESULT([no])
-AC_MSG_ERROR([MonetDB requires libpthread (try --with-pthreada)])],
+AC_MSG_ERROR([MonetDB requires libpthread (try --with-pthread)])],
[AC_DEFINE([HAVE_LIBPTHREAD], 1, [Define if you have the pthread 
library])
 PTHREAD_INCS="$PTHREAD_INCS $PTHREAD_EXTRA"
 # CPPFLAGS="$CPPFLAGS $PTHREAD_INCS"
diff --git a/monetdb5/NT/M5server.bat b/monetdb5/NT/M5server.bat
--- a/monetdb5/NT/M5server.bat
+++ b/monetdb5/NT/M5server.bat
@@ -43,8 +43,8 @@ set MONETDBPYTHONUDF=embedded_py=false
 
 if not exist "%MONETDB%\pyapi_locatepython3.bat" goto skippython3
 call "%MONETDB%\pyapi_locatepython3.bat"
+if not "%MONETDBPYTHONUDF%" == "embedded_py=false" goto skippython2
 :skippython3
-if not "%MONETDBPYTHONUDF%" == "embedded_py=false" goto skippython2
 if not exist "%MONETDB%\pyapi_locatepython2.bat" goto 

MonetDB: default - Merge with Apr2019 branch.

2019-02-27 Thread Pedro Ferreira
Changeset: 60e80d6f6137 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=60e80d6f6137
Added Files:
sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.stable.out
sql/test/BugTracker-2019/Tests/subselect-count.Bug-6686.sql
sql/test/BugTracker-2019/Tests/subselect-count.Bug-6686.stable.err
sql/test/BugTracker-2019/Tests/subselect-count.Bug-6686.stable.out
Modified Files:
sql/server/rel_schema.c
sql/server/rel_updates.c
sql/test/BugTracker-2019/Tests/All
sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.sql
sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.stable.err
sql/test/merge-partitions/Tests/mergepart01.sql
sql/test/merge-partitions/Tests/mergepart01.stable.err
sql/test/merge-partitions/Tests/mergepart01.stable.out
Branch: default
Log Message:

Merge with Apr2019 branch.


diffs (truncated from 469 to 300 lines):

diff --git a/sql/server/rel_schema.c b/sql/server/rel_schema.c
--- a/sql/server/rel_schema.c
+++ b/sql/server/rel_schema.c
@@ -2622,10 +2622,10 @@ rel_set_table_schema(mvc *sql, char* old
return sql_error(sql, 02, SQLSTATE(42000) "ALTER TABLE: not 
possible to change a temporary table schema");
if (isView(ot))
return sql_error(sql, 02, SQLSTATE(42000) "ALTER TABLE: not 
possible to change schema of a view");
-   if (isMergeTable(ot))
-   return sql_error(sql, 02, SQLSTATE(42000) "ALTER TABLE: not 
possible to change schema of a merge table");
if (mvc_check_dependency(sql, ot->base.id, TABLE_DEPENDENCY, NULL))
return sql_error(sql, 02, SQLSTATE(2BM37) "ALTER TABLE: unable 
to set schema of table '%s' (there are database objects which depend on it)", 
tname);
+   if (ot->members.set || ot->triggers.set)
+   return sql_error(sql, 02, SQLSTATE(2BM37) "ALTER TABLE: unable 
to set schema of table '%s' (there are database objects which depend on it)", 
tname);
if (!(ns = mvc_bind_schema(sql, new_schema)))
return sql_error(sql, 02, SQLSTATE(42S02) "ALTER TABLE: no such 
schema '%s'", new_schema);
if (!mvc_schema_privs(sql, ns))
@@ -2639,9 +2639,31 @@ rel_set_table_schema(mvc *sql, char* old
return NULL;
 
for (n = ot->columns.set->h; n; n = n->next) {
-   sql_column *oc = (sql_column*) n->data;
-   if (!mvc_copy_column(sql, nt, oc))
+   sql_column *nc, *oc = (sql_column*) n->data;
+   if (!(nc = mvc_copy_column(sql, nt, oc)))
return sql_error(sql, 02, SQLSTATE(42000) "ALTER TABLE: 
%s_%s_%s conflicts", ns->base.name, nt->base.name, oc->base.name);
+   if (isPartitionedByColumnTable(ot) && oc->base.id == 
ot->part.pcol->base.id)
+   nt->part.pcol = nc;
+   }
+   if (isPartitionedByExpressionTable(ot)) {
+   char *err = NULL;
+   sql_allocator *oa = sql->sa;
+
+   nt->part.pexp->exp = sa_strdup(sql->session->tr->sa, 
ot->part.pexp->exp);
+
+   sql->sa = sa_create();
+   if (!sql->sa) {
+   sql->sa = oa;
+   return sql_error(sql, 02, SQLSTATE(HY001) 
MAL_MALLOC_FAIL);
+   }
+
+   err = bootstrap_partition_expression(sql, sql->session->tr->sa, 
nt, 0);
+   sa_destroy(sql->sa);
+   sql->sa = NULL;
+   if (err) {
+   sql->sa = oa;
+   return sql_error(sql, 02, "%s", err);
+   }
}
 
if (ot->idxs.set)
@@ -2652,13 +2674,12 @@ rel_set_table_schema(mvc *sql, char* old
for (n = ot->keys.set->h; n; n = n->next)
mvc_copy_key(sql, nt, (sql_key*) n->data);
 
-   if (ot->members.set || ot->triggers.set)
-   return sql_error(sql, 02, SQLSTATE(2BM37) "ALTER TABLE: unable 
to set schema of table '%s' (there are database objects which depend on it)", 
tname);
-
l = rel_table(sql, DDL_CREATE_TABLE, new_schema, nt, 0);
-   inserts = rel_basetable(sql, ot, tname);
-   inserts = rel_project(sql->sa, inserts, rel_projections(sql, inserts, 
NULL, 1, 0));
-   l = rel_insert(sql, l, inserts);
+   if (!(isMergeTable(ot) || isRemote(ot) || isReplicaTable(ot))) {
+   inserts = rel_basetable(sql, ot, tname);
+   inserts = rel_project(sql->sa, inserts, rel_projections(sql, 
inserts, NULL, 1, 0));
+   l = rel_insert(sql, l, inserts);
+   }
r = rel_drop(sql->sa, DDL_DROP_TABLE, old_schema, tname, 0, 0);
return rel_list(sql->sa, l, r);
 }
diff --git a/sql/server/rel_updates.c b/sql/server/rel_updates.c
--- a/sql/server/rel_updates.c
+++ b/sql/server/rel_updates.c
@@ -410,6 +410,8 @@ insert_allowed(mvc *sql, sql_table *t, c
return sql_error(sql, 02, 

MonetDB: Apr2019 - Merge with Aug2018 branch.

2019-02-27 Thread Pedro Ferreira
Changeset: a3bb2be8928c for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a3bb2be8928c
Added Files:
sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.stable.out
sql/test/BugTracker-2019/Tests/subselect-count.Bug-6686.sql
sql/test/BugTracker-2019/Tests/subselect-count.Bug-6686.stable.err
sql/test/BugTracker-2019/Tests/subselect-count.Bug-6686.stable.out
Modified Files:
sql/server/rel_updates.c
sql/test/BugTracker-2019/Tests/All
sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.sql
sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.stable.err
Branch: Apr2019
Log Message:

Merge with Aug2018 branch.


diffs (truncated from 348 to 300 lines):

diff --git a/sql/server/rel_updates.c b/sql/server/rel_updates.c
--- a/sql/server/rel_updates.c
+++ b/sql/server/rel_updates.c
@@ -410,6 +410,8 @@ insert_allowed(mvc *sql, sql_table *t, c
return sql_error(sql, 02, SQLSTATE(42000) "%s: %s partitioned 
table '%s' has no partitions set", op, isListPartitionTable(t)?"list":"range", 
tname);
} else if (isRemote(t)) {
return sql_error(sql, 02, SQLSTATE(42000) "%s: cannot %s remote 
table '%s' from this server at the moment", op, opname, tname);
+   } else if (isReplicaTable(t)) {
+   return sql_error(sql, 02, SQLSTATE(42000) "%s: cannot %s 
replica table '%s'", op, opname, tname);
} else if (isStream(t)) {
return sql_error(sql, 02, SQLSTATE(42000) "%s: cannot %s stream 
'%s'", op, opname, tname);
} else if (t->access == TABLE_READONLY) {
@@ -447,6 +449,8 @@ update_allowed(mvc *sql, sql_table *t, c
return sql_error(sql, 02, SQLSTATE(42000) "%s: %s partitioned 
table '%s' has no partitions set", op, isListPartitionTable(t)?"list":"range", 
tname);
} else if (isRemote(t)) {
return sql_error(sql, 02, SQLSTATE(42000) "%s: cannot %s remote 
table '%s' from this server at the moment", op, opname, tname);
+   } else if (isReplicaTable(t)) {
+   return sql_error(sql, 02, SQLSTATE(42000) "%s: cannot %s 
replica table '%s'", op, opname, tname);
} else if (isStream(t)) {
return sql_error(sql, 02, SQLSTATE(42000) "%s: cannot %s stream 
'%s'", op, opname, tname);
} else if (t->access == TABLE_READONLY || t->access == 
TABLE_APPENDONLY) {
diff --git a/sql/test/BugTracker-2019/Tests/All 
b/sql/test/BugTracker-2019/Tests/All
--- a/sql/test/BugTracker-2019/Tests/All
+++ b/sql/test/BugTracker-2019/Tests/All
@@ -1,3 +1,4 @@
 copy-into-from-stdin-empty-line.Bug-6669
 subselect-contradiction.Bug-6683
 insert-replica-table.Bug-6684
+subselect-count.Bug-6686
diff --git a/sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.sql 
b/sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.sql
--- a/sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.sql
+++ b/sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.sql
@@ -1,4 +1,7 @@
-start transaction;
 create replica table t1 (a int);
 insert into t1 values (1);
-rollback;
+update t1 set a = 2;
+delete from t1;
+insert into t1 values (1);
+truncate t1;
+drop table t1;
diff --git 
a/sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.stable.err 
b/sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.stable.err
--- a/sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.stable.err
+++ b/sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.stable.err
@@ -28,6 +28,26 @@ stderr of test 'insert-replica-table.Bug
 # 09:30:33 >  "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-22747" "--port=38129"
 # 09:30:33 >  
 
+MAPI  = (monetdb) /var/tmp/mtest-2676/.s.monetdb.31160
+QUERY = insert into t1 values (1);
+ERROR = !INSERT INTO: cannot insert into replica table 't1'
+CODE  = 42000
+MAPI  = (monetdb) /var/tmp/mtest-2676/.s.monetdb.31160
+QUERY = update t1 set a = 2;
+ERROR = !UPDATE: cannot update replica table 't1'
+CODE  = 42000
+MAPI  = (monetdb) /var/tmp/mtest-2676/.s.monetdb.31160
+QUERY = delete from t1;
+ERROR = !DELETE FROM: cannot delete from replica table 't1'
+CODE  = 42000
+MAPI  = (monetdb) /var/tmp/mtest-2676/.s.monetdb.31160
+QUERY = insert into t1 values (1);
+ERROR = !INSERT INTO: cannot insert into replica table 't1'
+CODE  = 42000
+MAPI  = (monetdb) /var/tmp/mtest-2676/.s.monetdb.31160
+QUERY = truncate t1;
+ERROR = !TRUNCATE: cannot truncate replica table 't1'
+CODE  = 42000
 
 # 09:30:33 >  
 # 09:30:33 >  "Done."
diff --git 
a/sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.stable.out 
b/sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.stable.out
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.stable.out
@@ -0,0 +1,73 @@
+stdout of test 'insert-replica-table.Bug-6684` in directory 
'sql/test/BugTracker-2019` itself:
+
+
+# 09:32:22 >  

MonetDB: Aug2018 - Disable any insert/update/delete statements o...

2019-02-27 Thread Pedro Ferreira
Changeset: a540ef19db1b for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a540ef19db1b
Added Files:
sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.stable.out
Modified Files:
sql/server/rel_updates.c
sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.sql
sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.stable.err
Branch: Aug2018
Log Message:

Disable any insert/update/delete statements on replica tables. This fixes bug 
6684.


diffs (142 lines):

diff --git a/sql/server/rel_updates.c b/sql/server/rel_updates.c
--- a/sql/server/rel_updates.c
+++ b/sql/server/rel_updates.c
@@ -408,6 +408,8 @@ insert_allowed(mvc *sql, sql_table *t, c
return sql_error(sql, 02, SQLSTATE(42000) "%s: cannot %s merge 
table '%s'", op, opname, tname);
} else if (isRemote(t)) {
return sql_error(sql, 02, SQLSTATE(42000) "%s: cannot %s remote 
table '%s' from this server at the moment", op, opname, tname);
+   } else if (isReplicaTable(t)) {
+   return sql_error(sql, 02, SQLSTATE(42000) "%s: cannot %s 
replica table '%s'", op, opname, tname);
} else if (isStream(t)) {
return sql_error(sql, 02, SQLSTATE(42000) "%s: cannot %s stream 
'%s'", op, opname, tname);
} else if (t->access == TABLE_READONLY) {
@@ -441,6 +443,8 @@ update_allowed(mvc *sql, sql_table *t, c
return sql_error(sql, 02, SQLSTATE(42000) "%s: cannot %s merge 
table '%s'", op, opname, tname);
} else if (isRemote(t)) {
return sql_error(sql, 02, SQLSTATE(42000) "%s: cannot %s remote 
table '%s' from this server at the moment", op, opname, tname);
+   } else if (isReplicaTable(t)) {
+   return sql_error(sql, 02, SQLSTATE(42000) "%s: cannot %s 
replica table '%s'", op, opname, tname);
} else if (isStream(t)) {
return sql_error(sql, 02, SQLSTATE(42000) "%s: cannot %s stream 
'%s'", op, opname, tname);
} else if (t->access == TABLE_READONLY || t->access == 
TABLE_APPENDONLY) {
diff --git a/sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.sql 
b/sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.sql
--- a/sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.sql
+++ b/sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.sql
@@ -1,4 +1,7 @@
-start transaction;
 create replica table t1 (a int);
 insert into t1 values (1);
-rollback;
+update t1 set a = 2;
+delete from t1;
+insert into t1 values (1);
+truncate t1;
+drop table t1;
diff --git 
a/sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.stable.err 
b/sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.stable.err
--- a/sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.stable.err
+++ b/sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.stable.err
@@ -28,6 +28,26 @@ stderr of test 'insert-replica-table.Bug
 # 09:30:33 >  "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-22747" "--port=38129"
 # 09:30:33 >  
 
+MAPI  = (monetdb) /var/tmp/mtest-2676/.s.monetdb.31160
+QUERY = insert into t1 values (1);
+ERROR = !INSERT INTO: cannot insert into replica table 't1'
+CODE  = 42000
+MAPI  = (monetdb) /var/tmp/mtest-2676/.s.monetdb.31160
+QUERY = update t1 set a = 2;
+ERROR = !UPDATE: cannot update replica table 't1'
+CODE  = 42000
+MAPI  = (monetdb) /var/tmp/mtest-2676/.s.monetdb.31160
+QUERY = delete from t1;
+ERROR = !DELETE FROM: cannot delete from replica table 't1'
+CODE  = 42000
+MAPI  = (monetdb) /var/tmp/mtest-2676/.s.monetdb.31160
+QUERY = insert into t1 values (1);
+ERROR = !INSERT INTO: cannot insert into replica table 't1'
+CODE  = 42000
+MAPI  = (monetdb) /var/tmp/mtest-2676/.s.monetdb.31160
+QUERY = truncate t1;
+ERROR = !TRUNCATE: cannot truncate replica table 't1'
+CODE  = 42000
 
 # 09:30:33 >  
 # 09:30:33 >  "Done."
diff --git 
a/sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.stable.out 
b/sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.stable.out
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2019/Tests/insert-replica-table.Bug-6684.stable.out
@@ -0,0 +1,73 @@
+stdout of test 'insert-replica-table.Bug-6684` in directory 
'sql/test/BugTracker-2019` itself:
+
+
+# 09:32:22 >  
+# 09:32:22 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=31160" "--set" 
"mapi_usock=/var/tmp/mtest-2676/.s.monetdb.31160" "--set" "monet_prompt=" 
"--forcemito" 
"--dbpath=/home/ferreira/repositories/MonetDB-Aug2018/BUILD/var/MonetDB/mTests_sql_test_BugTracker-2019"
 "--set" "embedded_c=true"
+# 09:32:22 >  
+
+# MonetDB 5 server v11.31.14
+# This is an unreleased version
+# Serving database 'mTests_sql_test_BugTracker-2019', using 8 threads
+# Compiled for x86_64-pc-linux-gnu/64bit with 128bit integers
+# Found 15.528 GiB available main-memory.
+# Copyright (c) 1993 - July 2008 CWI.
+#