Changeset: b2c9510c2419 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/b2c9510c2419 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.c sql/server/rel_exp.c sql/storage/bat/bat_storage.c Branch: default Log Message:
Merge with Jan2022 branch. diffs (truncated from 2524 to 300 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -820,3 +820,5 @@ 65065954ca086d01254a20cc145695fa8b9a3db2 4b353b1f914e3c9c7493117284f9cc06677e4c71 Jul2021_SP1_release 65065954ca086d01254a20cc145695fa8b9a3db2 Jul2021_SP1_release 014b82412e664a306d2f5d3a2a2d49d75a6f8da5 Jan2022_root +1cc77329e40543d12dd9de04cbeec50d442520e9 Jul2021_13 +1cc77329e40543d12dd9de04cbeec50d442520e9 Jul2021_SP2_release diff --git a/MonetDB.spec b/MonetDB.spec --- a/MonetDB.spec +++ b/MonetDB.spec @@ -81,7 +81,7 @@ Group: Applications/Databases License: MPLv2.0 URL: https://www.monetdb.org/ BugURL: https://bugs.monetdb.org/ -Source: https://www.monetdb.org/downloads/sources/Jul2021-SP1/%{name}-%{version}.tar.bz2 +Source: https://www.monetdb.org/downloads/sources/Jul2021-SP2/%{name}-%{version}.tar.bz2 # The Fedora packaging document says we need systemd-rpm-macros for # the _unitdir and _tmpfilesdir macros to exist; however on RHEL 7 @@ -848,6 +848,40 @@ fi %endif %changelog +* Mon Dec 13 2021 Sjoerd Mullender <[email protected]> - 11.41.13-20211213 +- Rebuilt. +- GH#7163: Multiple sql.mvc() invocations in the same query +- GH#7167: sys.shutdown() problems +- GH#7184: Insert into query blocks all other queries +- GH#7185: GROUPING SETS on groups with aliases provided in the SELECT + returns empty result +- GH#7186: data files created with COPY SELECT .. INTO 'file.csv' fail to + be loaded using COPY INTO .. FROM 'file.csv' when double quoted string + data contains the field values delimiter character +- GH#7191: [MonetDBe] monetdbe_cleanup_statement() with bound NULLs on + variable-sized types bug +- GH#7196: BATproject2: does not match always +- GH#7198: Suboptimal query plan for query containing JSON access filter + and two negative string comparisons +- GH#7200: PRIMARY KEY unique constraint is violated with concurrent + inserts +- GH#7206: Python UDF fails when returning an empty table as a dictionary + +* Mon Dec 13 2021 Sjoerd Mullender <[email protected]> - 11.41.13-20211213 +- clients: Dumping the database now also dumps the read-only and insert-only + states of tables. + +* Mon Dec 13 2021 Sjoerd Mullender <[email protected]> - 11.41.13-20211213 +- gdk: Sometimes when the server was restarted, it wouldn't start anymore due + to an error from BBPcheckbats. We finally found and fixed a (hopefully + "the") cause of this problem. + +* Thu Oct 28 2021 Sjoerd Mullender <[email protected]> - 11.41.13-20211213 +- sql: Number parsing for SQL was fixed. If a number was immediately followed + by letters (i.e. without a space), the number was accepted and the + alphanumeric string starting with the letter was interpreted as an alias + (if aliases were allowed in that position). + * Thu Sep 30 2021 Sjoerd Mullender <[email protected]> - 11.41.11-20210930 - Rebuilt. diff --git a/clients/ChangeLog-Archive b/clients/ChangeLog-Archive --- a/clients/ChangeLog-Archive +++ b/clients/ChangeLog-Archive @@ -1,6 +1,10 @@ # DO NOT EDIT THIS FILE -- MAINTAINED AUTOMATICALLY # This file contains past ChangeLog entries +* Mon Dec 13 2021 Sjoerd Mullender <[email protected]> - 11.41.13-20211213 +- Dumping the database now also dumps the read-only and insert-only + states of tables. + * Tue Jul 20 2021 Sjoerd Mullender <[email protected]> - 11.41.1-20210723 - The MonetDB stethoscope has been removed. There is now a separate package available with PIP (monetdb_stethoscope) or as an RPM or DEB diff --git a/clients/ChangeLog.Jul2021 b/clients/ChangeLog.Jul2021 --- a/clients/ChangeLog.Jul2021 +++ b/clients/ChangeLog.Jul2021 @@ -1,7 +1,3 @@ # ChangeLog file for clients # This file is updated with Maddlog -* Mon Dec 13 2021 Sjoerd Mullender <[email protected]> -- Dumping the database now also dumps the read-only and insert-only - states of tables. - diff --git a/clients/Tests/MAL-signatures.stable.out b/clients/Tests/MAL-signatures.stable.out --- a/clients/Tests/MAL-signatures.stable.out +++ b/clients/Tests/MAL-signatures.stable.out @@ -6350,6 +6350,8 @@ [ "batsql", "diff", "pattern batsql.diff(X_0:bat[:bit], X_1:bat[:any_1]):bat[:bit] ", "SQLdiff;", "return true if cur != prev row" ] [ "batsql", "diff", "pattern batsql.diff(X_0:bit, X_1:bat[:any_1]):bat[:bit] ", "SQLdiff;", "return true if cur != prev row" ] [ "batsql", "first_value", "pattern batsql.first_value(X_0:bat[:any_1], X_1:any, X_2:any, X_3:int, X_4:any, X_5:any):bat[:any_1] ", "SQLfirst_value;", "return the first value of groups" ] +[ "batsql", "get_value", "pattern batsql.get_value(X_0:bat[:str], X_1:bat[:str]):bat[:lng] ", "mvc_get_value_bulk;", "return the current value of the sequence (ie the next to be used value)" ] +[ "batsql", "get_value", "pattern batsql.get_value(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid], X_3:bat[:oid]):bat[:lng] ", "mvc_get_value_bulk;", "return the current value of the sequence (ie the next to be used value)" [ "batsql", "index", "command batsql.index(X_0:bat[:str], X_1:bit):bat[:bte] ", "BATSTRindex_bte;", "Return the offsets as an index bat" ] [ "batsql", "index", "command batsql.index(X_0:bat[:str], X_1:bit):bat[:int] ", "BATSTRindex_int;", "Return the offsets as an index bat" ] [ "batsql", "index", "command batsql.index(X_0:bat[:str], X_1:bit):bat[:sht] ", "BATSTRindex_sht;", "Return the offsets as an index bat" ] @@ -6386,8 +6388,6 @@ [ "batsql", "ntile", "pattern batsql.ntile(X_0:bat[:any], X_1:any_1, X_2:any_2, X_3:any_3):bat[:any_1] ", "SQLntile;", "return the groups divided as equally as possible" ] [ "batsql", "ntile", "pattern batsql.ntile(X_0:bat[:any], X_1:bat[:any_1], X_2:any_2, X_3:any_3):bat[:any_1] ", "SQLntile;", "return the groups divided as equally as possible" ] [ "batsql", "password", "pattern batsql.password(X_0:bat[:str]):bat[:str] ", "db_password_wrap;", "Return password hash of user" ] -[ "batsql", "peak_next_value", "pattern batsql.peak_next_value(X_0:bat[:str], X_1:bat[:str]):bat[:lng] ", "mvc_peak_next_value_bulk;", "Peaks at the next value of the sequence" ] -[ "batsql", "peak_next_value", "pattern batsql.peak_next_value(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid], X_3:bat[:oid]):bat[:lng] ", "mvc_peak_next_value_bulk;", "Peaks at the next value of the sequence" ] [ "batsql", "percent_rank", "pattern batsql.percent_rank(X_0:bat[:any_1], X_1:any_2, X_2:any_3):bat[:dbl] ", "SQLpercent_rank;", "return the percentage into the total number of groups for each row" ] [ "batsql", "prod", "pattern batsql.prod(X_0:bat[:bte], X_1:any, X_2:any, X_3:int, X_4:any, X_5:any):bat[:lng] ", "SQLprod;", "return the product of groups" ] [ "batsql", "prod", "pattern batsql.prod(X_0:bat[:dbl], X_1:any, X_2:any, X_3:int, X_4:any, X_5:any):bat[:dbl] ", "SQLprod;", "return the product of groups" ] @@ -9361,7 +9361,7 @@ [ "sql", "first_value", "pattern sql.first_value(X_0:any_1, X_1:bit, X_2:bit, X_3:int, X_4:oid, X_5:oid):any_1 ", "SQLfirst_value;", "return the first value of groups" ] [ "sql", "getVariable", "pattern sql.getVariable(X_0:int, X_1:str, X_2:str):any_1 ", "getVariable;", "Get the value of a session variable" ] [ "sql", "getVersion", "command sql.getVersion(X_0:int):lng ", "mvc_getVersion;", "Return the database version identifier for a client." ] -[ "sql", "get_value", "pattern sql.get_value(X_0:str, X_1:str):lng ", "mvc_get_value;", "return the current value of the sequence" ] +[ "sql", "get_value", "pattern sql.get_value(X_0:str, X_1:str):lng ", "mvc_get_value;", "return the current value of the sequence (ie the next to be used value)" ] [ "sql", "grow", "pattern sql.grow(X_0:bat[:oid], X_1:any_1):int ", "mvc_grow_wrap;", "Resize the tid column of a declared table." ] [ "sql", "hot_snapshot", "unsafe pattern sql.hot_snapshot(X_0:str):void ", "SQLhot_snapshot;", "Write db snapshot to the given tar(.gz) file" ] [ "sql", "hot_snapshot", "unsafe pattern sql.hot_snapshot(X_0:str, X_1:bit):void ", "SQLhot_snapshot_wrap;", "Write db snapshot to the given tar(.gz/.lz4/.bz/.xz) file on either server or client" ] @@ -9390,7 +9390,6 @@ [ "sql", "optimizer_updates", "pattern sql.optimizer_updates():void ", "SQLoptimizersUpdate;", "" ] [ "sql", "optimizers", "command sql.optimizers() (X_0:bat[:str], X_1:bat[:str], X_2:bat[:str]) ", "getPipeCatalog;", "" ] [ "sql", "password", "pattern sql.password(X_0:str):str ", "db_password_wrap;", "Return password hash of user" ] -[ "sql", "peak_next_value", "pattern sql.peak_next_value(X_0:str, X_1:str):lng ", "mvc_peak_next_value;", "Peaks at the next value of the sequence" ] [ "sql", "percent_rank", "pattern sql.percent_rank(X_0:any_1, X_1:bit, X_2:bit):dbl ", "SQLpercent_rank;", "return the percentage into the total number of groups for each row" ] [ "sql", "prelude", "pattern sql.prelude():void ", "SQLprelude;", "" ] [ "sql", "prepared_statements", "pattern sql.prepared_statements() (X_0:bat[:int], X_1:bat[:str], X_2:bat[:int], X_3:bat[:str], X_4:bat[:timestamp]) ", "SQLsession_prepared_statements;", "Available prepared statements in the current session" ] diff --git a/clients/Tests/MAL-signatures.stable.out.int128 b/clients/Tests/MAL-signatures.stable.out.int128 --- a/clients/Tests/MAL-signatures.stable.out.int128 +++ b/clients/Tests/MAL-signatures.stable.out.int128 @@ -8891,6 +8891,8 @@ [ "batsql", "diff", "pattern batsql.diff(X_0:bat[:bit], X_1:bat[:any_1]):bat[:bit] ", "SQLdiff;", "return true if cur != prev row" ] [ "batsql", "diff", "pattern batsql.diff(X_0:bit, X_1:bat[:any_1]):bat[:bit] ", "SQLdiff;", "return true if cur != prev row" ] [ "batsql", "first_value", "pattern batsql.first_value(X_0:bat[:any_1], X_1:any, X_2:any, X_3:int, X_4:any, X_5:any):bat[:any_1] ", "SQLfirst_value;", "return the first value of groups" ] +[ "batsql", "get_value", "pattern batsql.get_value(X_0:bat[:str], X_1:bat[:str]):bat[:lng] ", "mvc_get_value_bulk;", "return the current value of the sequence (ie the next to be used value)" ] +[ "batsql", "get_value", "pattern batsql.get_value(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid], X_3:bat[:oid]):bat[:lng] ", "mvc_get_value_bulk;", "return the current value of the sequence (ie the next to be used value)" ] [ "batsql", "index", "command batsql.index(X_0:bat[:str], X_1:bit):bat[:bte] ", "BATSTRindex_bte;", "Return the offsets as an index bat" ] [ "batsql", "index", "command batsql.index(X_0:bat[:str], X_1:bit):bat[:int] ", "BATSTRindex_int;", "Return the offsets as an index bat" ] [ "batsql", "index", "command batsql.index(X_0:bat[:str], X_1:bit):bat[:sht] ", "BATSTRindex_sht;", "Return the offsets as an index bat" ] @@ -8927,8 +8929,6 @@ [ "batsql", "ntile", "pattern batsql.ntile(X_0:bat[:any], X_1:any_1, X_2:any_2, X_3:any_3):bat[:any_1] ", "SQLntile;", "return the groups divided as equally as possible" ] [ "batsql", "ntile", "pattern batsql.ntile(X_0:bat[:any], X_1:bat[:any_1], X_2:any_2, X_3:any_3):bat[:any_1] ", "SQLntile;", "return the groups divided as equally as possible" ] [ "batsql", "password", "pattern batsql.password(X_0:bat[:str]):bat[:str] ", "db_password_wrap;", "Return password hash of user" ] -[ "batsql", "peak_next_value", "pattern batsql.peak_next_value(X_0:bat[:str], X_1:bat[:str]):bat[:lng] ", "mvc_peak_next_value_bulk;", "Peaks at the next value of the sequence" ] -[ "batsql", "peak_next_value", "pattern batsql.peak_next_value(X_0:bat[:str], X_1:bat[:str], X_2:bat[:oid], X_3:bat[:oid]):bat[:lng] ", "mvc_peak_next_value_bulk;", "Peaks at the next value of the sequence" ] [ "batsql", "percent_rank", "pattern batsql.percent_rank(X_0:bat[:any_1], X_1:any_2, X_2:any_3):bat[:dbl] ", "SQLpercent_rank;", "return the percentage into the total number of groups for each row" ] [ "batsql", "prod", "pattern batsql.prod(X_0:bat[:bte], X_1:any, X_2:any, X_3:int, X_4:any, X_5:any):bat[:hge] ", "SQLprod;", "return the product of groups" ] [ "batsql", "prod", "pattern batsql.prod(X_0:bat[:bte], X_1:any, X_2:any, X_3:int, X_4:any, X_5:any):bat[:lng] ", "SQLprod;", "return the product of groups" ] @@ -12666,7 +12666,7 @@ [ "sql", "first_value", "pattern sql.first_value(X_0:any_1, X_1:bit, X_2:bit, X_3:int, X_4:oid, X_5:oid):any_1 ", "SQLfirst_value;", "return the first value of groups" ] [ "sql", "getVariable", "pattern sql.getVariable(X_0:int, X_1:str, X_2:str):any_1 ", "getVariable;", "Get the value of a session variable" ] [ "sql", "getVersion", "command sql.getVersion(X_0:int):lng ", "mvc_getVersion;", "Return the database version identifier for a client." ] -[ "sql", "get_value", "pattern sql.get_value(X_0:str, X_1:str):lng ", "mvc_get_value;", "return the current value of the sequence" ] +[ "sql", "get_value", "pattern sql.get_value(X_0:str, X_1:str):lng ", "mvc_get_value;", "return the current value of the sequence (ie the next to be used value)" ] [ "sql", "grow", "pattern sql.grow(X_0:bat[:oid], X_1:any_1):int ", "mvc_grow_wrap;", "Resize the tid column of a declared table." ] [ "sql", "hot_snapshot", "unsafe pattern sql.hot_snapshot(X_0:str):void ", "SQLhot_snapshot;", "Write db snapshot to the given tar(.gz) file" ] [ "sql", "hot_snapshot", "unsafe pattern sql.hot_snapshot(X_0:str, X_1:bit):void ", "SQLhot_snapshot_wrap;", "Write db snapshot to the given tar(.gz/.lz4/.bz/.xz) file on either server or client" ] @@ -12695,7 +12695,6 @@ [ "sql", "optimizer_updates", "pattern sql.optimizer_updates():void ", "SQLoptimizersUpdate;", "" ] [ "sql", "optimizers", "command sql.optimizers() (X_0:bat[:str], X_1:bat[:str], X_2:bat[:str]) ", "getPipeCatalog;", "" ] [ "sql", "password", "pattern sql.password(X_0:str):str ", "db_password_wrap;", "Return password hash of user" ] -[ "sql", "peak_next_value", "pattern sql.peak_next_value(X_0:str, X_1:str):lng ", "mvc_peak_next_value;", "Peaks at the next value of the sequence" ] [ "sql", "percent_rank", "pattern sql.percent_rank(X_0:any_1, X_1:bit, X_2:bit):dbl ", "SQLpercent_rank;", "return the percentage into the total number of groups for each row" ] [ "sql", "prelude", "pattern sql.prelude():void ", "SQLprelude;", "" ] [ "sql", "prepared_statements", "pattern sql.prepared_statements() (X_0:bat[:int], X_1:bat[:str], X_2:bat[:int], X_3:bat[:str], X_4:bat[:timestamp]) ", "SQLsession_prepared_statements;", "Available prepared statements in the current session" ] 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 @@ -260,8 +260,8 @@ gdk_return GDKanalyticalprod(BAT *r, BAT gdk_return GDKanalyticalsum(BAT *r, BAT *p, BAT *o, BAT *b, BAT *s, BAT *e, int tp1, int tp2, int frame_type); gdk_return GDKanalyticalwindowbounds(BAT *r, BAT *b, BAT *p, BAT *l, const void *restrict bound, int tp1, int tp2, int unit, bool preceding, oid first_half); int GDKatomcnt; -size_t GDKbatcopy(char *dest, BAT *bat, str colname); -size_t GDKbatcopysize(BAT *bat, str colname); +size_t GDKbatcopy(char *dest, BAT *bat, const char *colname); +size_t GDKbatcopysize(BAT *bat, const char *colname); size_t GDKbatread(char *src, BAT **bat, str *colname); gdk_return GDKchangesemval(int sem_id, int number, int change); gdk_return GDKchangesemval_timeout(int sem_id, int number, int change, int timeout_mseconds, bool *succeed); @@ -393,9 +393,9 @@ BUN ORDERfndlast(BAT *b, Heap *oidxh, co BUN SORTfnd(BAT *b, const void *v); BUN SORTfndfirst(BAT *b, const void *v); BUN SORTfndlast(BAT *b, const void *v); -gdk_return STRMPappendBitstring(BAT *b, const str s); +gdk_return STRMPappendBitstring(BAT *b, const char *s); gdk_return STRMPcreate(BAT *b, BAT *s); -BAT *STRMPfilter(BAT *b, BAT *s, const str q); +BAT *STRMPfilter(BAT *b, BAT *s, const char *q); MT_Id THRcreate(void (*f)(void *), void *arg, enum MT_thr_detach d, const char *name); void *THRdata[THREADDATA]; void THRdel(Thread t); diff --git a/cmake/monetdb-versions.cmake b/cmake/monetdb-versions.cmake --- a/cmake/monetdb-versions.cmake +++ b/cmake/monetdb-versions.cmake @@ -53,7 +53,7 @@ set(MONETDB_VERSION "${MONETDB_VERSION_M # common/options and common/utils) set(GDK_VERSION_CURRENT "23") set(GDK_VERSION_MINOR "0") -set(GDK_VERSION_PATCH "3") +set(GDK_VERSION_PATCH "4") math(EXPR GDK_VERSION_MAJOR "${GDK_VERSION_CURRENT} - ${GDK_VERSION_MINOR}") set(GDK_VERSION "${GDK_VERSION_MAJOR}.${GDK_VERSION_MINOR}.${GDK_VERSION_PATCH}") @@ -67,14 +67,14 @@ set(MAPI_VERSION "${MAPI_VERSION_MAJOR}. # version of the MONETDB5 library (subdirectory monetdb5, not including extras or sql) set(MONETDB5_VERSION_CURRENT "31") set(MONETDB5_VERSION_MINOR "0") -set(MONETDB5_VERSION_PATCH "3") +set(MONETDB5_VERSION_PATCH "4") math(EXPR MONETDB5_VERSION_MAJOR "${MONETDB5_VERSION_CURRENT} - ${MONETDB5_VERSION_MINOR}") set(MONETDB5_VERSION "${MONETDB5_VERSION_MAJOR}.${MONETDB5_VERSION_MINOR}.${MONETDB5_VERSION_PATCH}") # version of the MONETDBE library (subdirectory tools/monetdbe) set(MONETDBE_VERSION_CURRENT "2") set(MONETDBE_VERSION_MINOR "0") -set(MONETDBE_VERSION_PATCH "1") +set(MONETDBE_VERSION_PATCH "2") math(EXPR MONETDBE_VERSION_MAJOR "${MONETDBE_VERSION_CURRENT} - ${MONETDBE_VERSION_MINOR}") set(MONETDBE_VERSION "${MONETDBE_VERSION_MAJOR}.${MONETDBE_VERSION_MINOR}.${MONETDBE_VERSION_PATCH}") diff --git a/debian/changelog b/debian/changelog --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,49 @@ +monetdb (11.41.13) unstable; urgency=low + + * Rebuilt. + * GH#7163: Multiple sql.mvc() invocations in the same query + * GH#7167: sys.shutdown() problems + * GH#7184: Insert into query blocks all other queries + * GH#7185: GROUPING SETS on groups with aliases provided in the SELECT + returns empty result + * GH#7186: data files created with COPY SELECT .. INTO 'file.csv' fail to + be loaded using COPY INTO .. FROM 'file.csv' when double quoted string + data contains the field values delimiter character + * GH#7191: [MonetDBe] monetdbe_cleanup_statement() with bound NULLs on + variable-sized types bug + * GH#7196: BATproject2: does not match always + * GH#7198: Suboptimal query plan for query containing JSON access filter + and two negative string comparisons + * GH#7200: PRIMARY KEY unique constraint is violated with concurrent + inserts + * GH#7206: Python UDF fails when returning an empty table as a dictionary + + -- Sjoerd Mullender <[email protected]> Mon, 13 Dec 2021 10:01:08 +0100 + +monetdb (11.41.13) unstable; urgency=low + + * clients: Dumping the database now also dumps the read-only and insert-only + states of tables. + + -- Sjoerd Mullender <[email protected]> Mon, 13 Dec 2021 10:01:08 +0100 + +monetdb (11.41.13) unstable; urgency=low + + * gdk: Sometimes when the server was restarted, it wouldn't start anymore due + to an error from BBPcheckbats. We finally found and fixed a (hopefully + "the") cause of this problem. + + -- Sjoerd Mullender <[email protected]> Mon, 13 Dec 2021 10:01:08 +0100 + +monetdb (11.41.13) unstable; urgency=low + + * sql: Number parsing for SQL was fixed. If a number was immediately followed + by letters (i.e. without a space), the number was accepted and the + alphanumeric string starting with the letter was interpreted as an alias + (if aliases were allowed in that position). + + -- Sjoerd Mullender <[email protected]> Thu, 28 Oct 2021 10:01:08 +0100 + monetdb (11.41.11) unstable; urgency=low * Rebuilt. diff --git a/gdk/ChangeLog-Archive b/gdk/ChangeLog-Archive --- a/gdk/ChangeLog-Archive +++ b/gdk/ChangeLog-Archive @@ -1,6 +1,11 @@ # DO NOT EDIT THIS FILE -- MAINTAINED AUTOMATICALLY # This file contains past ChangeLog entries +* Mon Dec 13 2021 Sjoerd Mullender <[email protected]> - 11.41.13-20211213 +- Sometimes when the server was restarted, it wouldn't start anymore due + to an error from BBPcheckbats. We finally found and fixed a (hopefully + "the") cause of this problem. + * Wed Sep 22 2021 Sjoerd Mullender <[email protected]> - 11.41.7-20210927 - Some deadlock and race condition issues were fixed. - Handling of the list of free bats has been improved, leading to less diff --git a/gdk/ChangeLog.Jul2021 b/gdk/ChangeLog.Jul2021 --- a/gdk/ChangeLog.Jul2021 +++ b/gdk/ChangeLog.Jul2021 @@ -1,8 +1,3 @@ # ChangeLog file for GDK # This file is updated with Maddlog -* Mon Dec 13 2021 Sjoerd Mullender <[email protected]> -- Sometimes when the server was restarted, it wouldn't start anymore due - to an error from BBPcheckbats. We finally found and fixed a (hopefully - "the") cause of this problem. - diff --git a/gdk/gdk_interprocess.c b/gdk/gdk_interprocess.c --- a/gdk/gdk_interprocess.c _______________________________________________ checkin-list mailing list [email protected] https://www.monetdb.org/mailman/listinfo/checkin-list
