MonetDB: unlock - Implemented extra flag for algebra.outerjoin t...
Changeset: 626f65a1893e for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=626f65a1893e Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/exports.stable.out gdk/gdk.h gdk/gdk_join.c monetdb5/modules/kernel/algebra.c Branch: unlock Log Message: Implemented extra flag for algebra.outerjoin to match exactly one. diffs (truncated from 538 to 300 lines): diff --git a/clients/Tests/MAL-signatures.stable.out b/clients/Tests/MAL-signatures.stable.out --- a/clients/Tests/MAL-signatures.stable.out +++ b/clients/Tests/MAL-signatures.stable.out @@ -676,12 +676,12 @@ stdout of test 'MAL-signatures` in direc [ "algebra", "not_like", "command algebra.not_like(X_1:str, X_2:str):bit ", "PCREnotlike2;","" ] [ "algebra", "not_like", "command algebra.not_like(X_1:str, X_2:str, X_3:str):bit ", "PCREnotlike3;","" ] [ "algebra", "orderidx", "command algebra.orderidx(X_1:bat[:any_1], X_2:bit):bat[:any_1] ", "OIDXorderidx;","" ] -[ "algebra", "outerjoin","command algebra.outerjoin(X_1:bat[:any_1], X_2:bat[:any_1], X_3:bat[:cnd], X_4:bat[:cnd], X_5:bit, X_6:lng):bat[:oid] ", "ALGouterjoin1;", "" ] -[ "algebra", "outerjoin","command algebra.outerjoin(X_1:bat[:any_1], X_2:bat[:msk], X_3:bat[:cnd], X_4:bat[:cnd], X_5:bit, X_6:lng):bat[:oid] ", "ALGouterjoin1;", "" ] -[ "algebra", "outerjoin","command algebra.outerjoin(X_1:bat[:msk], X_2:bat[:any_1], X_3:bat[:cnd], X_4:bat[:cnd], X_5:bit, X_6:lng):bat[:oid] ", "ALGouterjoin1;", "" ] -[ "algebra", "outerjoin","command algebra.outerjoin(X_2:bat[:any_1], X_3:bat[:any_1], X_4:bat[:cnd], X_5:bat[:cnd], X_6:bit, X_7:lng) (X_0:bat[:oid], X_1:bat[:oid]) ", "ALGouterjoin;","" ] -[ "algebra", "outerjoin","command algebra.outerjoin(X_2:bat[:any_1], X_3:bat[:msk], X_4:bat[:cnd], X_5:bat[:cnd], X_6:bit, X_7:lng) (X_0:bat[:oid], X_1:bat[:oid]) ","ALGouterjoin;","" ] -[ "algebra", "outerjoin","command algebra.outerjoin(X_2:bat[:msk], X_3:bat[:any_1], X_4:bat[:cnd], X_5:bat[:cnd], X_6:bit, X_7:lng) (X_0:bat[:oid], X_1:bat[:oid]) ","ALGouterjoin;","" ] +[ "algebra", "outerjoin","command algebra.outerjoin(X_1:bat[:any_1], X_2:bat[:any_1], X_3:bat[:cnd], X_4:bat[:cnd], X_5:bit, X_6:bit, X_7:lng):bat[:oid] ", "ALGouterjoin1;", "" ] +[ "algebra", "outerjoin","command algebra.outerjoin(X_1:bat[:any_1], X_2:bat[:msk], X_3:bat[:cnd], X_4:bat[:cnd], X_5:bit, X_6:bit, X_7:lng):bat[:oid] ","ALGouterjoin1;", "" ] +[ "algebra", "outerjoin","command algebra.outerjoin(X_1:bat[:msk], X_2:bat[:any_1], X_3:bat[:cnd], X_4:bat[:cnd], X_5:bit, X_6:bit, X_7:lng):bat[:oid] ","ALGouterjoin1;", "" ] +[ "algebra", "outerjoin","command algebra.outerjoin(X_2:bat[:any_1], X_3:bat[:any_1], X_4:bat[:cnd], X_5:bat[:cnd], X_6:bit, X_7:bit, X_8:lng) (X_0:bat[:oid], X_1:bat[:oid]) ", "ALGouterjoin;","" ] +[ "algebra", "outerjoin","command algebra.outerjoin(X_2:bat[:any_1], X_3:bat[:msk], X_4:bat[:cnd], X_5:bat[:cnd], X_6:bit, X_7:bit, X_8:lng) (X_0:bat[:oid], X_1:bat[:oid]) ", "ALGouterjoin;","" ] +[ "algebra", "outerjoin","command algebra.outerjoin(X_2:bat[:msk], X_3:bat[:any_1], X_4:bat[:cnd], X_5:bat[:cnd], X_6:bit, X_7:bit, X_8:lng) (X_0:bat[:oid], X_1:bat[:oid]) ", "ALGouterjoin;","" ] [ "algebra", "project", "pattern algebra.project(X_1:bat[:any_1], X_2:any_3):bat[:any_3] ", "ALGprojecttail;", "" ] [ "algebra", "projection", "command algebra.projection(X_1:bat[:msk], X_2:bat[:any_3], X_3:bat[:any_3]):bat[:any_3] ", "ALGprojection2;", "" ] [ "algebra", "projection", "command algebra.projection(X_1:bat[:oid], X_2:bat[:any_3], X_3:bat[:any_3]):bat[:any_3] ", "ALGprojection2;", "" ] diff --git a/clients/Tests/MAL-signatures.stable.out.int128 b/clients/Tests/MAL-signatures.stable.out.int128 --- a/clients/Tests/MAL-signatures.stable.out.int128 +++ b/clients/Tests/MAL-signatures.stable.out.int128 @@ -793,12 +793,12 @@ stdout of test 'MAL-signatures` in direc [ "algebra", "not_like", "command algebra.not_like(X_1:str, X_2:str):bit ", "PCREnotlike2;","" ] [ "algebra", "not_like", "command algebra.not_like(X_1:str, X_2:str, X_3:str):bit ", "PCREnotlike3;","" ] [ "algebra", "orderidx", "command algebra.orderidx(X_1:bat[:any_1], X_2:bit):bat[:any_1] ", "OIDXorderidx;","" ] -[ "algebra", "outerjoin","command algebra.outerjoin(X_1:bat[:any_1], X_2:bat[:any_1], X_3:bat[:cnd], X_4:bat[:cnd], X_5:bit, X_6:lng):bat[:oid] ", "ALGouterjoin1;", "" ] -[ "algebra", "outerjoin","command algebra.
MonetDB: Oct2020 - Merge with Jun2020 branch.
Changeset: 70eacab62cb9 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=70eacab62cb9 Modified Files: tools/merovingian/daemon/controlrunner.c tools/merovingian/daemon/forkmserver.c tools/merovingian/daemon/merovingian.c tools/merovingian/daemon/merovingian.h Branch: Oct2020 Log Message: Merge with Jun2020 branch. diffs (196 lines): diff --git a/tools/merovingian/daemon/controlrunner.c b/tools/merovingian/daemon/controlrunner.c --- a/tools/merovingian/daemon/controlrunner.c +++ b/tools/merovingian/daemon/controlrunner.c @@ -351,6 +351,7 @@ static void ctl_handle_client( { mtype mtype = 0; pid_t pid = 0; + bool terminated = false; // First look for something started by ourself. pthread_mutex_lock(&_mero_topdp_lock); @@ -408,18 +409,27 @@ static void ctl_handle_client( /* then kill it */ if (dp) pthread_mutex_lock(&dp->fork_lock); - terminateProcess(q, pid, mtype); + terminated = terminateProcess(q, pid, mtype); if (dp) pthread_mutex_unlock(&dp->fork_lock); Mfprintf(_mero_ctlout, "%s: stopped " "database '%s'\n", origin, q); } else { - kill(pid, SIGKILL); + terminated = kill(pid, SIGKILL) == 0; Mfprintf(_mero_ctlout, "%s: killed " "database '%s'\n", origin, q); } - len = snprintf(buf2, sizeof(buf2), "OK\n"); - send_client("="); + if (terminated) { + len = snprintf(buf2, sizeof(buf2), "OK\n"); + send_client("="); + } else { + Mfprintf(_mero_ctlerr, "%s: received stop signal for " + "non running database: %s\n", origin, q); + len = snprintf(buf2, sizeof(buf2), + "database is not running: %s\n", q); + send_client("!"); + break; + } } else if (strcmp(p, "create") == 0 || strncmp(p, "create password=", strlen("create password=")) == 0) { err e; diff --git a/tools/merovingian/daemon/forkmserver.c b/tools/merovingian/daemon/forkmserver.c --- a/tools/merovingian/daemon/forkmserver.c +++ b/tools/merovingian/daemon/forkmserver.c @@ -35,7 +35,7 @@ * shut down gracefully within a given time-out. If that fails, it * sends the deadly SIGKILL signal to the mserver process and returns. */ -void +bool terminateProcess(char *dbname, pid_t pid, mtype type) { sabdb *stats; @@ -48,13 +48,13 @@ terminateProcess(char *dbname, pid_t pid Mfprintf(stderr, "cannot terminate process %lld: %s\n", (long long int)pid, er); free(er); - return; + return false; } if (stats == NULL) { Mfprintf(stderr, "strange, process %lld serves database '%s' " "which does not exist\n", (long long int)pid, dbname); - return; + return false; } if (stats->pid != pid) { @@ -65,7 +65,7 @@ terminateProcess(char *dbname, pid_t pid dbname, (long long int)pid ); - return; + return false; } assert(stats->pid == pid); @@ -78,13 +78,13 @@ terminateProcess(char *dbname, pid_t pid "(pid %lld) has crashed\n", dbname, (long long int)pid); msab_freeStatus(&stats); - return; + return false; case SABdbInactive: Mfprintf(stdout, "database '%s' appears to have shut down already\n", dbname); fflush(stdout); msab_freeStatus(&stats); - return; + return false; case SABdbStarting:
MonetDB: Oct2020 - Backed out changeset b16621c82dbc
Changeset: 79fa7856d349 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=79fa7856d349 Modified Files: tools/merovingian/daemon/controlrunner.c tools/merovingian/daemon/forkmserver.c tools/merovingian/daemon/merovingian.c tools/merovingian/daemon/merovingian.h Branch: Oct2020 Log Message: Backed out changeset b16621c82dbc diffs (189 lines): diff --git a/tools/merovingian/daemon/controlrunner.c b/tools/merovingian/daemon/controlrunner.c --- a/tools/merovingian/daemon/controlrunner.c +++ b/tools/merovingian/daemon/controlrunner.c @@ -400,7 +400,6 @@ static void ctl_handle_client( // Kill it appropriately if (strcmp(p, "stop") == 0) { - bool terminated; /* make an attempt to shut down the profiler first. */ if ((e = shutdown_profiler(q, &stats)) != NULL) { free(e); @@ -409,13 +408,9 @@ static void ctl_handle_client( /* then kill it */ if (dp) pthread_mutex_lock(&dp->fork_lock); - if (pid != -1) - terminated = terminateProcess(q, pid, mtype); - if (dp) { - if (terminated) - dp->pid = -1; + terminateProcess(q, pid, mtype); + if (dp) pthread_mutex_unlock(&dp->fork_lock); - } Mfprintf(_mero_ctlout, "%s: stopped " "database '%s'\n", origin, q); } else { diff --git a/tools/merovingian/daemon/forkmserver.c b/tools/merovingian/daemon/forkmserver.c --- a/tools/merovingian/daemon/forkmserver.c +++ b/tools/merovingian/daemon/forkmserver.c @@ -34,15 +34,13 @@ * The terminateProcess function tries to let the given mserver process * shut down gracefully within a given time-out. If that fails, it * sends the deadly SIGKILL signal to the mserver process and returns. - * - * Returns a boolean indicating if the process was shutdown succesfuly. */ -bool +void terminateProcess(char *dbname, pid_t pid, mtype type) { sabdb *stats; char *er; - int i, killed, e; + int i; confkeyval *kv; er = msab_getStatus(&stats, dbname); @@ -50,13 +48,13 @@ terminateProcess(char *dbname, pid_t pid Mfprintf(stderr, "cannot terminate process %lld: %s\n", (long long int)pid, er); free(er); - return false; + return; } if (stats == NULL) { Mfprintf(stderr, "strange, process %lld serves database '%s' " "which does not exist\n", (long long int)pid, dbname); - return false; + return; } if (stats->pid != pid) { @@ -67,7 +65,7 @@ terminateProcess(char *dbname, pid_t pid dbname, (long long int)pid ); - return false; + return; } assert(stats->pid == pid); @@ -80,13 +78,13 @@ terminateProcess(char *dbname, pid_t pid "(pid %lld) has crashed\n", dbname, (long long int)pid); msab_freeStatus(&stats); - return false; + return; case SABdbInactive: Mfprintf(stdout, "database '%s' appears to have shut down already\n", dbname); fflush(stdout); msab_freeStatus(&stats); - return false; + return; case SABdbStarting: Mfprintf(stderr, "database '%s' appears to be starting up\n", dbname); @@ -95,19 +93,19 @@ terminateProcess(char *dbname, pid_t pid default: Mfprintf(stderr, "unknown state: %d\n", (int)stats->state); msab_freeStatus(&stats); - return false; + return; } if (type == MEROFUN) { multiplexDestroy(dbname); msab_freeStatus(&stats); - return true; + return; } else if (type != MERODB) { /* barf */ Mfprintf(stderr, "cannot stop merovingian process role: %s\n", dbname); msa
MonetDB: Oct2020 - Backed out changeset ba8f682ad6f4
Changeset: e29836092719 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e29836092719 Modified Files: tools/merovingian/daemon/controlrunner.c Branch: Oct2020 Log Message: Backed out changeset ba8f682ad6f4 diffs (12 lines): diff --git a/tools/merovingian/daemon/controlrunner.c b/tools/merovingian/daemon/controlrunner.c --- a/tools/merovingian/daemon/controlrunner.c +++ b/tools/merovingian/daemon/controlrunner.c @@ -400,7 +400,7 @@ static void ctl_handle_client( // Kill it appropriately if (strcmp(p, "stop") == 0) { - bool terminated = false; + bool terminated; /* make an attempt to shut down the profiler first. */ if ((e = shutdown_profiler(q, &stats)) != NULL) { free(e); ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Jun2020 - Check kill return value.
Changeset: 977e78ce5ef6 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=977e78ce5ef6 Modified Files: tools/merovingian/daemon/forkmserver.c Branch: Jun2020 Log Message: Check kill return value. diffs (18 lines): diff --git a/tools/merovingian/daemon/forkmserver.c b/tools/merovingian/daemon/forkmserver.c --- a/tools/merovingian/daemon/forkmserver.c +++ b/tools/merovingian/daemon/forkmserver.c @@ -95,7 +95,13 @@ terminateProcess(dpair dp, mtype type) /* ok, once we get here, we'll be shutting down the server */ Mfprintf(stdout, "sending process %lld (database '%s') the " "TERM signal\n", (long long int)dp->pid, dp->dbname); - kill(dp->pid, SIGTERM); + if (kill(dp->pid, SIGTERM) < 0) { + /* barf */ + Mfprintf(stderr, "cannot send TERM signal to process (database '%s')\n", +dp->dbname); + msab_freeStatus(&stats); + return false; + } kv = findConfKey(_mero_props, "exittimeout"); for (i = 0; i < atoi(kv->val) * 2; i++) { if (stats != NULL) ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Jun2020 - Produce message that database is stopped even...
Changeset: 33ddb0146799 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=33ddb0146799 Modified Files: tools/merovingian/daemon/controlrunner.c tools/merovingian/daemon/forkmserver.c tools/merovingian/daemon/merovingian.c tools/merovingian/daemon/merovingian.h Branch: Jun2020 Log Message: Produce message that database is stopped even when not yet waited for. diffs (186 lines): diff --git a/tools/merovingian/daemon/controlrunner.c b/tools/merovingian/daemon/controlrunner.c --- a/tools/merovingian/daemon/controlrunner.c +++ b/tools/merovingian/daemon/controlrunner.c @@ -355,6 +355,7 @@ static void ctl_handle_client( dp = _mero_topdp->next; /* don't need the console/log */ while (dp != NULL) { if (dp->type == MERODB && strcmp(dp->dbname, q) == 0) { + bool terminated = false; if (dp->pid <= 0) { dp = NULL; /* unlock happens below */ @@ -374,24 +375,28 @@ static void ctl_handle_client( } else if (stats != NULL) msab_freeStatus(&stats); pthread_mutex_lock(&dp->fork_lock); - terminateProcess(dp, type); + terminated = terminateProcess(dp, type); pthread_mutex_unlock(&dp->fork_lock); Mfprintf(_mero_ctlout, "%s: stopped " "database '%s'\n", origin, q); } else { - kill(dp->pid, SIGKILL); - pthread_mutex_unlock(&_mero_topdp_lock); + terminated = kill(dp->pid, SIGKILL) == 0; Mfprintf(_mero_ctlout, "%s: killed " "database '%s'\n", origin, q); } - len = snprintf(buf2, sizeof(buf2), "OK\n"); - send_client("="); + if (terminated) { + len = snprintf(buf2, sizeof(buf2), "OK\n"); + send_client("="); + } else { + dp = NULL; /* message generated below */ + } break; } else if (dp->type == MEROFUN && strcmp(dp->dbname, q) == 0) { /* multiplexDestroy needs topdp lock to remove itself */ char *dbname = strdup(dp->dbname); pthread_mutex_unlock(&_mero_topdp_lock); multiplexDestroy(dbname); + pthread_mutex_lock(&_mero_topdp_lock); free(dbname); len = snprintf(buf2, sizeof(buf2), "OK\n"); send_client("="); @@ -400,8 +405,8 @@ static void ctl_handle_client( dp = dp->next; } + pthread_mutex_unlock(&_mero_topdp_lock); if (dp == NULL) { - pthread_mutex_unlock(&_mero_topdp_lock); Mfprintf(_mero_ctlerr, "%s: received stop signal for " "non running database: %s\n", origin, q); len = snprintf(buf2, sizeof(buf2), diff --git a/tools/merovingian/daemon/forkmserver.c b/tools/merovingian/daemon/forkmserver.c --- a/tools/merovingian/daemon/forkmserver.c +++ b/tools/merovingian/daemon/forkmserver.c @@ -31,7 +31,7 @@ * shut down gracefully within a given time-out. If that fails, it * sends the deadly SIGKILL signal to the mserver process and returns. */ -void +bool term
MonetDB: Jun2020 - Backed out changeset 8ff1b50c3204: fixes are ...
Changeset: 1414b12e44f8 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1414b12e44f8 Modified Files: tools/merovingian/daemon/controlrunner.c tools/merovingian/daemon/forkmserver.c tools/merovingian/daemon/merovingian.c tools/merovingian/daemon/merovingian.h Branch: Jun2020 Log Message: Backed out changeset 8ff1b50c3204: fixes are not correct. diffs (163 lines): diff --git a/tools/merovingian/daemon/controlrunner.c b/tools/merovingian/daemon/controlrunner.c --- a/tools/merovingian/daemon/controlrunner.c +++ b/tools/merovingian/daemon/controlrunner.c @@ -374,8 +374,7 @@ static void ctl_handle_client( } else if (stats != NULL) msab_freeStatus(&stats); pthread_mutex_lock(&dp->fork_lock); - if (terminateProcess(dp, type)) - dp->pid = -1; + terminateProcess(dp, type); pthread_mutex_unlock(&dp->fork_lock); Mfprintf(_mero_ctlout, "%s: stopped " "database '%s'\n", origin, q); diff --git a/tools/merovingian/daemon/forkmserver.c b/tools/merovingian/daemon/forkmserver.c --- a/tools/merovingian/daemon/forkmserver.c +++ b/tools/merovingian/daemon/forkmserver.c @@ -31,12 +31,12 @@ * shut down gracefully within a given time-out. If that fails, it * sends the deadly SIGKILL signal to the mserver process and returns. */ -bool +void terminateProcess(dpair dp, mtype type) { sabdb *stats; char *er; - int i, e, killed; + int i; confkeyval *kv; er = msab_getStatus(&stats, dp->dbname); @@ -44,13 +44,13 @@ terminateProcess(dpair dp, mtype type) Mfprintf(stderr, "cannot terminate process %lld: %s\n", (long long int)dp->pid, er); free(er); - return false; + return; } if (stats == NULL) { Mfprintf(stderr, "strange, process %lld serves database '%s' " "which does not exist\n", (long long int)dp->pid, dp->dbname); - return false; + return; } switch (stats->state) { @@ -62,13 +62,13 @@ terminateProcess(dpair dp, mtype type) "(pid %lld) has crashed\n", dp->dbname, (long long int)dp->pid); msab_freeStatus(&stats); - return false; + return; case SABdbInactive: Mfprintf(stdout, "database '%s' appears to have shut down already\n", dp->dbname); fflush(stdout); msab_freeStatus(&stats); - return false; + return; case SABdbStarting: Mfprintf(stderr, "database '%s' appears to be starting up\n", dp->dbname); @@ -77,19 +77,19 @@ terminateProcess(dpair dp, mtype type) default: Mfprintf(stderr, "unknown state: %d\n", (int)stats->state); msab_freeStatus(&stats); - return false; + return; } if (type == MEROFUN) { multiplexDestroy(dp->dbname); msab_freeStatus(&stats); - return true; + return; } else if (type != MERODB) { /* barf */ Mfprintf(stderr, "cannot stop merovingian process role: %s\n", dp->dbname); msab_freeStatus(&stats); - return false; + return; } /* ok, once we get here, we'll be shutting down the server */ @@ -119,12 +119,12 @@ terminateProcess(dpair dp, mtype type) Mfprintf (stderr, "database '%s' crashed after SIGTERM\n", dp->dbname); msab_freeStatus(&stats); - return true; + return; case SABdbInactive: Mfprintf(stdout, "database '%s' has shut down\n", dp->dbname); fflush(stdout); msab_freeStatus(&stats); - return true; + return; default: Mfprintf(stderr, "unknown state: %d\n", (int)stats->state); brea
MonetDB: clean-candidates - Merged with default
Changeset: 90aac855f1ea for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=90aac855f1ea Modified Files: monetdb5/modules/atoms/mtime.c sql/backends/monet5/sql.c Branch: clean-candidates Log Message: Merged with default diffs (truncated from 32607 to 300 lines): diff --git a/clients/Tests/MAL-signatures.stable.out b/clients/Tests/MAL-signatures.stable.out --- a/clients/Tests/MAL-signatures.stable.out +++ b/clients/Tests/MAL-signatures.stable.out @@ -6175,6 +6175,10 @@ stdout of test 'MAL-signatures` in direc [ "batmtime", "epoch","command batmtime.epoch(X_1:bat[:timestamp]):bat[:int] ", "MTIMEseconds_since_epoch_bulk;", "" ] [ "batmtime", "epoch","command batmtime.epoch(X_1:bat[:lng]):bat[:timestamp] ", "MTIMEtimestamp_frommsec_bulk;","" ] [ "batmtime", "epoch","command batmtime.epoch(X_1:bat[:int]):bat[:timestamp] ", "MTIMEtimestamp_fromsecond_bulk;", "" ] +[ "batmtime", "epoch_ms", "command batmtime.epoch_ms(X_1:bat[:date]):bat[:lng] ", "MTIMEdate_extract_epoch_ms_bulk;", "" ] +[ "batmtime", "epoch_ms", "command batmtime.epoch_ms(X_1:bat[:daytime]):bat[:lng] ", "MTIMEdaytime_extract_epoch_ms_bulk;", "" ] +[ "batmtime", "epoch_ms", "command batmtime.epoch_ms(X_1:bat[:lng]):bat[:lng] ", "MTIMEmsec_extract_epoch_ms_bulk;", "" ] +[ "batmtime", "epoch_ms", "command batmtime.epoch_ms(X_1:bat[:timestamp]):bat[:lng] ", "MTIMEtimestamp_extract_epoch_ms_bulk;","" ] [ "batmtime", "hours","command batmtime.hours(X_1:bat[:daytime]):bat[:int] ", "MTIMEdaytime_extract_hours_bulk;", "" ] [ "batmtime", "hours","command batmtime.hours(X_1:bat[:lng]):bat[:int] ", "MTIMEsql_hours_bulk;", "" ] [ "batmtime", "hours","command batmtime.hours(X_1:bat[:timestamp]):bat[:int] ", "MTIMEtimestamp_hours_bulk;", "" ] @@ -8939,6 +8943,10 @@ stdout of test 'MAL-signatures` in direc [ "mtime", "epoch","command mtime.epoch(X_1:timestamp):int ", "MTIMEseconds_since_epoch;","" ] [ "mtime", "epoch","command mtime.epoch(X_1:lng):timestamp ", "MTIMEtimestamp_frommsec;", "" ] [ "mtime", "epoch","command mtime.epoch(X_1:int):timestamp ", "MTIMEtimestamp_fromsecond;", "" ] +[ "mtime", "epoch_ms", "command mtime.epoch_ms(X_1:date):lng ", "MTIMEdate_extract_epoch_ms;", "" ] +[ "mtime", "epoch_ms", "command mtime.epoch_ms(X_1:daytime):lng ", "MTIMEdaytime_extract_epoch_ms;", "" ] +[ "mtime", "epoch_ms", "command mtime.epoch_ms(X_1:lng):lng ", "MTIMEmsec_extract_epoch_ms;", "" ] +[ "mtime", "epoch_ms", "command mtime.epoch_ms(X_1:timestamp):lng ", "MTIMEtimestamp_extract_epoch_ms;", "" ] [ "mtime", "hours","command mtime.hours(X_1:daytime):int ", "MTIMEdaytime_extract_hours;", "" ] [ "mtime", "hours","command mtime.hours(X_1:lng):int ", "MTIMEsql_hours;", "" ] [ "mtime", "hours","command mtime.hours(X_1:timestamp):int ", "MTIMEtimestamp_hours;","" ] @@ -9114,13 +9122,14 @@ stdout of test 'MAL-signatures` in direc [ "remote","batbincopy", "pattern remote.batbincopy(X_1:bat[:any]):void ", "RMTbincopyto;","" ] [ "remote","batload", "pattern remote.batload(X_1:any_1, X_2:int):bat[:any_1] ", "RMTbatload;", "" ] [ "remote","bintype", "pattern remote.bintype():void ", "RMTbintype;", "" ] -[ "remote","connect", "command remote.connect(X_1:str, X_2:str, X_3:str):str ", "RMTconnect;", "" ] -[ "remote","connect", "command remote.connect(X_1:str, X_2:str, X_3:str, X_4:str):str ", "RMTconnectScen;", "" ] +[ "remote","connect", "command remote.connect(X_1:str, X_2:str, X_3:str, X_4:str):str ", "RMTconnect;", "" ] +[ "remote","connect", "command remote.connect(X_1:str, X_2:str, X_3:str, X_4:str, X_5:bit):str ", "RMTconnectScen;", "" ] [ "remote","connect", "pattern remote.connect(X_1:str, X_2:str):str ","RMTconnectTable;", "" ] [ "remote","disconnect", "command remote.disconnect(X_1:str):void ", "RMTdisconnect;", "" ] [ "remote","epilogue", "command remote.epilogue():void ", "RMTepilogue;", "" ] [ "remote","exec", "pattern remote.exec(X_1:str, X_2:str, X_3:str):str ", "RMTexec;", "" ] [ "remote","exec", "pattern remote.exec(X_1:str, X_2:str, X_3:str):str... ", "RMTexec;", "" ] +[ "remote","exec", "pattern remote.exec(X_1:str, X_2:str, X_3:str, X_4:ptr, X_5:str...):void ","RMTexec;", "" ] [ "remote","exec", "pattern remote.exec(X_1:str, X_2:str, X_3:str, X_4:str...):str
MonetDB: Oct2020 - Don't forget to test for pyapi3map module
Changeset: 29fda038d989 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=29fda038d989 Modified Files: monetdb5/mal/mal_linker.c Branch: Oct2020 Log Message: Don't forget to test for pyapi3map module diffs (21 lines): diff --git a/monetdb5/mal/mal_linker.c b/monetdb5/mal/mal_linker.c --- a/monetdb5/mal/mal_linker.c +++ b/monetdb5/mal/mal_linker.c @@ -485,7 +485,7 @@ MSP_locate_sqlscript(const char *filenam int malLibraryEnabled(str name) { - if (strcmp(name, "pyapi3") == 0) { + if (strcmp(name, "pyapi3") == 0 || strcmp(name, "pyapi3map") == 0) { const char *val = GDKgetenv("embedded_py"); return val && (strcmp(val, "3") == 0 || strcasecmp(val, "true") == 0 || @@ -510,7 +510,7 @@ malLibraryEnabled(str name) char * malLibraryHowToEnable(str name) { - if (strcmp(name, "pyapi3") == 0) { + if (strcmp(name, "pyapi3") == 0 || strcmp(name, "pyapi3map") == 0) { HOW_TO_ENABLE_ERROR("Python 3", "embedded_py=3") } else if (strcmp(name, "rapi") == 0) { HOW_TO_ENABLE_ERROR("R", "embedded_r=true") ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merged with Oct2020
Changeset: 151ce470cc85 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=151ce470cc85 Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 monetdb5/modules/atoms/mtime.c Branch: default Log Message: Merged with Oct2020 diffs (truncated from 29018 to 300 lines): diff --git a/clients/Tests/MAL-signatures.stable.out b/clients/Tests/MAL-signatures.stable.out --- a/clients/Tests/MAL-signatures.stable.out +++ b/clients/Tests/MAL-signatures.stable.out @@ -6175,6 +6175,10 @@ stdout of test 'MAL-signatures` in direc [ "batmtime", "epoch","command batmtime.epoch(X_1:bat[:timestamp]):bat[:int] ", "MTIMEseconds_since_epoch_bulk;", "" ] [ "batmtime", "epoch","command batmtime.epoch(X_1:bat[:lng]):bat[:timestamp] ", "MTIMEtimestamp_frommsec_bulk;","" ] [ "batmtime", "epoch","command batmtime.epoch(X_1:bat[:int]):bat[:timestamp] ", "MTIMEtimestamp_fromsecond_bulk;", "" ] +[ "batmtime", "epoch_ms", "command batmtime.epoch_ms(X_1:bat[:date]):bat[:lng] ", "MTIMEdate_extract_epoch_ms_bulk;", "" ] +[ "batmtime", "epoch_ms", "command batmtime.epoch_ms(X_1:bat[:daytime]):bat[:lng] ", "MTIMEdaytime_extract_epoch_ms_bulk;", "" ] +[ "batmtime", "epoch_ms", "command batmtime.epoch_ms(X_1:bat[:lng]):bat[:lng] ", "MTIMEmsec_extract_epoch_ms_bulk;", "" ] +[ "batmtime", "epoch_ms", "command batmtime.epoch_ms(X_1:bat[:timestamp]):bat[:lng] ", "MTIMEtimestamp_extract_epoch_ms_bulk;","" ] [ "batmtime", "hours","command batmtime.hours(X_1:bat[:daytime]):bat[:int] ", "MTIMEdaytime_extract_hours_bulk;", "" ] [ "batmtime", "hours","command batmtime.hours(X_1:bat[:lng]):bat[:int] ", "MTIMEsql_hours_bulk;", "" ] [ "batmtime", "hours","command batmtime.hours(X_1:bat[:timestamp]):bat[:int] ", "MTIMEtimestamp_hours_bulk;", "" ] @@ -8939,6 +8943,10 @@ stdout of test 'MAL-signatures` in direc [ "mtime", "epoch","command mtime.epoch(X_1:timestamp):int ", "MTIMEseconds_since_epoch;","" ] [ "mtime", "epoch","command mtime.epoch(X_1:lng):timestamp ", "MTIMEtimestamp_frommsec;", "" ] [ "mtime", "epoch","command mtime.epoch(X_1:int):timestamp ", "MTIMEtimestamp_fromsecond;", "" ] +[ "mtime", "epoch_ms", "command mtime.epoch_ms(X_1:date):lng ", "MTIMEdate_extract_epoch_ms;", "" ] +[ "mtime", "epoch_ms", "command mtime.epoch_ms(X_1:daytime):lng ", "MTIMEdaytime_extract_epoch_ms;", "" ] +[ "mtime", "epoch_ms", "command mtime.epoch_ms(X_1:lng):lng ", "MTIMEmsec_extract_epoch_ms;", "" ] +[ "mtime", "epoch_ms", "command mtime.epoch_ms(X_1:timestamp):lng ", "MTIMEtimestamp_extract_epoch_ms;", "" ] [ "mtime", "hours","command mtime.hours(X_1:daytime):int ", "MTIMEdaytime_extract_hours;", "" ] [ "mtime", "hours","command mtime.hours(X_1:lng):int ", "MTIMEsql_hours;", "" ] [ "mtime", "hours","command mtime.hours(X_1:timestamp):int ", "MTIMEtimestamp_hours;","" ] diff --git a/clients/Tests/MAL-signatures.stable.out.int128 b/clients/Tests/MAL-signatures.stable.out.int128 --- a/clients/Tests/MAL-signatures.stable.out.int128 +++ b/clients/Tests/MAL-signatures.stable.out.int128 @@ -8744,6 +8744,10 @@ stdout of test 'MAL-signatures` in direc [ "batmtime", "epoch","command batmtime.epoch(X_1:bat[:timestamp]):bat[:int] ", "MTIMEseconds_since_epoch_bulk;", "" ] [ "batmtime", "epoch","command batmtime.epoch(X_1:bat[:lng]):bat[:timestamp] ", "MTIMEtimestamp_frommsec_bulk;","" ] [ "batmtime", "epoch","command batmtime.epoch(X_1:bat[:int]):bat[:timestamp] ", "MTIMEtimestamp_fromsecond_bulk;", "" ] +[ "batmtime", "epoch_ms", "command batmtime.epoch_ms(X_1:bat[:date]):bat[:lng] ", "MTIMEdate_extract_epoch_ms_bulk;", "" ] +[ "batmtime", "epoch_ms", "command batmtime.epoch_ms(X_1:bat[:daytime]):bat[:lng] ", "MTIMEdaytime_extract_epoch_ms_bulk;", "" ] +[ "batmtime", "epoch_ms", "command batmtime.epoch_ms(X_1:bat[:lng]):bat[:lng] ", "MTIMEmsec_extract_epoch_ms_bulk;", "" ] +[ "batmtime", "epoch_ms", "command batmtime.epoch_ms(X_1:bat[:timestamp]):bat[:lng] ", "MTIMEtimestamp_extract_epoch_ms_bulk;","" ] [ "batmtime", "hours","command batmtime.hours(X_1:bat[:daytime]):bat[:int] ", "MTIMEdaytime_extract_hours_bulk;", "" ] [ "batmtime", "hours","command batmtime.hours(X_1:bat[:lng]):bat[:int] ", "MTIMEsql_hours_bulk;", "" ] [ "batmtime", "hours","command batmtime.hours(X_1:bat[:timestamp]):bat[:int] ",
MonetDB: octbugs - Merged with Oct2020
Changeset: 17fa2fc84053 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=17fa2fc84053 Modified Files: sql/server/rel_select.c sql/server/rel_select.h sql/test/BugTracker-2020/Tests/All Branch: octbugs Log Message: Merged with Oct2020 diffs (truncated from 29018 to 300 lines): diff --git a/clients/Tests/MAL-signatures.stable.out b/clients/Tests/MAL-signatures.stable.out --- a/clients/Tests/MAL-signatures.stable.out +++ b/clients/Tests/MAL-signatures.stable.out @@ -6175,6 +6175,10 @@ stdout of test 'MAL-signatures` in direc [ "batmtime", "epoch","command batmtime.epoch(X_1:bat[:timestamp]):bat[:int] ", "MTIMEseconds_since_epoch_bulk;", "" ] [ "batmtime", "epoch","command batmtime.epoch(X_1:bat[:lng]):bat[:timestamp] ", "MTIMEtimestamp_frommsec_bulk;","" ] [ "batmtime", "epoch","command batmtime.epoch(X_1:bat[:int]):bat[:timestamp] ", "MTIMEtimestamp_fromsecond_bulk;", "" ] +[ "batmtime", "epoch_ms", "command batmtime.epoch_ms(X_1:bat[:date]):bat[:lng] ", "MTIMEdate_extract_epoch_ms_bulk;", "" ] +[ "batmtime", "epoch_ms", "command batmtime.epoch_ms(X_1:bat[:daytime]):bat[:lng] ", "MTIMEdaytime_extract_epoch_ms_bulk;", "" ] +[ "batmtime", "epoch_ms", "command batmtime.epoch_ms(X_1:bat[:lng]):bat[:lng] ", "MTIMEmsec_extract_epoch_ms_bulk;", "" ] +[ "batmtime", "epoch_ms", "command batmtime.epoch_ms(X_1:bat[:timestamp]):bat[:lng] ", "MTIMEtimestamp_extract_epoch_ms_bulk;","" ] [ "batmtime", "hours","command batmtime.hours(X_1:bat[:daytime]):bat[:int] ", "MTIMEdaytime_extract_hours_bulk;", "" ] [ "batmtime", "hours","command batmtime.hours(X_1:bat[:lng]):bat[:int] ", "MTIMEsql_hours_bulk;", "" ] [ "batmtime", "hours","command batmtime.hours(X_1:bat[:timestamp]):bat[:int] ", "MTIMEtimestamp_hours_bulk;", "" ] @@ -8930,6 +8934,10 @@ stdout of test 'MAL-signatures` in direc [ "mtime", "epoch","command mtime.epoch(X_1:timestamp):int ", "MTIMEseconds_since_epoch;","" ] [ "mtime", "epoch","command mtime.epoch(X_1:lng):timestamp ", "MTIMEtimestamp_frommsec;", "" ] [ "mtime", "epoch","command mtime.epoch(X_1:int):timestamp ", "MTIMEtimestamp_fromsecond;", "" ] +[ "mtime", "epoch_ms", "command mtime.epoch_ms(X_1:date):lng ", "MTIMEdate_extract_epoch_ms;", "" ] +[ "mtime", "epoch_ms", "command mtime.epoch_ms(X_1:daytime):lng ", "MTIMEdaytime_extract_epoch_ms;", "" ] +[ "mtime", "epoch_ms", "command mtime.epoch_ms(X_1:lng):lng ", "MTIMEmsec_extract_epoch_ms;", "" ] +[ "mtime", "epoch_ms", "command mtime.epoch_ms(X_1:timestamp):lng ", "MTIMEtimestamp_extract_epoch_ms;", "" ] [ "mtime", "hours","command mtime.hours(X_1:daytime):int ", "MTIMEdaytime_extract_hours;", "" ] [ "mtime", "hours","command mtime.hours(X_1:lng):int ", "MTIMEsql_hours;", "" ] [ "mtime", "hours","command mtime.hours(X_1:timestamp):int ", "MTIMEtimestamp_hours;","" ] diff --git a/clients/Tests/MAL-signatures.stable.out.int128 b/clients/Tests/MAL-signatures.stable.out.int128 --- a/clients/Tests/MAL-signatures.stable.out.int128 +++ b/clients/Tests/MAL-signatures.stable.out.int128 @@ -8744,6 +8744,10 @@ stdout of test 'MAL-signatures` in direc [ "batmtime", "epoch","command batmtime.epoch(X_1:bat[:timestamp]):bat[:int] ", "MTIMEseconds_since_epoch_bulk;", "" ] [ "batmtime", "epoch","command batmtime.epoch(X_1:bat[:lng]):bat[:timestamp] ", "MTIMEtimestamp_frommsec_bulk;","" ] [ "batmtime", "epoch","command batmtime.epoch(X_1:bat[:int]):bat[:timestamp] ", "MTIMEtimestamp_fromsecond_bulk;", "" ] +[ "batmtime", "epoch_ms", "command batmtime.epoch_ms(X_1:bat[:date]):bat[:lng] ", "MTIMEdate_extract_epoch_ms_bulk;", "" ] +[ "batmtime", "epoch_ms", "command batmtime.epoch_ms(X_1:bat[:daytime]):bat[:lng] ", "MTIMEdaytime_extract_epoch_ms_bulk;", "" ] +[ "batmtime", "epoch_ms", "command batmtime.epoch_ms(X_1:bat[:lng]):bat[:lng] ", "MTIMEmsec_extract_epoch_ms_bulk;", "" ] +[ "batmtime", "epoch_ms", "command batmtime.epoch_ms(X_1:bat[:timestamp]):bat[:lng] ", "MTIMEtimestamp_extract_epoch_ms_bulk;","" ] [ "batmtime", "hours","command batmtime.hours(X_1:bat[:daytime]):bat[:int] ", "MTIMEdaytime_extract_hours_bulk;", "" ] [ "batmtime", "hours","command batmtime.hours(X_1:bat[:lng]):bat[:int] ", "MTIMEsql_hours_bulk;", "" ] [ "batmtime", "hours","command batmtime.hours(X_1:bat[:timestamp]):bat[:int] ", "MTIMEtimestamp_hours_bulk;", ""
MonetDB: Oct2020 - More scalable solution for sqlancer07 issue. ...
Changeset: 73a544cd77f8 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=73a544cd77f8 Modified Files: sql/server/rel_select.c sql/server/rel_select.h sql/server/rel_updates.c sql/test/miscellaneous/Tests/update_delete_aliases.stable.err Branch: Oct2020 Log Message: More scalable solution for sqlancer07 issue. Instead of calculating the distinct relation names, pass the existing list of table references under table_ref. Later at the end of possible sub-relation build, test for a duplicate name on the list diffs (truncated from 478 to 300 lines): diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c --- a/sql/server/rel_select.c +++ b/sql/server/rel_select.c @@ -153,11 +153,11 @@ rel_orderby(mvc *sql, sql_rel *l) /* forward refs */ static sql_rel * rel_setquery(sql_query *query, symbol *sq); -static sql_rel * rel_joinquery(sql_query *query, sql_rel *rel, symbol *sq); -static sql_rel * rel_crossquery(sql_query *query, sql_rel *rel, symbol *q); +static sql_rel * rel_joinquery(sql_query *query, sql_rel *rel, symbol *sq, list *refs); +static sql_rel * rel_crossquery(sql_query *query, sql_rel *rel, symbol *q, list *refs); static sql_rel * -rel_table_optname(mvc *sql, sql_rel *sq, symbol *optname) +rel_table_optname(mvc *sql, sql_rel *sq, symbol *optname, list *refs) { sql_rel *osq = sq; node *ne; @@ -206,6 +206,11 @@ rel_table_optname(mvc *sql, sql_rel *sq, } } } + if (refs) { /* if this relation is under a FROM clause, check for duplicate names */ + if (list_find(refs, tname, (fcmp) &strcmp)) + return sql_error(sql, 02, SQLSTATE(42000) "SELECT: relation name \"%s\" specified more than once", tname); + list_append(refs, tname); + } } else { if (!is_project(sq->op) || is_topn(sq->op) || is_sample(sq->op) || ((is_simple_project(sq->op) || is_groupby(sq->op)) && sq->r)) { sq = rel_project(sql->sa, sq, rel_projections(sql, sq, NULL, 1, 1)); @@ -222,7 +227,7 @@ rel_table_optname(mvc *sql, sql_rel *sq, } static sql_rel * -rel_subquery_optname(sql_query *query, sql_rel *rel, symbol *ast) +rel_subquery_optname(sql_query *query, sql_rel *rel, symbol *ast, list *refs) { mvc *sql = query->sql; SelectNode *sn = (SelectNode *) ast; @@ -233,7 +238,7 @@ rel_subquery_optname(sql_query *query, s if (!sq) return NULL; - return rel_table_optname(sql, sq, sn->name); + return rel_table_optname(sql, sq, sn->name, refs); } sql_rel * @@ -297,7 +302,7 @@ rel_with_query(sql_query *query, symbol } static sql_rel * -query_exp_optname(sql_query *query, sql_rel *r, symbol *q) +query_exp_optname(sql_query *query, sql_rel *r, symbol *q, list *refs) { mvc *sql = query->sql; switch (q->token) { @@ -308,34 +313,35 @@ query_exp_optname(sql_query *query, sql_ if (!tq) return NULL; if (q->data.lval->t->type == type_symbol) - return rel_table_optname(sql, tq, q->data.lval->t->data.sym); + return rel_table_optname(sql, tq, q->data.lval->t->data.sym, refs); return tq; } case SQL_UNION: case SQL_EXCEPT: case SQL_INTERSECT: { + /* subqueries will be called, ie no need to test for duplicate references */ sql_rel *tq = rel_setquery(query, q); if (!tq) return NULL; - return rel_table_optname(sql, tq, q->data.lval->t->data.sym); + return rel_table_optname(sql, tq, q->data.lval->t->data.sym, NULL); } case SQL_JOIN: { - sql_rel *tq = rel_joinquery(query, r, q); + sql_rel *tq = rel_joinquery(query, r, q, refs); if (!tq) return NULL; - return rel_table_optname(sql, tq, q->data.lval->t->data.sym); + return rel_table_optname(sql, tq, q->data.lval->t->data.sym, NULL); } case SQL_CROSS: { - sql_rel *tq = rel_crossquery(query, r, q); + sql_rel *tq = rel_crossquery(query, r, q, refs); if (!tq) return NULL; - return rel_table_optname(sql, tq, q->data.lval->t->data.sym); + return rel_table_optname(sql, tq, q->data.lval->t->data.sym, NULL); } default: (void) sql_error(sql, 02, SQLSTATE(42000) "case %d %s", (int) q->token, token2string(q->token)); @@ -532,7 +538,7 @@ find_table_function(mvc *sql, sql_schema } static sql_rel * -rel_named_table_function(sql_query *query, sql_rel *rel, symbol *ast, int lateral) +rel_named_table_function(sql_qu
MonetDB: Oct2020 - Approved output
Changeset: 5b0867026492 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5b0867026492 Modified Files: sql/test/pg_regress/Tests/date.stable.err sql/test/pg_regress/Tests/date.stable.out sql/test/pg_regress/Tests/time.sql sql/test/pg_regress/Tests/time.stable.out sql/test/pg_regress/Tests/timestamp.stable.err sql/test/pg_regress/Tests/timestamp.stable.out sql/test/pg_regress/Tests/timestamptz.stable.err sql/test/pg_regress/Tests/timestamptz.stable.out sql/test/pg_regress/Tests/timetz.sql sql/test/pg_regress/Tests/timetz.stable.out Branch: Oct2020 Log Message: Approved output diffs (200 lines): diff --git a/sql/test/pg_regress/Tests/date.stable.err b/sql/test/pg_regress/Tests/date.stable.err --- a/sql/test/pg_regress/Tests/date.stable.err +++ b/sql/test/pg_regress/Tests/date.stable.err @@ -53,11 +53,7 @@ MAPI = (monetdb) /var/tmp/mtest-11056/. QUERY = SELECT f1, extract(millennium from f1) FROM DATE_TBL; ERROR = !syntax error, unexpected IDENT in: "select f1, extract(millennium" CODE = 42000 -MAPI = (monetdb) /var/tmp/mtest-30274/.s.monetdb.37685 -QUERY = SELECT f1, extract(epoch from f1) FROM DATE_TBL; -ERROR = !syntax error, unexpected IDENT in: "select f1, extract(epoch" -CODE = 42000 -MAPI = (monetdb) /var/tmp/mtest-30274/.s.monetdb.37685 +MAPI = (monetdb) /var/tmp/mtest-57906/.s.monetdb.30461 QUERY = SELECT f1, hour(f1) FROM DATE_TBL; ERROR = !syntax error, unexpected HOUR in: "select f1, hour" CODE = 42000 diff --git a/sql/test/pg_regress/Tests/date.stable.out b/sql/test/pg_regress/Tests/date.stable.out --- a/sql/test/pg_regress/Tests/date.stable.out +++ b/sql/test/pg_regress/Tests/date.stable.out @@ -292,6 +292,27 @@ stdout of test 'date` in directory 'sql/ [ 2039-04-09, 21 ] [ 2040-04-10, 21 ] [ NULL,NULL] +#SELECT f1, extract(epoch from f1) FROM DATE_TBL; +% sys.date_tbl,sys.%1 # table_name +% f1, %1 # name +% date,bigint # type +% 10, 13 # length +[ 1957-04-09, -40176000 ] +[ 1957-06-13, -39614400 ] +[ 1996-02-28, 82546560] +[ 1996-02-29, 82555200] +[ 1996-03-01, 82563840] +[ 1996-03-02, 82572480] +[ 1997-02-28, 85708800] +[ 1997-03-01, 85717440] +[ 1997-03-02, 85726080] +[ 2000-04-01, 95454720] +[ 2000-04-02, 95463360] +[ 2000-04-03, 95472000] +[ 2038-04-08, 215429760 ] +[ 2039-04-09, 218592000 ] +[ 2040-04-10, 221762880 ] +[ NULL,NULL] #SELECT f1, week(f1) FROM DATE_TBL; % sys.date_tbl,sys.%1 # table_name % f1, %1 # name diff --git a/sql/test/pg_regress/Tests/time.sql b/sql/test/pg_regress/Tests/time.sql --- a/sql/test/pg_regress/Tests/time.sql +++ b/sql/test/pg_regress/Tests/time.sql @@ -59,6 +59,7 @@ SELECT f1, extract(day from f1) FROM TIM SELECT f1, extract(hour from f1) FROM TIME_TBL; SELECT f1, extract(minute from f1) FROM TIME_TBL; SELECT f1, extract(second from f1) FROM TIME_TBL; +SELECT f1, extract(epoch from f1) FROM TIME_TBL; SELECT f1, sql_add(f1, 12*60*60.0 + 66) FROM TIME_TBL; SELECT f1, sql_add(f1, cast(2*60*60 as interval second)) FROM TIME_TBL; diff --git a/sql/test/pg_regress/Tests/time.stable.out b/sql/test/pg_regress/Tests/time.stable.out --- a/sql/test/pg_regress/Tests/time.stable.out +++ b/sql/test/pg_regress/Tests/time.stable.out @@ -145,9 +145,20 @@ stdout of test 'time` in directory 'sql/ [ 12:01:00.00, 0.00] [ 23:59:00.00, 0.00] [ NULL,NULL] +#SELECT f1, extract(epoch from f1) FROM TIME_TBL; +% sys.time_tbl,sys.%1 # table_name +% f1, %1 # name +% time,bigint # type +% 11, 8 # length +[ 00:00:00.00, 0 ] +[ 01:00:00.00, 360 ] +[ 12:00:00.00, 4320] +[ 12:01:00.00, 4326] +[ 23:59:00.00, 8634] +[ NULL,NULL] #SELECT f1, sql_sub(f1, cast('23:22:21' as time)) FROM TIME_TBL; -% sys.time_tbl,sys.%2 # table_name -% f1, %2 # name +% sys.time_tbl,sys.%1 # table_name +% f1, %1 # name % time,sec_interval # type % 11, 10 # length [ 00:00:00.00, -84141.000 ] @@ -157,8 +168,8 @@ stdout of test 'time` in directory 'sql/ [ 23:59:00.00, 2199.000] [ NULL,NULL] #SELECT f1, sql_sub(cast('23:22:21' as time), f1) FROM TIME_TBL; -% sys.time_tbl,.%2 # table_name -% f1, %2 # name +% sys.time_tbl,.%1 # table_name +% f1, %1 # name % time,sec_interval # type % 11, 9 # length [ 00:00:00.00, 84141.000 ] diff --git a/sql/test/pg_regress/Tests/timestamp.stable.err b/sql/test/pg_regress/Tests/timestamp.stable.err --- a/sql/test/pg_regress/Tests/timestamp.stable.err +++ b/sql/test/pg_regress/Tests/timestamp.stable.err @@ -403,11 +403,7 @@ MAPI = (monetdb) /var/tmp/mtest-11056/. QUERY = SELECT d1, extract(millennium from d1) FROM TIMESTAMP_TBL; ERROR = !syntax error, unexpected IDE
MonetDB: Oct2020 - Updated ChangeLog
Changeset: 839203059d83 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=839203059d83 Modified Files: sql/ChangeLog.Oct2020 Branch: Oct2020 Log Message: Updated ChangeLog diffs (26 lines): diff --git a/sql/ChangeLog.Oct2020 b/sql/ChangeLog.Oct2020 --- a/sql/ChangeLog.Oct2020 +++ b/sql/ChangeLog.Oct2020 @@ -56,9 +56,20 @@ Instead do SET current_timezone = interval '1' hour; Casting between interval and other numeric types is no longer possible as well, because they are not compatible. - +- Because of incompatibilities this change may create, if an user intents + to convert a numeric value to an interval, the multiplication function + can be used in the form: * interval '1' + e.g. 10 * interval '1' second = interval '10' second. + As for the other way around, the 'EPOCH' option was added to the extract + syntax. This option returns the number of milliseconds since the UNIX + epoch 1970-01-01 00:00:00 UTC for date, timestamp and time values (it + can be negative). Meanwhile, for day and second intervals, it returns the + total number of milliseconds on the interval. As a side note, the 'EPOCH' + option is not available for month intervals, because this conversion is + not transparent for this type. + * Mon Aug 31 2020 Pedro Ferreira - Made general logarithm function log(x,base) compliant with the SQL standard, by swapping the input parameters. Instead of log(x,base), now is log(base,x). - + ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Oct2020 - Approved 32-bit outputs
Changeset: 65cb235531d4 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=65cb235531d4 Modified Files: sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.32bit sql/test/emptydb-upgrade/Tests/upgrade.stable.out sql/test/emptydb-upgrade/Tests/upgrade.stable.out.32bit sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit sql/test/testdb-upgrade/Tests/upgrade.stable.out sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit Branch: Oct2020 Log Message: Approved 32-bit outputs diffs (truncated from 13736 to 300 lines): diff --git a/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out b/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out --- a/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out +++ b/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out @@ -2814,865 +2814,886 @@ insert into sys.args values (32924, 736, insert into sys.functions values (737, 'week', 'weekofyear', 'mtime', 0, 1, false, false, false, 2000, true, false); insert into sys.args values (32925, 737, 'res_0', 'int', 32, 0, 0, 0); insert into sys.args values (32926, 737, 'arg_1', 'date', 0, 0, 1, 1); -insert into sys.functions values (738, 'hour', 'hours', 'mtime', 0, 1, false, false, false, 2000, true, false); -insert into sys.args values (32927, 738, 'res_0', 'int', 32, 0, 0, 0); -insert into sys.args values (32928, 738, 'arg_1', 'time', 7, 0, 1, 1); -insert into sys.functions values (739, 'minute', 'minutes', 'mtime', 0, 1, false, false, false, 2000, true, false); +insert into sys.functions values (738, 'epoch_ms', 'epoch_ms', 'mtime', 0, 1, false, false, false, 2000, true, false); +insert into sys.args values (32927, 738, 'res_0', 'bigint', 64, 0, 0, 0); +insert into sys.args values (32928, 738, 'arg_1', 'date', 0, 0, 1, 1); +insert into sys.functions values (739, 'hour', 'hours', 'mtime', 0, 1, false, false, false, 2000, true, false); insert into sys.args values (32929, 739, 'res_0', 'int', 32, 0, 0, 0); insert into sys.args values (32930, 739, 'arg_1', 'time', 7, 0, 1, 1); -insert into sys.functions values (740, 'second', 'sql_seconds', 'mtime', 0, 1, false, false, false, 2000, true, false); -insert into sys.args values (32931, 740, 'res_0', 'decimal', 9, 6, 0, 0); +insert into sys.functions values (740, 'minute', 'minutes', 'mtime', 0, 1, false, false, false, 2000, true, false); +insert into sys.args values (32931, 740, 'res_0', 'int', 32, 0, 0, 0); insert into sys.args values (32932, 740, 'arg_1', 'time', 7, 0, 1, 1); -insert into sys.functions values (741, 'hour', 'hours', 'mtime', 0, 1, false, false, false, 2000, true, false); -insert into sys.args values (32933, 741, 'res_0', 'int', 32, 0, 0, 0); -insert into sys.args values (32934, 741, 'arg_1', 'timetz', 7, 0, 1, 1); -insert into sys.functions values (742, 'minute', 'minutes', 'mtime', 0, 1, false, false, false, 2000, true, false); -insert into sys.args values (32935, 742, 'res_0', 'int', 32, 0, 0, 0); -insert into sys.args values (32936, 742, 'arg_1', 'timetz', 7, 0, 1, 1); -insert into sys.functions values (743, 'second', 'sql_seconds', 'mtime', 0, 1, false, false, false, 2000, true, false); -insert into sys.args values (32937, 743, 'res_0', 'decimal', 9, 6, 0, 0); +insert into sys.functions values (741, 'second', 'sql_seconds', 'mtime', 0, 1, false, false, false, 2000, true, false); +insert into sys.args values (32933, 741, 'res_0', 'decimal', 9, 6, 0, 0); +insert into sys.args values (32934, 741, 'arg_1', 'time', 7, 0, 1, 1); +insert into sys.functions values (742, 'epoch_ms', 'epoch_ms', 'mtime', 0, 1, false, false, false, 2000, true, false); +insert into sys.args values (32935, 742, 'res_0', 'bigint', 64, 0, 0, 0); +insert into sys.args values (32936, 742, 'arg_1', 'time', 7, 0, 1, 1); +insert into sys.functions values (743, 'hour', 'hours', 'mtime', 0, 1, false, false, false, 2000, true, false); +insert into sys.args values (32937, 743, 'res_0', 'int', 32, 0, 0, 0); insert into sys.args values (32938, 743, 'arg_1', 'timetz', 7, 0, 1, 1); -insert into sys.functions values (744, 'century', 'century', 'mtime', 0, 1, false, false, false, 2000, true, false); +insert into sys.functions values (744, 'minute', 'minutes', 'mtime', 0, 1, false, false, false, 2000, true, false); insert into sys.args values (32939, 744, 'res_0', 'int', 32, 0, 0, 0); -insert into sys.args values (32940, 744, 'arg_1', 'timestamp', 7, 0, 1, 1); -insert into sys.functions values (745, 'decade', 'decade', 'mtime', 0, 1, false, false, false, 2000, true, false); -insert into sys.args values (32941, 745, 'res_0', 'int', 32, 0, 0, 0); -insert into sys.args values (32942, 745, 'arg_1', 'timestamp', 7, 0, 1, 1); -insert into sys.functions values (746, 'year', 'year', 'mtime', 0, 1, false, false, false, 2000, true, false); -insert into sys.args values (32943, 746,
MonetDB: Oct2020 - Approved upgrade
Changeset: ef76e9701106 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ef76e9701106 Modified Files: sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.ppc64.int128 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.32bit sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.ppc64 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.ppc64.int128 sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade/Tests/upgrade.stable.out sql/test/emptydb-upgrade/Tests/upgrade.stable.out.32bit sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128 sql/test/emptydb/Tests/check.stable.out sql/test/emptydb/Tests/check.stable.out.32bit sql/test/emptydb/Tests/check.stable.out.int128 sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade/Tests/upgrade.stable.out sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128 Branch: Oct2020 Log Message: Approved upgrade diffs (truncated from 14153 to 300 lines): diff --git a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 --- a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 +++ b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 @@ -3447,865 +3447,886 @@ insert into sys.args values (37304, 894, insert into sys.functions values (895, 'week', 'weekofyear', 'mtime', 0, 1, false, false, false, 2000, true, false); insert into sys.args values (37305, 895, 'res_0', 'int', 32, 0, 0, 0); insert into sys.args values (37306, 895, 'arg_1', 'date', 0, 0, 1, 1); -insert into sys.functions values (896, 'hour', 'hours', 'mtime', 0, 1, false, false, false, 2000, true, false); -insert into sys.args values (37307, 896, 'res_0', 'int', 32, 0, 0, 0); -insert into sys.args values (37308, 896, 'arg_1', 'time', 7, 0, 1, 1); -insert into sys.functions values (897, 'minute', 'minutes', 'mtime', 0, 1, false, false, false, 2000, true, false); +insert into sys.functions values (896, 'epoch_ms', 'epoch_ms', 'mtime', 0, 1, false, false, false, 2000, true, false); +insert into sys.args values (37307, 896, 'res_0', 'bigint', 64, 0, 0, 0); +insert into sys.args values (37308, 896, 'arg_1', 'date', 0, 0, 1, 1); +insert into sys.functions values (897, 'hour', 'hours', 'mtime', 0, 1, false, false, false, 2000, true, false); insert into sys.args values (37309, 897, 'res_0', 'int', 32, 0, 0, 0); insert into sys.args values (37310, 897, 'arg_1', 'time', 7, 0, 1, 1); -insert into sys.functions values (898, 'second', 'sql_seconds', 'mtime', 0, 1, false, false, false, 2000, true, false); -insert into sys.args values (37311, 898, 'res_0', 'decimal', 9, 6, 0, 0); +insert into sys.functions values (898, 'minute', 'minutes', 'mtime', 0, 1, false, false, false, 2000, true, false); +insert into sys.args values (37311, 898, 'res_0', 'int', 32, 0, 0, 0); insert into sys.args values (37312, 898, 'arg_1', 'time', 7, 0, 1, 1); -insert into sys.functions values (899, 'hour', 'hours', 'mtime', 0, 1, false, false, false, 2000, true, false); -insert into sys.args values (37313, 899, 'res_0', 'int', 32, 0, 0, 0); -insert into sys.args values (37314, 899, 'arg_1', 'timetz', 7, 0, 1, 1); -insert into sys.functions values (900, 'minute', 'minutes', 'mtime', 0, 1, false, false, false, 2000, true, false); -insert into sys.args values (37315, 900, 'res_0', 'int', 32, 0, 0, 0); -insert into sys.args values (37316, 900, 'arg_1', 'timetz', 7, 0, 1, 1); -insert into sys.functions values (901, 'second', 'sql_seconds', 'mtime', 0, 1, false, false, false, 2000, true, false); -insert into sys.args values (37317, 901, 'res_0', 'decimal', 9, 6, 0, 0); +insert into sys.functions values (899, 'second', 'sql_seconds', 'mtime', 0, 1, false, false, false, 2000, true, false); +insert into sys.args values (37313, 899, 'res_0', 'decimal', 9, 6, 0, 0); +insert into sys.args values (37314, 899, 'arg_1', 'time', 7, 0, 1, 1); +insert into sys.functions values (900, 'epoch_ms', 'epoch_ms', 'mtime', 0, 1, false, false, false, 2000, true, false); +insert into sys.args values (37315, 900, 'res_0', 'bigint', 64, 0, 0, 0); +insert into sys.args values (37316, 900, 'arg_1', 'time', 7, 0, 1, 1); +insert into sys.functions values (901, 'hour', 'hours', 'mtime', 0, 1, false, false, f
MonetDB: Oct2020 - Fix upgrade
Changeset: ca97f68a31d0 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ca97f68a31d0 Modified Files: sql/backends/monet5/sql_upgrades.c Branch: Oct2020 Log Message: Fix upgrade diffs (11 lines): diff --git a/sql/backends/monet5/sql_upgrades.c b/sql/backends/monet5/sql_upgrades.c --- a/sql/backends/monet5/sql_upgrades.c +++ b/sql/backends/monet5/sql_upgrades.c @@ -2480,6 +2480,7 @@ sql_update_oct2020(Client c, mvc *sql, c "ALTER TABLE sys.keywords SET READ WRITE;\n" "insert into sys.keywords values ('EPOCH');\n"); + pos += snprintf(buf + pos, bufsize - pos, "commit;\n"); pos += snprintf(buf + pos, bufsize - pos, "set schema \"%s\";\n", prev_schema); assert(pos < bufsize); ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Oct2020 - Approved output
Changeset: 217ecad7119e for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=217ecad7119e Added Files: sql/test/BugTracker-2020/Tests/integers-intervals.Bug-6979.sql sql/test/BugTracker-2020/Tests/integers-intervals.Bug-6979.stable.err sql/test/BugTracker-2020/Tests/integers-intervals.Bug-6979.stable.out Modified Files: sql/test/BugTracker-2020/Tests/All Branch: Oct2020 Log Message: Approved output diffs (53 lines): diff --git a/sql/test/BugTracker-2020/Tests/All b/sql/test/BugTracker-2020/Tests/All --- a/sql/test/BugTracker-2020/Tests/All +++ b/sql/test/BugTracker-2020/Tests/All @@ -24,3 +24,4 @@ round.Bug-6955 log.Bug-6960 table-udf-column-descriptor.Bug-6964 table-udf-distinct.Bug-6965 +integers-intervals.Bug-6979 diff --git a/sql/test/BugTracker-2020/Tests/integers-intervals.Bug-6979.sql b/sql/test/BugTracker-2020/Tests/integers-intervals.Bug-6979.sql new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2020/Tests/integers-intervals.Bug-6979.sql @@ -0,0 +1,1 @@ +select extract(second from interval '3600' second), extract(hour from interval '3600' second), extract(epoch from interval '3600' second), extract(epoch from now() - now()); diff --git a/sql/test/BugTracker-2020/Tests/integers-intervals.Bug-6979.stable.err b/sql/test/BugTracker-2020/Tests/integers-intervals.Bug-6979.stable.err new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2020/Tests/integers-intervals.Bug-6979.stable.err @@ -0,0 +1,11 @@ +stderr of test 'integers-intervals.Bug-6979` in directory 'sql/test/BugTracker-2020` itself: + + +# 10:15:28 > +# 10:15:28 > "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-19606" "--port=33099" +# 10:15:28 > + +# 10:15:28 > +# 10:15:28 > "Done." +# 10:15:28 > + diff --git a/sql/test/BugTracker-2020/Tests/integers-intervals.Bug-6979.stable.out b/sql/test/BugTracker-2020/Tests/integers-intervals.Bug-6979.stable.out new file mode 100644 --- /dev/null +++ b/sql/test/BugTracker-2020/Tests/integers-intervals.Bug-6979.stable.out @@ -0,0 +1,18 @@ +stdout of test 'integers-intervals.Bug-6979` in directory 'sql/test/BugTracker-2020` itself: + + +# 10:15:28 > +# 10:15:28 > "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" "--host=/var/tmp/mtest-19606" "--port=33099" +# 10:15:28 > + +#select extract(second from interval '3600' second), extract(hour from interval '3600' second), extract(epoch from interval '3600' second), extract(epoch from now() - now()); +% .%2, .%3,.%4,.%5 # table_name +% %2, %3, %4, %5 # name +% int, int,bigint, bigint # type +% 1, 1, 7, 1 # length +[ 0, 1, 360,0 ] + +# 10:15:28 > +# 10:15:28 > "Done." +# 10:15:28 > + ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Oct2020 - Added 'epoch' extract function to datetime re...
Changeset: 22f0b6b230c9 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=22f0b6b230c9 Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/mapiclient/mhelp.c monetdb5/modules/atoms/mtime.c sql/backends/monet5/sql_upgrades.c sql/common/sql_types.c sql/scripts/51_sys_schema_extension.sql sql/server/sql_datetime.c sql/server/sql_datetime.h sql/server/sql_parser.y sql/server/sql_scan.c sql/test/sys-schema/Tests/systemfunctions.stable.out sql/test/sys-schema/Tests/systemfunctions.stable.out.int128 Branch: Oct2020 Log Message: Added 'epoch' extract function to datetime related types. This allows to convert an interval value into an integer as a regular cast is not possible as mentioned in bug 6979 diffs (truncated from 395 to 300 lines): diff --git a/clients/Tests/MAL-signatures.stable.out b/clients/Tests/MAL-signatures.stable.out --- a/clients/Tests/MAL-signatures.stable.out +++ b/clients/Tests/MAL-signatures.stable.out @@ -6175,6 +6175,10 @@ stdout of test 'MAL-signatures` in direc [ "batmtime", "epoch","command batmtime.epoch(X_1:bat[:timestamp]):bat[:int] ", "MTIMEseconds_since_epoch_bulk;", "" ] [ "batmtime", "epoch","command batmtime.epoch(X_1:bat[:lng]):bat[:timestamp] ", "MTIMEtimestamp_frommsec_bulk;","" ] [ "batmtime", "epoch","command batmtime.epoch(X_1:bat[:int]):bat[:timestamp] ", "MTIMEtimestamp_fromsecond_bulk;", "" ] +[ "batmtime", "epoch_ms", "command batmtime.epoch_ms(X_1:bat[:date]):bat[:lng] ", "MTIMEdate_extract_epoch_ms_bulk;", "" ] +[ "batmtime", "epoch_ms", "command batmtime.epoch_ms(X_1:bat[:daytime]):bat[:lng] ", "MTIMEdaytime_extract_epoch_ms_bulk;", "" ] +[ "batmtime", "epoch_ms", "command batmtime.epoch_ms(X_1:bat[:lng]):bat[:lng] ", "MTIMEmsec_extract_epoch_ms_bulk;", "" ] +[ "batmtime", "epoch_ms", "command batmtime.epoch_ms(X_1:bat[:timestamp]):bat[:lng] ", "MTIMEtimestamp_extract_epoch_ms_bulk;","" ] [ "batmtime", "hours","command batmtime.hours(X_1:bat[:daytime]):bat[:int] ", "MTIMEdaytime_extract_hours_bulk;", "" ] [ "batmtime", "hours","command batmtime.hours(X_1:bat[:lng]):bat[:int] ", "MTIMEsql_hours_bulk;", "" ] [ "batmtime", "hours","command batmtime.hours(X_1:bat[:timestamp]):bat[:int] ", "MTIMEtimestamp_hours_bulk;", "" ] @@ -8930,6 +8934,10 @@ stdout of test 'MAL-signatures` in direc [ "mtime", "epoch","command mtime.epoch(X_1:timestamp):int ", "MTIMEseconds_since_epoch;","" ] [ "mtime", "epoch","command mtime.epoch(X_1:lng):timestamp ", "MTIMEtimestamp_frommsec;", "" ] [ "mtime", "epoch","command mtime.epoch(X_1:int):timestamp ", "MTIMEtimestamp_fromsecond;", "" ] +[ "mtime", "epoch_ms", "command mtime.epoch_ms(X_1:date):lng ", "MTIMEdate_extract_epoch_ms;", "" ] +[ "mtime", "epoch_ms", "command mtime.epoch_ms(X_1:daytime):lng ", "MTIMEdaytime_extract_epoch_ms;", "" ] +[ "mtime", "epoch_ms", "command mtime.epoch_ms(X_1:lng):lng ", "MTIMEmsec_extract_epoch_ms;", "" ] +[ "mtime", "epoch_ms", "command mtime.epoch_ms(X_1:timestamp):lng ", "MTIMEtimestamp_extract_epoch_ms;", "" ] [ "mtime", "hours","command mtime.hours(X_1:daytime):int ", "MTIMEdaytime_extract_hours;", "" ] [ "mtime", "hours","command mtime.hours(X_1:lng):int ", "MTIMEsql_hours;", "" ] [ "mtime", "hours","command mtime.hours(X_1:timestamp):int ", "MTIMEtimestamp_hours;","" ] diff --git a/clients/Tests/MAL-signatures.stable.out.int128 b/clients/Tests/MAL-signatures.stable.out.int128 --- a/clients/Tests/MAL-signatures.stable.out.int128 +++ b/clients/Tests/MAL-signatures.stable.out.int128 @@ -8744,6 +8744,10 @@ stdout of test 'MAL-signatures` in direc [ "batmtime", "epoch","command batmtime.epoch(X_1:bat[:timestamp]):bat[:int] ", "MTIMEseconds_since_epoch_bulk;", "" ] [ "batmtime", "epoch","command batmtime.epoch(X_1:bat[:lng]):bat[:timestamp] ", "MTIMEtimestamp_frommsec_bulk;","" ] [ "batmtime", "epoch","command batmtime.epoch(X_1:bat[:int]):bat[:timestamp] ", "MTIMEtimestamp_fromsecond_bulk;", "" ] +[ "batmtime", "epoch_ms", "command batmtime.epoch_ms(X_1:bat[:date]):bat[:lng] ", "MTIMEdate_extract_epoch_ms_bulk;", "" ] +[ "batmtime", "epoch_ms", "command batmtime.epoch_ms(X_1:bat[:daytime]):bat[:lng] ", "MTIMEdaytime_extract_epoch_ms_bulk;", "" ] +[ "batmtime", "epoch_ms", "command batmtime.epoch_ms(X_1:bat[:lng]):bat[:lng] "
MonetDB: default - Merge with monetdbe-proxy.
Changeset: 2e0a466bf36c for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2e0a466bf36c Branch: default Log Message: Merge with monetdbe-proxy. diffs (truncated from 3257 to 300 lines): diff --git a/clients/Tests/MAL-signatures.stable.out b/clients/Tests/MAL-signatures.stable.out --- a/clients/Tests/MAL-signatures.stable.out +++ b/clients/Tests/MAL-signatures.stable.out @@ -9114,13 +9114,14 @@ stdout of test 'MAL-signatures` in direc [ "remote","batbincopy", "pattern remote.batbincopy(X_1:bat[:any]):void ", "RMTbincopyto;","" ] [ "remote","batload", "pattern remote.batload(X_1:any_1, X_2:int):bat[:any_1] ", "RMTbatload;", "" ] [ "remote","bintype", "pattern remote.bintype():void ", "RMTbintype;", "" ] -[ "remote","connect", "command remote.connect(X_1:str, X_2:str, X_3:str):str ", "RMTconnect;", "" ] -[ "remote","connect", "command remote.connect(X_1:str, X_2:str, X_3:str, X_4:str):str ", "RMTconnectScen;", "" ] +[ "remote","connect", "command remote.connect(X_1:str, X_2:str, X_3:str, X_4:str):str ", "RMTconnect;", "" ] +[ "remote","connect", "command remote.connect(X_1:str, X_2:str, X_3:str, X_4:str, X_5:bit):str ", "RMTconnectScen;", "" ] [ "remote","connect", "pattern remote.connect(X_1:str, X_2:str):str ","RMTconnectTable;", "" ] [ "remote","disconnect", "command remote.disconnect(X_1:str):void ", "RMTdisconnect;", "" ] [ "remote","epilogue", "command remote.epilogue():void ", "RMTepilogue;", "" ] [ "remote","exec", "pattern remote.exec(X_1:str, X_2:str, X_3:str):str ", "RMTexec;", "" ] [ "remote","exec", "pattern remote.exec(X_1:str, X_2:str, X_3:str):str... ", "RMTexec;", "" ] +[ "remote","exec", "pattern remote.exec(X_1:str, X_2:str, X_3:str, X_4:ptr, X_5:str...):void ","RMTexec;", "" ] [ "remote","exec", "pattern remote.exec(X_1:str, X_2:str, X_3:str, X_4:str...):str ", "RMTexec;", "" ] [ "remote","exec", "pattern remote.exec(X_1:str, X_2:str, X_3:str, X_4:str...):str... ", "RMTexec;", "" ] [ "remote","get", "pattern remote.get(X_1:str, X_2:str):any ", "RMTget;", "" ] @@ -9308,6 +9309,7 @@ stdout of test 'MAL-signatures` in direc [ "sql", "rt_credentials", "pattern sql.rt_credentials(X_3:str) (X_0:bat[:str], X_1:bat[:str], X_2:bat[:str]) ", "sql_rt_credentials_wrap;", "" ] [ "sql", "sessions", "pattern sql.sessions() (X_0:bat[:int], X_1:bat[:str], X_2:bat[:timestamp], X_3:bat[:timestamp], X_4:bat[:str], X_5:bat[:int], X_6:bat[:int], X_7:bat[:int], X_8:bat[:int]) ", "sql_sessions_wrap;", "" ] [ "sql", "setVariable", "unsafe pattern sql.setVariable(X_1:int, X_2:str, X_3:str, X_4:any_1):int ","setVariable;", "" ] +[ "sql", "set_protocol", "unsafe pattern sql.set_protocol(X_1:int):int ","SQLset_protocol;", "" ] [ "sql", "setmemorylimit", "unsafe pattern sql.setmemorylimit(X_1:int):void ", "SQLsetmemorylimit;", "" ] [ "sql", "setmemorylimit", "unsafe pattern sql.setmemorylimit(X_1:sht, X_2:int):void ","SQLsetmemorylimit;", "" ] [ "sql", "setoptimizer", "unsafe pattern sql.setoptimizer(X_1:int, X_2:str):void ", "SQLsetoptimizer;", "" ] diff --git a/clients/Tests/MAL-signatures.stable.out.int128 b/clients/Tests/MAL-signatures.stable.out.int128 --- a/clients/Tests/MAL-signatures.stable.out.int128 +++ b/clients/Tests/MAL-signatures.stable.out.int128 @@ -12455,13 +12455,14 @@ stdout of test 'MAL-signatures` in direc [ "remote","batbincopy", "pattern remote.batbincopy(X_1:bat[:any]):void ", "RMTbincopyto;","" ] [ "remote","batload", "pattern remote.batload(X_1:any_1, X_2:int):bat[:any_1] ", "RMTbatload;", "" ] [ "remote","bintype", "pattern remote.bintype():void ", "RMTbintype;", "" ] -[ "remote","connect", "command remote.connect(X_1:str, X_2:str, X_3:str):str ", "RMTconnect;", "" ] -[ "remote","connect", "command remote.connect(X_1:str, X_2:str, X_3:str, X_4:str):str ", "RMTconnectScen;", "" ] +[ "remote","connect", "command remote.connect(X_1:str, X_2:str, X_3:str, X_4:str):str ", "RMTconnect;", "" ] +[ "remote","connect", "command remote.connect(X_1:str, X_2:str, X_3:str, X_4:str, X_5:bit):str ", "RMTconnectScen;", "" ] [ "remote","connect", "pattern remote.connect(X_1:str, X_2:str):str ","RMTconnectTable;", "" ] [ "remote","disconnect", "command remote.disconnect(X_1:str):void ", "RMTdisconnect;", "" ] [ "remote","epilogue", "command remote.epilogue():void ",
MonetDB: monetdbe-proxy - Fix another casting issue.
Changeset: 0002115dd140 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0002115dd140 Modified Files: sql/backends/monet5/sql.c Branch: monetdbe-proxy Log Message: Fix another casting issue. diffs (12 lines): diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c --- a/sql/backends/monet5/sql.c +++ b/sql/backends/monet5/sql.c @@ -298,7 +298,7 @@ SQLset_protocol(Client cntxt, MalBlkPtr return createException(SQL, "sql.set_protocol", "unknown protocol: %d", protocol); } - *getArgReference_int(stk, pci, 0) = (cntxt->protocol = protocol); + *getArgReference_int(stk, pci, 0) = (cntxt->protocol = (protocol_version) protocol); return MAL_SUCCEED; } ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: octbugs - Related query to fix later
Changeset: 0c445c967fd8 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0c445c967fd8 Modified Files: sql/test/SQLancer/Tests/sqlancer07.sql Branch: octbugs Log Message: Related query to fix later diffs (12 lines): diff --git a/sql/test/SQLancer/Tests/sqlancer07.sql b/sql/test/SQLancer/Tests/sqlancer07.sql --- a/sql/test/SQLancer/Tests/sqlancer07.sql +++ b/sql/test/SQLancer/Tests/sqlancer07.sql @@ -314,6 +314,8 @@ SELECT 1 FROM (SELECT 2) v4(vc0) WHERE ( -- empty SELECT 1 FROM (SELECT 1) as v3(c0) RIGHT JOIN (SELECT 2) as v4(c0) ON (0.6) NOT IN (0.5, (SELECT 0.2)); -- 1 +SELECT * FROM (SELECT 1) as v3(c0) LEFT JOIN (SELECT 2) as v4(c0) ON (0.6) NOT IN ((SELECT v4.c0), 0.5); + -- 1 2 SELECT FALSE FROM v3, v0 FULL OUTER JOIN v4 ON sql_max(FALSE, (0.6902854) NOT IN (0.5854332103580835, CASE WHEN v4.vc0 THEN (SELECT 0.023816515 WHERE TRUE) END)); -- False ROLLBACK; ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list