MonetDB: default - New function nextafter.
Changeset: a4999116e45a for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/a4999116e45a Modified Files: sql/test/emptydb/Tests/check.stable.out Branch: default Log Message: New function nextafter. diffs (12 lines): diff --git a/sql/test/emptydb/Tests/check.stable.out b/sql/test/emptydb/Tests/check.stable.out --- a/sql/test/emptydb/Tests/check.stable.out +++ b/sql/test/emptydb/Tests/check.stable.out @@ -2178,6 +2178,8 @@ select 'null in fkeys.delete_action', de [ "sys.functions", "sys", "newurl", "SYSTEM", "create function newurl(protocol string, hostname string, \"port\" int, file string) returns url external name url.\"new\";", "url", "MAL", "Scalar function", false, false, false, true, NULL, "result", "url", 0, 0, "out", "protocol", "varchar", 0, 0, "in", "hostname", "varchar", 0, 0, "in", "port", "int", 31, 0, "in", "file", "varchar", 0, 0, "in", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL] [ "sys.functions", "sys", "newurl", "SYSTEM", "create function newurl(protocol string, hostname string, file string) returns url external name url.\"new\";", "url", "MAL", "Scalar function", false, false, false, true, NULL, "result", "url", 0, 0, "out", "protocol", "varchar", 0, 0, "in", "hostname", "varchar", 0, 0, "in", "file", "varchar", 0, 0, "in", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL] [ "sys.functions", "sys", "next_value_for", "SYSTEM", "next_value", "sql", "Internal C", "Scalar function", true, false, false, true, NULL, "res_0","bigint", 63, 0, "out", "arg_1","varchar", 0, 0, "in", "arg_2", "varchar", 0, 0, "in", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] +[ "sys.functions", "sys", "nextafter","SYSTEM", "nextafter", "mmath","Internal C", "Scalar function", false, false, false, false, NULL, "res_0","double", 53, 0, "out", "arg_1","double", 53, 0, "in", "arg_2", "double", 53, 0, "in", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] +[ "sys.functions", "sys", "nextafter","SYSTEM", "nextafter", "mmath","Internal C", "Scalar function", false, false, false, false, NULL, "res_0","real", 24, 0, "out", "arg_1", "real", 24, 0, "in", "arg_2","real", 24, 0, "in", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
MonetDB: Aug2024 - Fix thinko: cleanup function if it exists, no...
Changeset: cf1c8e7104b1 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/cf1c8e7104b1 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.int128 sql/test/emptydb-previous-upgrade-hge/Tests/upgrade.stable.out.int128 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.int128 sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade/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.int128 sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128 Branch: Aug2024 Log Message: Fix thinko: cleanup function if it exists, not if it doesn't. diffs (truncated from 301 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 @@ -3293,9 +3293,10 @@ sql_update_jan2022(Client c, mvc *sql) printf("Running database upgrade commands:\n%s\n", query); fflush(stdout); err = SQLstatementIntern(c, query, "update", true, false, NULL); + } else { + sql->session->status = 0; /* if the function was not found clean the error */ + sql->errstr[0] = '\0'; } - sql->session->status = 0; /* if the function was not found clean the error */ - sql->errstr[0] = '\0'; } sa_destroy(sql->sa); if (err) @@ -5575,9 +5576,10 @@ sql_update_jun2023(Client c, mvc *sql, s printf("Running database upgrade commands:\n%s\n", query); fflush(stdout); err = SQLstatementIntern(c, query, "update", true, false, NULL); + } else { + sql->session->status = 0; /* if the function was not found clean the error */ + sql->errstr[0] = '\0'; } - sql->session->status = 0; /* if the function was not found clean the error */ - sql->errstr[0] = '\0'; if (!sql_bind_func(sql, "sys", "jarowinkler", &t2, &t2, F_FUNC, true, true)) { sql->session->status = 0; /* if the function was not found clean the error */ @@ -5828,9 +5830,10 @@ sql_update_dec2023_geom(Client c, mvc *s if (sql_bind_func(sql, s->base.name, "shpattach", &tp, NULL, F_PROC, true, true)) { if ((err = sql_drop_shp(c)) != NULL) return err; + } else { + sql->session->status = 0; /* if the shpattach function was not found clean the error */ + sql->errstr[0] = '\0'; } - sql->session->status = 0; /* if the shpattach function was not found clean the error */ - sql->errstr[0] = '\0'; #ifdef HAVE_GEOM if (backend_has_module(&(int){0}, "geom")) { #ifdef HAVE_SHP @@ -7246,10 +7249,8 @@ sql_update_aug2024(Client c, mvc *sql, s } if (err == MAL_SUCCEED) { sql_subtype tp; - sql_find_subtype(&tp, "clob", 0, 0); - if (!sql_bind_func(sql, s->base.name, "gzcompress", &tp, &tp, F_PROC, true, true)) { - sql->session->status = 0; - sql->errstr[0] = '\0'; + sql_find_subtype(&tp, "varchar", 0, 0); + if (sql_bind_func(sql, s->base.name, "gzcompress", &tp, &tp, F_PROC, true, true)) { const char query[] = "drop procedure if exists sys.gzcompress(string, string);\n" "drop procedure if exists sys.gzdecompress(string, string);\n" @@ -7258,14 +7259,15 @@ sql_update_aug2024(Client c, mvc *sql, s printf("Running database upgrade commands:\n%s\n", query); fflush(stdout); err = SQLstatementIntern(c, query, "update", true, false, NULL); + } else { + sql->session->status = 0; + sql->errstr[0] = '\0'; } } if
MonetDB: Dec2023 - Indicate different SIGUSR1 output sections.
Changeset: 11bebf588226 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/11bebf588226 Modified Files: gdk/gdk_bbp.c gdk/gdk_system.c sql/backends/monet5/sql_scenario.c sql/storage/store.c Branch: Dec2023 Log Message: Indicate different SIGUSR1 output sections. diffs (53 lines): diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c --- a/gdk/gdk_bbp.c +++ b/gdk/gdk_bbp.c @@ -4987,6 +4987,7 @@ BBPprintinfo(void) } uint32_t nfree = BBP_nfree; BBPtmunlock(); + printf("BATs:\n"); if (bats[1][1][1][1][1].nr > 0) printf("fix, dirty, persistent, loaded, hot: %d bats, %zu virtual, %zu malloc\n", bats[1][1][1][1][1].nr, bats[1][1][1][1][1].vmsz, bats[1][1][1][1][1].sz); if (bats[1][1][1][1][0].nr > 0) diff --git a/gdk/gdk_system.c b/gdk/gdk_system.c --- a/gdk/gdk_system.c +++ b/gdk/gdk_system.c @@ -145,6 +145,7 @@ GDKlockstatistics(int what) MT_Lock *l; int n = 0; + printf("Locks:\n"); if (ATOMIC_TAS(&GDKlocklistlock) != 0) { printf("GDKlocklistlock is set, so cannot access lock list\n"); return; @@ -285,6 +286,8 @@ dump_threads(void) { char buf[1024]; thread_lock(); + if (!GDK_TRACER_TEST(M_DEBUG, THRD)) + printf("Threads:\n"); for (struct mtthread *t = mtthreads; t; t = t->next) { MT_Lock *lk = t->lockwait; MT_Sema *sm = t->semawait; 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 @@ -100,6 +100,7 @@ CLIENTprintinfo(void) struct tm tm; MT_lock_set(&mal_contextLock); + printf("Clients:\n"); for (Client c = mal_clients; c < mal_clients + MAL_MAXCLIENTS; c++) { switch (c->mode) { case RUNCLIENT: diff --git a/sql/storage/store.c b/sql/storage/store.c --- a/sql/storage/store.c +++ b/sql/storage/store.c @@ -7409,6 +7409,7 @@ void store_printinfo(sqlstore *store) { MT_lock_set(&store->commit); + printf("WAL:\n"); printf("SQL store oldest pending "ULLFMT"\n", store->oldest_pending); log_printinfo(store->logger); MT_lock_unset(&store->commit); ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: Aug2024 - Merge with Dec2023 branch.
Changeset: cd6e8588f88c for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/cd6e8588f88c Modified Files: gdk/gdk_bbp.c gdk/gdk_system.c sql/backends/monet5/sql_scenario.c sql/storage/store.c Branch: Aug2024 Log Message: Merge with Dec2023 branch. diffs (75 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/gdk/gdk_bbp.c b/gdk/gdk_bbp.c --- a/gdk/gdk_bbp.c +++ b/gdk/gdk_bbp.c @@ -4912,6 +4912,7 @@ BBPprintinfo(void) } uint32_t nfree = BBP_nfree; BBPtmunlock(); + printf("BATs:\n"); if (bats[1][1][1][1][1].nr > 0) printf("fix, dirty, persistent, loaded, hot: %d bats, %zu virtual, %zu malloc\n", bats[1][1][1][1][1].nr, bats[1][1][1][1][1].vmsz, bats[1][1][1][1][1].sz); if (bats[1][1][1][1][0].nr > 0) diff --git a/gdk/gdk_system.c b/gdk/gdk_system.c --- a/gdk/gdk_system.c +++ b/gdk/gdk_system.c @@ -145,6 +145,7 @@ GDKlockstatistics(int what) MT_Lock *l; int n = 0; + printf("Locks:\n"); if (ATOMIC_TAS(&GDKlocklistlock) != 0) { printf("GDKlocklistlock is set, so cannot access lock list\n"); return; @@ -285,6 +286,8 @@ dump_threads(void) { char buf[1024]; thread_lock(); + if (!GDK_TRACER_TEST(M_DEBUG, THRD)) + printf("Threads:\n"); for (struct mtthread *t = mtthreads; t; t = t->next) { MT_Lock *lk = t->lockwait; MT_Sema *sm = t->semawait; 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 @@ -100,6 +100,7 @@ CLIENTprintinfo(void) struct tm tm; MT_lock_set(&mal_contextLock); + printf("Clients:\n"); for (Client c = mal_clients; c < mal_clients + MAL_MAXCLIENTS; c++) { switch (c->mode) { case RUNCLIENT: @@ -112,6 +113,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) diff --git a/sql/storage/store.c b/sql/storage/store.c --- a/sql/storage/store.c +++ b/sql/storage/store.c @@ -7479,6 +7479,7 @@ void store_printinfo(sqlstore *store) { MT_lock_set(&store->commit); + printf("WAL:\n"); printf("SQL store oldest pending "ULLFMT"\n", store->oldest_pending); log_printinfo(store->logger); MT_lock_unset(&store->commit); ___ 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: 0f3228d505e4 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/0f3228d505e4 Modified Files: sql/backends/monet5/sql_upgrades.c sql/storage/store.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-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-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 538 to 300 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/gdk/gdk_bbp.c b/gdk/gdk_bbp.c --- a/gdk/gdk_bbp.c +++ b/gdk/gdk_bbp.c @@ -4912,6 +4912,7 @@ BBPprintinfo(void) } uint32_t nfree = BBP_nfree; BBPtmunlock(); + printf("BATs:\n"); if (bats[1][1][1][1][1].nr > 0) printf("fix, dirty, persistent, loaded, hot: %d bats, %zu virtual, %zu malloc\n", bats[1][1][1][1][1].nr, bats[1][1][1][1][1].vmsz, bats[1][1][1][1][1].sz); if (bats[1][1][1][1][0].nr > 0) diff --git a/gdk/gdk_system.c b/gdk/gdk_system.c --- a/gdk/gdk_system.c +++ b/gdk/gdk_system.c @@ -145,6 +145,7 @@ GDKlockstatistics(int what) MT_Lock *l; int n = 0; + printf("Locks:\n"); if (ATOMIC_TAS(&GDKlocklistlock) != 0) { printf("GDKlocklistlock is set, so cannot access lock list\n"); return; @@ -285,6 +286,8 @@ dump_threads(void) { char buf[1024]; thread_lock(); + if (!GDK_TRACER_TEST(M_DEBUG, THRD)) + printf("Threads:\n"); for (struct mtthread *t = mtthreads; t; t = t->next) { MT_Lock *lk = t->lockwait; MT_Sema *sm = t->semawait; 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 @@ -100,6 +100,7 @@ CLIENTprintinfo(void) struct tm tm; MT_lock_set(&mal_contextLock); + printf("Clients:\n"); for (Client c = mal_clients; c < mal_clients + MAL_MAXCLIENTS; c++) { switch (c->mode) { case RUNCLIENT: @@ -112,6 +113,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) 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 @@ -3293,9 +3293,10 @@ sql_update_jan2022(Client c, mvc *sql) printf("Running database upgrade commands:\n%s\n", query); fflush(stdout); err = SQLstatementIntern(c, query, "update", true, false, NULL); + } else { +
MonetDB: cmp-or-patterns - Uselect might be needed even when we ...
Changeset: 3cc9257301c7 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/3cc9257301c7 Modified Files: sql/backends/monet5/rel_bin.c Branch: cmp-or-patterns Log Message: Uselect might be needed even when we don't have a cand list diffs (12 lines): diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c --- a/sql/backends/monet5/rel_bin.c +++ b/sql/backends/monet5/rel_bin.c @@ -520,7 +520,7 @@ handle_in_tuple_exps(backend *be, sql_ex else s = cursel; } - if (sel && !(depth || !reduce)) + if (!depth && reduce) s = stmt_uselect(be, s->nrcols == 0?stmt_const(be, bin_find_smallest_column(be, left), s): s, stmt_bool(be, 1), cmp_equal, sel, 0, 0); ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: cmp-or-patterns - Merges default
Changeset: e04dfb7d47b5 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/e04dfb7d47b5 Branch: cmp-or-patterns Log Message: Merges default diffs (truncated from 3547 to 300 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -829,3 +829,4 @@ 9a694c41042503a22d6c92aeab5bc4ca1912b62e 9a694c41042503a22d6c92aeab5bc4ca1912b62e Dec2023_SP3_release e1e9e22bf3d734dc50b56151c657a57c18f56561 Aug2024_root cde7d8f7c99540a8c95856df052a9f123b0c1643 Dec2023_11 +cde7d8f7c99540a8c95856df052a9f123b0c1643 Dec2023_SP4_release 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) 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/clients/Tests/MAL-signatures-hge.test b/clients/Tests/MAL-signatures-hge.test --- a/clients/Tests/MAL-signatures-hge.test +++ b/clients/Tests/MAL-signatures-hge.test @@ -47519,6 +47519,16 @@ command mmath.log2arg(X_0:flt, X_1:flt): MATHbinary_LOGflt; The log(x) function returns the logarithm of x in the given base. mmath +nextafter +command mmath.nextafter(X_0:dbl, X_1:dbl):dbl +MATHbinary_NEXTAFTERdbl; +The returns the next representable floating-point value of x in the direction of y. +mmath +nextafter +command mmath.nextafter(X_0:flt, X_1:flt):flt +MATHbinary_NEXTAFTERflt; +The returns the next representable floating-point value of x in the direction of y. +mmath pi command mmath.pi():dbl MATHpi; diff --git a/clients/Tests/MAL-signatures.test b/clients/Tests/MAL-signatures.test --- a/clients/Tests/MAL-signatures.test +++ b/clients/Tests/MAL-signatures.test @@ -35989,6 +35989,16 @@ command mmath.log2arg(X_0:flt, X_1:flt): MATHbinary_LOGflt; The log(x) function returns the logarithm of x in the given base. mmath +nextafter +command mmath.nextafter(X_0:dbl, X_1:dbl):dbl +MATHbinary_NEXTAFTERdbl; +The returns the next representable floating-point value of x in the direction of y. +mmath +nextafter +command mmath.nextafter(X_0:flt, X_1:flt):flt +MATHbinary_NEXTAFTERflt; +The returns the next representable floating-point value of x in the direction of y. +mmath pi command mmath.pi():dbl MATHpi; 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); @@ -1022,6 +1021,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; @@ -1065,6 +1065,7 @@ const char *likeRef; const char *likejoinRef; const char *likeselectRef; const char *likeuselectRef; +const char *lngRef; str loadLibrary(const char *modulename, int flag); char *locate_file(const char *basename, const char *ext, bit recurse); const char *lockRef; 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 serve
MonetDB: default - add support for dicts using int offsets
Changeset: 54adcef69551 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/54adcef69551 Modified Files: sql/backends/monet5/dict.c sql/storage/bat/bat_storage.c sql/storage/sql_storage.h Branch: default Log Message: add support for dicts using int offsets diffs (truncated from 630 to 300 lines): diff --git a/sql/backends/monet5/dict.c b/sql/backends/monet5/dict.c --- a/sql/backends/monet5/dict.c +++ b/sql/backends/monet5/dict.c @@ -33,7 +33,6 @@ BATmaxminpos_bte(BAT *o, bte m) bte minval = m<0?GDK_bte_min:0; /* Later once nils use a bitmask we can include -128 in the range */ bte maxval = m<0?GDK_bte_max:m; - assert(o->ttype == TYPE_bte); o->tnil = m<0?true:false; o->tnonil = m<=0?false:true; bte *op = (bte*)Tloc(o, 0); @@ -80,6 +79,33 @@ BATmaxminpos_sht(BAT *o, sht m) o->tmaxpos = maxpos; } +static void +BATmaxminpos_int(BAT *o, int m) +{ + BUN minpos = BUN_NONE, maxpos = BUN_NONE, p, q; + int minval = m<0?GDK_int_min:0; /* Later once nils use a bitmask we can include -32768 in the range */ + int maxval = m<0?GDK_int_max:m; + + assert(o->ttype == TYPE_int); + o->tnil = m<0?true:false; + o->tnonil = m<=0?false:true; + int *op = (int*)Tloc(o, 0); + BATloop(o, p, q) { + if (op[p] == minval) { + minpos = p; + break; + } + } + BATloop(o, p, q) { + if (op[p] == maxval) { + maxpos = p; + break; + } + } + o->tminpos = minpos; + o->tmaxpos = maxpos; +} + static str DICTcompress_intern(BAT **O, BAT **U, BAT *b, bool ordered, bool persists, bool smallest_type) { @@ -91,12 +117,12 @@ DICTcompress_intern(BAT **O, BAT **U, BA BUN cnt = BATcount(u); /* create hash on u */ - int tt = (cnt<256)?TYPE_bte:TYPE_sht; + int tt = (cnt<256)?TYPE_bte:(cnt<65536)?TYPE_sht:TYPE_int; if (!smallest_type) { BUN cnt = BATcount(b); - tt = (cnt<256)?TYPE_bte:TYPE_sht; + tt = (cnt<256)?TYPE_bte:(cnt<65536)?TYPE_sht:TYPE_int; } - if (cnt >= 64*1024) { + if (cnt >= INT_MAX) { bat_destroy(u); throw(SQL, "dict.compress", SQLSTATE(3F000) "dict compress: too many values"); } @@ -153,7 +179,7 @@ DICTcompress_intern(BAT **O, BAT **U, BA if (BATcount(u) > 0) BATmaxminpos_bte(o, (bte) (BATcount(u)-1)); - } else { + } else if (tt == TYPE_sht) { sht *op = (sht*)Tloc(o, 0); bool havenil = false; BATloop(b, p, q) { @@ -172,6 +198,25 @@ DICTcompress_intern(BAT **O, BAT **U, BA if (BATcount(u) > 0) BATmaxminpos_sht(o, (sht) (BATcount(u)-1)); + } else { + int *op = (int*)Tloc(o, 0); + bool havenil = false; + BATloop(b, p, q) { + BUN up = 0; + HASHloop(ui, ui.b->thash, up, BUNtail(bi, p)) { + op[p] = (int)up; + havenil |= is_int_nil(op[p]); + } + } + BATsetcount(o, BATcount(b)); + o->tsorted = (u->tsorted && bi.sorted); + o->trevsorted = false; + o->tnil = havenil; + o->tnonil = !havenil; + o->tkey = bi.key; + + if (BATcount(u) > 0) + BATmaxminpos_int(o, (int) (BATcount(u)-1)); } bat_iterator_end(&bi); *O = o; @@ -339,8 +384,7 @@ DICTdecompress_(BAT *o, BAT *u, role_t r } } } - } else { - assert(o->ttype == TYPE_sht); + } else if (o->ttype == TYPE_sht) { unsigned short *op = Tloc(o, 0); switch (ATOMbasetype(u->ttype)) { @@ -365,6 +409,35 @@ DICTdecompress_(BAT *o, BAT *u, role_t r } } } + } else if (o->ttype == TYPE_int) { + unsigned int *op = Tloc(o, 0); + + switch (ATOMbasetype(u->ttype)) { + case TYPE_int: + decompress_loop(int); + break; + case TYPE_lng: + decompress_loop(lng); + break; +#ifdef HAVE_HGE + case TYPE_hge: + decompress_loop(hge); + break; +#endif + default: + BATloop(o, p, q) { + BUN up = op[p]; + if (BUNappend(b, BUNtail(ui, up), false) != GDK_SUCCEED) { + bat_iterator_end(&oi);
MonetDB: cmp-or-patterns - small fix for expressions without rel...
Changeset: d314d1698740 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/d314d1698740 Modified Files: sql/server/rel_optimize_sel.c Branch: cmp-or-patterns Log Message: small fix for expressions without relational names. diffs (15 lines): diff --git a/sql/server/rel_optimize_sel.c b/sql/server/rel_optimize_sel.c --- a/sql/server/rel_optimize_sel.c +++ b/sql/server/rel_optimize_sel.c @@ -608,7 +608,10 @@ detect_multicol_cmp_eqs(mvc *sql, list * char *cs = ""; for (node *m = sl->h; m; m = m->next) { sql_exp *col_exp = ((sql_exp*)m->data)->l; - cs = strconcat(cs, strconcat(col_exp->alias.rname, col_exp->alias.name)); + if (col_exp->alias.rname) + cs = strconcat(cs, strconcat(col_exp->alias.rname, col_exp->alias.name)); + else + cs = strconcat(cs, col_exp->alias.name); } /* find the eq exp in the hash and append the values */ ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org