MonetDB: Apr2019 - Remove reference to test that doesn't exist.
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.
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.
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.
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
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
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...
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!
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.
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.
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.
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...
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. +#