MonetDB: linear-hashing - Merge with Nov2019 branch.
Changeset: 7c3e261a9f2e for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7c3e261a9f2e Modified Files: geom/lib/libgeom.h geom/monetdb5/geom.c monetdb5/extras/rapi/rapi.c sql/server/rel_select.c sql/server/sql_partition.c sql/server/sql_semantic.c sql/storage/bat/bat_storage.c sql/storage/sql_storage.h sql/storage/store.c testing/Mtest.py.in Branch: linear-hashing Log Message: Merge with Nov2019 branch. diffs (truncated from 461 to 300 lines): diff --git a/geom/lib/libgeom.h b/geom/lib/libgeom.h --- a/geom/lib/libgeom.h +++ b/geom/lib/libgeom.h @@ -29,6 +29,7 @@ #include #ifdef HAVE_PROJ +#define ACCEPT_USE_OF_DEPRECATED_PROJ_API_H #include //it is needed to transform from one srid to another #endif diff --git a/geom/monetdb5/geom.c b/geom/monetdb5/geom.c --- a/geom/monetdb5/geom.c +++ b/geom/monetdb5/geom.c @@ -45,7 +45,7 @@ wkbNULLcopy(void) #ifdef HAVE_PROJ /** convert degrees to radians */ -static void +static inline void degrees2radians(double *x, double *y, double *z) { *x *= M_PI / 180.0; @@ -54,7 +54,7 @@ degrees2radians(double *x, double *y, do } /** convert radians to degrees */ -static void +static inline void radians2degrees(double *x, double *y, double *z) { *x *= 180.0 / M_PI; diff --git a/monetdb5/extras/rapi/rapi.c b/monetdb5/extras/rapi/rapi.c --- a/monetdb5/extras/rapi/rapi.c +++ b/monetdb5/extras/rapi/rapi.c @@ -30,6 +30,7 @@ #define USE_RINTERNALS 1 +#include #include #include #include @@ -110,25 +111,34 @@ static char *RAPIinitialize(void) { // set some command line arguments { structRstart rp; - Rstart Rp = - char *rargv[] = { "R", "--slave", "--vanilla" }; + char *rargv[] = { "R", +#if R_VERSION >= R_Version(4,0,0) + "--no-echo", +#else + "--slave", +#endif + "--vanilla" }; int stat = 0; - R_DefParams(Rp); - Rp->R_Slave = (Rboolean) TRUE; - Rp->R_Quiet = (Rboolean) TRUE; - Rp->R_Interactive = (Rboolean) FALSE; - Rp->R_Verbose = (Rboolean) FALSE; - Rp->LoadSiteFile = (Rboolean) FALSE; - Rp->LoadInitFile = (Rboolean) FALSE; - Rp->RestoreAction = SA_NORESTORE; - Rp->SaveAction = SA_NOSAVE; - Rp->NoRenviron = TRUE; + R_DefParams(); +#if R_VERSION >= R_Version(4,0,0) + rp.R_NoEcho = (Rboolean) TRUE; +#else + rp.R_Slave = (Rboolean) TRUE; +#endif + rp.R_Quiet = (Rboolean) TRUE; + rp.R_Interactive = (Rboolean) FALSE; + rp.R_Verbose = (Rboolean) FALSE; + rp.LoadSiteFile = (Rboolean) FALSE; + rp.LoadInitFile = (Rboolean) FALSE; + rp.RestoreAction = SA_NORESTORE; + rp.SaveAction = SA_NOSAVE; + rp.NoRenviron = TRUE; stat = Rf_initialize_R(2, rargv); if (stat < 0) { return "Rf_initialize failed"; } - R_SetParams(Rp); + R_SetParams(); } /* disable stack checking, because threads will throw it off */ diff --git a/sql/server/sql_partition.c b/sql/server/sql_partition.c --- a/sql/server/sql_partition.c +++ b/sql/server/sql_partition.c @@ -10,6 +10,7 @@ #include "sql_partition.h" #include "rel_rel.h" +#include "rel_exp.h" #include "sql_mvc.h" #include "sql_catalog.h" #include "sql_relation.h" @@ -217,50 +218,8 @@ exp_find_table_columns(mvc *sql, sql_exp } } -static str -find_expression_type(sql_exp *e, sql_subtype *tpe) -{ - switch (e->type) { - case e_convert: { - assert(list_length(e->r) == 2); - *tpe = *(sql_subtype *)list_fetch(e->r, 1); - } break; - case e_atom: { - if (e->l) { - atom *a = e->l; - *tpe = a->tpe; - } else if (e->r) { - *tpe = e->tpe; - } else if (e->f) { - throw(SQL,"sql.partition", SQLSTATE(42000) "List of values not allowed in expressions"); - } else { - throw(SQL,"sql.partition", SQLSTATE(42000) "Variables/parameters are not allowed in expressions"); - } - } break; - case e_func: { - sql_subfunc *f = e->f; - sql_func *func = f->func; - if (list_length(func->res) != 1) - throw(SQL,"sql.partition",
MonetDB: linear-hashing - Merge with Nov2019 branch.
Changeset: a3d5ed2d0402 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a3d5ed2d0402 Modified Files: monetdb5/tools/Tests/mserver5-ipv6.py sql/backends/monet5/Tests/dbextra_lock_test.py sql/storage/store.c sql/test/BugTracker-2009/Tests/create_on_ro_db_crash.SF-2830238.SQL.py sql/test/BugTracker-2009/Tests/lost_update.SF-2790020.SQL.py sql/test/BugTracker-2010/Tests/new-readonly-db.Bug-2695.SQL.py sql/test/BugTracker-2011/Tests/interrupted-initialization.Bug-2875.SQL.py sql/test/BugTracker-2013/Tests/corrupt-after-restart.Bug-3282.SQL.py sql/test/BugTracker-2014/Tests/acidity-fail.Bug-3635.py sql/test/BugTracker-2015/Tests/schemadiff.Bug-3778.SQL.py sql/test/BugTracker-2017/Tests/shutdown.Bug-6182.SQL.py sql/test/BugTracker-2018/Tests/local_replica_table_not_detected.Bug-6620.py sql/test/BugTracker-2018/Tests/remote-table-where-is-null.Bug-6601.py sql/test/BugTracker-2018/Tests/remote-table-where-not-equal.Bug-6621.py sql/test/BugTracker-2019/Tests/alter_table_drop_column.Bug-6749.py sql/test/BugTracker-2019/Tests/remote-table-non-existent-column.Bug-6750.py sql/test/BugTracker-2020/Tests/functions-not-persist.Bug-6819.SQL.py sql/test/BugTracker/Tests/mdb_starts_with_sql_debug_64.SF-1999354.SQL.py sql/test/BugTracker/Tests/set_a_new_user_password.SF-1844050.SQL.py sql/test/BugTracker/Tests/set_sql_debug_64__breaking_the_DB.SF-1906287.SQL.py sql/test/merge-partitions/Tests/mergepart23.SQL.py sql/test/merge-partitions/Tests/mergepart29.SQL.py sql/test/mserver5-sql-readonly/Tests/mserver5-sql-readonly-table.py sql/test/mserver5-sql-readonly/Tests/mserver5-sql-readonly-view.py sql/test/remote/Tests/creds.SQL.py sql/test/remote/Tests/different_user.SQL.py sql/test/remote/Tests/invalid_creds.SQL.py sql/test/remote/Tests/ssbm.SQL.py sql/test/rename/Tests/rename00.SQL.py sql/test/rename/Tests/rename11.py sql/test/scripts/Tests/alastair_udf_mergetable_bug.py sql/test/scripts/Tests/copy-from-lz4.py sql/test/testdb-reload/Tests/reload.py sql/test/wlcr/Tests/wlc01.py sql/test/wlcr/Tests/wlc100.py sql/test/wlcr/Tests/wlc20.py sql/test/wlcr/Tests/wlc21.py sql/test/wlcr/Tests/wlc30.py sql/test/wlcr/Tests/wlc40.py sql/test/wlcr/Tests/wlc50.py sql/test/wlcr/Tests/wlc70.py sql/test/wlcr/Tests/wlr01.py sql/test/wlcr/Tests/wlr10.py sql/test/wlcr/Tests/wlr100.py sql/test/wlcr/Tests/wlr20.py sql/test/wlcr/Tests/wlr30.py sql/test/wlcr/Tests/wlr40.py sql/test/wlcr/Tests/wlr50.py sql/test/wlcr/Tests/wlr70.py sql/test/wlcr/Tests/wlr80.py Branch: linear-hashing Log Message: Merge with Nov2019 branch. diffs (truncated from 3032 to 300 lines): diff --git a/monetdb5/tools/Tests/mserver5-ipv6.py b/monetdb5/tools/Tests/mserver5-ipv6.py --- a/monetdb5/tools/Tests/mserver5-ipv6.py +++ b/monetdb5/tools/Tests/mserver5-ipv6.py @@ -4,18 +4,24 @@ try: except ImportError: import process -server = process.server(stdin=process.PIPE, stdout=process.PIPE, stderr=process.PIPE, ipv6=True) -client = process.client('sql', host='::1', server=server, stdin=process.PIPE, stdout=process.PIPE, stderr=process.PIPE) -cout, cerr = client.communicate(''' +server = None +try: +server = process.server(stdin=process.PIPE, stdout=process.PIPE, stderr=process.PIPE, ipv6=True) +client = process.client('sql', host='::1', server=server, stdin=process.PIPE, stdout=process.PIPE, stderr=process.PIPE) +cout, cerr = client.communicate(''' start transaction; create table "things" ("col1" int); insert into "things" values (1); select "col1" from "things"; rollback; ''') -sout, serr = server.communicate() -sys.stdout.write(sout) -sys.stderr.write(serr) +sout, serr = server.communicate() +server = None +sys.stdout.write(sout) +sys.stderr.write(serr) -sys.stdout.write(cout) -sys.stderr.write(cerr) +sys.stdout.write(cout) +sys.stderr.write(cerr) +finally: +if server is not None: +server.terminate() diff --git a/sql/backends/monet5/Tests/dbextra_lock_test.py b/sql/backends/monet5/Tests/dbextra_lock_test.py --- a/sql/backends/monet5/Tests/dbextra_lock_test.py +++ b/sql/backends/monet5/Tests/dbextra_lock_test.py @@ -8,18 +8,22 @@ import os p = os.path.join(os.getenv('GDK_DBFARM'), 'transient_dir') -s1 = process.server(stdin = process.PIPE, stdout = process.PIPE, -stderr = process.PIPE, dbextra=p) - - - -s2 = process.server(stdin = process.PIPE, stdout = process.PIPE, -stderr = process.PIPE, dbextra=p) +s1 = s2 = None +try: +s1 = process.server(stdin = process.PIPE, stdout = process.PIPE, +stderr = process.PIPE,
MonetDB: linear-hashing - Merge with Nov2019 branch.
Changeset: 1743f91141a6 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1743f91141a6 Modified Files: common/utils/msabaoth.c tools/merovingian/daemon/client.c tools/merovingian/daemon/controlrunner.c tools/merovingian/daemon/forkmserver.c tools/merovingian/daemon/handlers.c tools/merovingian/daemon/merovingian.c tools/merovingian/daemon/merovingian.h tools/merovingian/daemon/multiplex-funnel.c Branch: linear-hashing Log Message: Merge with Nov2019 branch. diffs (truncated from 1068 to 300 lines): diff --git a/common/utils/msabaoth.c b/common/utils/msabaoth.c --- a/common/utils/msabaoth.c +++ b/common/utils/msabaoth.c @@ -617,7 +617,7 @@ msab_getSingleStatus(const char *pathbuf */ snprintf(buf, sizeof(buf), "%s/%s/%s", pathbuf, dbname, _sabaoth_internal_uuid); - if (stat(buf, ) != -1) { + if (stat(buf, ) == 0) { /* database has the same process signature as ours, which * means, it must be us, rely on the uplog state */ snprintf(log, sizeof(log), "%s/%s/%s", pathbuf, dbname, UPLOGFILE); @@ -641,7 +641,7 @@ msab_getSingleStatus(const char *pathbuf (void)fclose(f); } } else if (snprintf(buf, sizeof(buf), "%s/%s/%s", pathbuf, dbname, ".gdk_lock"), - ((fd = MT_lockf(buf, F_TEST)) == -2)) { + ((fd = MT_lockf(buf, F_TLOCK)) == -2)) { /* Locking failed; this can be because the lockfile couldn't * be created. Probably there is no Mserver running for * that case also. @@ -650,15 +650,18 @@ msab_getSingleStatus(const char *pathbuf } else if (fd == -1) { /* file is locked, so mserver is running, see if the database * has finished starting */ - snprintf(buf, sizeof(buf), "%s/%s/%s", -pathbuf, dbname, STARTEDFILE); + snprintf(buf, sizeof(buf), "%s/%s/%s", pathbuf, dbname, STARTEDFILE); if (stat(buf, ) == -1) { sdb->state = SABdbStarting; } else { sdb->state = SABdbRunning; } } else { - /* file is not locked, check for a crash in the uplog */ + /* file was not locked (we just locked it), check for a crash +* in the uplog */ + snprintf(log, sizeof(log), "%s/%s/%s", pathbuf, dbname, STARTEDFILE); + /* just to be sure, remove the .started file */ + (void) remove(log); /* may fail, that's fine */ snprintf(log, sizeof(log), "%s/%s/%s", pathbuf, dbname, UPLOGFILE); if ((f = fopen(log, "r")) != NULL) { (void)fseek(f, -1, SEEK_END); @@ -675,28 +678,27 @@ msab_getSingleStatus(const char *pathbuf /* no uplog, so presumably never started */ sdb->state = SABdbInactive; } + MT_lockf(buf, F_ULOCK); + close(fd); } snprintf(buf, sizeof(buf), "%s/%s/%s", pathbuf, dbname, MAINTENANCEFILE); - sdb->locked = stat(buf, ) != -1; + sdb->locked = stat(buf, ) == 0; /* add scenarios that are supported */ sdb->scens = NULL; snprintf(buf, sizeof(buf), "%s/%s/%s", pathbuf, dbname, SCENARIOFILE); if ((f = fopen(buf, "r")) != NULL) { sablist* np = NULL; - while (fgets(data, 8095, f) != NULL) { + while (fgets(data, (int) sizeof(data), f) != NULL) { if (*data != '\0' && data[strlen(data) - 1] == '\n') data[strlen(data) - 1] = '\0'; if (sdb->scens == NULL) { - sdb->scens = malloc(sizeof(sablist)); - sdb->scens->val = strdup(data); - sdb->scens->next = NULL; - np = sdb->scens; + np = sdb->scens = malloc(sizeof(sablist)); } else { np = np->next = malloc(sizeof(sablist)); - np->val = strdup(data); - np->next = NULL; } + np->val = strdup(data); + np->next = NULL; } (void)fclose(f); } @@ -706,19 +708,16 @@ msab_getSingleStatus(const char *pathbuf snprintf(buf, sizeof(buf), "%s/%s/%s", pathbuf, dbname, CONNECTIONFILE); if ((f = fopen(buf, "r")) != NULL) { sablist* np = NULL; - while (fgets(data, 8095, f) != NULL) { + while (fgets(data, (int) sizeof(data), f) != NULL) {
MonetDB: linear-hashing - Merge with Nov2019 branch.
Changeset: 4feb6e365daa for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4feb6e365daa Modified Files: gdk/gdk_join.c Branch: linear-hashing Log Message: Merge with Nov2019 branch. diffs (12 lines): diff --git a/gdk/gdk_join.c b/gdk/gdk_join.c --- a/gdk/gdk_join.c +++ b/gdk/gdk_join.c @@ -2596,7 +2596,7 @@ hashjoin(BAT **r1p, BAT **r2p, BAT *l, B rb != HASHnil(hsh); rb = HASHgetlink(hsh, rb)) { ro = canditer_idx(rci, rb); - if ((*cmp)(v, BUNtail(ri, ro - r->hseqbase)) != 0) { + if ((*cmp)(nil, BUNtail(ri, ro - r->hseqbase)) != 0) { HEAPfree(>heaplink, true); HEAPfree(>heapbckt, true); GDKfree(hsh); ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: linear-hashing - Merge with Nov2019 branch.
Changeset: e7d31fdeed12 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e7d31fdeed12 Modified Files: clients/odbc/driver/SQLGetTypeInfo.c Branch: linear-hashing Log Message: Merge with Nov2019 branch. diffs (truncated from 1512 to 300 lines): diff --git a/clients/odbc/driver/SQLGetTypeInfo.c b/clients/odbc/driver/SQLGetTypeInfo.c --- a/clients/odbc/driver/SQLGetTypeInfo.c +++ b/clients/odbc/driver/SQLGetTypeInfo.c @@ -57,761 +57,824 @@ static const struct types { * Except for the type_name value, the string values are ready * to paste into an SQL query (i.e. including quotes). */ { - "uuid", /* type_name */ - SQL_GUID, /* data_type */ - 36, /* column_size */ - "NULL", /* literal_prefix */ - "NULL", /* literal_suffix */ - "NULL", /* create_params */ - SQL_NULLABLE, /* nullable */ - SQL_FALSE, /* case_sensitive */ - SQL_PRED_BASIC, /* searchable */ - -1, /* unsigned_attribute */ - SQL_FALSE, /* fixed_prec_scale */ - -1, /* auto_unique_value */ - "NULL", /* local_type_name */ - -1, /* minimum_scale */ - -1, /* maximum_scale */ - SQL_GUID, /* sql_data_type */ - -1, /* sql_datetime_sub */ - -1, /* num_prec_radix */ - -1, /* interval_precision */ + .type_name = "uuid", + .data_type = SQL_GUID, + .column_size = 36, + .literal_prefix = "NULL", + .literal_suffix = "NULL", + .create_params = "NULL", + .nullable = SQL_NULLABLE, + .case_sensitive = SQL_FALSE, + .searchable = SQL_PRED_BASIC, + .unsigned_attribute = -1, + .fixed_prec_scale = SQL_FALSE, + .auto_unique_value = -1, + .local_type_name = "NULL", + .minimum_scale = -1, + .maximum_scale = -1, + .sql_data_type = SQL_GUID, + .sql_datetime_sub = -1, + .num_prec_radix = -1, + .interval_precision = -1, }, { - "character large object", /* type_name */ - SQL_WLONGVARCHAR, /* data_type */ - 100,/* column_size */ - "", /* literal_prefix */ - "", /* literal_suffix */ - "NULL", /* create_params */ - SQL_NULLABLE, /* nullable */ - SQL_TRUE, /* case_sensitive */ - SQL_SEARCHABLE, /* searchable */ - -1, /* unsigned_attribute */ - SQL_FALSE, /* fixed_prec_scale */ - SQL_FALSE, /* auto_unique_value */ - "NULL", /* local_type_name */ - -1, /* minimum_scale */ - -1, /* maximum_scale */ - SQL_WLONGVARCHAR, /* sql_data_type */ - -1, /* sql_datetime_sub */ - -1, /* num_prec_radix */ - -1, /* interval_precision */ + .type_name = "character large object", + .data_type = SQL_WLONGVARCHAR, + .column_size = 100, + .literal_prefix = "", + .literal_suffix = "", + .create_params = "NULL", + .nullable = SQL_NULLABLE, + .case_sensitive = SQL_TRUE, + .searchable = SQL_SEARCHABLE, + .unsigned_attribute = -1, + .fixed_prec_scale = SQL_FALSE, + .auto_unique_value = SQL_FALSE, + .local_type_name = "NULL", + .minimum_scale = -1, + .maximum_scale = -1, + .sql_data_type = SQL_WLONGVARCHAR, + .sql_datetime_sub = -1, + .num_prec_radix = -1, + .interval_precision = -1, }, { - "varchar", /* type_name */ - SQL_WVARCHAR, /* data_type */ - 100,/* column_size */ - "", /* literal_prefix */ - "", /* literal_suffix */ - "'length'", /* create_params */ - SQL_NULLABLE, /* nullable
MonetDB: linear-hashing - Merge with Nov2019 branch.
Changeset: cbacb31e258b for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=cbacb31e258b Modified Files: sql/test/miscellaneous/Tests/simple_selects.sql sql/test/miscellaneous/Tests/simple_selects.stable.err testing/Mtest.py.in Branch: linear-hashing Log Message: Merge with Nov2019 branch. diffs (95 lines): diff --git a/sql/test/miscellaneous/Tests/simple_selects.sql b/sql/test/miscellaneous/Tests/simple_selects.sql --- a/sql/test/miscellaneous/Tests/simple_selects.sql +++ b/sql/test/miscellaneous/Tests/simple_selects.sql @@ -15,7 +15,15 @@ select cast(sum(42) as bigint) having 42 select 1 having false; select 1 having true; -select "idontexist"."idontexist"(1); --error, it doesn;t exist +select "idontexist"."idontexist"(); --error, it doesn't exist +select "idontexist"."idontexist"(1); --error, it doesn't exist +select "idontexist"."idontexist"(1,2); --error, it doesn't exist +select "idontexist"."idontexist"(1,2,3); --error, it doesn't exist +select "idontexist".SUM(1); --error, it doesn't exist +select * from "idontexist"."idontexist"(); --error, it doesn't exist +select * from "idontexist"."idontexist"(1); --error, it doesn't exist +call "idontexist"."idontexist"(); --error, it doesn't exist +call "idontexist"."idontexist"(1); --error, it doesn't exist select cast(true as interval second); --error, not possible select cast(true as interval month); --error, not possible diff --git a/sql/test/miscellaneous/Tests/simple_selects.stable.err b/sql/test/miscellaneous/Tests/simple_selects.stable.err --- a/sql/test/miscellaneous/Tests/simple_selects.stable.err +++ b/sql/test/miscellaneous/Tests/simple_selects.stable.err @@ -5,11 +5,43 @@ stderr of test 'simple_selects` in direc # 17:31:37 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=31760" "--set" "mapi_usock=/var/tmp/mtest-27253/.s.monetdb.31760" "--set" "monet_prompt=" "--forcemito" "--dbpath=/home/ferreira/repositories/MonetDB-Aug2018/BUILD/var/MonetDB/mTests_sql_test_miscellaneous" "--set" "embedded_c=true" # 17:31:37 > -MAPI = (monetdb) /var/tmp/mtest-155342/.s.monetdb.37330 -QUERY = select "idontexist"."idontexist"(1); --error, it doesn;t exist +MAPI = (monetdb) /var/tmp/mtest-6308/.s.monetdb.33199 +QUERY = select "idontexist"."idontexist"(); --error, it doesn't exist +ERROR = !SELECT: no such schema 'idontexist' +CODE = 3F000 +MAPI = (monetdb) /var/tmp/mtest-6308/.s.monetdb.33199 +QUERY = select "idontexist"."idontexist"(1); --error, it doesn't exist +ERROR = !SELECT: no such schema 'idontexist' +CODE = 3F000 +MAPI = (monetdb) /var/tmp/mtest-6308/.s.monetdb.33199 +QUERY = select "idontexist"."idontexist"(1,2); --error, it doesn't exist +ERROR = !SELECT: no such schema 'idontexist' +CODE = 3F000 +MAPI = (monetdb) /var/tmp/mtest-6308/.s.monetdb.33199 +QUERY = select "idontexist"."idontexist"(1,2,3); --error, it doesn't exist ERROR = !SELECT: no such schema 'idontexist' CODE = 3F000 -MAPI = (monetdb) /var/tmp/mtest-155342/.s.monetdb.37330 +MAPI = (monetdb) /var/tmp/mtest-6831/.s.monetdb.33260 +QUERY = select "idontexist".SUM(1); --error, it doesn't exist +ERROR = !SELECT: no such schema 'idontexist' +CODE = 3F000 +MAPI = (monetdb) /var/tmp/mtest-6831/.s.monetdb.33260 +QUERY = select * from "idontexist"."idontexist"(); --error, it doesn't exist +ERROR = !SELECT: no such schema 'idontexist' +CODE = 3F000 +MAPI = (monetdb) /var/tmp/mtest-6308/.s.monetdb.33199 +QUERY = select * from "idontexist"."idontexist"(1); --error, it doesn't exist +ERROR = !SELECT: no such schema 'idontexist' +CODE = 3F000 +MAPI = (monetdb) /var/tmp/mtest-6609/.s.monetdb.39934 +QUERY = call "idontexist"."idontexist"(); --error, it doesn't exist +ERROR = !SELECT: no such schema 'idontexist' +CODE = 3F000 +MAPI = (monetdb) /var/tmp/mtest-6609/.s.monetdb.39934 +QUERY = call "idontexist"."idontexist"(1); --error, it doesn't exist +ERROR = !SELECT: no such schema 'idontexist' +CODE = 3F000 +MAPI = (monetdb) /var/tmp/mtest-6609/.s.monetdb.39934 QUERY = select cast(true as interval second); --error, not possible ERROR = !types boolean(1,0) and sec_interval(13,0) are not equal CODE = 42000 diff --git a/testing/Mtest.py.in b/testing/Mtest.py.in --- a/testing/Mtest.py.in +++ b/testing/Mtest.py.in @@ -3236,8 +3236,8 @@ def DoIt(env, SERVER, CALL, TST, EXT, Te fp.write('\n\n! Server not ready; skipping attempt to start client!\n\n') ClntOut.close() ClntErr.close() - -if SERVER in ["MAL", "SQL"]: +finally: +if SERVER in ["MAL", "SQL"] and pSrvr is not None: if PSRVR is None and pSrvr.started: pSrvr.terminate() if procdebug: @@ -3283,10 +3283,6 @@ def DoIt(env, SERVER, CALL, TST, EXT, Te TestErr.write(Prompt('Done.')) TestErr.close() -finally: -if PSRVR is None and pSrvr is not None and pSrvr.started: -
MonetDB: linear-hashing - Merge with Nov2019 branch, not changin...
Changeset: 39d84ab28e70 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=39d84ab28e70 Modified Files: sql/backends/monet5/rel_bin.c Branch: linear-hashing Log Message: Merge with Nov2019 branch, not changing any files. ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: linear-hashing - Merge with Nov2019 branch.
Changeset: b47a52c4c505 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b47a52c4c505 Added Files: sql/test/VOC/VOCcreate_user.sql sql/test/VOC/VOCdrop.sql sql/test/VOC/VOCdrop_user.sql sql/test/VOC/VOCinsert.sql sql/test/VOC/VOCmanual_examples.sql sql/test/VOC/VOCquery.sql Modified Files: sql/backends/monet5/sql_gencode.c sql/benchmarks/nobench/Tests/nobench.sql sql/benchmarks/nobench/Tests/nobench.stable.out sql/test/VOC/Tests/VOC.SQL.py sql/test/VOC/Tests/VOC.stable.out sql/test/VOC/Tests/double_is_null.Bug-3116.sql sql/test/VOC/Tests/double_is_null.Bug-3116.stable.out sql/test/VOC/Tests/median.Bug-3096.sql sql/test/VOC/Tests/median.Bug-3096.stable.out sql/test/VOC/VOCschema.sql Branch: linear-hashing Log Message: Merge with Nov2019 branch. diffs (truncated from 58719 to 300 lines): diff --git a/sql/backends/monet5/sql_gencode.c b/sql/backends/monet5/sql_gencode.c --- a/sql/backends/monet5/sql_gencode.c +++ b/sql/backends/monet5/sql_gencode.c @@ -434,16 +434,20 @@ static int const char *nme = (op->op3)?op->op3->op4.aval->data.val.sval:op->cname; if ((nr + 100) > len) { - buf = GDKrealloc(buf, len*=2); - if(buf == NULL) + char *tmp = GDKrealloc(buf, len*=2); + if (tmp == NULL) { + GDKfree(buf); + buf = NULL; break; + } + buf = tmp; } nr += snprintf(buf+nr, len-nr, "%s %s(%u,%u)%c", nme, t->type->sqlname, t->digits, t->scale, n->next?',':' '); } s = buf; } - if(buf) { + if (buf) { o = newFcnCall(curBlk, remoteRef, putRef); o = pushArgument(curBlk, o, q); o = pushStr(curBlk, o, s); /* signature */ diff --git a/sql/benchmarks/nobench/Tests/nobench.sql b/sql/benchmarks/nobench/Tests/nobench.sql --- a/sql/benchmarks/nobench/Tests/nobench.sql +++ b/sql/benchmarks/nobench/Tests/nobench.sql @@ -118,7 +118,7 @@ group by f.h; -- ON (left.nested_obj.str = right.str1) -- WHERE left.num BETWEEN X AND Y; select * from bench10 as "left" inner join bench10 as "right" on (json.filter("left".js,'nested_obj.str') = json.filter("right".js, 'str1')) - where json.number(json.filter("left".js,'num')) between 0.0 and 3.0; + where json.number(json.filter("left".js,'num')) between 0.0 and 3.0 order by "left".js; -- Q12 (use "extra" data file provided by generator): -- MongoDB: diff --git a/sql/benchmarks/nobench/Tests/nobench.stable.out b/sql/benchmarks/nobench/Tests/nobench.stable.out --- a/sql/benchmarks/nobench/Tests/nobench.stable.out +++ b/sql/benchmarks/nobench/Tests/nobench.stable.out @@ -293,10 +293,10 @@ stdout of test 'nobench` in directory 's % js, js # name % json,json # type % 465, 515 # length +[ "{\"nested_obj\": {\"num\": 5, \"str\": \"GBRDCMBR\"}, \"sparse_008\": \"GBRDA===\", \"sparse_009\": \"GBRDA===\", \"dyn2\": false, \"dyn1\": \"GBRDA===\", \"nested_arr\": [], \"sparse_007\": \"GBRDA===\", \"str2\": \"GBRDCMBR\", \"str1\": \"GBRDA===\", \"sparse_004\": \"GBRDA===\", \"sparse_003\": \"GBRDA===\", \"sparse_002\": \"GBRDA===\", \"sparse_001\": \"GBRDA===\", \"sparse_000\": \"GBRDA===\", \"num\": 0, \"bool\": false, \"sparse_006\": \"GBRDA===\", \"thousandth\": 0, \"sparse_005\": \"GBRDA===\"}","{\"nested_obj\": {\"num\": 0, \"str\": \"GBRDA===\"}, \"dyn2\": 5, \"dyn1\": 5, \"nested_arr\": [\"the\", \"state\", \"aware\", \"''\", \"the\"], \"str2\": \"GBRDA===\", \"str1\": \"GBRDCMBR\", \"sparse_058\": \"GBRDCMBR\", \"thousandth\": 5, \"num\": 5, \"bool\": true, \"sparse_059\": \"GBRDCMBR\", \"sparse_054\": \"GBRDCMBR\", \"sparse_055\": \"GBRDCMBR\", \"sparse_056\": \"GBRDCMBR\", \"sparse_057\": \"GBRDCMBR\", \"sparse_050\": \"GBRDCMBR\", \"sparse_051\": \"GBRDCMBR\", \"sparse_052\": \"GBRDCMBR\", \"sparse_053\": \"GBRDCMBR\"}" ] +[ "{\"nested_obj\": {\"num\": 7, \"str\": \"GBRDCMJR\"}, \"dyn2\": 2, \"dyn1\": 2, \"nested_arr\": [\"she\", \"beyond\"], \"str2\": \"GBRDCMJR\", \"str1\": \"GBRDCMA=\", \"thousandth\": 2, \"sparse_025\": \"GBRDCMA=\", \"sparse_024\": \"GBRDCMA=\", \"sparse_027\": \"GBRDCMA=\", \"num\": 2, \"bool\": false, \"sparse_020\": \"GBRDCMA=\", \"sparse_023\": \"GBRDCMA=\", \"sparse_022\": \"GBRDCMA=\", \"sparse_021\": \"GBRDCMA=\", \"sparse_029\": \"GBRDCMA=\", \"sparse_028\": \"GBRDCMA=\", \"sparse_026\": \"GBRDCMA=\"}", "{\"nested_obj\": {\"num\": 2, \"str\": \"GBRDCMA=\"}, \"dyn2\": \"GBRDCMJR\", \"dyn1\": 7, \"nested_arr\": [\"its\",
MonetDB: linear-hashing - Merge with Nov2019 branch.
Changeset: b585bedc68a6 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b585bedc68a6 Modified Files: gdk/gdk_calc.c gdk/gdk_calc_compare.h monetdb5/modules/atoms/json.c monetdb5/modules/kernel/batstr.c monetdb5/modules/mal/mal_mapi.c monetdb5/modules/mal/remote.c sql/backends/monet5/UDF/capi/capi.c sql/backends/monet5/UDF/udf/udf.c sql/backends/monet5/sql.c sql/backends/monet5/sql_cat.c sql/backends/monet5/sql_transaction.c sql/server/rel_schema.c sql/server/sql_privileges.c sql/storage/store.c Branch: linear-hashing Log Message: Merge with Nov2019 branch. diffs (truncated from 415 to 300 lines): diff --git a/gdk/gdk_calc.c b/gdk/gdk_calc.c --- a/gdk/gdk_calc.c +++ b/gdk/gdk_calc.c @@ -14365,7 +14365,7 @@ VARconvert(ValPtr ret, const ValRecord * if (VALinit(ret, ret->vtype, ATOMnilptr(ret->vtype)) == NULL) nils = BUN_NONE; } else if (v->vtype == TYPE_str) { - if (v->val.sval == NULL || strNil(v->val.sval)) { + if (strNil(v->val.sval)) { if (VALinit(ret, ret->vtype, ATOMnilptr(ret->vtype)) == NULL) nils = BUN_NONE; } else if (ATOMstorage(ret->vtype) == TYPE_ptr) { diff --git a/gdk/gdk_calc_compare.h b/gdk/gdk_calc_compare.h --- a/gdk/gdk_calc_compare.h +++ b/gdk/gdk_calc_compare.h @@ -708,12 +708,10 @@ op_typeswitchloop(const void *lft, int t const char *s1, *s2; s1 = hp1 ? hp1 + VarHeapVal(lft, i, wd1) : (const char *) lft; s2 = hp2 ? hp2 + VarHeapVal(rgt, j, wd2) : (const char *) rgt; - if (s1 == NULL || strNil(s1) || - s2 == NULL || strNil(s2)) { + if (strNil(s1) || strNil(s2)) { #ifdef NIL_MATCHES_FLAG if (nil_matches) { - dst[k] = OP(s1 == NULL || strNil(s1), - s2 == NULL || strNil(s2)); + dst[k] = OP(strNil(s1), strNil(s2)); } else #endif { diff --git a/monetdb5/modules/kernel/batstr.c b/monetdb5/modules/kernel/batstr.c --- a/monetdb5/modules/kernel/batstr.c +++ b/monetdb5/modules/kernel/batstr.c @@ -131,7 +131,7 @@ do_batstr_int(bat *ret, const bat *l, co BATloop(b, p, q) { x = (str) BUNtvar(bi, p); - if (x == 0 || strNil(x)) { + if (strNil(x)) { y = int_nil; bn->tnonil = false; bn->tnil = true; @@ -180,7 +180,7 @@ do_batstr_str(bat *ret, const bat *l, co BATloop(b, p, q) { y = NULL; x = (str) BUNtvar(bi, p); - if (x != 0 && !strNil(x) && + if (!strNil(x) && (msg = (*func)(, )) != MAL_SUCCEED) goto bailout; if (y == NULL) @@ -227,7 +227,7 @@ do_batstr_conststr_str(bat *ret, const b BATloop(b, p, q) { y = NULL; x = (str) BUNtvar(bi, p); - if (x != 0 && !strNil(x) && + if (!strNil(x) && (msg = (*func)(, , s2)) != MAL_SUCCEED) goto bailout; if (y == NULL) @@ -281,8 +281,8 @@ do_batstr_batstr_str(bat *ret, const bat y = NULL; x = (str) BUNtvar(bi, p); x2 = (str) BUNtvar(bi2, p); - if (x != 0 && !strNil(x) && - x2 != 0 && !strNil(x2) && + if (!strNil(x) && + !strNil(x2) && (msg = (*func)(, , )) != MAL_SUCCEED) goto bailout; if (y == NULL) @@ -330,7 +330,7 @@ do_batstr_constint_str(bat *ret, const b BATloop(b, p, q) { y = NULL; x = (str) BUNtvar(bi, p); - if (x != 0 && !strNil(x) && + if (!strNil(x) && (msg = (*func)(, , n)) != MAL_SUCCEED) goto bailout; if (y == NULL) @@ -385,7 +385,7 @@ do_batstr_batint_str(bat *ret, const bat y = NULL; x = (str) BUNtvar(bi, p); nn = *(int *)BUNtloc(bi2, p); - if (x != 0 && !strNil(x) && + if (!strNil(x) && (msg = (*func)(, , )) != MAL_SUCCEED) goto bailout; if (y == NULL) @@ -433,7 +433,7 @@ do_batstr_constint_conststr_str(bat *ret BATloop(b, p, q) { y = NULL; x = (str) BUNtvar(bi, p); - if (x != 0 && !strNil(x) && + if
MonetDB: linear-hashing - Merge with Nov2019 branch, not changin...
Changeset: 955e19729515 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=955e19729515 Modified Files: MonetDB.spec NT/monetdb_config.h.in NT/rules.msc clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc configure.ag gdk/libbat.rc monetdb5/tools/libmonetdb5.rc vertoo.data Branch: linear-hashing Log Message: Merge with Nov2019 branch, not changing any files.. ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: linear-hashing - Merge with Nov2019 branch.
Changeset: 68834cd7acb8 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=68834cd7acb8 Modified Files: .hgtags MonetDB.spec debian/changelog libversions Branch: linear-hashing Log Message: Merge with Nov2019 branch. diffs (50 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -760,3 +760,6 @@ 4eb6068f63cf87fc6996daed59fbcc917c8b2881 7186b517a584f0244e20eb7abe61f7a7c0c9ea1b Nov2019_SP2_release e1c7c70bceb205cf23b8a35179b628563871f949 Nov2019_17 e1c7c70bceb205cf23b8a35179b628563871f949 Nov2019_SP3_release +179977ed07cd8095f99a6a07968b8e9d1affa753 Nov2019_19 +e1c7c70bceb205cf23b8a35179b628563871f949 Nov2019_SP3_release +179977ed07cd8095f99a6a07968b8e9d1affa753 Nov2019_SP3_release diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -1062,6 +1062,10 @@ fi %postun -p /sbin/ldconfig %changelog +* Sat Feb 22 2020 Sjoerd Mullender - 11.35.19-20200222 +- Rebuilt. +- BZ#6829: NTILE window function returns incorrect results + * Fri Feb 21 2020 Sjoerd Mullender - 11.35.17-20200221 - Rebuilt. - BZ#6827: CUME_DIST window function returns incorrect results diff --git a/debian/changelog b/debian/changelog --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +monetdb (11.35.19) unstable; urgency=low + + * Rebuilt. + * BZ#6829: NTILE window function returns incorrect results + + -- Sjoerd Mullender Sat, 22 Feb 2020 08:49:38 +0100 + monetdb (11.35.17) unstable; urgency=low * Rebuilt. diff --git a/libversions b/libversions --- a/libversions +++ b/libversions @@ -42,7 +42,7 @@ GDK_VERSION=19:5:0 MAPI_VERSION=12:3:0 # version of the MONETDB5 library (subdirectory monetdb5, not including extras or sql) -MONETDB5_VERSION=28:4:0 +MONETDB5_VERSION=28:5:0 # version of the STREAM library (subdirectory common/stream) STREAM_VERSION=13:3:0 ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: linear-hashing - Merge with Nov2019 branch, not changin...
Changeset: 3f32ef35aed2 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3f32ef35aed2 Modified Files: MonetDB.spec NT/monetdb_config.h.in NT/rules.msc clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc configure.ag gdk/libbat.rc monetdb5/tools/libmonetdb5.rc vertoo.data Branch: linear-hashing Log Message: Merge with Nov2019 branch, not changing any files. ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: linear-hashing - Merge with Nov2019 branch, not changin...
Changeset: 655261b6ab0f for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=655261b6ab0f Modified Files: MonetDB.spec NT/monetdb_config.h.in NT/rules.msc clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc configure.ag gdk/libbat.rc monetdb5/tools/libmonetdb5.rc vertoo.data Branch: linear-hashing Log Message: Merge with Nov2019 branch, not changing any files.. ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: linear-hashing - Merge with Nov2019 branch.
Changeset: 45b3cdbbef5c for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=45b3cdbbef5c Modified Files: .hgtags MonetDB.spec debian/changelog libversions Branch: linear-hashing Log Message: Merge with Nov2019 branch. diffs (58 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -758,3 +758,5 @@ 4eb6068f63cf87fc6996daed59fbcc917c8b2881 7186b517a584f0244e20eb7abe61f7a7c0c9ea1b Nov2019_15 4eb6068f63cf87fc6996daed59fbcc917c8b2881 Nov2019_SP2_release 7186b517a584f0244e20eb7abe61f7a7c0c9ea1b Nov2019_SP2_release +e1c7c70bceb205cf23b8a35179b628563871f949 Nov2019_17 +e1c7c70bceb205cf23b8a35179b628563871f949 Nov2019_SP3_release diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -120,7 +120,7 @@ Group: Applications/Databases License: MPLv2.0 URL: https://www.monetdb.org/ BugURL: https://bugs.monetdb.org/ -Source: https://www.monetdb.org/downloads/sources/Nov2019-SP2/%{name}-%{version}.tar.bz2 +Source: https://www.monetdb.org/downloads/sources/Nov2019-SP3/%{name}-%{version}.tar.bz2 # we need systemd for the _unitdir macro to exist # we need checkpolicy and selinux-policy-devel for the SELinux policy @@ -1060,6 +1060,10 @@ fi %postun -p /sbin/ldconfig %changelog +* Fri Feb 21 2020 Sjoerd Mullender - 11.35.17-20200221 +- Rebuilt. +- BZ#6827: CUME_DIST window function returns incorrect results + * Mon Feb 17 2020 Sjoerd Mullender - 11.35.15-20200217 - Rebuilt. - BZ#6817: running analyze on a schema which contains a stream table diff --git a/debian/changelog b/debian/changelog --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +monetdb (11.35.17) unstable; urgency=low + + * Rebuilt. + * BZ#6827: CUME_DIST window function returns incorrect results + + -- Sjoerd Mullender Fri, 21 Feb 2020 14:22:38 +0100 + monetdb (11.35.15) unstable; urgency=low * Rebuilt. diff --git a/libversions b/libversions --- a/libversions +++ b/libversions @@ -36,7 +36,7 @@ # version of the GDK library (subdirectory gdk; also includes # common/options and common/utils) -GDK_VERSION=19:4:0 +GDK_VERSION=19:5:0 # version of the MAPI library (subdirectory clients/mapilib) MAPI_VERSION=12:3:0 ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: linear-hashing - Merge with Nov2019 branch, not changin...
Changeset: 2048e923b9c5 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2048e923b9c5 Modified Files: MonetDB.spec NT/monetdb_config.h.in NT/rules.msc clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc configure.ag gdk/libbat.rc monetdb5/tools/libmonetdb5.rc vertoo.data Branch: linear-hashing Log Message: Merge with Nov2019 branch, not changing any files. ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: linear-hashing - Merge with Nov2019 branch.
Changeset: c2f072b285fe for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c2f072b285fe Added Files: monetdb5/extras/mal_optimizer_template/Tests/SingleServer monetdb5/extras/rapi/Tests/SingleServer monetdb5/modules/atoms/Tests/SingleServer monetdb5/modules/kernel/Tests/SingleServer monetdb5/scheduler/Tests/SingleServer sql/test/BugTracker/Tests/SingleServer sql/test/BugTracker/Tests/connect_crash.SF-1436626.SQL.py sql/test/BugTracker/Tests/mdb_starts_with_sql_debug_64.SF-1999354.SQL.py sql/test/BugTracker/Tests/set_a_new_user_password.SF-1844050.SQL.py sql/test/BugTracker/Tests/set_sql_debug_64__breaking_the_DB.SF-1906287.SQL.py Modified Files: monetdb5/optimizer/Tests/SingleServer testing/Mtest.py.in Branch: linear-hashing Log Message: Merge with Nov2019 branch. diffs (219 lines): diff --git a/monetdb5/extras/mal_optimizer_template/Tests/SingleServer b/monetdb5/extras/mal_optimizer_template/Tests/SingleServer new file mode 100644 diff --git a/monetdb5/extras/rapi/Tests/SingleServer b/monetdb5/extras/rapi/Tests/SingleServer new file mode 100644 --- /dev/null +++ b/monetdb5/extras/rapi/Tests/SingleServer @@ -0,0 +1,1 @@ +--set embedded_r=true diff --git a/monetdb5/modules/atoms/Tests/SingleServer b/monetdb5/modules/atoms/Tests/SingleServer new file mode 100644 diff --git a/monetdb5/modules/kernel/Tests/SingleServer b/monetdb5/modules/kernel/Tests/SingleServer new file mode 100644 diff --git a/monetdb5/scheduler/Tests/SingleServer b/monetdb5/scheduler/Tests/SingleServer new file mode 100644 diff --git a/sql/test/BugTracker/Tests/SingleServer b/sql/test/BugTracker/Tests/SingleServer new file mode 100644 diff --git a/sql/test/BugTracker/Tests/connect_crash.SF-1436626.SQL.py b/sql/test/BugTracker/Tests/connect_crash.SF-1436626.SQL.py new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker/Tests/connect_crash.SF-1436626.SQL.py @@ -0,0 +1,10 @@ +import os, sys +try: +from MonetDBtesting import process +except ImportError: +import process + +clt = process.client('sql', stdin = process.PIPE, stdout = process.PIPE, stderr = process.PIPE) +out, err = clt.communicate('select 1;\n') +sys.stdout.write(out) +sys.stderr.write(err) diff --git a/sql/test/BugTracker/Tests/mdb_starts_with_sql_debug_64.SF-1999354.SQL.py b/sql/test/BugTracker/Tests/mdb_starts_with_sql_debug_64.SF-1999354.SQL.py new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker/Tests/mdb_starts_with_sql_debug_64.SF-1999354.SQL.py @@ -0,0 +1,44 @@ +import os, socket, sys, tempfile, shutil +try: +from MonetDBtesting import process +except ImportError: +import process + +def freeport(): +sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +sock.bind(('', 0)) +port = sock.getsockname()[1] +sock.close() +return port + +farm_dir = tempfile.mkdtemp() +os.mkdir(os.path.join(farm_dir, 'db1')) + +def server_start(args): +sys.stderr.write('#mserver: "%s"\n' % ' '.join(args)) +sys.stderr.flush() +srv = process.server(mapiport=freeport(), dbname='db1', dbfarm=os.path.join(farm_dir, 'db1'), stdin = process.PIPE, + stdout = process.PIPE, stderr = process.PIPE) +return srv + +def client(lang, file): +sys.stderr.write('#client: "%s"\n' % file) +sys.stderr.flush() +clt = process.client(lang.lower(), stdin = open(file), + stdout = process.PIPE, stderr = process.PIPE) +return clt.communicate() + +def main(): +srv = server_start(["--set", "sql_debug=64"]) +out, err = client('SQL', + os.path.join(os.getenv('RELSRCDIR'), + 'mdb_starts_with_sql_debug_64.SF-1999354.sql')) +sys.stdout.write(out) +sys.stderr.write(err) +out, err = srv.communicate() +sys.stdout.write(out) +sys.stderr.write(err) + +shutil.rmtree(farm_dir) + +main() diff --git a/sql/test/BugTracker/Tests/set_a_new_user_password.SF-1844050.SQL.py b/sql/test/BugTracker/Tests/set_a_new_user_password.SF-1844050.SQL.py new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker/Tests/set_a_new_user_password.SF-1844050.SQL.py @@ -0,0 +1,66 @@ +import os, socket, sys, tempfile, shutil +try: +from MonetDBtesting import process +except ImportError: +import process + +def freeport(): +sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) +sock.bind(('', 0)) +port = sock.getsockname()[1] +sock.close() +return port + +farm_dir = tempfile.mkdtemp() +os.mkdir(os.path.join(farm_dir, 'db1')) + +def server_start(): +sys.stderr.write('#mserver\n') +sys.stderr.flush() +srv = process.server(mapiport=freeport(), dbname='db1', dbfarm=os.path.join(farm_dir, 'db1'), stdin = process.PIPE, + stdout = process.PIPE, stderr = process.PIPE) +return srv + +def client(lang, file, user = 'monetdb', passwd = 'monetdb'): +
MonetDB: linear-hashing - Merge with Nov2019 branch.
Changeset: db490cd4e393 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=db490cd4e393 Modified Files: MonetDB.spec debian/rules Branch: linear-hashing Log Message: Merge with Nov2019 branch. diffs (24 lines): diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -955,7 +955,7 @@ export CFLAGS # do not use --enable-optimize or --disable-optimize: we don't want # any changes to optimization flags %{configure} \ - --with-rundir=%{_rundir} \ + --with-rundir=%{_rundir}/monetdb \ --enable-assert=no \ --enable-debug=yes \ --enable-developer=no \ diff --git a/debian/rules b/debian/rules --- a/debian/rules +++ b/debian/rules @@ -13,7 +13,7 @@ DH_VERBOSE=1 override_dh_auto_configure: dh_auto_configure -- \ - --with-rundir=/run \ + --with-rundir=/run/monetdb \ --enable-assert=no \ --enable-debug=yes \ --enable-developer=no \ ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: linear-hashing - Merge with Nov2019 branch.
Changeset: fecde23c25ba for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fecde23c25ba Modified Files: testing/Mtest.py.in Branch: linear-hashing Log Message: Merge with Nov2019 branch. diffs (12 lines): diff --git a/testing/Mtest.py.in b/testing/Mtest.py.in --- a/testing/Mtest.py.in +++ b/testing/Mtest.py.in @@ -2292,7 +2292,7 @@ def RunTest(env, TST, BusyPorts, COND, o elif pSrvr.poll() is None: sockerr = F_OK else: -sres = returnCode(pSrvr, TestErrFile) +sres = returnCode(pSrvr.proc, TestErrFile) if sres == 'segfault': sockerr = F_SEGV elif sres == 'abort': ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: linear-hashing - Merge with Nov2019 branch, not changin...
Changeset: 963965c27404 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=963965c27404 Modified Files: MonetDB.spec NT/monetdb_config.h.in NT/rules.msc clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc configure.ag gdk/libbat.rc monetdb5/tools/libmonetdb5.rc vertoo.data Branch: linear-hashing Log Message: Merge with Nov2019 branch, not changing any files.. ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: linear-hashing - Merge with Nov2019 branch.
Changeset: c825be9df52b for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c825be9df52b Modified Files: .hgtags MonetDB.spec debian/changelog libversions Branch: linear-hashing Log Message: Merge with Nov2019 branch. diffs (54 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -755,3 +755,6 @@ c35ea84b568b792c5fd073f6a1e1a24372de0e20 4eb6068f63cf87fc6996daed59fbcc917c8b2881 Nov2019_13 c35ea84b568b792c5fd073f6a1e1a24372de0e20 Nov2019_SP2_release 4eb6068f63cf87fc6996daed59fbcc917c8b2881 Nov2019_SP2_release +7186b517a584f0244e20eb7abe61f7a7c0c9ea1b Nov2019_15 +4eb6068f63cf87fc6996daed59fbcc917c8b2881 Nov2019_SP2_release +7186b517a584f0244e20eb7abe61f7a7c0c9ea1b Nov2019_SP2_release diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -1060,6 +1060,12 @@ fi %postun -p /sbin/ldconfig %changelog +* Mon Feb 17 2020 Sjoerd Mullender - 11.35.15-20200217 +- Rebuilt. +- BZ#6817: running analyze on a schema which contains a stream table + stops with an error +- BZ#6819: functions do not persist + * Wed Feb 12 2020 Sjoerd Mullender - 11.35.13-20200212 - Rebuilt. diff --git a/debian/changelog b/debian/changelog --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,12 @@ +monetdb (11.35.15) unstable; urgency=low + + * Rebuilt. + * BZ#6817: running analyze on a schema which contains a stream table +stops with an error + * BZ#6819: functions do not persist + + -- Sjoerd Mullender Mon, 17 Feb 2020 12:40:46 +0100 + monetdb (11.35.13) unstable; urgency=low * Rebuilt. diff --git a/libversions b/libversions --- a/libversions +++ b/libversions @@ -36,7 +36,7 @@ # version of the GDK library (subdirectory gdk; also includes # common/options and common/utils) -GDK_VERSION=19:3:0 +GDK_VERSION=19:4:0 # version of the MAPI library (subdirectory clients/mapilib) MAPI_VERSION=12:3:0 ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: linear-hashing - Merge with Nov2019 branch, not changin...
Changeset: 2e7eb50573ba for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2e7eb50573ba Modified Files: MonetDB.spec NT/monetdb_config.h.in NT/rules.msc clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc configure.ag gdk/libbat.rc monetdb5/tools/libmonetdb5.rc vertoo.data Branch: linear-hashing Log Message: Merge with Nov2019 branch, not changing any files. ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: linear-hashing - Merge with Nov2019 branch.
Changeset: fbb7136fb119 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fbb7136fb119 Modified Files: gdk/gdk_utils.c sql/server/sql_mvc.c Branch: linear-hashing Log Message: Merge with Nov2019 branch. diffs (36 lines): diff --git a/gdk/gdk_utils.c b/gdk/gdk_utils.c --- a/gdk/gdk_utils.c +++ b/gdk/gdk_utils.c @@ -1413,7 +1413,7 @@ GDKfatal(const char *format, ...) #ifdef COREDUMP abort(); #else - GDKexit(1); + exit(1); #endif } } diff --git a/sql/server/sql_mvc.c b/sql/server/sql_mvc.c --- a/sql/server/sql_mvc.c +++ b/sql/server/sql_mvc.c @@ -549,18 +549,14 @@ build up the hash (not copied in the tra if (valide) { store_unlock(); if (sql_save_snapshots(tr) != SQL_OK) { - char *err = sql_message(SQLSTATE(4) "%s transaction commit failed (perhaps your disk is full?) exiting (kernel error: %s)", operation, GDKerrbuf); - GDKfatal("%s", err); - _DELETE(err); + GDKfatal("%s transaction commit failed (perhaps your disk is full?) exiting (kernel error: %s)", operation, GDKerrbuf); } store_lock(); } valide = sql_trans_validate(tr); if (valide) { if ((ok = sql_trans_commit(tr)) != SQL_OK) { - char *err = sql_message(SQLSTATE(4) "%s transaction commit failed (perhaps your disk is full?) exiting (kernel error: %s)", operation, GDKerrbuf); - GDKfatal("%s", err); - _DELETE(err); + GDKfatal("%s transaction commit failed (perhaps your disk is full?) exiting (kernel error: %s)", operation, GDKerrbuf); } } else { store_unlock(); ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: linear-hashing - Merge with Nov2019 branch.
Changeset: 6e1ed5db9237 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6e1ed5db9237 Modified Files: common/utils/msabaoth.c sql/jdbc/tests/Tests/Bug_PrepStmtSetString_6382.SQL.bat sql/jdbc/tests/Tests/Bug_PrepStmtSetString_6382.SQL.sh sql/jdbc/tests/Tests/Test_CallableStmt.SQL.bat sql/jdbc/tests/Tests/Test_CallableStmt.SQL.sh sql/jdbc/tests/Tests/Test_Dobjects.SQL.sh sql/jdbc/tests/Tests/Test_JdbcClient.stable.err sql/jdbc/tests/Tests/Test_JdbcClient.stable.out sql/rel.txt Branch: linear-hashing Log Message: Merge with Nov2019 branch. diffs (194 lines): diff --git a/common/utils/msabaoth.c b/common/utils/msabaoth.c --- a/common/utils/msabaoth.c +++ b/common/utils/msabaoth.c @@ -640,7 +640,7 @@ msab_getSingleStatus(const char *pathbuf } (void)fclose(f); } - } else if ((snprintf(buf, sizeof(buf), "%s/%s/%s", pathbuf, dbname, ".gdk_lock") > 0) & /* no typo */ + } else if (snprintf(buf, sizeof(buf), "%s/%s/%s", pathbuf, dbname, ".gdk_lock"), ((fd = MT_lockf(buf, F_TEST)) == -2)) { /* Locking failed; this can be because the lockfile couldn't * be created. Probably there is no Mserver running for diff --git a/sql/jdbc/tests/Tests/Bug_PrepStmtSetString_6382.SQL.bat b/sql/jdbc/tests/Tests/Bug_PrepStmtSetString_6382.SQL.bat --- a/sql/jdbc/tests/Tests/Bug_PrepStmtSetString_6382.SQL.bat +++ b/sql/jdbc/tests/Tests/Bug_PrepStmtSetString_6382.SQL.bat @@ -1,8 +1,1 @@ -@echo off - -set URL=jdbc:monetdb://%HOST%:%MAPIPORT%/%TSTDB%?user=monetdb^=monetdb%JDBC_EXTRA_ARGS% - -prompt # $t $g -echo on - -java %TST% "%URL%" +@call "%TSTSRCDIR%\Test.SQL.bat" %* diff --git a/sql/jdbc/tests/Tests/Bug_PrepStmtSetString_6382.SQL.sh b/sql/jdbc/tests/Tests/Bug_PrepStmtSetString_6382.SQL.sh --- a/sql/jdbc/tests/Tests/Bug_PrepStmtSetString_6382.SQL.sh +++ b/sql/jdbc/tests/Tests/Bug_PrepStmtSetString_6382.SQL.sh @@ -1,5 +1,3 @@ #!/bin/sh -URL="jdbc:monetdb://${HOST}:${MAPIPORT}/${TSTDB}?user=monetdb=monetdb${JDBC_EXTRA_ARGS}" - -Mlog -x "java ${TST} \"${URL}\"" +$TSTSRCDIR/Test.SQL.sh $* diff --git a/sql/jdbc/tests/Tests/Test_CallableStmt.SQL.bat b/sql/jdbc/tests/Tests/Test_CallableStmt.SQL.bat --- a/sql/jdbc/tests/Tests/Test_CallableStmt.SQL.bat +++ b/sql/jdbc/tests/Tests/Test_CallableStmt.SQL.bat @@ -1,8 +1,1 @@ -@echo off - -set URL=jdbc:monetdb://%HOST%:%MAPIPORT%/%TSTDB%?user=monetdb^=monetdb%JDBC_EXTRA_ARGS% - -prompt # $t $g -echo on - -java %TST% "%URL%" +@call "%TSTSRCDIR%\Test.SQL.bat" %* diff --git a/sql/jdbc/tests/Tests/Test_CallableStmt.SQL.sh b/sql/jdbc/tests/Tests/Test_CallableStmt.SQL.sh --- a/sql/jdbc/tests/Tests/Test_CallableStmt.SQL.sh +++ b/sql/jdbc/tests/Tests/Test_CallableStmt.SQL.sh @@ -1,5 +1,3 @@ #!/bin/sh -URL="jdbc:monetdb://${HOST}:${MAPIPORT}/${TSTDB}?user=monetdb=monetdb${JDBC_EXTRA_ARGS}" - -Mlog -x "java ${TST} \"${URL}\"" +$TSTSRCDIR/Test.SQL.sh $* diff --git a/sql/jdbc/tests/Tests/Test_Dobjects.SQL.sh b/sql/jdbc/tests/Tests/Test_Dobjects.SQL.sh --- a/sql/jdbc/tests/Tests/Test_Dobjects.SQL.sh +++ b/sql/jdbc/tests/Tests/Test_Dobjects.SQL.sh @@ -1,3 +1,3 @@ -#!/usr/bin/env bash +#!/bin/sh $TSTSRCDIR/Test.SQL.sh $* diff --git a/sql/jdbc/tests/Tests/Test_JdbcClient.stable.err b/sql/jdbc/tests/Tests/Test_JdbcClient.stable.err --- a/sql/jdbc/tests/Tests/Test_JdbcClient.stable.err +++ b/sql/jdbc/tests/Tests/Test_JdbcClient.stable.err @@ -1,35 +1,55 @@ stderr of test 'Test_JdbcClient` in directory 'sql/jdbc/tests` itself: -# 11:07:36 > -# 11:07:36 > Mtimeout -timeout 180 Mserver "--config=/net/pictor.ins.cwi.nl/export/scratch1/fabian/monet-current/program/etc/MonetDB.conf" --debug=10 --set "monet_mod_path=/net/pictor.ins.cwi.nl/export/scratch1/fabian/monet-current/program/lib/MonetDB" --set "gdk_dbfarm=/net/pictor.ins.cwi.nl/export/scratch1/fabian/monet-current/program/var/MonetDB/dbfarm" --set "sql_logdir=/net/pictor.ins.cwi.nl/export/scratch1/fabian/monet-current/program/var/MonetDB/log" --set mapi_port=41683 --set sql_port=58545 --set monet_prompt= --trace "--dbname=mTests_src_jdbc_tests" "/net/pictor.ins.cwi.nl/export/scratch1/fabian/monet-current/sql/build/src/backends/monet4/sql_server.mil" ; echo ; echo Over.. -# 11:07:36 > - +# 18:33:45 > +# 18:33:45 > "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" "mapi_open=true" "--set" "mapi_port=39768" "--set" "mapi_usock=/var/tmp/mtest-577620/.s.monetdb.39768" "--forcemito" "--dbpath=/home/dinther/dev/dev/INSTALL/var/MonetDB/mTests_sql_jdbc_tests" "--set" "embedded_c=true" +# 18:33:45 > -# 11:07:37 > -# 11:07:37 > Mtimeout -timeout 60 ./Test_JdbcClient.SQL Test_JdbcClient -# 11:07:37 > +# builtin opt gdk_dbpath = /home/dinther/dev/dev/INSTALL/var/monetdb5/dbfarm/demo +# builtin opt mapi_port = 5 +# builtin opt mapi_open = false +# builtin opt mapi_ipv6 =
MonetDB: linear-hashing - Merge with Nov2019 branch, not changin...
Changeset: 95a7aa14bcb0 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=95a7aa14bcb0 Modified Files: MonetDB.spec NT/monetdb_config.h.in NT/rules.msc clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc configure.ag gdk/libbat.rc monetdb5/tools/libmonetdb5.rc vertoo.data Branch: linear-hashing Log Message: Merge with Nov2019 branch, not changing any files.. ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: linear-hashing - Merge with Nov2019 branch.
Changeset: 2e0e94fcfac4 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2e0e94fcfac4 Modified Files: .hgtags MonetDB.spec debian/changelog Branch: linear-hashing Log Message: Merge with Nov2019 branch. diffs (36 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -752,3 +752,6 @@ e0719bdebf32967ca0a0043f556b3f48f93e0ce0 8d4258444e2a0a809468fb85be7999a407d47e04 Nov2019_SP1_release c35ea84b568b792c5fd073f6a1e1a24372de0e20 Nov2019_11 c35ea84b568b792c5fd073f6a1e1a24372de0e20 Nov2019_SP2_release +4eb6068f63cf87fc6996daed59fbcc917c8b2881 Nov2019_13 +c35ea84b568b792c5fd073f6a1e1a24372de0e20 Nov2019_SP2_release +4eb6068f63cf87fc6996daed59fbcc917c8b2881 Nov2019_SP2_release diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -1060,6 +1060,9 @@ fi %postun -p /sbin/ldconfig %changelog +* Wed Feb 12 2020 Sjoerd Mullender - 11.35.13-20200212 +- Rebuilt. + * Tue Feb 11 2020 Sjoerd Mullender - 11.35.11-20200211 - Rebuilt. - BZ#6805: Using the cascade operator in a drop table statement ends in diff --git a/debian/changelog b/debian/changelog --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +monetdb (11.35.13) unstable; urgency=low + + * Rebuilt. + + -- Sjoerd Mullender Wed, 12 Feb 2020 11:03:15 +0100 + monetdb (11.35.11) unstable; urgency=low * Rebuilt. ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: linear-hashing - Merge with Nov2019 branch, not changin...
Changeset: d95d04f4dfd4 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d95d04f4dfd4 Modified Files: MonetDB.spec NT/monetdb_config.h.in NT/rules.msc clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc configure.ag gdk/libbat.rc monetdb5/tools/libmonetdb5.rc vertoo.data Branch: linear-hashing Log Message: Merge with Nov2019 branch, not changing any files. ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: linear-hashing - Merge with Nov2019 branch.
Changeset: 373457eec120 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=373457eec120 Modified Files: sql/test/BugTracker-2018/Tests/local_replica_table_not_detected.Bug-6620.py Branch: linear-hashing Log Message: Merge with Nov2019 branch. diffs (126 lines): diff --git a/sql/test/BugTracker-2018/Tests/local_replica_table_not_detected.Bug-6620.py b/sql/test/BugTracker-2018/Tests/local_replica_table_not_detected.Bug-6620.py --- a/sql/test/BugTracker-2018/Tests/local_replica_table_not_detected.Bug-6620.py +++ b/sql/test/BugTracker-2018/Tests/local_replica_table_not_detected.Bug-6620.py @@ -37,65 +37,66 @@ os.mkdir(os.path.join(farm_dir, 'node2') # node1 is the worker prt1 = freeport() -prc1 = process.server(mapiport=prt1, dbname='node1', dbfarm=os.path.join(farm_dir, 'node1'), stdin=process.PIPE, stdout=process.PIPE, stderr=process.PIPE) -conn1 = pymonetdb.connect(database='node1', port=prt1, autocommit=True) +try: +prc1 = process.server(mapiport=prt1, dbname='node1', dbfarm=os.path.join(farm_dir, 'node1'), stdin=process.PIPE, stdout=process.PIPE, stderr=process.PIPE) +conn1 = pymonetdb.connect(database='node1', port=prt1, autocommit=True) -q = "create table s1 (i int)" -print(q); conn1.execute(q) -q = "insert into s1 values (23), (42)" -print(q); conn1.execute(q) -q = "create table t1 (s varchar(10))" -print(q); conn1.execute(q) -q = "insert into t1 values ('abc'), ('efg')" -print(q); conn1.execute(q) +q = "create table s1 (i int)" +print(q); conn1.execute(q) +q = "insert into s1 values (23), (42)" +print(q); conn1.execute(q) +q = "create table t1 (s varchar(10))" +print(q); conn1.execute(q) +q = "insert into t1 values ('abc'), ('efg')" +print(q); conn1.execute(q) -# node2 is the master -prt2 = freeport() -prc2 = process.server(mapiport=prt2, dbname='node2', dbfarm=os.path.join(farm_dir, 'node2'), stdin=process.PIPE, stdout=process.PIPE, stderr=process.PIPE) -conn2 = pymonetdb.connect(database='node2', port=prt2, autocommit=True) +# node2 is the master +prt2 = freeport() +try: +prc2 = process.server(mapiport=prt2, dbname='node2', dbfarm=os.path.join(farm_dir, 'node2'), stdin=process.PIPE, stdout=process.PIPE, stderr=process.PIPE) +conn2 = pymonetdb.connect(database='node2', port=prt2, autocommit=True) -q = "create table s2 (i int)" -print(q); conn2.execute(q) -q = "insert into s2 values (23), (42)" -print(q); conn2.execute(q) -q = "create table t2 (s varchar(10))" -print(q); conn2.execute(q) -q = "insert into t2 values ('foo'), ('bar')" -print(q); conn2.execute(q) - -q = "create remote table s1 (i int) on 'mapi:monetdb://localhost:"+str(prt1)+"/node1';" -print("#"+q); conn2.execute(q) -q = "create remote table t1 (s varchar(10)) on 'mapi:monetdb://localhost:"+str(prt1)+"/node1';" -print("#"+q); conn2.execute(q) +q = "create table s2 (i int)" +print(q); conn2.execute(q) +q = "insert into s2 values (23), (42)" +print(q); conn2.execute(q) +q = "create table t2 (s varchar(10))" +print(q); conn2.execute(q) +q = "insert into t2 values ('foo'), ('bar')" +print(q); conn2.execute(q) -q = "create replica table repS(i int)" -print(q); conn2.execute(q) -q = "alter table repS add table s1" -print(q); conn2.execute(q) -q = "alter table repS add table s2" -print(q); conn2.execute(q) -q = "create merge table mrgT (s varchar(10))" -print(q); conn2.execute(q) -q = "alter table mrgT add table t1" -print(q); conn2.execute(q) -q = "alter table mrgT add table t2" -print(q); conn2.execute(q) +q = "create remote table s1 (i int) on 'mapi:monetdb://localhost:"+str(prt1)+"/node1';" +print("#"+q); conn2.execute(q) +q = "create remote table t1 (s varchar(10)) on 'mapi:monetdb://localhost:"+str(prt1)+"/node1';" +print("#"+q); conn2.execute(q) + +q = "create replica table repS(i int)" +print(q); conn2.execute(q) +q = "alter table repS add table s1" +print(q); conn2.execute(q) +q = "alter table repS add table s2" +print(q); conn2.execute(q) +q = "create merge table mrgT (s varchar(10))" +print(q); conn2.execute(q) +q = "alter table mrgT add table t1" +print(q); conn2.execute(q) +q = "alter table mrgT add table t2" +print(q); conn2.execute(q) -res = query(conn2, "plan select * from repS") -for r in res: -print('\n'.join(r)) - -res = query(conn2, "plan select * from repS, mrgT") -for r in res: -print('\n'.join(r)) +res = query(conn2, "plan select * from repS") +for r in res: +print('\n'.join(r)) -# cleanup: shutdown the monetdb servers and remove tempdir -out, err = prc1.communicate() -sys.stdout.write(out) -sys.stderr.write(err) - -out, err = prc2.communicate() -sys.stdout.write(out) -sys.stderr.write(err) - -shutil.rmtree(farm_dir) +res = query(conn2, "plan select * from
MonetDB: linear-hashing - Merge with Nov2019 branch, not changin...
Changeset: 7fde8e5896bf for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7fde8e5896bf Modified Files: MonetDB.spec NT/monetdb_config.h.in NT/rules.msc clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc configure.ag gdk/libbat.rc monetdb5/tools/libmonetdb5.rc vertoo.data Branch: linear-hashing Log Message: Merge with Nov2019 branch, not changing any files.. ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: linear-hashing - Merge with Nov2019 branch.
Changeset: 343568cda7f3 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=343568cda7f3 Modified Files: .hgtags MonetDB.spec debian/changelog libversions Branch: linear-hashing Log Message: Merge with Nov2019 branch. diffs (76 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -750,3 +750,5 @@ e0719bdebf32967ca0a0043f556b3f48f93e0ce0 8d4258444e2a0a809468fb85be7999a407d47e04 Nov2019_9 e0719bdebf32967ca0a0043f556b3f48f93e0ce0 Nov2019_SP1_release 8d4258444e2a0a809468fb85be7999a407d47e04 Nov2019_SP1_release +c35ea84b568b792c5fd073f6a1e1a24372de0e20 Nov2019_11 +c35ea84b568b792c5fd073f6a1e1a24372de0e20 Nov2019_SP2_release diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -120,7 +120,7 @@ Group: Applications/Databases License: MPLv2.0 URL: https://www.monetdb.org/ BugURL: https://bugs.monetdb.org/ -Source: https://www.monetdb.org/downloads/sources/Nov2019-SP1/%{name}-%{version}.tar.bz2 +Source: https://www.monetdb.org/downloads/sources/Nov2019-SP2/%{name}-%{version}.tar.bz2 # we need systemd for the _unitdir macro to exist # we need checkpolicy and selinux-policy-devel for the SELinux policy @@ -1060,6 +1060,15 @@ fi %postun -p /sbin/ldconfig %changelog +* Tue Feb 11 2020 Sjoerd Mullender - 11.35.11-20200211 +- Rebuilt. +- BZ#6805: Using the cascade operator in a drop table statement ends in + an exit from the Monetdb shell. +- BZ#6807: Median_avg and quantile_avg ignore NULL values +- BZ#6815: query with ifthenelse() crashes mserver5 +- BZ#6816: Monetdb Crashes on INSERT statement after ALTER statement in + another connection + * Wed Dec 18 2019 Sjoerd Mullender - 11.35.9-20191218 - Rebuilt. - BZ#6804: DNS resolution of 0.0.0.0 fails on recent Ubuntus diff --git a/debian/changelog b/debian/changelog --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,15 @@ +monetdb (11.35.11) unstable; urgency=low + + * Rebuilt. + * BZ#6805: Using the cascade operator in a drop table statement ends in +an exit from the Monetdb shell. + * BZ#6807: Median_avg and quantile_avg ignore NULL values + * BZ#6815: query with ifthenelse() crashes mserver5 + * BZ#6816: Monetdb Crashes on INSERT statement after ALTER statement in +another connection + + -- Sjoerd Mullender Tue, 11 Feb 2020 14:07:49 +0100 + monetdb (11.35.9) unstable; urgency=low * Rebuilt. diff --git a/libversions b/libversions --- a/libversions +++ b/libversions @@ -36,13 +36,13 @@ # version of the GDK library (subdirectory gdk; also includes # common/options and common/utils) -GDK_VERSION=19:2:0 +GDK_VERSION=19:3:0 # version of the MAPI library (subdirectory clients/mapilib) -MAPI_VERSION=12:2:0 +MAPI_VERSION=12:3:0 # version of the MONETDB5 library (subdirectory monetdb5, not including extras or sql) -MONETDB5_VERSION=28:3:0 +MONETDB5_VERSION=28:4:0 # version of the STREAM library (subdirectory common/stream) STREAM_VERSION=13:3:0 ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: linear-hashing - Merge with Nov2019 branch, not changin...
Changeset: 91f2c83730d2 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=91f2c83730d2 Modified Files: MonetDB.spec NT/monetdb_config.h.in NT/rules.msc clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc configure.ag gdk/libbat.rc monetdb5/tools/libmonetdb5.rc vertoo.data Branch: linear-hashing Log Message: Merge with Nov2019 branch, not changing any files. ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: linear-hashing - Merge with Nov2019 branch.
Changeset: ae4f1bbf2ec2 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ae4f1bbf2ec2 Modified Files: gdk/gdk.h gdk/gdk_hash.h gdk/gdk_unique.c monetdb5/modules/atoms/mtime.c sql/rel.txt Branch: linear-hashing Log Message: Merge with Nov2019 branch. diffs (54 lines): diff --git a/gdk/gdk_hash.h b/gdk/gdk_hash.h --- a/gdk/gdk_hash.h +++ b/gdk/gdk_hash.h @@ -220,6 +220,15 @@ HASHgetlink(Hash *h, BUN i) hb = HASHgetlink(h,hb))\ if (* (const TYPE *) (v) == * (const TYPE *) BUNtloc(bi, hb)) +/* need to take special care comparing nil floating point values */ +#define HASHloop_fTYPE(bi, h, hb, v, TYPE) \ + for (hb = HASHget(h, hash_##TYPE(h, v)); \ +hb != HASHnil(h); \ +hb = HASHgetlink(h,hb)) \ + if (is_##TYPE##_nil(* (const TYPE *) (v)) \ + ? is_##TYPE##_nil(* (const TYPE *) BUNtloc(bi, hb)) \ + : * (const TYPE *) (v) == * (const TYPE *) BUNtloc(bi, hb)) + #define HASHloop_bte(bi, h, hb, v) HASHloop_TYPE(bi, h, hb, v, bte) #define HASHloop_sht(bi, h, hb, v) HASHloop_TYPE(bi, h, hb, v, sht) #define HASHloop_int(bi, h, hb, v) HASHloop_TYPE(bi, h, hb, v, int) @@ -227,8 +236,8 @@ HASHgetlink(Hash *h, BUN i) #ifdef HAVE_HGE #define HASHloop_hge(bi, h, hb, v) HASHloop_TYPE(bi, h, hb, v, hge) #endif -#define HASHloop_flt(bi, h, hb, v) HASHloop_TYPE(bi, h, hb, v, flt) -#define HASHloop_dbl(bi, h, hb, v) HASHloop_TYPE(bi, h, hb, v, dbl) +#define HASHloop_flt(bi, h, hb, v) HASHloop_fTYPE(bi, h, hb, v, flt) +#define HASHloop_dbl(bi, h, hb, v) HASHloop_fTYPE(bi, h, hb, v, dbl) #define HASHfnd_str(x,y,z) \ do {\ diff --git a/gdk/gdk_unique.c b/gdk/gdk_unique.c --- a/gdk/gdk_unique.c +++ b/gdk/gdk_unique.c @@ -155,6 +155,7 @@ BATunique(BAT *b, BAT *s) seen = NULL; } else if (BATcheckhash(b) || (!b->batTransient && + cnt == BATcount(b) && BAThash(b) == GDK_SUCCEED) || ((parent = VIEWtparent(b)) != 0 && BATcheckhash(BBPdescriptor(parent { diff --git a/sql/rel.txt b/sql/rel.txt --- a/sql/rel.txt +++ b/sql/rel.txt @@ -137,9 +137,6 @@ e_cmp cmp_joined = 17,/* special case already joined */ cmp_left = 18, /* special case equi join, keep left order */ cmp_left_project = 19 /* last step of outer join */ - - cmp_all = 14, cross product - cmp_project = 15, special case for projection joins ) e_func ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: linear-hashing - Merge with Nov2019 branch.
Changeset: 0f21c1f33436 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0f21c1f33436 Modified Files: MonetDB.spec NT/winconfig.py buildtools/selinux/monetdb.fc buildtools/selinux/monetdb.te clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 common/utils/matomic.h configure.ag debian/monetdb5-sql.postinst debian/rules gdk/gdk_join.c monetdb5/mal/mal_session.c monetdb5/modules/kernel/algebra.mal sql/backends/monet5/sql_gencode.c sql/server/rel_exp.c sql/server/rel_exp.h sql/server/rel_select.c sql/server/sql_semantic.c sql/test/analytics/Tests/analytics01.sql sql/test/analytics/Tests/analytics01.stable.out testing/Mtest.py.in tools/merovingian/daemon/config/.merovingian_properties.in tools/merovingian/daemon/config/monetdbd.in Branch: linear-hashing Log Message: Merge with Nov2019 branch. diffs (truncated from 436 to 300 lines): diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -41,6 +41,12 @@ %global fedpkgs 1 %endif +%if %{?rhel:1}%{!?rhel:0} && 0%{?rhel} < 7 +# RedHat Enterprise Linux < 7 +# There is no macro _rundir, and no directory /run, instead use /var/run. +%global _rundir %{_localstatedir}/run +%endif + # On Fedora, the geos library is available, and so we can require it # and build the geom modules. On RedHat Enterprise Linux and # derivatives (CentOS, Scientific Linux), the geos library is not @@ -755,14 +761,13 @@ use SQL with MonetDB, you will need to i %{_bindir}/monetdb %{_bindir}/monetdbd %dir %attr(775,monetdb,monetdb) %{_localstatedir}/log/monetdb +%dir %attr(775,monetdb,monetdb) %{_rundir}/monetdb %if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 # RHEL >= 7, and all current Fedora -%dir %attr(775,monetdb,monetdb) /run/monetdb %{_tmpfilesdir}/monetdbd.conf %{_unitdir}/monetdbd.service %else # RedHat Enterprise Linux < 7 -%dir %attr(775,monetdb,monetdb) %{_localstatedir}/run/monetdb %exclude %{_sysconfdir}/tmpfiles.d/monetdbd.conf # no _unitdir macro %exclude %{_prefix}/lib/systemd/system/monetdbd.service @@ -900,9 +905,7 @@ do /usr/sbin/semodule -s ${selinuxvariant} -i \ %{_datadir}/selinux/${selinuxvariant}/monetdb.pp &> /dev/null || : done -# use %{_localstatedir}/run/monetdb here for EPEL 6; on other systems, -# %{_localstatedir}/run is a symlink to /run -/sbin/restorecon -R %{_localstatedir}/monetdb5 %{_localstatedir}/log/monetdb %{_localstatedir}/run/monetdb %{_bindir}/monetdbd %{_bindir}/mserver5 %{_unitdir}/monetdbd.service &> /dev/null || : +/sbin/restorecon -R %{_localstatedir}/monetdb5 %{_localstatedir}/log/monetdb %{_rundir}/monetdb %{_bindir}/monetdbd %{_bindir}/mserver5 %{_unitdir}/monetdbd.service &> /dev/null || : /usr/bin/systemctl try-restart monetdbd.service %postun selinux @@ -915,9 +918,7 @@ if [ $1 -eq 0 ] ; then do /usr/sbin/semodule -s ${selinuxvariant} -r monetdb &> /dev/null || : done - # use %{_localstatedir}/run/monetdb here for EPEL 6; on other systems, - # %{_localstatedir}/run is a symlink to /run - /sbin/restorecon -R %{_localstatedir}/monetdb5 %{_localstatedir}/log/monetdb %{_localstatedir}/run/monetdb %{_bindir}/monetdbd %{_bindir}/mserver5 %{_unitdir}/monetdbd.service &> /dev/null || : + /sbin/restorecon -R %{_localstatedir}/monetdb5 %{_localstatedir}/log/monetdb %{_rundir}/monetdb %{_bindir}/monetdbd %{_bindir}/mserver5 %{_unitdir}/monetdbd.service &> /dev/null || : if [ $active = active ]; then /usr/bin/systemctl start monetdbd.service fi @@ -954,6 +955,7 @@ export CFLAGS # do not use --enable-optimize or --disable-optimize: we don't want # any changes to optimization flags %{configure} \ + --with-rundir=%{_rundir} \ --enable-assert=no \ --enable-debug=yes \ --enable-developer=no \ @@ -1028,13 +1030,7 @@ rmdir %{buildroot}%{_sysconfdir}/tmpfile install -d -m 0750 %{buildroot}%{_localstatedir}/MonetDB install -d -m 0770 %{buildroot}%{_localstatedir}/monetdb5/dbfarm install -d -m 0775 %{buildroot}%{_localstatedir}/log/monetdb -%if %{?rhel:0}%{!?rhel:1} || 0%{?rhel} >= 7 -# RHEL >= 7, and all current Fedora -install -d -m 0775 %{buildroot}/run/monetdb -%else -# RedHat Enterprise Linux < 7 -install -d -m 0775 %{buildroot}%{_localstatedir}/run/monetdb -%endif +install -d -m 0775 %{buildroot}%{_rundir}/monetdb # remove unwanted stuff # .la files diff --git a/NT/winconfig.py b/NT/winconfig.py --- a/NT/winconfig.py +++ b/NT/winconfig.py @@ -28,8 +28,7 @@ subs = [("@exec_prefix@", r'%prefix%'), ("@pkgdatadir@", r'%prefix%\share\@PACKAGE@'), ("@pkglibdir@", r'%exec_prefix%\lib\@PACKAGE@'), ("@pkgincludedir@", r'%prefix%\include\@PACKAGE@'), -("@DIRSEP@", '\\'), -("@PATHSEP@", ';')] +] if len(sys.argv) > 1 and
MonetDB: linear-hashing - Merge with Nov2019 branch.
Changeset: dc2ba7f87164 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=dc2ba7f87164 Modified Files: sql/server/rel_optimizer.c sql/test/miscellaneous/Tests/groupby_error.sql sql/test/miscellaneous/Tests/groupby_error.stable.out Branch: linear-hashing Log Message: Merge with Nov2019 branch. diffs (51 lines): diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c --- a/sql/server/rel_optimizer.c +++ b/sql/server/rel_optimizer.c @@ -5893,10 +5893,13 @@ rel_groupby_distinct(int *changes, mvc * if (e != distinct) { if (e->type == e_aggr) { /* copy the arguments to the aggregate */ list *args = e->l; - sql_exp *dargs = args->h->data; - - list_append(ngbe, exp_copy(sql, dargs)); - list_append(exps, exp_copy(sql, dargs)); + if (args) { + for (node *n = args->h ; n ; n = n->next) { + sql_exp *e = n->data; + list_append(ngbe, exp_copy(sql, e)); + list_append(exps, exp_copy(sql, e)); + } + } } else { e = exp_ref(sql->sa, e); append(ngbe, e); diff --git a/sql/test/miscellaneous/Tests/groupby_error.sql b/sql/test/miscellaneous/Tests/groupby_error.sql --- a/sql/test/miscellaneous/Tests/groupby_error.sql +++ b/sql/test/miscellaneous/Tests/groupby_error.sql @@ -10,4 +10,6 @@ START TRANSACTION; CREATE TABLE tab0(col0 INTEGER, col1 INTEGER, col2 INTEGER); INSERT INTO tab0 VALUES(97,1,99), (15,81,47), (87,21,10); SELECT CAST(+ col1 * - col1 AS BIGINT) AS col2 FROM tab0 GROUP BY col2, col0, col1 HAVING + - col0 / - AVG ( ALL + col2 ) - - - AVG ( DISTINCT + col0 ) + col0 IS NULL; +SELECT DISTINCT + 40 / + + col0 AS col2 FROM tab0 GROUP BY col0, col0, col2 HAVING NOT ( NOT + - 80 BETWEEN NULL AND + - 73 ) OR NOT ( + col0 >= - COUNT ( * ) + - COUNT ( DISTINCT - col0 ) ); +SELECT ALL * FROM tab0 AS cor0 WHERE col2 NOT IN ( 22, 18, CAST ( NULL AS INTEGER ) + - 77 ); ROLLBACK; diff --git a/sql/test/miscellaneous/Tests/groupby_error.stable.out b/sql/test/miscellaneous/Tests/groupby_error.stable.out --- a/sql/test/miscellaneous/Tests/groupby_error.stable.out +++ b/sql/test/miscellaneous/Tests/groupby_error.stable.out @@ -76,6 +76,16 @@ stdout of test 'groupby_error` in direct % col2 # name % bigint # type % 1 # length +#SELECT DISTINCT + 40 / + + col0 AS col2 FROM tab0 GROUP BY col0, col0, col2 HAVING NOT ( NOT + - 80 BETWEEN NULL AND + - 73 ) OR NOT ( + col0 >= - COUNT ( * ) + - COUNT ( DISTINCT - col0 ) ); +% .L1 # table_name +% col2 # name +% int # type +% 1 # length +#SELECT ALL * FROM tab0 AS cor0 WHERE col2 NOT IN ( 22, 18, CAST ( NULL AS INTEGER ) + - 77 ); +% sys.cor0,sys.cor0, sys.cor0 # table_name +% col0,col1, col2 # name +% int, int,int # type +% 1, 1, 1 # length #ROLLBACK; # 10:56:47 > ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: linear-hashing - Merge with Nov2019 branch.
Changeset: 551e328de1cf for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=551e328de1cf Modified Files: gdk/gdk_utils.c Branch: linear-hashing Log Message: Merge with Nov2019 branch. diffs (73 lines): diff --git a/gdk/gdk_utils.c b/gdk/gdk_utils.c --- a/gdk/gdk_utils.c +++ b/gdk/gdk_utils.c @@ -405,9 +405,48 @@ MT_init(void) #ifdef __linux__ /* limit values to whatever cgroups gives us */ FILE *fc; + char buf[1024]; + char cgr1[1024] = "/sys/fs/cgroup/memory"; + char cgr2[1024] = "/sys/fs/cgroup"; + fc = fopen("/proc/self/mountinfo", "r"); + if (fc != NULL) { + while (fgets(buf, (int) sizeof(buf), fc) != NULL) { + char *p, *cgr; + if ((p = strstr(buf, " - cgroup ")) != NULL && + strstr(p, "memory") != NULL) + cgr = cgr1; + else if (strstr(buf, " - cgroup2 ") != NULL) + cgr = cgr2; + else + continue; + /* buf point at mount ID */ + p = strchr(buf, ' '); + if (p++ == NULL) + break; + /* p points at parent ID */ + p = strchr(p, ' '); + if (p++ == NULL) + break; + /* p points at major:minor */ + p = strchr(p, ' '); + if (p++ == NULL) + break; + /* p points at root */ + p = strchr(p, ' '); + if (p++ == NULL) + break; + /* p points at mount point */ + char *dir = p; + p = strchr(p, ' '); + if (p == NULL) + break; + *p = 0; + strcpy(cgr, dir); + } + fclose(fc); + } fc = fopen("/proc/self/cgroup", "r"); if (fc != NULL) { - char buf[1024]; /* each line is of the form: * hierarchy-ID:controller-list:cgroup-path * @@ -441,8 +480,7 @@ MT_init(void) if (strncmp(buf, "0::", 3) == 0) { /* cgroup v2 entry */ l = strconcat_len(pth, sizeof(pth), - "/sys/fs/cgroup", - buf + 3, "/", NULL); + cgr2, buf + 3, "/", NULL); /* hard limit */ strcpy(pth + l, "memory.max"); f = fopen(pth, "r"); @@ -490,8 +528,7 @@ MT_init(void) if (strstr(q, "memory") == NULL) continue; l = strconcat_len(pth, sizeof(pth), - "/sys/fs/cgroup/", q, - p, "/", NULL); + cgr1, p, "/", NULL); /* limit of memory usage */ strcpy(pth + l, "memory.limit_in_bytes"); f = fopen(pth, "r"); ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: linear-hashing - Merge with Nov2019 branch.
Changeset: 5ab4a71aa65b for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5ab4a71aa65b Modified Files: gdk/gdk_atoms.h sql/test/remote/Tests/creds.SQL.py sql/test/remote/Tests/different_user.SQL.py sql/test/remote/Tests/invalid_creds.SQL.py sql/test/remote/Tests/ssbm.SQL.py Branch: linear-hashing Log Message: Merge with Nov2019 branch. diffs (truncated from 544 to 300 lines): diff --git a/gdk/gdk_atoms.h b/gdk/gdk_atoms.h --- a/gdk/gdk_atoms.h +++ b/gdk/gdk_atoms.h @@ -165,8 +165,8 @@ gdk_export const ptr ptr_nil; * In all algorithms across GDK, you will find switches on the types * (bte, sht, int, flt, dbl, lng, hge, str). They respectively * represent an octet, a 16-bit int, a 32-bit int, a 32-bit float, a - * 64-bit double, a 64-bit int, and a pointer-sized location of a - * char-buffer (ended by a zero char). + * 64-bit double, a 64-bit int, a 128-bit int, and a pointer-sized location + * of a char-buffer (ended by a zero char). * * In contrast, the types (bit, ptr, bat, oid) are derived types. They * do not occur in the switches. The ATOMstorage macro maps them diff --git a/sql/test/remote/Tests/creds.SQL.py b/sql/test/remote/Tests/creds.SQL.py --- a/sql/test/remote/Tests/creds.SQL.py +++ b/sql/test/remote/Tests/creds.SQL.py @@ -89,43 +89,45 @@ def create_workers(fn_template, nworkers # Start supervisor database supervisorport = freeport() os.mkdir(os.path.join(TMPDIR, "supervisor")) -supervisorproc = process.server(mapiport=supervisorport, dbname="supervisor", dbfarm=os.path.join(TMPDIR, "supervisor"), stdin=process.PIPE, stdout=process.PIPE) -supervisorconn = pymonetdb.connect(database='supervisor', port=supervisorport, autocommit=True) -supervisor_uri = "mapi:monetdb://localhost:{}/supervisor".format(supervisorport) -c = supervisorconn.cursor() +try: +supervisorproc = process.server(mapiport=supervisorport, dbname="supervisor", dbfarm=os.path.join(TMPDIR, "supervisor"), stdin=process.PIPE, stdout=process.PIPE) +supervisorconn = pymonetdb.connect(database='supervisor', port=supervisorport, autocommit=True) +supervisor_uri = "mapi:monetdb://localhost:{}/supervisor".format(supervisorport) +c = supervisorconn.cursor() -# Create the movies table and load the data -movies_filename=os.getenv("TSTDATAPATH")+"/netflix_data/movies.csv" -movies_create = "CREATE TABLE movies {}".format(MOVIES_TABLE_DEF) -c.execute(movies_create) -load_movies = "COPY INTO movies FROM '{}' USING DELIMITERS ',','\n','\"'".format(movies_filename) -c.execute(load_movies) +# Create the movies table and load the data +movies_filename=os.getenv("TSTDATAPATH")+"/netflix_data/movies.csv" +movies_create = "CREATE TABLE movies {}".format(MOVIES_TABLE_DEF) +c.execute(movies_create) +load_movies = "COPY INTO movies FROM '{}' USING DELIMITERS ',','\n','\"'".format(movies_filename) +c.execute(load_movies) -# Declare the ratings merge table on supervisor -mtable = "CREATE MERGE TABLE ratings {}".format(RATINGS_TABLE_DEF) -c.execute(mtable) +# Declare the ratings merge table on supervisor +mtable = "CREATE MERGE TABLE ratings {}".format(RATINGS_TABLE_DEF) +c.execute(mtable) -# Create the workers and load the ratings data -fn_template=os.getenv("TSTDATAPATH")+"/netflix_data/ratings_sample_{}.csv" -cmovies = "CREATE REMOTE TABLE movies {} ON '{}' WITH USER 'monetdb' PASSWORD 'monetdb'".format(MOVIES_TABLE_DEF, supervisor_uri) -workers = create_workers(fn_template, NWORKERS, cmovies, RATINGS_TABLE_DEF_FK) +# Create the workers and load the ratings data +fn_template=os.getenv("TSTDATAPATH")+"/netflix_data/ratings_sample_{}.csv" +cmovies = "CREATE REMOTE TABLE movies {} ON '{}' WITH USER 'monetdb' PASSWORD 'monetdb'".format(MOVIES_TABLE_DEF, supervisor_uri) +try: +workers = create_workers(fn_template, NWORKERS, cmovies, RATINGS_TABLE_DEF_FK) -# Create the remote tables on supervisor -for wrec in workers: -rtable = "CREATE REMOTE TABLE ratings{} {} on '{}' WITH USER 'monetdb' PASSWORD 'monetdb'".format(wrec['num'], RATINGS_TABLE_DEF, wrec['mapi']) -c.execute(rtable) +# Create the remote tables on supervisor +for wrec in workers: +rtable = "CREATE REMOTE TABLE ratings{} {} on '{}' WITH USER 'monetdb' PASSWORD 'monetdb'".format(wrec['num'], RATINGS_TABLE_DEF, wrec['mapi']) +c.execute(rtable) -atable = "ALTER TABLE ratings add table ratings{}".format(wrec['num']) -c.execute(atable) +atable = "ALTER TABLE ratings add table ratings{}".format(wrec['num']) +c.execute(atable) -# Run the queries -c.execute("SELECT COUNT(*) FROM ratings0") -print("{} rows in remote table".format(c.fetchall()[0][0])) +# Run the queries +c.execute("SELECT COUNT(*) FROM ratings0") +print("{} rows in remote table".format(c.fetchall()[0][0])) -c.execute("SELECT COUNT(*) FROM ratings")
MonetDB: linear-hashing - Merge with Nov2019 branch.
Changeset: a3f96f2342ef for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a3f96f2342ef Modified Files: monetdb5/modules/atoms/str.c Branch: linear-hashing Log Message: Merge with Nov2019 branch. diffs (247 lines): diff --git a/monetdb5/modules/atoms/str.c b/monetdb5/modules/atoms/str.c --- a/monetdb5/modules/atoms/str.c +++ b/monetdb5/modules/atoms/str.c @@ -96,7 +96,7 @@ * high-performance hash-lookup (all code inlined). */ -/* These tables were generated from the Unicode 10.0.0 spec. */ +/* These tables were generated from the Unicode 12.1.0 spec. */ struct UTF8_lower_upper { unsigned int from, to; } UTF8_toUpper[] = { /* code points with non-null uppercase conversion */ @@ -333,6 +333,7 @@ struct UTF8_lower_upper { { 0x0275, 0x019F, }, { 0x027D, 0x2C64, }, { 0x0280, 0x01A6, }, + { 0x0282, 0xA7C5, }, { 0x0283, 0x01A9, }, { 0x0287, 0xA7B1, }, { 0x0288, 0x01AE, }, @@ -594,6 +595,52 @@ struct UTF8_lower_upper { { 0x0584, 0x0554, }, { 0x0585, 0x0555, }, { 0x0586, 0x0556, }, + { 0x10D0, 0x1C90, }, + { 0x10D1, 0x1C91, }, + { 0x10D2, 0x1C92, }, + { 0x10D3, 0x1C93, }, + { 0x10D4, 0x1C94, }, + { 0x10D5, 0x1C95, }, + { 0x10D6, 0x1C96, }, + { 0x10D7, 0x1C97, }, + { 0x10D8, 0x1C98, }, + { 0x10D9, 0x1C99, }, + { 0x10DA, 0x1C9A, }, + { 0x10DB, 0x1C9B, }, + { 0x10DC, 0x1C9C, }, + { 0x10DD, 0x1C9D, }, + { 0x10DE, 0x1C9E, }, + { 0x10DF, 0x1C9F, }, + { 0x10E0, 0x1CA0, }, + { 0x10E1, 0x1CA1, }, + { 0x10E2, 0x1CA2, }, + { 0x10E3, 0x1CA3, }, + { 0x10E4, 0x1CA4, }, + { 0x10E5, 0x1CA5, }, + { 0x10E6, 0x1CA6, }, + { 0x10E7, 0x1CA7, }, + { 0x10E8, 0x1CA8, }, + { 0x10E9, 0x1CA9, }, + { 0x10EA, 0x1CAA, }, + { 0x10EB, 0x1CAB, }, + { 0x10EC, 0x1CAC, }, + { 0x10ED, 0x1CAD, }, + { 0x10EE, 0x1CAE, }, + { 0x10EF, 0x1CAF, }, + { 0x10F0, 0x1CB0, }, + { 0x10F1, 0x1CB1, }, + { 0x10F2, 0x1CB2, }, + { 0x10F3, 0x1CB3, }, + { 0x10F4, 0x1CB4, }, + { 0x10F5, 0x1CB5, }, + { 0x10F6, 0x1CB6, }, + { 0x10F7, 0x1CB7, }, + { 0x10F8, 0x1CB8, }, + { 0x10F9, 0x1CB9, }, + { 0x10FA, 0x1CBA, }, + { 0x10FD, 0x1CBD, }, + { 0x10FE, 0x1CBE, }, + { 0x10FF, 0x1CBF, }, { 0x13F8, 0x13F0, }, { 0x13F9, 0x13F1, }, { 0x13FA, 0x13F2, }, @@ -611,6 +658,7 @@ struct UTF8_lower_upper { { 0x1C88, 0xA64A, }, { 0x1D79, 0xA77D, }, { 0x1D7D, 0x2C63, }, + { 0x1D8E, 0xA7C6, }, { 0x1E01, 0x1E00, }, { 0x1E03, 0x1E02, }, { 0x1E05, 0x1E04, }, @@ -1109,6 +1157,7 @@ struct UTF8_lower_upper { { 0xA78C, 0xA78B, }, { 0xA791, 0xA790, }, { 0xA793, 0xA792, }, + { 0xA794, 0xA7C4, }, { 0xA797, 0xA796, }, { 0xA799, 0xA798, }, { 0xA79B, 0xA79A, }, @@ -1121,6 +1170,11 @@ struct UTF8_lower_upper { { 0xA7A9, 0xA7A8, }, { 0xA7B5, 0xA7B4, }, { 0xA7B7, 0xA7B6, }, + { 0xA7B9, 0xA7B8, }, + { 0xA7BB, 0xA7BA, }, + { 0xA7BD, 0xA7BC, }, + { 0xA7BF, 0xA7BE, }, + { 0xA7C3, 0xA7C2, }, { 0xAB53, 0xA7B3, }, { 0xAB70, 0x13A0, }, { 0xAB71, 0x13A1, }, @@ -1387,6 +1441,38 @@ struct UTF8_lower_upper { { 0x118DD, 0x118BD, }, { 0x118DE, 0x118BE, }, { 0x118DF, 0x118BF, }, + { 0x16E60, 0x16E40, }, + { 0x16E61, 0x16E41, }, + { 0x16E62, 0x16E42, }, + { 0x16E63, 0x16E43, }, + { 0x16E64, 0x16E44, }, + { 0x16E65, 0x16E45, }, + { 0x16E66, 0x16E46, }, + { 0x16E67, 0x16E47, }, + { 0x16E68, 0x16E48, }, + { 0x16E69, 0x16E49, }, + { 0x16E6A, 0x16E4A, }, + { 0x16E6B, 0x16E4B, }, + { 0x16E6C, 0x16E4C, }, + { 0x16E6D, 0x16E4D, }, + { 0x16E6E, 0x16E4E, }, + { 0x16E6F, 0x16E4F, }, + { 0x16E70, 0x16E50, }, + { 0x16E71, 0x16E51, }, + { 0x16E72, 0x16E52, }, + { 0x16E73, 0x16E53, }, + { 0x16E74, 0x16E54, }, + { 0x16E75, 0x16E55, }, + { 0x16E76, 0x16E56, }, + { 0x16E77, 0x16E57, }, + { 0x16E78, 0x16E58, }, + { 0x16E79, 0x16E59, }, + { 0x16E7A, 0x16E5A, }, + { 0x16E7B, 0x16E5B, }, + { 0x16E7C, 0x16E5C, }, + { 0x16E7D, 0x16E5D, }, + { 0x16E7E, 0x16E5E, }, + { 0x16E7F, 0x16E5F, }, { 0x1E922, 0x1E900, }, { 0x1E923, 0x1E901, }, { 0x1E924, 0x1E902, }, @@ -2017,6 +2103,52 @@ struct UTF8_lower_upper { { 0x13F3, 0x13FB, }, { 0x13F4, 0x13FC, }, { 0x13F5, 0x13FD, }, + { 0x1C90, 0x10D0, }, + { 0x1C91, 0x10D1, }, + { 0x1C92, 0x10D2, }, + { 0x1C93, 0x10D3, }, + { 0x1C94, 0x10D4, }, + { 0x1C95, 0x10D5, }, + { 0x1C96, 0x10D6, }, + { 0x1C97, 0x10D7, },
MonetDB: linear-hashing - Merge with Nov2019 branch.
Changeset: 3bcb927aee9a for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3bcb927aee9a Modified Files: tools/merovingian/client/monetdb.c Branch: linear-hashing Log Message: Merge with Nov2019 branch. diffs (15 lines): diff --git a/tools/merovingian/client/monetdb.c b/tools/merovingian/client/monetdb.c --- a/tools/merovingian/client/monetdb.c +++ b/tools/merovingian/client/monetdb.c @@ -1549,6 +1549,11 @@ command_create(int argc, char *argv[]) simple_argv_cmd(argv[0], orig, "create", "created database in maintenance mode", NULL); } + /* msab_freeStatus does not free dbname */ + for (stats = orig; stats; stats = stats->next) { + free(stats->dbname); + stats->dbname = NULL; + } msab_freeStatus(); } ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: linear-hashing - Merge with Nov2019 branch.
Changeset: b7357ecb4b3f for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b7357ecb4b3f Modified Files: gdk/gdk.h gdk/gdk_analytic_bounds.c gdk/gdk_analytic_func.c gdk/gdk_atoms.h gdk/gdk_bat.c gdk/gdk_calc.c gdk/gdk_calc_private.h gdk/gdk_firstn.c gdk/gdk_hash.h gdk/gdk_imprints.c gdk/gdk_join.c gdk/gdk_private.h gdk/gdk_system.h sql/backends/monet5/sql_rank.mal.sh sql/common/sql_types.c sql/test/BugTracker-2019/Tests/All sql/test/miscellaneous/Tests/simple_selects.sql sql/test/miscellaneous/Tests/simple_selects.stable.err Branch: linear-hashing Log Message: Merge with Nov2019 branch. diffs (truncated from 1367 to 300 lines): diff --git a/gdk/gdk.h b/gdk/gdk.h --- a/gdk/gdk.h +++ b/gdk/gdk.h @@ -2041,21 +2041,21 @@ gdk_export str GDKstrndup(const char *s, __func__, __FILE__, __LINE__); \ _res; \ }) -#define GDKmmap(p, m, l) \ - ({ \ - const char *_path = (p);\ - int _mode = (m);\ - size_t _len = (l); \ - void *_res = GDKmmap(_path, _mode, _len); \ - ALLOCDEBUG \ - fprintf(stderr, \ - "#GDKmmap(%s,0x%x,%zu) -> %p" \ - " %s[%s:%d]\n", \ - _path ? _path : "NULL", \ - (unsigned) _mode, _len, \ - _res, \ - __func__, __FILE__, __LINE__); \ - _res; \ +#define GDKmmap(p, m, l) \ + ({ \ + const char *_path = (p);\ + int _mode = (m);\ + size_t _len = (l); \ + void *_res = GDKmmap(_path, _mode, _len); \ + ALLOCDEBUG \ + fprintf(stderr, \ + "#GDKmmap(%s,0x%x,%zu) -> %p" \ + " %s[%s:%d]\n", \ + _path ? _path : "NULL", \ + (unsigned) _mode, _len, \ + _res, \ + __func__, __FILE__, __LINE__); \ + _res; \ }) #define malloc(s) \ ({ \ diff --git a/gdk/gdk_analytic_bounds.c b/gdk/gdk_analytic_bounds.c --- a/gdk/gdk_analytic_bounds.c +++ b/gdk/gdk_analytic_bounds.c @@ -16,7 +16,7 @@ lng calc1, calc2; \ j = k; \ for (; k < i; k++, rb++) { \ - lng rlimit = LIMIT; \ + lng rlimit = LIMIT; \ SUB_WITH_CHECK(k, rlimit, lng, calc1, GDK_lng_max, goto calc_overflow); \ ADD_WITH_CHECK(calc1, !first_half, lng, calc2, GDK_lng_max, goto calc_overflow); \ *rb = MAX(calc2, j);\ @@ -27,7 +27,7 @@ do {\ lng calc1, calc2; \ for (; k < i; k++, rb++) { \ - lng rlimit = LIMIT; \ + lng rlimit = LIMIT; \ ADD_WITH_CHECK(rlimit, k, lng, calc1, GDK_lng_max, goto calc_overflow); \ ADD_WITH_CHECK(calc1, !first_half, lng, calc2, GDK_lng_max, goto calc_overflow); \ *rb = MIN(calc2, i);\ @@ -39,10 +39,10 @@ lng m = k - 1; \ TPE1 v, calc; \ TPE2 rlimit;
MonetDB: linear-hashing - Merge with Nov2019 branch.
Changeset: 8578895b64a0 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8578895b64a0 Modified Files: gdk/gdk_atoms.c monetdb5/mal/mal_factory.c Branch: linear-hashing Log Message: Merge with Nov2019 branch. diffs (27 lines): diff --git a/gdk/gdk_atoms.c b/gdk/gdk_atoms.c --- a/gdk/gdk_atoms.c +++ b/gdk/gdk_atoms.c @@ -933,7 +933,12 @@ ptrFromStr(const char *src, size_t *len, return (ssize_t) (p - src); } +#ifdef _MSC_VER +/* Windows doesn't put 0x in front whereas Linux does, so we do it ourselves */ +atomtostr(ptr, "0x%p", ) +#else atomtostr(ptr, "%p", ) +#endif #if SIZEOF_VOID_P == SIZEOF_INT atom_io(ptr, Int, int) diff --git a/monetdb5/mal/mal_factory.c b/monetdb5/mal/mal_factory.c --- a/monetdb5/mal/mal_factory.c +++ b/monetdb5/mal/mal_factory.c @@ -140,6 +140,7 @@ runFactory(Client cntxt, MalBlkPtr mb, M lhs->len = 0; } } + pl->stk->stktop = mb->vtop; pl->stk->stkbot= mb->vtop; /* stack already initialized */ msg = runMAL(cntxt, mb, 0, pl->stk); } else { ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list