MonetDB: Aug2024 - Fix some old upgrade errors, allowing chain u...
Changeset: 21cf4874209b for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/21cf4874209b Modified Files: sql/backends/monet5/sql_upgrades.c sql/test/emptydb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/emptydb-previous-upgrade-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-previous-upgrade/Tests/upgrade.stable.out sql/test/emptydb-previous-upgrade/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.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.int128 sql/test/testdb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/testdb-previous-upgrade-chain/Tests/upgrade.stable.out sql/test/testdb-previous-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/testdb-previous-upgrade-hge/Tests/upgrade.stable.out.int128 sql/test/testdb-previous-upgrade/Tests/upgrade.stable.out sql/test/testdb-previous-upgrade/Tests/upgrade.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.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.int128 Branch: Aug2024 Log Message: Fix some old upgrade errors, allowing chain upgrades to work. Also approve new upgrade output. diffs (truncated from 1414 to 300 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 @@ -7061,7 +7061,26 @@ sql_update_aug2024(Client c, mvc *sql, s fflush(stdout); err = SQLstatementIntern(c, query1, "update", true, false, NULL); if (err == MAL_SUCCEED) { - const char query2[] = + sql_subtype tp; + sql_find_subtype(&tp, "smallint", 0, 0); + if (!sql_bind_func(sql, s->base.name, "generate_series", &tp, &tp, F_UNION, true, true)) { + sql->session->status = 0; + sql->errstr[0] = '\0'; + const char query[] = + "create function sys.generate_series(first smallint, \"limit\" smallint)\n" + "returns table (value smallint)\n" + "external name generator.series;\n" + "create function sys.generate_series(first smallint, \"limit\" smallint, stepsize smallint)\n" + "returns table (value smallint)\n" + "external name generator.series;\n" + "update sys.functions set system = true where system <> true and name in ('generate_series') and schema_id = (select id from sys.schemas where name = 'sys');\n"; + printf("Running database upgrade commands:\n%s\n", query); + fflush(stdout); + err = SQLstatementIntern(c, query, "update", true, false, NULL); + } + } + if (err == MAL_SUCCEED) { + const char query[] = "create function sys.generate_series(first date, \"limit\" date, stepsize interval month)\n" "returns table (value date)\n" "external name generator.series;\n" @@ -7090,139 +7109,170 @@ sql_update_aug2024(Client c, mvc *sql, s "update sys.functions set system = true where system <> true and name = 'generate_series' and schema_id = 2000;\n"; sql->session->status = 0; sql->errstr[0] = '\0'; - printf("Running database upgrade commands:\n%s\n", query2); + printf("Running database upgrade commands:\n%s\n", query); +
MonetDB: Aug2024 - Merge with Dec2023 branch.
Changeset: 957365bf81e3 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/957365bf81e3 Modified Files: monetdb5/mal/mal.c monetdb5/mal/mal_client.c monetdb5/mal/mal_private.h sql/backends/monet5/sql_scenario.c tools/merovingian/daemon/merovingian.h Branch: Aug2024 Log Message: Merge with Dec2023 branch. diffs (truncated from 318 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 @@ -721,9 +721,15 @@ msab_getSingleStatus(const char *pathbuf }; /* store the database name */ - snprintf(buf, sizeof(buf), "%s/%s", pathbuf, dbname); + int dbnamestart; +#ifdef _MSC_VER + dbnamestart = snprintf(buf, sizeof(buf), "%s/", pathbuf); + snprintf(buf + dbnamestart, sizeof(buf) - dbnamestart, "%s", dbname); +#else + snprintf(buf, sizeof(buf), "%s/%n%s", pathbuf, &dbnamestart, dbname); +#endif sdb->path = strdup(buf); - sdb->dbname = sdb->path + strlen(sdb->path) - strlen(dbname); + sdb->dbname = sdb->path + dbnamestart; /* check the state of the server by looking at its gdk lock: diff --git a/monetdb5/mal/mal.c b/monetdb5/mal/mal.c --- a/monetdb5/mal/mal.c +++ b/monetdb5/mal/mal.c @@ -53,12 +53,6 @@ mal_version(void) return MONETDB5_VERSION; } -static void -MALprintinfo(void) -{ - MCprintinfo(); -} - /* * Initialization of the MAL context */ @@ -100,8 +94,6 @@ mal_init(char *modules[], bool embedded, return -1; initNamespace(); - GDKprintinforegister(MALprintinfo); - err = malBootstrap(modules, embedded, initpasswd); if (err != MAL_SUCCEED) { mal_client_reset(); diff --git a/monetdb5/mal/mal_client.c b/monetdb5/mal/mal_client.c --- a/monetdb5/mal/mal_client.c +++ b/monetdb5/mal/mal_client.c @@ -616,40 +616,6 @@ MCvalid(Client tc) } void -MCprintinfo(void) -{ - int nrun = 0, nfinish = 0, nblock = 0; - - MT_lock_set(&mal_contextLock); - for (Client c = mal_clients; c < mal_clients + MAL_MAXCLIENTS; c++) { - switch (c->mode) { - case RUNCLIENT: - /* running */ - nrun++; - if (c->idle) - printf("client %d, user %s, using %"PRIu64" bytes of transient space, idle since %s", c->idx, c->username, (uint64_t) ATOMIC_GET(&c->qryctx.datasize), ctime(&c->idle)); - else - printf("client %d, user %s, using %"PRIu64" bytes of transient space\n", c->idx, c->username, (uint64_t) ATOMIC_GET(&c->qryctx.datasize)); - break; - case FINISHCLIENT: - /* finishing */ - nfinish++; - break; - case BLOCKCLIENT: - /* blocked */ - nblock++; - break; - case FREECLIENT: - break; - } - } - MT_lock_unset(&mal_contextLock); - printf("%d active clients, %d finishing clients, %d blocked clients\n", - nrun, nfinish, nblock); -} - - -void MCsetClientInfo(Client c, const char *property, const char *value) { if (strlen(property) < 7) diff --git a/monetdb5/mal/mal_private.h b/monetdb5/mal/mal_private.h --- a/monetdb5/mal/mal_private.h +++ b/monetdb5/mal/mal_private.h @@ -81,9 +81,6 @@ void mal_runtime_reset(void) char *dupError(const char *err) __attribute__((__visibility__("hidden"), __returns_nonnull__)); -void MCprintinfo(void) - __attribute__((__visibility__("hidden"))); - void setPoly(mel_func *f, malType tpe) __attribute__((__visibility__("hidden"))); diff --git a/sql/backends/monet5/UDF/pyapi3/pytypes3.c b/sql/backends/monet5/UDF/pyapi3/pytypes3.c --- a/sql/backends/monet5/UDF/pyapi3/pytypes3.c +++ b/sql/backends/monet5/UDF/pyapi3/pytypes3.c @@ -243,8 +243,10 @@ bool PyType_IsNumpyMaskedArray(PyObject { PyObject *type = PyObject_Type(object); PyObject *str = PyObject_Str(type); - bool ret = strcmp(PyUnicode_AsUTF8(str), - "") == 0; + bool ret = strcmp(PyUnicode_AsUTF8(str), /* numpy < 2.0 */ + "") == 0 || + strcmp(PyUnicode_AsUTF8(str), /* numpy >= 2.0 */ + "") == 0; Py_DECREF(str); Py_DECREF(type); return ret; diff --git a/sql/backends/monet5/sql_scenario.c b/sql/backends/monet5/sql_scenario.c --- a/sql/backends/monet5/sql_scenario.c +++ b/sql/backends/monet5/sql_scenario.c @@ -87,10 +87,60 @@ static MT_Lock sql_contextLock = MT_LOCK static str SQLinit(Client c, const char *initpasswd); static str master_password = NULL; +#include "mal.h" +#include "mal_client.h" + +static void +CLIENTpr
MonetDB: Aug2024 - Convert sql/test/clientinfo-nonadmin into a s...
Changeset: c9475f5c9773 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/c9475f5c9773 Added Files: sql/test/mapi/Tests/clientinfo-nonadmin.test Removed Files: sql/test/mapi/Tests/clientinfo-nonadmin.SQL.py Branch: Aug2024 Log Message: Convert sql/test/clientinfo-nonadmin into a sqllogictest (I wasn't aware of @connection before) diffs (133 lines): diff --git a/sql/test/mapi/Tests/clientinfo-nonadmin.SQL.py b/sql/test/mapi/Tests/clientinfo-nonadmin.SQL.py deleted file mode 100644 --- a/sql/test/mapi/Tests/clientinfo-nonadmin.SQL.py +++ /dev/null @@ -1,61 +0,0 @@ - -import os -import sys -from typing import List, Tuple -import pymonetdb - - -def connect(remark: str, **args) -> pymonetdb.Connection: -dbname = os.environ['TSTDB'] -mapiport = os.environ['MAPIPORT'] -conn = pymonetdb.connect(dbname, port=mapiport, autocommit=True, **args) -with conn.cursor() as c: -c.execute("CALL sys.setclientinfo('ClientRemark', %s)", [remark]) -return conn - -def get_remarks(conn: pymonetdb.Connection) -> List[Tuple[int,str]]: -with conn.cursor() as c: -c.execute("SELECT sessionid, remark FROM sys.sessions ORDER BY sessionid") -return c.fetchall() - -def assert_equal(left, right): -if left != right: -print(f'LEFT: {left!r}\nRIGHT: {right!r}\n', file=sys.stderr) -assert left == right - - -### -# Connect as admin - -conn0 = connect('admin 0') -assert_equal(get_remarks(conn0), [(0, 'admin 0')]) - - -### -# Create a user - -c0 = conn0.cursor() -# try: -# c0.execute('DROP USER nonadmin')# convenientduring interactive testing -# except pymonetdb.Error: -# pass -c0.execute("CREATE USER nonadmin WITH PASSWORD 'na' NAME 'Not Admin' SCHEMA sys") - - -### -# Connect as that user, twice - -conn1 = connect('user 1', user='nonadmin', password='na') -conn2 = connect('user 2', user='nonadmin', password='na') - - -### -# Check who can see what - -# admin can see both -assert_equal(get_remarks(conn0), [(0, 'admin 0'), (1, 'user 1'), (2, 'user 2')]) - -# users can only see themselves -assert_equal(get_remarks(conn1), [(1, 'user 1'), (2, 'user 2')]) -assert_equal(get_remarks(conn2), [(1, 'user 1'), (2, 'user 2')]) - diff --git a/sql/test/mapi/Tests/clientinfo-nonadmin.test b/sql/test/mapi/Tests/clientinfo-nonadmin.test new file mode 100644 --- /dev/null +++ b/sql/test/mapi/Tests/clientinfo-nonadmin.test @@ -0,0 +1,62 @@ + +# admin logs in with ClientRemark and creates users + +statement ok +CALL sys.setclientinfo('ClientRemark', 'admin') + +statement ok +CREATE USER user1 WITH PASSWORD 'bla' NAME 'User 1' SCHEMA sys; + +statement ok +CREATE USER user2 WITH PASSWORD 'bla' NAME 'User 2' SCHEMA sys; + + +# user1 logs in with ClientRemark + +@connection(id=user1, username=user1, password=bla) +statement ok +CALL sys.setclientinfo('ClientRemark', 'user 1') + + +# user2 logs in twice, with different ClientRemarks + +@connection(id=user2a, username=user2, password=bla) +statement ok +CALL sys.setclientinfo('ClientRemark', 'user 2a') + +@connection(id=user2b, username=user2, password=bla) +statement ok +CALL sys.setclientinfo('ClientRemark', 'user 2b') + + +# Now verify what everybody sees + +query IT rowsort +SELECT sessionid, remark FROM sys.sessions + +0 +admin +1 +user 1 +2 +user 2a +3 +user 2b + +@connection(id=user1) +query IT rowsort +SELECT sessionid, remark FROM sys.sessions + +1 +user 1 + +@connection(id=user2a) +query IT rowsort +SELECT sessionid, remark FROM sys.sessions + +2 +user 2a +3 +user 2b + + ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: Aug2024 - Export getScenarioLanguage
Changeset: ec523f3b884f for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/ec523f3b884f Modified Files: clients/Tests/exports.stable.out monetdb5/mal/mal_scenario.h Branch: Aug2024 Log Message: Export getScenarioLanguage so the sql backend can use it diffs (27 lines): diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out --- a/clients/Tests/exports.stable.out +++ b/clients/Tests/exports.stable.out @@ -1022,6 +1022,7 @@ int getOidConstant(MalBlkPtr mb, oid val int getPC(MalBlkPtr mb, InstrPtr p); str getPipeCatalog(bat *nme, bat *def, bat *stat); const char *getRef; +str getScenarioLanguage(Client c); int getShtConstant(MalBlkPtr mb, sht val); int getStrConstant(MalBlkPtr mb, str val); const char *getTraceRef; diff --git a/monetdb5/mal/mal_scenario.h b/monetdb5/mal/mal_scenario.h --- a/monetdb5/mal/mal_scenario.h +++ b/monetdb5/mal/mal_scenario.h @@ -37,11 +37,11 @@ typedef struct SCENARIO { mal_export Scenario getFreeScenario(void); mal_export Scenario findScenario(const char *nme); +mal_export str getScenarioLanguage(Client c); #ifdef LIBMONETDB5 extern str setScenario(Client c, const char *nme); extern str runScenario(Client c); -extern str getScenarioLanguage(Client c); extern void showCurrentScenario(void); extern void showScenarioByName(stream *f, const char *s); ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: Aug2024 - Inline CLTsessions into sql_sessions_wrap
Changeset: 6e71ccb990b3 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/6e71ccb990b3 Modified Files: clients/Tests/exports.stable.out monetdb5/modules/mal/clients.c monetdb5/modules/mal/clients.h sql/backends/monet5/sql.c Branch: Aug2024 Log Message: Inline CLTsessions into sql_sessions_wrap Because in the clients module we don't have access to the be->mvc diffs (truncated from 454 to 300 lines): diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out --- a/clients/Tests/exports.stable.out +++ b/clients/Tests/exports.stable.out @@ -790,7 +790,6 @@ str AUTHunlockVault(const char *password str AUTHverifyPassword(const char *passwd); str BKCmirror(bat *ret, const bat *bid); str BKCnewBAT(bat *res, const int *tt, const BUN *cap, role_t role); -str CLTsessions(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str CLTshutdown(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str COPYrejects(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str COPYrejects_clear(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); diff --git a/monetdb5/modules/mal/clients.c b/monetdb5/modules/mal/clients.c --- a/monetdb5/modules/mal/clients.c +++ b/monetdb5/modules/mal/clients.c @@ -773,214 +773,6 @@ CLTshutdown(Client cntxt, MalBlkPtr mb, return MAL_SUCCEED; } -str -CLTsessions(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) -{ - BAT *id = NULL, *user = NULL, *login = NULL, *sessiontimeout = NULL, - *querytimeout = NULL, *idle = NULL; - BAT *opt = NULL, *wlimit = NULL, *mlimit = NULL; - BAT *language = NULL, *peer = NULL, *hostname = NULL, *application = NULL, *client = NULL, *clientpid = NULL, *remark = NULL; - bat *idId = getArgReference_bat(stk, pci, 0); - bat *userId = getArgReference_bat(stk, pci, 1); - bat *loginId = getArgReference_bat(stk, pci, 2); - bat *idleId = getArgReference_bat(stk, pci, 3); - bat *optId = getArgReference_bat(stk, pci, 4); - bat *sessiontimeoutId = getArgReference_bat(stk, pci, 5); - bat *querytimeoutId = getArgReference_bat(stk, pci, 6); - bat *wlimitId = getArgReference_bat(stk, pci, 7); - bat *mlimitId = getArgReference_bat(stk, pci, 8); - bat *languageId = getArgReference_bat(stk, pci, 9); - bat *peerId = getArgReference_bat(stk, pci, 10); - bat *hostnameId = getArgReference_bat(stk, pci, 11); - bat *applicationId = getArgReference_bat(stk, pci, 12); - bat *clientId = getArgReference_bat(stk, pci, 13); - bat *clientpidId = getArgReference_bat(stk, pci, 14); - bat *remarkId = getArgReference_bat(stk, pci, 15); - Client c; - bool admin; - timestamp ts; - lng pid; - const char *s; - int timeout; - str msg = NULL; - - (void) cntxt; - (void) mb; - - id = COLnew(0, TYPE_int, 0, TRANSIENT); - user = COLnew(0, TYPE_str, 0, TRANSIENT); - login = COLnew(0, TYPE_timestamp, 0, TRANSIENT); - opt = COLnew(0, TYPE_str, 0, TRANSIENT); - sessiontimeout = COLnew(0, TYPE_int, 0, TRANSIENT); - querytimeout = COLnew(0, TYPE_int, 0, TRANSIENT); - wlimit = COLnew(0, TYPE_int, 0, TRANSIENT); - mlimit = COLnew(0, TYPE_int, 0, TRANSIENT); - idle = COLnew(0, TYPE_timestamp, 0, TRANSIENT); - language = COLnew(0, TYPE_str, 0, TRANSIENT); - peer = COLnew(0, TYPE_str, 0, TRANSIENT); - hostname = COLnew(0, TYPE_str, 0, TRANSIENT); - application = COLnew(0, TYPE_str, 0, TRANSIENT); - client = COLnew(0, TYPE_str, 0, TRANSIENT); - clientpid = COLnew(0, TYPE_lng, 0, TRANSIENT); - remark = COLnew(0, TYPE_str, 0, TRANSIENT); - - if (id == NULL || user == NULL || login == NULL || sessiontimeout == NULL - || idle == NULL || querytimeout == NULL || opt == NULL || wlimit == NULL - || mlimit == NULL || language == NULL || peer == NULL || hostname == NULL - || application == NULL || client == NULL || clientpid == NULL - || remark == NULL) { - BBPreclaim(id); - BBPreclaim(user); - BBPreclaim(login); - BBPreclaim(sessiontimeout); - BBPreclaim(querytimeout); - BBPreclaim(idle); - BBPreclaim(opt); - BBPreclaim(wlimit); - BBPreclaim(mlimit); - BBPreclaim(language); - BBPreclaim(peer); - BBPreclaim(hostname); - BBPreclaim(application); - BBPreclaim(client); - BBPreclaim(clientpid); - BBPreclaim(remark); - - throw(SQL, "sql.sessions", SQLSTATE(HY013) MAL_MALLOC_FAIL); - } - - admin = strcmp(cntxt->username, "monetdb") == 0; - - MT_lock_set(&mal_contextLock); - for (c = mal_clients; c < mal_clients + MAL_MAXCLIENTS; c++) { -
MonetDB: Aug2024 - Use proper sqlid to decide which sessions row...
Changeset: f6c052f76604 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/f6c052f76604 Modified Files: sql/backends/monet5/sql.c Branch: Aug2024 Log Message: Use proper sqlid to decide which sessions rows to show diffs (45 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 @@ -37,6 +37,7 @@ #include "mal_resolve.h" #include "mal_client.h" #include "mal_interpreter.h" +#include "mal_scenario.h" #include "mal_profiler.h" #include "bat5.h" #include "opt_pipes.h" @@ -3563,6 +3564,9 @@ sql_sessions_wrap(Client cntxt, MalBlkPt bat *clientpidId = getArgReference_bat(stk, pci, 14); bat *remarkId = getArgReference_bat(stk, pci, 15); Client c; + backend *be; + sqlid user_id; + sqlid role_id; bool admin; timestamp ts; lng pid; @@ -3615,14 +3619,21 @@ sql_sessions_wrap(Client cntxt, MalBlkPt throw(SQL, "sql.sessions", SQLSTATE(HY013) MAL_MALLOC_FAIL); } - admin = strcmp(cntxt->username, "monetdb") == 0; + be = cntxt->sqlcontext; + user_id = be->mvc->user_id; + role_id = be->mvc->role_id; + admin = user_id == USER_MONETDB || role_id == ROLE_SYSADMIN; MT_lock_set(&mal_contextLock); for (c = mal_clients; c < mal_clients + MAL_MAXCLIENTS; c++) { if (c->mode != RUNCLIENT) continue; - bool allowed_to_see = admin || c == cntxt || strcmp(c->username, cntxt->username) == 0; + backend *their_be = c->sqlcontext; + bool allowed_to_see = admin || c == cntxt || their_be->mvc->user_id == user_id; + // Note that their role_id is not checked. Just because we have + // both been granted a ROLE does not mean you are allowed to see + // my private details. if (!allowed_to_see) continue; ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: Aug2024 - Test sys.sessions row permissions interaction...
Changeset: a4c6641aaeac for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/a4c6641aaeac Modified Files: sql/test/mapi/Tests/clientinfo-nonadmin.test Branch: Aug2024 Log Message: Test sys.sessions row permissions interaction with SET ROLE diffs (33 lines): diff --git a/sql/test/mapi/Tests/clientinfo-nonadmin.test b/sql/test/mapi/Tests/clientinfo-nonadmin.test --- a/sql/test/mapi/Tests/clientinfo-nonadmin.test +++ b/sql/test/mapi/Tests/clientinfo-nonadmin.test @@ -60,3 +60,29 @@ 3 user 2b +# Having the same role does not mean you can see each others details + +statement ok +CREATE ROLE common + +statement ok +GRANT common TO user1 + +statement ok +GRANT common TO user2 + +@connection(id=user1) +statement ok +SET ROLE common + +@connection(id=user2a) +statement ok +SET ROLE common + +# no user2! +@connection(id=user1) +query IT rowsort +SELECT sessionid, remark FROM sys.sessions + +1 +user 1 ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: default - Merge with Aug2024 branch.
Changeset: b997340c8c2b for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/b997340c8c2b Modified Files: sql/backends/monet5/generator/generator.c sql/backends/monet5/sql_upgrades.c sql/test/emptydb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out sql/test/emptydb-previous-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/emptydb-previous-upgrade-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-previous-upgrade/Tests/upgrade.stable.out sql/test/emptydb-previous-upgrade/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.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.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-previous-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/testdb-previous-upgrade-chain/Tests/upgrade.stable.out sql/test/testdb-previous-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/testdb-previous-upgrade-hge/Tests/upgrade.stable.out.int128 sql/test/testdb-previous-upgrade/Tests/upgrade.stable.out sql/test/testdb-previous-upgrade/Tests/upgrade.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.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.int128 Branch: default Log Message: Merge with Aug2024 branch. diffs (truncated from 2421 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 @@ -721,9 +721,15 @@ msab_getSingleStatus(const char *pathbuf }; /* store the database name */ - snprintf(buf, sizeof(buf), "%s/%s", pathbuf, dbname); + int dbnamestart; +#ifdef _MSC_VER + dbnamestart = snprintf(buf, sizeof(buf), "%s/", pathbuf); + snprintf(buf + dbnamestart, sizeof(buf) - dbnamestart, "%s", dbname); +#else + snprintf(buf, sizeof(buf), "%s/%n%s", pathbuf, &dbnamestart, dbname); +#endif sdb->path = strdup(buf); - sdb->dbname = sdb->path + strlen(sdb->path) - strlen(dbname); + sdb->dbname = sdb->path + dbnamestart; /* check the state of the server by looking at its gdk lock: diff --git a/monetdb5/mal/mal.c b/monetdb5/mal/mal.c --- a/monetdb5/mal/mal.c +++ b/monetdb5/mal/mal.c @@ -53,12 +53,6 @@ mal_version(void) return MONETDB5_VERSION; } -static void -MALprintinfo(void) -{ - MCprintinfo(); -} - /* * Initialization of the MAL context */ @@ -100,8 +94,6 @@ mal_init(char *modules[], bool embedded, return -1; initNamespace(); - GDKprintinforegister(MALprintinfo); - err = malBootstrap(modules, embedded, initpasswd); if (err != MAL_SUCCEED) { mal_client_reset(); diff --git a/monetdb5/mal/mal_client.c b/monetdb5/mal/mal_client.c --- a/monetdb5/mal/mal_client.c +++ b/monetdb5/mal/mal_client.c @@ -616,40 +616,6 @@ MCvalid(Client tc) } void -MCprintinfo(void) -{ - int nrun = 0, nfinish = 0, nblock = 0; - - MT_lock_set(&mal_contextLock); - for (Client c = mal_clients; c < mal_clients + MAL_MAXCLIENTS; c++) { - switch (c->mode) { - case RUNCLIENT: - /* running */ - nrun++; - if (c->idle) - printf("client %d, user %s, using %"PRIu64" bytes of transient space, idle since %s", c->idx, c->username, (uint64_t) ATOMIC_GET(&c->qryctx.datasize), ctime(&c->idle)); - else - printf("client %d, user %s, using %"PRIu64" bytes of transient space\n", c->idx, c->username, (uint64_t) ATOMIC_GET(&c->qryctx.datasize)); - break; - case FINISHCLIENT: - /* finishing */ - nfinish++; - break; - case BLOCKCLIENT: - /* blocked */ - nblock++; - break; - case FREECLIENT: - break; - } - } - MT_lock_unset(&mal_contextLock); - printf("%d active clients, %d finishing clients, %d blo
MonetDB: Dec2023 - USR1: Print start time of currently running q...
Changeset: b5f4fa97bfb2 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/b5f4fa97bfb2 Modified Files: sql/backends/monet5/sql_scenario.c Branch: Dec2023 Log Message: USR1: Print start time of currently running query if available. diffs (13 lines): diff --git a/sql/backends/monet5/sql_scenario.c b/sql/backends/monet5/sql_scenario.c --- a/sql/backends/monet5/sql_scenario.c +++ b/sql/backends/monet5/sql_scenario.c @@ -112,6 +112,9 @@ CLIENTprintinfo(void) if (c->idle) { localtime_r(&c->idle, &tm); strftime(tmbuf, sizeof(tmbuf), ", idle since %F %H:%M:%S%z", &tm); + } else if (c->lastcmd) { + localtime_r(&c->lastcmd, &tm); + strftime(tmbuf, sizeof(tmbuf), ", busy since %F %H:%M:%S%z", &tm); } else tmbuf[0] = 0; if (c->sqlcontext && ((backend *) c->sqlcontext)->mvc && ((backend *) c->sqlcontext)->mvc->session && ((backend *) c->sqlcontext)->mvc->session->tr && ((backend *) c->sqlcontext)->mvc->session->tr->active) ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: Aug2024 - also install the cmake version file
Changeset: 9c85a86a8440 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/9c85a86a8440 Modified Files: CMakeLists.txt Branch: Aug2024 Log Message: also install the cmake version file diffs (15 lines): diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -182,6 +182,11 @@ install(FILES DESTINATION ${EXPORT_TARGET_PATH} COMPONENT monetdbdev) +install(FILES + ${CMAKE_CURRENT_BINARY_DIR}/MonetDBConfigVersion.cmake + DESTINATION ${EXPORT_TARGET_PATH} + COMPONENT monetdbdev) + include(monetdb-packages) include(CTest) ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: Aug2024 - open up deadcode elimination (needed for sub ...
Changeset: 158045696244 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/158045696244 Modified Files: sql/server/rel_optimize_others.c sql/server/rel_optimizer.h Branch: Aug2024 Log Message: open up deadcode elimination (needed for sub project(s)). diffs (36 lines): diff --git a/sql/server/rel_optimize_others.c b/sql/server/rel_optimize_others.c --- a/sql/server/rel_optimize_others.c +++ b/sql/server/rel_optimize_others.c @@ -11,6 +11,7 @@ */ #include "monetdb_config.h" +#include "rel_optimizer.h" #include "rel_optimizer_private.h" #include "rel_exp.h" #include "rel_select.h" @@ -1083,6 +1084,13 @@ rel_dce(visitor *v, global_props *gp, sq return rel_dce_(v->sql, rel); } +/* keep export for other projects */ +sql_rel * +rel_deadcode_elimination(mvc *sql, sql_rel *rel) +{ + return rel_dce_(sql, rel); +} + run_optimizer bind_dce(visitor *v, global_props *gp) { diff --git a/sql/server/rel_optimizer.h b/sql/server/rel_optimizer.h --- a/sql/server/rel_optimizer.h +++ b/sql/server/rel_optimizer.h @@ -18,6 +18,7 @@ #define NSQLREWRITERS 29 +extern sql_rel *rel_deadcode_elimination(mvc *sql, sql_rel *rel); extern sql_rel *rel_optimizer(mvc *sql, sql_rel *rel, int profile, int instantiate, int value_based_opt, int storage_based_opt); #endif /*_REL_OPTIMIZER_H_*/ ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: Dec2023 - Use feature check instead of system check.
Changeset: c4d85cb8f767 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/c4d85cb8f767 Modified Files: clients/Tests/All sql/test/BugTracker-2022/Tests/All Branch: Dec2023 Log Message: Use feature check instead of system check. diffs (24 lines): diff --git a/clients/Tests/All b/clients/Tests/All --- a/clients/Tests/All +++ b/clients/Tests/All @@ -1,6 +1,6 @@ exports -HAVE_HGE&HAVE_FITS&HAVE_GEOM&HAVE_LIBR&HAVE_LIBPY3&HAVE_NETCDF&HAVE_SHP&NOT_WIN32?MAL-signatures-hge -!HAVE_HGE&HAVE_FITS&HAVE_GEOM&HAVE_LIBR&HAVE_LIBPY3&HAVE_NETCDF&HAVE_SHP&NOT_WIN32?MAL-signatures +HAVE_HGE&HAVE_FITS&HAVE_GEOM&HAVE_LIBR&HAVE_LIBPY3&HAVE_NETCDF&HAVE_SHP&HAVE_CUDF?MAL-signatures-hge +!HAVE_HGE&HAVE_FITS&HAVE_GEOM&HAVE_LIBR&HAVE_LIBPY3&HAVE_NETCDF&HAVE_SHP&HAVE_CUDF?MAL-signatures NOT_WIN32?melcheck mclient-uri testcondvar diff --git a/sql/test/BugTracker-2022/Tests/All b/sql/test/BugTracker-2022/Tests/All --- a/sql/test/BugTracker-2022/Tests/All +++ b/sql/test/BugTracker-2022/Tests/All @@ -9,7 +9,7 @@ pkey-restart.Bug-7263 delete-update.Bug-7267 having-clauses.Bug-7278 dump-table-data.Bug-7282 -NOT_WIN32?cudf-grouped-aggr.Bug-7285 +HAVE_CUDF?cudf-grouped-aggr.Bug-7285 create_func_with_case_and_in single_row_in_rel_order_by_column.Bug-7306 push-aggr-down-removes-distinct-on-union-all.Bug-7318 ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: Aug2024 - use Tracer not printf
Changeset: d2916335b3af for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/d2916335b3af Modified Files: sql/server/rel_file_loader.c Branch: Aug2024 Log Message: use Tracer not printf diffs (12 lines): diff --git a/sql/server/rel_file_loader.c b/sql/server/rel_file_loader.c --- a/sql/server/rel_file_loader.c +++ b/sql/server/rel_file_loader.c @@ -40,7 +40,7 @@ fl_register(char *name, fl_add_types_fpt { file_loader_t *fl = fl_find(name); if (fl) { - printf("re-registering %s\n", name); + TRC_WARNING(SQL_TRANS,"file_loader re-registering %s\n", name); GDKfree(fl->name); fl->name = NULL; } ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org