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 = &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(&rp); +#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(&rp); } /* 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.partiti
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, dbextra=
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, &statbuf) != -1) { + if (stat(buf, &statbuf) == 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, &statbuf) == -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, &statbuf) != -1; + sdb->locked = stat(buf, &statbuf) == 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(
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(&hsh->heaplink, true); HEAPfree(&hsh->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: -p
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\", \"for\",
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)(&y, &x)) != 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)(&y, &x, 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)(&y, &x, &x2)) != 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)(&y, &x, 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)(&y, &x, &nn)) != 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) && +
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'): +sys.stde
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^&password=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&password=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^&password=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&password=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
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 re
MonetDB: linear-hashing - Merge with Nov2019
Changeset: 06755ebeba1f for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=06755ebeba1f Modified Files: sql/storage/store.c Branch: linear-hashing Log Message: Merge with Nov2019 diffs (45 lines): diff --git a/sql/storage/store.c b/sql/storage/store.c --- a/sql/storage/store.c +++ b/sql/storage/store.c @@ -3053,10 +3053,10 @@ sql_trans_copy_part( sql_trans *tr, sql_ base_init(tr->sa, &npt->base, pt->base.id, TR_NEW, npt->base.name); - if (isNonPartitionedTable(t)) + if (isRangePartitionTable(t) || isListPartitionTable(t)) + dup_sql_type(tr, t->s, &(pt->tpe), &(npt->tpe)); + else npt->tpe = pt->tpe; - else - dup_sql_type(tr, t->s, &(pt->tpe), &(npt->tpe)); npt->with_nills = pt->with_nills; npt->t = t; @@ -3172,10 +3172,10 @@ part_dup(sql_trans *tr, int flags, sql_p sql_table *pt = find_sql_table(mt->s, op->base.name); base_init(sa, &p->base, op->base.id, tr_flag(&op->base, flags), op->base.name); - if (isNonPartitionedTable(mt)) + if (isRangePartitionTable(mt) || isListPartitionTable(mt)) + dup_sql_type(tr, mt->s, &(op->tpe), &(p->tpe)); + else p->tpe = op->tpe; - else - dup_sql_type(tr, mt->s, &(op->tpe), &(p->tpe)); p->with_nills = op->with_nills; p->t = mt; assert(isMergeTable(mt) || isReplicaTable(mt)); @@ -4564,10 +4564,10 @@ reset_part(sql_trans *tr, sql_part *ft, assert(isMergeTable(fmt) || isReplicaTable(fmt)); ft->t = fmt; } - if (isNonPartitionedTable(mt) || !s) + if (s && (isRangePartitionTable(mt) || isListPartitionTable(mt))) + dup_sql_type(tr, s, &(pft->tpe), &(ft->tpe)); + else ft->tpe = pft->tpe; - else - dup_sql_type(tr, s, &(pft->tpe), &(ft->tpe)); } else { ft->t = NULL; ft->tpe = pft->tpe; ___ 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: 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
Changeset: 10a6d7d165c2 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=10a6d7d165c2 Modified Files: sql/backends/monet5/rel_bin.c sql/backends/monet5/sql_execute.c sql/backends/monet5/sql_gencode.c sql/server/rel_select.c sql/test/BugTracker-2010/Tests/prepare_stmt.Bug-2533.Bug-2534.stable.err sql/test/BugTracker/Tests/bind_with_cast.SF-1720934.stable.err Branch: linear-hashing Log Message: Merge with Nov2019 diffs (truncated from 457 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 @@ -1695,10 +1695,11 @@ rel2bin_table(backend *be, sql_rel *rel, nme = number2name(name, sizeof(name), ++sql->remote); l = rel2bin_args(be, rel->l, sa_list(sql->sa)); - if(!l) + if (!l) return NULL; sub = stmt_list(be, l); - sub = stmt_func(be, sub, sa_strdup(sql->sa, nme), rel->l, 0); + if (!(sub = stmt_func(be, sub, sa_strdup(sql->sa, nme), rel->l, 0))) + return NULL; fr = rel->l; l = sa_list(sql->sa); for(i = 0, n = rel->exps->h; n; n = n->next, i++ ) { diff --git a/sql/backends/monet5/sql_execute.c b/sql/backends/monet5/sql_execute.c --- a/sql/backends/monet5/sql_execute.c +++ b/sql/backends/monet5/sql_execute.c @@ -957,7 +957,7 @@ RAstatement2(Client cntxt, MalBlkPtr mb, if (rel) rel = sql_processrelation(m, rel, 0); if (!rel || monet5_create_relational_function(m, *mod, *nme, rel, NULL, ops, 0) < 0) - throw(SQL, "sql.register", SQLSTATE(42000) "Cannot register %s", buf); + throw(SQL, "sql.register", SQLSTATE(42000) "Cannot register %s: %s", buf, m->errstr); rel_destroy(rel); sqlcleanup(m, 0); return msg; 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 @@ -145,15 +145,19 @@ static int backup = c->curprg; curPrg = c->curprg = newFunction(putName(mod), putName(name), FUNCTIONsymbol); - if( curPrg == NULL) + if( curPrg == NULL) { + sql_error(m, 001, SQLSTATE(HY013) MAL_MALLOC_FAIL); return -1; + } curBlk = c->curprg->def; curInstr = getInstrPtr(curBlk, 0); curInstr = relational_func_create_result(m, curBlk, curInstr, r); - if( curInstr == NULL) + if( curInstr == NULL) { + sql_error(m, 001, SQLSTATE(HY013) MAL_MALLOC_FAIL); return -1; + } setVarUDFtype(curBlk, 0); /* ops */ @@ -235,6 +239,7 @@ static int c->curprg->def->errors = msg; } if (c->curprg->def->errors) { + sql_error(m, 003, SQLSTATE(42000) "Internal error while compiling statement: %s", c->curprg->def->errors); freeSymbol(curPrg); res = -1; } @@ -252,17 +257,14 @@ rel2str( mvc *sql, sql_rel *rel) char *res = NULL; b = buffer_create(1024); - if(b == NULL) { - goto cleanup; - } - s = buffer_wastream(b, "rel_dump"); - if(s == NULL) { + if(b == NULL) goto cleanup; - } + s = buffer_wastream(b, "rel_dump"); + if(s == NULL) + goto cleanup; refs = sa_list(sql->sa); - if (!refs) { + if (!refs) goto cleanup; - } rel_print_refs(sql, s, rel, 0, refs, 0); rel_print_(sql, s, rel, 0, refs, 0); @@ -292,25 +294,31 @@ static int char *lname; sql_rel *r = rel; - if(local_tbl == NULL) + if (local_tbl == NULL) { + sql_error(m, 003, SQLSTATE(42000) "Missing property on the input relation"); return -1; + } lname = GDKstrdup(name); - if(lname == NULL) + if (lname == NULL) { + sql_error(m, 001, SQLSTATE(HY013) MAL_MALLOC_FAIL); return -1; + } if (is_topn(r->op)) r = r->l; if (!is_project(r->op)) r = rel_project(m->sa, r, rel_projections(m, r, NULL, 1, 1)); lret = SA_NEW_ARRAY(m->sa, int, list_length(r->exps)); - if(lret == NULL) { + if (lret == NULL) { GDKfree(lname); + sql_error(m, 001, SQLSTATE(HY013) MAL_MALLOC_FAIL); return -1; } rret = SA_NEW_ARRAY(m->sa, int, list_length(r->exps)); - if(rret == NULL) { + if (rret == NULL) { GDKfree(lname); + sql_error(m, 001, SQLSTATE(HY013) MAL_MALLOC_FAIL); return -1; } @@ -319,6 +327,7 @@ static int c->curprg = newFunctio
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: 31cdfdd5920d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=31cdfdd5920d Modified Files: monetdb5/modules/atoms/blob.c monetdb5/modules/atoms/str.c sql/server/rel_select.c sql/test/miscellaneous/Tests/simple_selects.sql sql/test/miscellaneous/Tests/simple_selects.stable.out Branch: linear-hashing Log Message: Merge with Nov2019 branch. diffs (196 lines): diff --git a/monetdb5/modules/atoms/blob.c b/monetdb5/modules/atoms/blob.c --- a/monetdb5/modules/atoms/blob.c +++ b/monetdb5/modules/atoms/blob.c @@ -52,6 +52,12 @@ mal_export gdk_return BLOBwrite(const bl mal_export str BLOBblob_blob(blob **d, blob **s); mal_export str BLOBblob_fromstr(blob **b, const char **d); +static blob nullval = { + ~(size_t) 0 +}; + +#define is_blob_nil(x) ((x)->nitems == nullval.nitems) + str BLOBprelude(void *ret) { @@ -63,16 +69,12 @@ BLOBprelude(void *ret) var_t blobsize(size_t nitems) { - if (nitems == ~(size_t) 0) + if (nitems == nullval.nitems) nitems = 0; assert(offsetof(blob, data) + nitems <= VAR_MAX); return (var_t) (offsetof(blob, data) + nitems); } -static blob nullval = { - ~(size_t) 0 -}; - static char hexit[] = "0123456789ABCDEF"; /* @@ -85,9 +87,9 @@ int BLOBcmp(const blob *l, const blob *r) { int c; - if (r->nitems == ~(size_t)0) - return l->nitems != ~(size_t)0; - if (l->nitems == ~(size_t)0) + if (is_blob_nil(r)) + return !is_blob_nil(l); + if (is_blob_nil(l)) return -1; if (l->nitems < r->nitems) { c = memcmp(l->data, r->data, l->nitems); @@ -181,6 +183,10 @@ BLOBput(Heap *h, var_t *bun, const blob str BLOBnitems(int *ret, blob **b) { + if (is_blob_nil(*b)) { + *ret = int_nil; + return MAL_SUCCEED; + } assert((*b)->nitems nitems; return MAL_SUCCEED; @@ -207,7 +213,7 @@ BLOBtostr(str *tostr, size_t *l, const b size_t i; size_t expectedlen; - if (p->nitems == ~(size_t) 0) + if (is_blob_nil(p)) expectedlen = external ? 4 : 2; else expectedlen = 24 + (p->nitems * 3); @@ -218,7 +224,7 @@ BLOBtostr(str *tostr, size_t *l, const b return -1; *l = expectedlen; } - if (p->nitems == ~(size_t) 0) { + if (is_blob_nil(p)) { if (external) { strcpy(*tostr, "nil"); return 3; @@ -341,7 +347,7 @@ BLOBblob_blob(blob **d, blob **s) if (b == NULL) throw(MAL,"blob", SQLSTATE(HY013) MAL_MALLOC_FAIL); b->nitems = (*s)->nitems; - if (b->nitems != ~(size_t) 0 && b->nitems != 0) + if (!is_blob_nil(b) && b->nitems != 0) memcpy(b->data, (*s)->data, b->nitems); return MAL_SUCCEED; } 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 @@ -3343,8 +3343,13 @@ str STRBytes(int *res, const str *arg1) { size_t l; + const char *s = *arg1; - l = strlen(*arg1); + if (strNil(s)) { + *res = int_nil; + return MAL_SUCCEED; + } + l = strlen(s); assert(l < INT_MAX); *res = (int) l; return MAL_SUCCEED; @@ -3566,7 +3571,7 @@ STRsplitpart(str *res, str *haystack, st const char *s = *haystack; const char *s2 = *needle; - if (strNil(s) || is_int_nil(*field)) { + if (strNil(s) || strNil(s2) || is_int_nil(*field)) { *res = GDKstrdup(str_nil); if (*res == NULL) throw(MAL, "str.splitpart", SQLSTATE(HY013) MAL_MALLOC_FAIL); @@ -3774,7 +3779,7 @@ STRStrip2(str *res, const str *arg1, con size_t nchars; int *chars; - if (strNil(s)) { + if (strNil(s) || strNil(*arg2)) { *res = GDKstrdup(str_nil); } else { chars = trimchars(*arg2, &nchars); @@ -3804,7 +3809,7 @@ STRLtrim2(str *res, const str *arg1, con size_t nchars; int *chars; - if (strNil(s)) { + if (strNil(s) || strNil(*arg2)) { *res = GDKstrdup(str_nil); } else { chars = trimchars(*arg2, &nchars); @@ -3831,7 +3836,7 @@ STRRtrim2(str *res, const str *arg1, con size_t nchars; int *chars; - if (strNil(s)) { + if (strNil(s) || strNil(*arg2)) { *res = GDKstrdup(str_nil); } else { chars = trimchars(*arg2, &nchars); @@ -4117,7 +4122,7 @@ STRinsert(str *ret, const str *s, const { str v; int strt = *start; - if (strcmp(*s2, str_nil) == 0 || strcmp(*s, str_nil) == 0) { + if (strNil(*s) || strNil(*s2) || is_int_nil(*start) || is_int_nil(*l)) {
MonetDB: linear-hashing - Merge with Nov2019
Changeset: 57203b9aab84 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=57203b9aab84 Modified Files: gdk/gdk_group.c monetdb5/modules/atoms/str.c sql/test/miscellaneous/Tests/simple_selects.sql sql/test/miscellaneous/Tests/simple_selects.stable.out Branch: linear-hashing Log Message: Merge with Nov2019 diffs (255 lines): diff --git a/gdk/gdk_group.c b/gdk/gdk_group.c --- a/gdk/gdk_group.c +++ b/gdk/gdk_group.c @@ -420,16 +420,23 @@ rev(oid x) } /* population count: count number of 1 bits in a value */ -#ifdef __GNUC__ -#if SIZEOF_OID == SIZEOF_INT -#define pop(x) __builtin_popcount(x) -#else -#define pop(x) __builtin_popcountl(x) -#endif -#else static inline int pop(oid x) { +#ifdef __GNUC__ +#if SIZEOF_OID == SIZEOF_INT + return __builtin_popcount(x); +#else + return __builtin_popcountl(x); +#endif +#else +#ifdef _MSC_VER +#if SIZEOF_OID == SIZEOF_INT + return (int) __popcnt((unsigned int) (x)); +#else + return (int) __popcnt64((unsigned __int64) (x)); +#endif +#else /* divide and conquer implementation */ #if SIZEOF_OID == 8 x = (x & 0x) + ((x >> 1) & 0x); @@ -446,8 +453,9 @@ pop(oid x) x = (x & 0x) + ((x >> 16) & 0x); #endif return (int) x; +#endif +#endif } -#endif #define GRP_create_partial_hash_table_core(INIT_1,HASH,EQUAL,ASSERT,GRPTST) \ do {\ 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 @@ -3986,7 +3986,7 @@ STRSubstitute(str *res, const str *arg1, const char *pfnd; char *fnd; - if (s == NULL || strcmp(s, str_nil) == 0) { + if (strNil(s)) { if ((*res = GDKstrdup(str_nil)) == NULL) throw(MAL, "str.substitute", SQLSTATE(HY013) MAL_MALLOC_FAIL); return MAL_SUCCEED; @@ -4025,7 +4025,8 @@ STRSubstitute(str *res, const str *arg1, } str -STRascii(int *ret, const str *s){ +STRascii(int *ret, const str *s) +{ int offset=0; return STRWChrAt(ret,s,&offset); } @@ -4033,7 +4034,15 @@ STRascii(int *ret, const str *s){ str STRsubstringTail(str *ret, const str *s, const int *start) { - int offset= *start; + int offset; + + if (strNil(*s) || is_int_nil(*start)) { + if ((*ret = GDKstrdup(str_nil)) == NULL) + throw(MAL, "str.substringTail", SQLSTATE(HY013) MAL_MALLOC_FAIL); + return MAL_SUCCEED; + } + + offset= *start; if( offset <1) offset =1; offset--; return STRTail(ret, s, &offset); @@ -4042,31 +4051,57 @@ STRsubstringTail(str *ret, const str *s, str STRsubstring(str *ret, const str *s, const int *start, const int *l) { - int offset= *start; + int offset; + + if (strNil(*s) || is_int_nil(*start) || is_int_nil(*l)) { + if ((*ret = GDKstrdup(str_nil)) == NULL) + throw(MAL, "str.substring", SQLSTATE(HY013) MAL_MALLOC_FAIL); + return MAL_SUCCEED; + } + + offset= *start; if( offset <1) offset =1; offset--; return STRSubString(ret, s, &offset, l); } + str -STRprefix(str *ret, const str *s, const int *l){ +STRprefix(str *ret, const str *s, const int *l) +{ int start =0; return STRSubString(ret,s,&start,l); } + str -STRsuffix(str *ret, const str *s, const int *l){ - int start = (int) (strlen(*s)- *l); +STRsuffix(str *ret, const str *s, const int *l) +{ + int start; + + if (strNil(*s) || is_int_nil(*l)) { + if ((*ret = GDKstrdup(str_nil)) == NULL) + throw(MAL, "str.suffix", SQLSTATE(HY013) MAL_MALLOC_FAIL); + return MAL_SUCCEED; + } + + start = (int) (strlen(*s)- *l); return STRSubString(ret,s,&start,l); } str STRlocate2(int *ret, const str *needle, const str *haystack, const int *start) { - int off = *start <= 0 ? 1 : *start; - char *s = UTF8_strtail(*haystack, off - 1); - int res; + int off, res; + char *s; + if (strNil(*needle) || strNil(*haystack) || is_int_nil(*start)) { + *ret = int_nil; + return MAL_SUCCEED; + } + + off = *start <= 0 ? 1 : *start; + s = UTF8_strtail(*haystack, off - 1); STRstrSearch(&res, &s, needle); - *ret = res >= 0 ? res + off : 0; + *ret = res >= 0 ? res + off : 0; return MAL_SUCCEED; } @@ -4089,9 +4124,8 @@ STRinsert(str *ret, const str *s, const size_t l1 = strlen(*s); size_t l2 = strlen(*s2); - if (l1 + l2 + 1 >= INT_MAX) { + if (l1 + l2 + 1 >= INT_MAX) throw(MAL, "str.insert", SQLSTATE(HY013) MAL_MALLOC_FA
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 sys.argv[1].endswith(r'\winconfig_co
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.
Changeset: a7f3d55af990 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a7f3d55af990 Modified Files: MonetDB.spec NT/rules.msc monetdb5/modules/kernel/algebra.c monetdb5/modules/mal/mal_mapi.c Branch: linear-hashing Log Message: Merge with Nov2019. diffs (52 lines): diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -90,9 +90,9 @@ %if 0%{?rhel} == 7 || %{!?fedora:1000}%{?fedora} <= 30 %bcond_without py2integration %endif -%if %{?rhel:0}%{!?rhel:1} -# On RHEL 6, Python 3 is too old, and on RHEL 7, the default Python 3 -# is too old (in both cases 3.4). +%if 0%{?rhel} >= 7 || 0%{?fedora} > 0 +# On RHEL 6, Python 3 is too old. On RHEL 7, Python 3 was too old +# when RHEL 7 was released, but now it is ok. %bcond_without py3integration %endif diff --git a/NT/rules.msc b/NT/rules.msc --- a/NT/rules.msc +++ b/NT/rules.msc @@ -64,7 +64,7 @@ PTHREAD_LIBS = ODBCINST_LIBS = odbccp32.lib user32.lib $(LEGACY_STDIO_DEFINITIONS) ODBC_LIBS = odbc32.lib -!IFNDEF PY3VER +!IFNDEF PY2VER PY2VER=7 !ENDIF !IFNDEF PYTHON2BASE diff --git a/monetdb5/modules/kernel/algebra.c b/monetdb5/modules/kernel/algebra.c --- a/monetdb5/modules/kernel/algebra.c +++ b/monetdb5/modules/kernel/algebra.c @@ -310,7 +310,7 @@ ALGselect2nil(bat *result, const bat *bi low = high; else if (*hi == 1 && ATOMcmp(b->ttype, high, nilptr) == 0) high = low; - if (low == high && ATOMcmp(b->ttype, high, nilptr) == 0) /* ugh sql nil != nil */ + if (ATOMcmp(b->ttype, low, high) == 0 && ATOMcmp(b->ttype, high, nilptr) == 0) /* ugh sql nil != nil */ nanti = !nanti; bn = BATselect(b, s, low, high, *li, *hi, nanti); BBPunfix(b->batCacheid); diff --git a/monetdb5/modules/mal/mal_mapi.c b/monetdb5/modules/mal/mal_mapi.c --- a/monetdb5/modules/mal/mal_mapi.c +++ b/monetdb5/modules/mal/mal_mapi.c @@ -930,7 +930,7 @@ SERVERlisten(int port, const char *usock throw(MAL, "mal_mapi.listen", OPERATION_FAILED ": starting thread failed"); } #ifdef DEBUG_SERVER - gethostname(host, (int) 512); + gethostname(host, sizeof(host)); snprintf(msg, (int) 512, "#Ready to accept connections on %s:%d\n", host, port); fprintf(stderr, "%s", msg); #endif ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: linear-hashing - Merge with Nov2019
Changeset: 038838b9b556 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=038838b9b556 Removed Files: sql/test/BugTracker-2008/Tests/too_many_nested_operators.SF-2102167.timeout Modified Files: sql/test/BugTracker-2008/Tests/too_many_nested_operators.SF-2102167.sql sql/test/BugTracker-2008/Tests/too_many_nested_operators.SF-2102167.stable.err sql/test/BugTracker-2008/Tests/too_many_nested_operators.SF-2102167.stable.out sql/test/BugTracker-2009/Tests/union_where_combined.SF-2887282.stable.out Branch: linear-hashing Log Message: Merge with Nov2019 diffs (192 lines): diff --git a/sql/test/BugTracker-2008/Tests/too_many_nested_operators.SF-2102167.sql b/sql/test/BugTracker-2008/Tests/too_many_nested_operators.SF-2102167.sql --- a/sql/test/BugTracker-2008/Tests/too_many_nested_operators.SF-2102167.sql +++ b/sql/test/BugTracker-2008/Tests/too_many_nested_operators.SF-2102167.sql @@ -1,2 +1,2 @@ -select 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+ 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1 +1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+ 1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1+1 +1+1+1+1+1+1+1+1+1+1+
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") -print("{}
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(&orig); } ___ 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