MonetDB: literal_features - merge with default
Changeset: 4c591abef122 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/4c591abef122 Branch: literal_features Log Message: merge with default diffs (truncated from 7976 to 300 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -814,3 +814,4 @@ 1efa83c6409769d13b2ee30e497d5f7ab42fa955 6f88424ebfd9d82c072cf21d89070e04321983da Jun2023_11 6f88424ebfd9d82c072cf21d89070e04321983da Jun2023_SP2_release e6eb06773c17035954ac5d001cfe1f09ff3425cc Jun2023_13 +5683fd900f28d65ad7c98d1ed1efd992023a7fa4 Jun2023_15 diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -867,6 +867,17 @@ fi %endif %changelog +* Thu Nov 09 2023 Sjoerd Mullender - 11.47.15-20231109 +- Rebuilt. +- GH#7410: SIGSEGV cause database corruption + +* Tue Nov 7 2023 Sjoerd Mullender - 11.47.15-20231109 +- gdk: When saving the SQL catalog during a low-level commit, we should + only save the part of the catalog that corresponds to the part of the + write-ahead log that has been processed. What we did was save more, + which resulted in the catalog containing references to tables and + columns whose disk presence is otherwise only in the write-ahead log. + * Fri Nov 03 2023 Sjoerd Mullender - 11.47.13-20231103 - Rebuilt. - GH#7300: Implement missing standard SQL DATE and TIMESTAMP functions 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 @@ -730,9 +730,10 @@ msettings_error msetting_set_named(msett const char *msetting_string(const msettings *mp, mparm parm); long msettings_connect_binary(const msettings *mp); const char *msettings_connect_certhash_digits(const msettings *mp); +const char *msettings_connect_clientcert(const msettings *mp); +const char *msettings_connect_clientkey(const msettings *mp); long msettings_connect_port(const msettings *mp); bool msettings_connect_scan(const msettings *mp); -const char *msettings_connect_sockdir(const msettings *mp); const char *msettings_connect_tcp(const msettings *mp); enum msetting_tls_verify msettings_connect_tls_verify(const msettings *mp); const char *msettings_connect_unix(const msettings *mp); diff --git a/clients/examples/C/testsfile.c b/clients/examples/C/testsfile.c --- a/clients/examples/C/testsfile.c +++ b/clients/examples/C/testsfile.c @@ -235,6 +235,10 @@ handle_expect_command(const char *locati return expect_string(location, MP_UNKNOWN, msettings_connect_certhash_digits, value); if (strcmp("connect_binary", key) == 0) return expect_long(location, MP_UNKNOWN, msettings_connect_binary, value); + if (strcmp("connect_clientkey", key) == 0) + return expect_string(location, MP_UNKNOWN, msettings_connect_clientkey, value); + if (strcmp("connect_clientcert", key) == 0) + return expect_string(location, MP_UNKNOWN, msettings_connect_clientcert, value); const mparm parm = mparm_parse(key); if (parm == MP_UNKNOWN) { diff --git a/clients/examples/python/mclient-python3.py b/clients/examples/python/mclient-python3.py --- a/clients/examples/python/mclient-python3.py +++ b/clients/examples/python/mclient-python3.py @@ -65,7 +65,7 @@ def main() : line = fi.readline() if encoding != 'utf-8': prompt = str(prompt, 'utf-8').encode(encoding, 'replace') -while line and line != "\q\n": +while line and line != "\\q\n": if encoding != 'utf-8': line = str(line, encoding).encode('utf-8') res = s.cmd('s' + line) diff --git a/clients/mapiclient/mclient.1 b/clients/mapiclient/mclient.1 --- a/clients/mapiclient/mclient.1 +++ b/clients/mapiclient/mclient.1 @@ -212,7 +212,7 @@ The possible values are .BR expanded , .BR x , .BR csv , -.BR csv-noquote , +.BR csv\-noquote , .BR tab , .BR raw , .BR xml , @@ -221,7 +221,7 @@ and .BR rowcount . .B csv is comma-separated values; -.B csv-noquote +.B csv\-noquote is comma-separated values without escaping any quotes; .B tab is tab-separated values; @@ -248,7 +248,7 @@ is a variation on where only the number of affected rows is printed. Normal \fBcsv\fP and \fBtab\fP formatting will use double quotes around any fields that contain double quotes, white space or the -separator. The \fBcsv-noquote\fP format will prevent that and dump +separator. The \fBcsv\-noquote\fP format will prevent that and dump the contents of the field without any interpretation. In addition to plain \fBcsv\fP, two other forms are possible. \fBcsv=\fP\fIc\fP uses \fIc\fP as column separator; \fBcsv+\fP\fIc\fP @@ -539,7 +539,7 @@ in the above query can also be a URL. I .IR e . g ., .IR https://www.example.org/dumpdata.csv . .PP -See https://www.monetdb.org/documentation/user-guide/sql-manual/data-loading/copy-from/ +See https://www.monetdb.org/documentation/user\-guide/sql\-manual/data\-loading/copy\-from/ for more information about the COPY
MonetDB: default - Suppress warning.
Changeset: 14b8a089d51a for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/14b8a089d51a Modified Files: clients/mapilib/Tests/tlstester.py Branch: default Log Message: Suppress warning. diffs (14 lines): diff --git a/clients/mapilib/Tests/tlstester.py b/clients/mapilib/Tests/tlstester.py --- a/clients/mapilib/Tests/tlstester.py +++ b/clients/mapilib/Tests/tlstester.py @@ -175,7 +175,9 @@ class Certs: noncritical_extensions: List[x509.ExtensionType] = [], keycrt=False, ): -key = rsa.generate_private_key(public_exponent=65537, key_size=2048) +with warnings.catch_warnings(): +warnings.filterwarnings('ignore', category=UserWarning) +key = rsa.generate_private_key(public_exponent=65537, key_size=2048) if parent_name: issuer_name = parent_name ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: default - remove redundant if-scope
Changeset: c5b17681b55e for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/c5b17681b55e Modified Files: sql/server/rel_exp.c Branch: default Log Message: remove redundant if-scope diffs (68 lines): diff --git a/sql/server/rel_exp.c b/sql/server/rel_exp.c --- a/sql/server/rel_exp.c +++ b/sql/server/rel_exp.c @@ -2579,38 +2579,36 @@ exps_bind_column2(list *exps, const char if (exps) { node *en; - if (exps) { - if (!exps->ht && list_length(exps) > HASH_MIN_SIZE) { - exps->ht = hash_new(exps->sa, list_length(exps), (fkeyvalue)&exp_key); - if (exps->ht == NULL) - return res; - - for (en = exps->h; en; en = en->next ) { - sql_exp *e = en->data; - if (e->alias.name) { - int key = exp_key(e); - - if (hash_add(exps->ht, key, e) == NULL) - return res; - } + if (!exps->ht && list_length(exps) > HASH_MIN_SIZE) { + exps->ht = hash_new(exps->sa, list_length(exps), (fkeyvalue)&exp_key); + if (exps->ht == NULL) + return res; + + for (en = exps->h; en; en = en->next ) { + sql_exp *e = en->data; + if (e->alias.name) { + int key = exp_key(e); + + if (hash_add(exps->ht, key, e) == NULL) + return res; } } - if (exps->ht) { - int key = hash_key(cname); - sql_hash_e *he = exps->ht->buckets[key&(exps->ht->size-1)]; - - for (; he; he = he->chain) { - sql_exp *e = he->value; - - if (e && e->alias.name && e->alias.rname && strcmp(e->alias.name, cname) == 0 && strcmp(e->alias.rname, rname) == 0) { - if (res && multiple) - *multiple = 1; - if (!res) - res = e; - } + } + if (exps->ht) { + int key = hash_key(cname); + sql_hash_e *he = exps->ht->buckets[key&(exps->ht->size-1)]; + + for (; he; he = he->chain) { + sql_exp *e = he->value; + + if (e && e->alias.name && e->alias.rname && strcmp(e->alias.name, cname) == 0 && strcmp(e->alias.rname, rname) == 0) { + if (res && multiple) + *multiple = 1; + if (!res) + res = e; } - return res; } + return res; } for (en = exps->h; en; en = en->next ) { sql_exp *e = en->data; ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: default - Added tag Dec2023_root for changeset c5b17681...
Changeset: be9375dfdad7 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/be9375dfdad7 Modified Files: .hgtags Branch: default Log Message: Added tag Dec2023_root for changeset c5b17681b55e diffs (8 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -815,3 +815,4 @@ 6f88424ebfd9d82c072cf21d89070e04321983da 6f88424ebfd9d82c072cf21d89070e04321983da Jun2023_SP2_release e6eb06773c17035954ac5d001cfe1f09ff3425cc Jun2023_13 5683fd900f28d65ad7c98d1ed1efd992023a7fa4 Jun2023_15 +c5b17681b55e6ca155db28be59913699e561502a Dec2023_root ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: Dec2023 - Step one towards a new stable branch "Dec2023".
Changeset: 8737a9590680 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/8737a9590680 Added Files: ChangeLog.Dec2023 clients/ChangeLog.Dec2023 clients/mapilib/ChangeLog.Dec2023 clients/odbc/ChangeLog.Dec2023 common/stream/ChangeLog.Dec2023 gdk/ChangeLog.Dec2023 geom/ChangeLog.Dec2023 misc/ChangeLog.Dec2023 monetdb5/ChangeLog.Dec2023 sql/ChangeLog.Dec2023 testing/ChangeLog.Dec2023 tools/merovingian/ChangeLog.Dec2023 Removed Files: ChangeLog clients/ChangeLog clients/mapilib/ChangeLog clients/odbc/ChangeLog common/stream/ChangeLog gdk/ChangeLog geom/ChangeLog misc/ChangeLog monetdb5/ChangeLog sql/ChangeLog testing/ChangeLog tools/merovingian/ChangeLog Modified Files: .bumpversion.cfg MonetDB.spec clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc cmake/monetdb-versions.cmake gdk/libbat.rc monetdb5/tools/libmonetdb5.rc sql/backends/monet5/sql_upgrades.c Branch: Dec2023 Log Message: Step one towards a new stable branch "Dec2023". Incremented version numbers. Moved ChangeLog file to ChangeLog.Dec2023. The root of the stable branch is "Dec2023_root". diffs (259 lines): diff --git a/.bumpversion.cfg b/.bumpversion.cfg --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 11.48.0 +current_version = 11.49.0 commit = False tag = False diff --git a/ChangeLog b/ChangeLog.Dec2023 rename from ChangeLog rename to ChangeLog.Dec2023 diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -7,7 +7,7 @@ # Copyright 1997 - July 2008 CWI, August 2008 - 2023 MonetDB B.V. %global name MonetDB -%global version 11.48.0 +%global version 11.49.0 %{!?buildno: %global buildno %(date +%Y%m%d)} # Use bcond_with to add a --with option; i.e., "without" is default. diff --git a/clients/ChangeLog b/clients/ChangeLog.Dec2023 rename from clients/ChangeLog rename to clients/ChangeLog.Dec2023 diff --git a/clients/mapilib/ChangeLog b/clients/mapilib/ChangeLog.Dec2023 rename from clients/mapilib/ChangeLog rename to clients/mapilib/ChangeLog.Dec2023 diff --git a/clients/mapilib/mapi.rc b/clients/mapilib/mapi.rc --- a/clients/mapilib/mapi.rc +++ b/clients/mapilib/mapi.rc @@ -6,8 +6,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_U #define sversion(major,minor,patch)#major "." #minor "." #patch "\0" 1 VERSIONINFO - FILEVERSION version(11,48,0) - PRODUCTVERSION version(11,48,0) + FILEVERSION version(11,49,0) + PRODUCTVERSION version(11,49,0) FILEFLAGSMASK 0x3fL FILEFLAGS 0 FILEOS VOS_NT_WINDOWS32 @@ -21,14 +21,14 @@ BEGIN VALUE "Comments", "\0" VALUE "CompanyName", "MonetDB B.V.\0" VALUE "FileDescription", "MonetDB Application Interface DLL\0" - VALUE "FileVersion", sversion(11,48,0) + VALUE "FileVersion", sversion(11,49,0) VALUE "InternalName", "Mapi\0" VALUE "LegalCopyright", "Copyright (c) MonetDB B.V. 2008-2023\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "Mapi.dll\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "MonetDB Client Libraries\0" - VALUE "ProductVersion", sversion(11,48,0) + VALUE "ProductVersion", sversion(11,49,0) VALUE "SpecialBuild", "\0" END END diff --git a/clients/odbc/ChangeLog b/clients/odbc/ChangeLog.Dec2023 rename from clients/odbc/ChangeLog rename to clients/odbc/ChangeLog.Dec2023 diff --git a/clients/odbc/driver/driver.rc b/clients/odbc/driver/driver.rc --- a/clients/odbc/driver/driver.rc +++ b/clients/odbc/driver/driver.rc @@ -6,8 +6,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_U #define sversion(major,minor,patch)#major "." #minor "." #patch "\0" 1 VERSIONINFO - FILEVERSION version(11,48,0) - PRODUCTVERSION version(11,48,0) + FILEVERSION version(11,49,0) + PRODUCTVERSION version(11,49,0) FILEFLAGSMASK 0x3fL FILEFLAGS 0 FILEOS VOS_NT_WINDOWS32 @@ -21,14 +21,14 @@ BEGIN VALUE "Comments", "\0" VALUE "CompanyName", "MonetDB B.V.\0" VALUE "FileDescription", "MonetDB ODBC Driver DLL\0" - VALUE "FileVersion", sversion(11,48,0) + VALUE "FileVersion", sversion(11,49,0) VALUE "InternalName", "MonetODBC\0" VALUE "LegalCopyright", "Copyright (c) MonetDB B.V. 2008-2023\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "MonetODBC.dll\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "MonetDB SQL Server\0" - VALUE "ProductVersion", sversion(11,48,0) + VALUE "ProductVersion", sversion(11,49,0) VALUE "SpecialBuild", "\0" END END diff --git a/clients/odbc/winsetup/setup.rc b/clients/odbc/winsetup/setup.rc --- a/clients/odbc/winsetup/setup.rc +++ b/clients/odbc/winsetup/setup.rc @@ -65,8 +65,8 @@ END /
MonetDB: default - Step two towards a new stable branch "Dec2023".
Changeset: b0031a1a477a for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/b0031a1a477a Modified Files: .bumpversion.cfg ChangeLog MonetDB.spec clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc cmake/monetdb-versions.cmake gdk/ChangeLog gdk/libbat.rc monetdb5/ChangeLog monetdb5/tools/libmonetdb5.rc sql/ChangeLog Branch: default Log Message: Step two towards a new stable branch "Dec2023". Increment version numbers. >From now on, *all* bug fixes, and *only* bug fixes, *must* go to the stable branch with the name "Dec2023". diffs (truncated from 368 to 300 lines): diff --git a/.bumpversion.cfg b/.bumpversion.cfg --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 11.48.0 +current_version = 11.50.0 commit = False tag = False diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,20 +1,3 @@ # ChangeLog file for devel # This file is updated with Maddlog -* Mon Oct 30 2023 Sjoerd Mullender -- The ranges of merge partitions are now pushed down into the low - level GDK operations, giving them a handle to sometimes execute more - efficiently. - -* Thu Jul 27 2023 Niels Nes -- Removed the PYTHON MAP external language option, as after a fork the - synchronization primitives could be in any state, leading to deadlocks. - During the upgrade function definitions will fallback to the normal - PYTHON language option. - -* Mon Jul 17 2023 Panagiotis Koutsourakis -- Implemented direct masking for strimp construction. The strimps - datastructure now keeps an array of 65K 64-bit integers that is zero - everywhere except at the indexes that correspond to header pairs. The - entry for the nth pair in order has the nth bit of the bitstring - on. These can be used to quickly construct bitstrings. diff --git a/ChangeLog b/ChangeLog.Dec2023 copy from ChangeLog copy to ChangeLog.Dec2023 diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -7,7 +7,7 @@ # Copyright 1997 - July 2008 CWI, August 2008 - 2023 MonetDB B.V. %global name MonetDB -%global version 11.48.0 +%global version 11.50.0 %{!?buildno: %global buildno %(date +%Y%m%d)} # Use bcond_with to add a --with option; i.e., "without" is default. diff --git a/clients/ChangeLog b/clients/ChangeLog.Dec2023 copy from clients/ChangeLog copy to clients/ChangeLog.Dec2023 diff --git a/clients/mapilib/ChangeLog b/clients/mapilib/ChangeLog.Dec2023 copy from clients/mapilib/ChangeLog copy to clients/mapilib/ChangeLog.Dec2023 diff --git a/clients/mapilib/mapi.rc b/clients/mapilib/mapi.rc --- a/clients/mapilib/mapi.rc +++ b/clients/mapilib/mapi.rc @@ -6,8 +6,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_U #define sversion(major,minor,patch)#major "." #minor "." #patch "\0" 1 VERSIONINFO - FILEVERSION version(11,48,0) - PRODUCTVERSION version(11,48,0) + FILEVERSION version(11,50,0) + PRODUCTVERSION version(11,50,0) FILEFLAGSMASK 0x3fL FILEFLAGS 0 FILEOS VOS_NT_WINDOWS32 @@ -21,14 +21,14 @@ BEGIN VALUE "Comments", "\0" VALUE "CompanyName", "MonetDB B.V.\0" VALUE "FileDescription", "MonetDB Application Interface DLL\0" - VALUE "FileVersion", sversion(11,48,0) + VALUE "FileVersion", sversion(11,50,0) VALUE "InternalName", "Mapi\0" VALUE "LegalCopyright", "Copyright (c) MonetDB B.V. 2008-2023\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "Mapi.dll\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "MonetDB Client Libraries\0" - VALUE "ProductVersion", sversion(11,48,0) + VALUE "ProductVersion", sversion(11,50,0) VALUE "SpecialBuild", "\0" END END diff --git a/clients/odbc/ChangeLog b/clients/odbc/ChangeLog.Dec2023 copy from clients/odbc/ChangeLog copy to clients/odbc/ChangeLog.Dec2023 diff --git a/clients/odbc/driver/driver.rc b/clients/odbc/driver/driver.rc --- a/clients/odbc/driver/driver.rc +++ b/clients/odbc/driver/driver.rc @@ -6,8 +6,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_U #define sversion(major,minor,patch)#major "." #minor "." #patch "\0" 1 VERSIONINFO - FILEVERSION version(11,48,0) - PRODUCTVERSION version(11,48,0) + FILEVERSION version(11,50,0) + PRODUCTVERSION version(11,50,0) FILEFLAGSMASK 0x3fL FILEFLAGS 0 FILEOS VOS_NT_WINDOWS32 @@ -21,14 +21,14 @@ BEGIN VALUE "Comments", "\0" VALUE "CompanyName", "MonetDB B.V.\0" VALUE "FileDescription", "MonetDB ODBC Driver DLL\0" - VALUE "FileVersion", sversion(11,48,0) + VALUE "FileVersion", sversion(11,50,0) VALUE "InternalName", "MonetODBC\0" VALUE "LegalCopyright", "Copyright (c) MonetDB B.V. 2008-2023\0" VALUE "LegalTrademarks", "\0" VALUE "OriginalFilename", "MonetODBC.dll\0" VALUE "PrivateBuild", "\0" VALUE "ProductName", "MonetDB SQL Server\0" - VALUE "P
MonetDB: Dec2023 - Implemented registration function for printin...
Changeset: 6dcacf96a92d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/6dcacf96a92d Modified Files: clients/Tests/exports.stable.out gdk/gdk_utils.c gdk/gdk_utils.h Branch: Dec2023 Log Message: Implemented registration function for printing info on USR1 signal. diffs (60 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 @@ -310,6 +310,7 @@ gdk_return GDKmunmap(void *addr, int mod int GDKnr_threads; void GDKprepareExit(void); void GDKprintinfo(void); +void GDKprintinforegister(void (*func)(void)); void GDKqsort(void *restrict h, void *restrict t, const void *restrict base, size_t n, int hs, int ts, int tpe, bool reverse, bool nilslast); void *GDKrealloc(void *pold, size_t size) __attribute__((__alloc_size__(2))) __attribute__((__warn_unused_result__)); gdk_return GDKrebuild_segment_tree(oid ncount, oid data_size, BAT *st, void **segment_tree, oid **levels_offset, oid *nlevels); diff --git a/gdk/gdk_utils.c b/gdk/gdk_utils.c --- a/gdk/gdk_utils.c +++ b/gdk/gdk_utils.c @@ -2031,6 +2031,27 @@ GDKmremap(const char *path, int mode, vo } /* print some potentially interesting information */ +struct prinfocb { + struct prinfocb *next; + void (*func)(void); +} *prinfocb; + +void +GDKprintinforegister(void (*func)(void)) +{ + struct prinfocb *p = GDKmalloc(sizeof(struct prinfocb)); + if (p == NULL) { + GDKerror("cannot register USR1 printing function.\n"); + return; + } + p->func = func; + p->next = NULL; + struct prinfocb **pp = &prinfocb; + while (*pp != NULL) + pp = &(*pp)->next; + *pp = p; +} + void GDKprintinfo(void) { @@ -2064,4 +2085,6 @@ GDKprintinfo(void) GDKlockstatistics(3); #endif dump_threads(); + for (struct prinfocb *p = prinfocb; p; p = p->next) + (*p->func)(); } diff --git a/gdk/gdk_utils.h b/gdk/gdk_utils.h --- a/gdk/gdk_utils.h +++ b/gdk/gdk_utils.h @@ -13,6 +13,7 @@ #include +gdk_export void GDKprintinforegister(void (*func)(void)); gdk_export void GDKprintinfo(void); gdk_export const char *GDKgetenv(const char *name); ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: Dec2023 - Register functions to print info for USR1 sig...
Changeset: 6efb80c3e63b for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/6efb80c3e63b Modified Files: monetdb5/mal/mal.c sql/backends/monet5/sql_scenario.c Branch: Dec2023 Log Message: Register functions to print info for USR1 signal. They're still empty... diffs (49 lines): diff --git a/monetdb5/mal/mal.c b/monetdb5/mal/mal.c --- a/monetdb5/mal/mal.c +++ b/monetdb5/mal/mal.c @@ -51,6 +51,12 @@ mal_version(void) return MONETDB5_VERSION; } +static void +MALprintinfo(void) +{ + /* we need to start printing MAL info here... */ +} + /* * Initialization of the MAL context */ @@ -91,6 +97,8 @@ 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/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 @@ -85,6 +85,12 @@ static MT_Lock sql_contextLock = MT_LOCK static str SQLinit(Client c, const char *initpasswd); static str master_password = NULL; +static void +SQLprintinfo(void) +{ + /* we need to start printing SQL info here... */ +} + str //SQLprelude(void *ret) SQLprelude(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) @@ -153,6 +159,7 @@ SQLprelude(Client cntxt, MalBlkPtr mb, M fprintf(stdout, "# MonetDB/SQL module loaded\n"); fflush(stdout); /* make merovingian see this *now* */ } + GDKprintinforegister(SQLprintinfo); if (GDKinmemory(0) || GDKembedded()) { s->name = "sql"; ms->name = "msql"; ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: Dec2023 - Print some logger info on USR1 signal.
Changeset: b23e31d29525 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/b23e31d29525 Modified Files: clients/Tests/exports.stable.out gdk/gdk_logger.c gdk/gdk_logger.h sql/backends/monet5/sql_scenario.c Branch: Dec2023 Log Message: Print some logger info on USR1 signal. diffs (67 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 @@ -559,6 +559,7 @@ gdk_return log_delta(logger *lg, BAT *ui void log_destroy(logger *lg); log_bid log_find_bat(logger *lg, log_id id); gdk_return log_flush(logger *lg, ulng saved_id); +void log_printinfo(logger *lg); int log_sequence(logger *lg, int seq, lng *id); gdk_return log_tend(logger *lg); gdk_return log_tflush(logger *lg, ulng log_file_id, ulng commit_ts); diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c --- a/gdk/gdk_logger.c +++ b/gdk/gdk_logger.c @@ -2256,6 +2256,7 @@ log_new(int debug, const char *fn, const .saved_id = getBBPlogno(), /* get saved log numer from bbp */ .saved_tid = (int) getBBPtransid(), /* get saved transaction id from bbp */ }; + lg->tid = lg->saved_tid; /* probably open file and check version first, then call call old logger code */ if (snprintf(filename, sizeof(filename), "%s%c%s%c", logdir, DIR_SEP, fn, DIR_SEP) >= FILENAME_MAX) { @@ -3371,3 +3372,23 @@ log_tstart(logger *lg, bool flushnow, ul return GDK_SUCCEED; } + +void +log_printinfo(logger *lg) +{ + printf("logger %s:\n", lg->fn); + printf("current log file "ULLFMT", last handled log file "ULLFMT"\n", + lg->id, lg->saved_id); + printf("current transaction id %d, saved transaction id %d\n", + lg->tid, lg->saved_tid); + printf("number of flushers: %d, number of open files %d\n", + (int) ATOMIC_GET(&lg->nr_flushers), + (int) ATOMIC_GET(&lg->nr_open_files)); + printf("number of catalog entries "BUNFMT", of which "BUNFMT" deleted\n", + lg->catalog_bid->batCount, lg->dcatalog->batCount); + int npend = 0; + for (logged_range *p = lg->pending; p; p = p->next) + npend++; + if (npend > 1) + printf("number of pending ranges %d\n", npend); +} diff --git a/gdk/gdk_logger.h b/gdk/gdk_logger.h --- a/gdk/gdk_logger.h +++ b/gdk/gdk_logger.h @@ -78,4 +78,6 @@ gdk_export gdk_return log_tflush(logger gdk_export gdk_return log_tsequence(logger *lg, int seq, lng id); gdk_export log_bid log_find_bat(logger *lg, log_id id); +gdk_export void log_printinfo(logger *lg); + #endif /*_LOGGER_H_*/ 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 @@ -89,6 +89,7 @@ static void SQLprintinfo(void) { /* we need to start printing SQL info here... */ + log_printinfo(((sqlstore *) SQLstore)->logger); } str ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: Dec2023 - Do a bit of locking + some rearrangement of U...
Changeset: f5dca3c801ef for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/f5dca3c801ef Modified Files: gdk/gdk_bbp.c gdk/gdk_logger.c sql/backends/monet5/sql_scenario.c sql/storage/sql_storage.h sql/storage/store.c Branch: Dec2023 Log Message: Do a bit of locking + some rearrangement of USR1 code. diffs (140 lines): diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c --- a/gdk/gdk_bbp.c +++ b/gdk/gdk_bbp.c @@ -4618,47 +4618,47 @@ BBPtmunlock(void) void BBPprintinfo(void) { - if (MT_lock_try(&GDKtmLock)) { - BBPtmlockFinish(); - size_t tmem = 0, tvm = 0; - size_t pmem = 0, pvm = 0; - int tn = 0; - int pn = 0; - int nh = 0; - - for (bat i = 1, sz = (bat) ATOMIC_GET(&BBPsize); i < sz; i++) { - if (BBP_refs(i) == 0 && BBP_lrefs(i) == 0) - continue; + size_t tmem = 0, tvm = 0; + size_t pmem = 0, pvm = 0; + int tn = 0; + int pn = 0; + int nh = 0; + + BBPtmlock(); + for (bat i = 1, sz = (bat) ATOMIC_GET(&BBPsize); i < sz; i++) { + MT_lock_set(&GDKswapLock(i)); + if (BBP_refs(i) > 0 || BBP_lrefs(i) > 0) { BAT *b = BBP_desc(i); - if (b == NULL) - continue; - ATOMIC_BASE_TYPE status = BBP_status(i); - nh += (status & BBPHOT) != 0; - if (status & BBPPERSISTENT) { - pn++; - pmem += HEAPmemsize(b->theap); - pvm += HEAPvmsize(b->theap); - pmem += HEAPmemsize(b->tvheap); - pvm += HEAPvmsize(b->tvheap); - } else { - tn++; - if (b->theap && - b->theap->parentid == b->batCacheid) { - tmem += HEAPmemsize(b->theap); - tvm += HEAPvmsize(b->theap); + if (b != NULL) { + ATOMIC_BASE_TYPE status = BBP_status(i); + nh += (status & BBPHOT) != 0; + MT_lock_set(&b->theaplock); + if (status & BBPPERSISTENT) { + pn++; + pmem += HEAPmemsize(b->theap); + pvm += HEAPvmsize(b->theap); + pmem += HEAPmemsize(b->tvheap); + pvm += HEAPvmsize(b->tvheap); + } else { + tn++; + if (b->theap && + b->theap->parentid == b->batCacheid) { + tmem += HEAPmemsize(b->theap); + tvm += HEAPvmsize(b->theap); + } + if (b->tvheap && + b->tvheap->parentid == b->batCacheid) { + tmem += HEAPmemsize(b->tvheap); + tvm += HEAPvmsize(b->tvheap); + } } - if (b->tvheap && - b->tvheap->parentid == b->batCacheid) { - tmem += HEAPmemsize(b->tvheap); - tvm += HEAPvmsize(b->tvheap); - } + MT_lock_unset(&b->theaplock); } } - BBPtmunlock(); - printf("%d persistent bats using %zu virtual memory (%zu malloced)\n", pn, pvm, pmem); - printf("%d transient bats using %zu virtual memory (%zu malloced)\n", tn, tvm, tmem); - printf("%d bats are \"hot\" (i.e. currently or recently used)\n", nh); - } else { - printf("BBP currently locked, so no information available\n"); + MT_lock_unset(&GDKswapLock(i)); } + BBPtmunlock(); + printf("%d persistent bats using %zu virtual memory (%zu malloced)\n", pn, pvm, pmem); + printf("%d transient bats using %zu virtual memory (%zu malloced)\n", tn, tvm, tmem); + printf("%d bats are \"hot\" (i.e. currently or recently used)\n", nh); } diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c --- a/gdk/gdk_logger.c +++ b/gdk/gdk_logger.c @@ -3377,8 +3377,10 @@ void log_printinfo(logger *lg) { printf("logger %s:\n",
MonetDB: Dec2023 - Warn unused result.
Changeset: fb1c911fd4d6 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/fb1c911fd4d6 Modified Files: clients/Tests/exports.stable.out gdk/gdk.h gdk/gdk_atoms.h Branch: Dec2023 Log Message: Warn unused result. diffs (47 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 @@ -3,7 +3,7 @@ int ALIGNsynced(BAT *b1, BAT *b2); int ATOMallocate(const char *nme); void *ATOMdup(int id, const void *val); uint8_t ATOMelmshift(int sz) __attribute__((__const__)); -char *ATOMformat(int id, const void *val); +char *ATOMformat(int id, const void *val) __attribute__((__warn_unused_result__)); gdk_return ATOMheap(int id, Heap *hp, size_t cap) __attribute__((__warn_unused_result__)); int ATOMindex(const char *nme); size_t ATOMlen(int id, const void *v); @@ -424,7 +424,7 @@ int VALcmp(const ValRecord *p, const Val void *VALconvert(int typ, ValPtr t); ValPtr VALcopy(ValPtr dst, const ValRecord *src); void VALempty(ValPtr v); -char *VALformat(const ValRecord *res); +char *VALformat(const ValRecord *res) __attribute__((__warn_unused_result__)); void *VALget(ValPtr v); ValPtr VALinit(ValPtr d, int tpe, const void *s); bool VALisnil(const ValRecord *v); diff --git a/gdk/gdk.h b/gdk/gdk.h --- a/gdk/gdk.h +++ b/gdk/gdk.h @@ -656,7 +656,8 @@ typedef struct { /* interface definitions */ gdk_export void *VALconvert(int typ, ValPtr t); -gdk_export char *VALformat(const ValRecord *res); +gdk_export char *VALformat(const ValRecord *res) + __attribute__((__warn_unused_result__)); gdk_export ValPtr VALcopy(ValPtr dst, const ValRecord *src); gdk_export ValPtr VALinit(ValPtr d, int tpe, const void *s); gdk_export void VALempty(ValPtr v); diff --git a/gdk/gdk_atoms.h b/gdk/gdk_atoms.h --- a/gdk/gdk_atoms.h +++ b/gdk/gdk_atoms.h @@ -75,7 +75,8 @@ gdk_export size_t ATOMlen(int id, const gdk_export void *ATOMnil(int id) __attribute__((__malloc__)); gdk_export int ATOMprint(int id, const void *val, stream *fd); -gdk_export char *ATOMformat(int id, const void *val); +gdk_export char *ATOMformat(int id, const void *val) + __attribute__((__warn_unused_result__)); gdk_export void *ATOMdup(int id, const void *val); ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: Dec2023 - Use const.
Changeset: 906506deba67 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/906506deba67 Modified Files: clients/Tests/exports.stable.out monetdb5/mal/mal_instruction.c monetdb5/mal/mal_instruction.h Branch: Dec2023 Log Message: Use const. diffs (49 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 @@ -874,8 +874,8 @@ char *concatErrors(char *err1, const cha const char *connectRef; const char *containsRef; str convertConstant(malType type, ValPtr vr); -InstrPtr copyInstruction(InstrPtr p); -InstrPtr copyInstructionArgs(InstrPtr p, int args); +InstrPtr copyInstruction(const InstrRecord *p); +InstrPtr copyInstructionArgs(const InstrRecord *p, int args); MalBlkPtr copyMalBlk(MalBlkPtr mb); const char *copy_fromRef; const char *corrRef; diff --git a/monetdb5/mal/mal_instruction.c b/monetdb5/mal/mal_instruction.c --- a/monetdb5/mal/mal_instruction.c +++ b/monetdb5/mal/mal_instruction.c @@ -474,7 +474,7 @@ newInstruction(MalBlkPtr mb, const char } InstrPtr -copyInstructionArgs(InstrPtr p, int args) +copyInstructionArgs(const InstrRecord *p, int args) { if (args < p->maxarg) args = p->maxarg; @@ -493,7 +493,7 @@ copyInstructionArgs(InstrPtr p, int args } InstrPtr -copyInstruction(InstrPtr p) +copyInstruction(const InstrRecord *p) { return copyInstructionArgs(p, p->maxarg); } diff --git a/monetdb5/mal/mal_instruction.h b/monetdb5/mal/mal_instruction.h --- a/monetdb5/mal/mal_instruction.h +++ b/monetdb5/mal/mal_instruction.h @@ -145,8 +145,8 @@ mal_export InstrPtr newInstruction(MalBl const char *fcnnme); mal_export InstrPtr newInstructionArgs(MalBlkPtr mb, const char *modnme, const char *fcnnme, int args); -mal_export InstrPtr copyInstruction(InstrPtr p); -mal_export InstrPtr copyInstructionArgs(InstrPtr p, int args); +mal_export InstrPtr copyInstruction(const InstrRecord *p); +mal_export InstrPtr copyInstructionArgs(const InstrRecord *p, int args); mal_export void clrInstruction(InstrPtr p); mal_export void freeInstruction(InstrPtr p); mal_export void clrFunction(InstrPtr p); ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: Dec2023 - Remove debug print.
Changeset: 59f158368a24 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/59f158368a24 Modified Files: sql/server/rel_optimize_sel.c Branch: Dec2023 Log Message: Remove debug print. diffs (11 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 @@ -3595,7 +3595,6 @@ rel_use_index(visitor *v, sql_rel *rel) /* swapped ? */ if (is_join(rel->op) && ((left && !rel_find_exp(rel->l, e->l)) || (!left && !rel_find_exp(rel->r, e->l { - printf("# join swap exp for fk\n"); exp_swap(e); } p = find_prop(e->p, PROP_HASHCOL); ___ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org
MonetDB: Dec2023 - Also dump with geos 3.12: we fix up the old d...
Changeset: 09a6400c6f45 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/09a6400c6f45 Modified Files: sql/test/testdb-previous-upgrade-chain-hge/Tests/All sql/test/testdb-previous-upgrade-chain-hge/Tests/dump.stable.out sql/test/testdb-previous-upgrade-chain/Tests/All sql/test/testdb-previous-upgrade-chain/Tests/dump.stable.out sql/test/testdb-previous-upgrade-hge/Tests/All sql/test/testdb-previous-upgrade-hge/Tests/dump.stable.out sql/test/testdb-previous-upgrade/Tests/All sql/test/testdb-previous-upgrade/Tests/dump.stable.out sql/test/testdb-upgrade-chain-hge/Tests/All sql/test/testdb-upgrade-chain-hge/Tests/dump.stable.out sql/test/testdb-upgrade-chain/Tests/All sql/test/testdb-upgrade-chain/Tests/dump.stable.out sql/test/testdb-upgrade-hge/Tests/All sql/test/testdb-upgrade-hge/Tests/dump.stable.out sql/test/testdb-upgrade/Tests/All sql/test/testdb-upgrade/Tests/dump.stable.out sql/test/testdb/Tests/All sql/test/testdb/Tests/dump.SQL.py sql/test/testdb/Tests/dump.stable.out Branch: Dec2023 Log Message: Also dump with geos 3.12: we fix up the old dump output to look like the new. diffs (205 lines): diff --git a/sql/test/testdb-previous-upgrade-chain-hge/Tests/All b/sql/test/testdb-previous-upgrade-chain-hge/Tests/All --- a/sql/test/testdb-previous-upgrade-chain-hge/Tests/All +++ b/sql/test/testdb-previous-upgrade-chain-hge/Tests/All @@ -1,2 +1,2 @@ HAVE_HGE&HAVE_GEOM&PREVHGECHAINREL&!NOWAL?upgrade -!GEOS_VERSION>=3.12?dump +dump diff --git a/sql/test/testdb-previous-upgrade-chain-hge/Tests/dump.stable.out b/sql/test/testdb-previous-upgrade-chain-hge/Tests/dump.stable.out --- a/sql/test/testdb-previous-upgrade-chain-hge/Tests/dump.stable.out +++ b/sql/test/testdb-previous-upgrade-chain-hge/Tests/dump.stable.out @@ -101206,7 +101206,7 @@ CREATE TABLE "testschema"."geomtest" ( "m" MBR ); COPY 2 RECORDS INTO "testschema"."geomtest" FROM stdin USING DELIMITERS E'\t',E'\n','"'; -POINT (10.5 12.3) LINESTRING (10 10, 20 20, 30 40)LINESTRING (10 10, 20 20, 30 40)POLYGON ((10 10, 10 20, 20 20, 20 15, 10 10)) POLYGON ((10 10, 10 20, 20 20, 20 15, 10 10)) MULTIPOINT (20 80, 110 160, 20 160) MULTILINESTRING ((0 0, 0 80, 60 80, 60 0, 0 0)) MULTILINESTRING ((0 0, 0 80, 60 80, 60 0, 0 0)) MULTIPOLYGON (((140 110, 260 110, 170 20, 50 20, 140 110)), ((300 270, 420 270, 340 190, 220 190, 300 270)))MULTIPOLYGON (((140 110, 260 110, 170 20, 50 20, 140 110)), ((300 270, 420 270, 340 190, 220 190, 300 270)))POLYGON ((10 10, 10 20, 20 20, 20 15, 10 10)) GEOMETRYCOLLECTION (POLYGON ((0 0, 0 100, 100 100, 100 0, 0 0)), LINESTRING (10 10, 20 20, 30 40)) BOX (10.00 10.00, 20.00 20.00) +POINT (10.5 12.3) LINESTRING (10 10, 20 20, 30 40)LINESTRING (10 10, 20 20, 30 40)POLYGON ((10 10, 10 20, 20 20, 20 15, 10 10)) POLYGON ((10 10, 10 20, 20 20, 20 15, 10 10)) MULTIPOINT ((20 80), (110 160), (20 160)) MULTILINESTRING ((0 0, 0 80, 60 80, 60 0, 0 0)) MULTILINESTRING ((0 0, 0 80, 60 80, 60 0, 0 0)) MULTIPOLYGON (((140 110, 260 110, 170 20, 50 20, 140 110)), ((300 270, 420 270, 340 190, 220 190, 300 270)))MULTIPOLYGON (((140 110, 260 110, 170 20, 50 20, 140 110)), ((300 270, 420 270, 340 190, 220 190, 300 270)))POLYGON ((10 10, 10 20, 20 20, 20 15, 10 10)) GEOMETRYCOLLECTION (POLYGON ((0 0, 0 100, 100 100, 100 0, 0 0)), LINESTRING (10 10, 20 20, 30 40)) BOX (10.00 10.00, 20.00 20.00) NULL NULLNULLNULLNULLNULLNULLNULLNULLNULL NULLNULLNULL create view keytest3 as select t2.key1, t2.key2, t1.key3 from keytest1 t1, keytest2 t2 where t1.key1 = t2.key1 and t1.key2 = t2.key2; create trigger keytesttrigger after update on keytest1 referencing new row as new_row for each row insert into keytest2 values (new_row.key1, new_row.key2); diff --git a/sql/test/testdb-previous-upgrade-chain/Tests/All b/sql/test/testdb-previous-upgrade-chain/Tests/All --- a/sql/test/testdb-previous-upgrade-chain/Tests/All +++ b/sql/test/testdb-previous-upgrade-chain/Tests/All @@ -1,2 +1,2 @@ HAVE_GEOM&PREVCHAINREL&!NOWAL?upgrade -!GEOS_VERSION>=3.12?dump +dump diff --git a/sql/test/testdb-previous-upgrade-chain/Tests/dump.stable.out b/sql/test/testdb-previous-upgrade-chain/Tests/dump.stable.out --- a/sql/test/testdb-previous-upgrade-chain/Tests/dump.stable.out +++ b/sql/test/testdb-previous-upgrade-chain/Tests/dump.stable.out @@ -101206,7 +101206,7 @@ CREATE TABLE "testschema"."geomtest" ( "m" MBR ); COPY 2 RECORDS INTO "testschema"."geomtest" FROM stdin USING DELIMITERS E'\t',E'\n','"'; -POINT (10.5 12.3) LINESTRING (10 10, 20 20, 30 40)LINESTRING (10 10, 20 20, 30 40)POLYGON ((10 10, 10 20, 20 20, 20 15, 10 10)) POLYGON ((10 10, 10 20, 20 20, 20 15, 10 10)) MULTIPOIN
MonetDB: default - Merge with Dec2023 branch.
Changeset: 50c0123fb80d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/50c0123fb80d Branch: default Log Message: Merge with Dec2023 branch. diffs (truncated from 585 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 @@ -3,7 +3,7 @@ int ALIGNsynced(BAT *b1, BAT *b2); int ATOMallocate(const char *nme); void *ATOMdup(int id, const void *val); uint8_t ATOMelmshift(int sz) __attribute__((__const__)); -char *ATOMformat(int id, const void *val); +char *ATOMformat(int id, const void *val) __attribute__((__warn_unused_result__)); gdk_return ATOMheap(int id, Heap *hp, size_t cap) __attribute__((__warn_unused_result__)); int ATOMindex(const char *nme); size_t ATOMlen(int id, const void *v); @@ -310,6 +310,7 @@ gdk_return GDKmunmap(void *addr, int mod int GDKnr_threads; void GDKprepareExit(void); void GDKprintinfo(void); +void GDKprintinforegister(void (*func)(void)); void GDKqsort(void *restrict h, void *restrict t, const void *restrict base, size_t n, int hs, int ts, int tpe, bool reverse, bool nilslast); void *GDKrealloc(void *pold, size_t size) __attribute__((__alloc_size__(2))) __attribute__((__warn_unused_result__)); gdk_return GDKrebuild_segment_tree(oid ncount, oid data_size, BAT *st, void **segment_tree, oid **levels_offset, oid *nlevels); @@ -423,7 +424,7 @@ int VALcmp(const ValRecord *p, const Val void *VALconvert(int typ, ValPtr t); ValPtr VALcopy(ValPtr dst, const ValRecord *src); void VALempty(ValPtr v); -char *VALformat(const ValRecord *res); +char *VALformat(const ValRecord *res) __attribute__((__warn_unused_result__)); void *VALget(ValPtr v); ValPtr VALinit(ValPtr d, int tpe, const void *s); bool VALisnil(const ValRecord *v); @@ -558,6 +559,7 @@ gdk_return log_delta(logger *lg, BAT *ui void log_destroy(logger *lg); log_bid log_find_bat(logger *lg, log_id id); gdk_return log_flush(logger *lg, ulng saved_id); +void log_printinfo(logger *lg); int log_sequence(logger *lg, int seq, lng *id); gdk_return log_tend(logger *lg); gdk_return log_tflush(logger *lg, ulng log_file_id, ulng commit_ts); @@ -872,8 +874,8 @@ char *concatErrors(char *err1, const cha const char *connectRef; const char *containsRef; str convertConstant(malType type, ValPtr vr); -InstrPtr copyInstruction(InstrPtr p); -InstrPtr copyInstructionArgs(InstrPtr p, int args); +InstrPtr copyInstruction(const InstrRecord *p); +InstrPtr copyInstructionArgs(const InstrRecord *p, int args); MalBlkPtr copyMalBlk(MalBlkPtr mb); const char *copy_fromRef; const char *corrRef; diff --git a/gdk/gdk.h b/gdk/gdk.h --- a/gdk/gdk.h +++ b/gdk/gdk.h @@ -656,7 +656,8 @@ typedef struct { /* interface definitions */ gdk_export void *VALconvert(int typ, ValPtr t); -gdk_export char *VALformat(const ValRecord *res); +gdk_export char *VALformat(const ValRecord *res) + __attribute__((__warn_unused_result__)); gdk_export ValPtr VALcopy(ValPtr dst, const ValRecord *src); gdk_export ValPtr VALinit(ValPtr d, int tpe, const void *s); gdk_export void VALempty(ValPtr v); diff --git a/gdk/gdk_atoms.h b/gdk/gdk_atoms.h --- a/gdk/gdk_atoms.h +++ b/gdk/gdk_atoms.h @@ -75,7 +75,8 @@ gdk_export size_t ATOMlen(int id, const gdk_export void *ATOMnil(int id) __attribute__((__malloc__)); gdk_export int ATOMprint(int id, const void *val, stream *fd); -gdk_export char *ATOMformat(int id, const void *val); +gdk_export char *ATOMformat(int id, const void *val) + __attribute__((__warn_unused_result__)); gdk_export void *ATOMdup(int id, const void *val); diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c --- a/gdk/gdk_bbp.c +++ b/gdk/gdk_bbp.c @@ -4618,47 +4618,47 @@ BBPtmunlock(void) void BBPprintinfo(void) { - if (MT_lock_try(&GDKtmLock)) { - BBPtmlockFinish(); - size_t tmem = 0, tvm = 0; - size_t pmem = 0, pvm = 0; - int tn = 0; - int pn = 0; - int nh = 0; - - for (bat i = 1, sz = (bat) ATOMIC_GET(&BBPsize); i < sz; i++) { - if (BBP_refs(i) == 0 && BBP_lrefs(i) == 0) - continue; + size_t tmem = 0, tvm = 0; + size_t pmem = 0, pvm = 0; + int tn = 0; + int pn = 0; + int nh = 0; + + BBPtmlock(); + for (bat i = 1, sz = (bat) ATOMIC_GET(&BBPsize); i < sz; i++) { + MT_lock_set(&GDKswapLock(i)); + if (BBP_refs(i) > 0 || BBP_lrefs(i) > 0) { BAT *b = BBP_desc(i); - if (b == NULL) - continue; - ATOMIC_BASE_TYPE status = BBP_status(i); - nh += (status & BBPHOT) != 0; - if (status & BBPPERSISTENT) { - pn++; - pmem += HEAPmemsize(b->theap); - pvm += HEAPvmsi
MonetDB: no_type_bat - merged with default
Changeset: 627199b5968f for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/627199b5968f Modified Files: clients/Tests/exports.stable.out gdk/gdk.h gdk/gdk_atoms.h gdk/gdk_bbp.c monetdb5/mal/mal_instruction.c sql/backends/monet5/sql_scenario.c sql/storage/sql_storage.h Branch: no_type_bat Log Message: merged with default diffs (truncated from 1043 to 300 lines): diff --git a/.bumpversion.cfg b/.bumpversion.cfg --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 11.48.0 +current_version = 11.50.0 commit = False tag = False diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -815,3 +815,4 @@ 6f88424ebfd9d82c072cf21d89070e04321983da 6f88424ebfd9d82c072cf21d89070e04321983da Jun2023_SP2_release e6eb06773c17035954ac5d001cfe1f09ff3425cc Jun2023_13 5683fd900f28d65ad7c98d1ed1efd992023a7fa4 Jun2023_15 +c5b17681b55e6ca155db28be59913699e561502a Dec2023_root diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,20 +1,3 @@ # ChangeLog file for devel # This file is updated with Maddlog -* Mon Oct 30 2023 Sjoerd Mullender -- The ranges of merge partitions are now pushed down into the low - level GDK operations, giving them a handle to sometimes execute more - efficiently. - -* Thu Jul 27 2023 Niels Nes -- Removed the PYTHON MAP external language option, as after a fork the - synchronization primitives could be in any state, leading to deadlocks. - During the upgrade function definitions will fallback to the normal - PYTHON language option. - -* Mon Jul 17 2023 Panagiotis Koutsourakis -- Implemented direct masking for strimp construction. The strimps - datastructure now keeps an array of 65K 64-bit integers that is zero - everywhere except at the indexes that correspond to header pairs. The - entry for the nth pair in order has the nth bit of the bitstring - on. These can be used to quickly construct bitstrings. diff --git a/ChangeLog b/ChangeLog.Dec2023 copy from ChangeLog copy to ChangeLog.Dec2023 diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -7,7 +7,7 @@ # Copyright 1997 - July 2008 CWI, August 2008 - 2023 MonetDB B.V. %global name MonetDB -%global version 11.48.0 +%global version 11.50.0 %{!?buildno: %global buildno %(date +%Y%m%d)} # Use bcond_with to add a --with option; i.e., "without" is default. diff --git a/clients/ChangeLog b/clients/ChangeLog.Dec2023 copy from clients/ChangeLog copy to clients/ChangeLog.Dec2023 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 @@ -3,7 +3,7 @@ int ALIGNsynced(BAT *b1, BAT *b2); int ATOMallocate(const char *nme); void *ATOMdup(int id, const void *val); uint8_t ATOMelmshift(int sz) __attribute__((__const__)); -char *ATOMformat(int id, const void *val); +char *ATOMformat(int id, const void *val) __attribute__((__warn_unused_result__)); gdk_return ATOMheap(int id, Heap *hp, size_t cap) __attribute__((__warn_unused_result__)); int ATOMindex(const char *nme); size_t ATOMlen(int id, const void *v); @@ -310,6 +310,7 @@ gdk_return GDKmunmap(void *addr, int mod int GDKnr_threads; void GDKprepareExit(void); void GDKprintinfo(void); +void GDKprintinforegister(void (*func)(void)); void GDKqsort(void *restrict h, void *restrict t, const void *restrict base, size_t n, int hs, int ts, int tpe, bool reverse, bool nilslast); void *GDKrealloc(void *pold, size_t size) __attribute__((__alloc_size__(2))) __attribute__((__warn_unused_result__)); gdk_return GDKrebuild_segment_tree(oid ncount, oid data_size, BAT *st, void **segment_tree, oid **levels_offset, oid *nlevels); @@ -423,7 +424,7 @@ int VALcmp(const ValRecord *p, const Val void *VALconvert(int typ, ValPtr t); ValPtr VALcopy(ValPtr dst, const ValRecord *src); void VALempty(ValPtr v); -char *VALformat(const ValRecord *res); +char *VALformat(const ValRecord *res) __attribute__((__warn_unused_result__)); void *VALget(ValPtr v); ValPtr VALinit(ValPtr d, int tpe, const void *s); bool VALisnil(const ValRecord *v); @@ -558,6 +559,7 @@ gdk_return log_delta(logger *lg, BAT *ui void log_destroy(logger *lg); log_bid log_find_bat(logger *lg, log_id id); gdk_return log_flush(logger *lg, ulng saved_id); +void log_printinfo(logger *lg); int log_sequence(logger *lg, int seq, lng *id); gdk_return log_tend(logger *lg); gdk_return log_tflush(logger *lg, ulng log_file_id, ulng commit_ts); @@ -873,8 +875,8 @@ char *concatErrors(char *err1, const cha const char *connectRef; const char *containsRef; str convertConstant(malType type, ValPtr vr); -InstrPtr copyInstruction(InstrPtr p); -InstrPtr copyInstructionArgs(InstrPtr p, int args); +InstrPtr copyInstruction(const InstrRecord *p); +InstrPtr copyInstructionArgs(const InstrRecord *p, int args); MalBlkPtr copyMalBlk(MalBlkPtr mb); const char *copy_fromRef; const char *corrRef;