Changeset: 70f26194695f for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/70f26194695f Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 gdk/gdk_batop.c sql/backends/monet5/sql.c sql/backends/monet5/sql_upgrades.c sql/storage/bat/bat_storage.c sql/storage/sql_storage.h 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.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-hge/Tests/upgrade.stable.out.ppc64.int128 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.32bit sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.ppc64 sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.ppc64.int128 sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128 sql/test/emptydb-upgrade/Tests/upgrade.stable.out sql/test/emptydb-upgrade/Tests/upgrade.stable.out.32bit sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128 sql/test/emptydb/Tests/check.stable.out sql/test/emptydb/Tests/check.stable.out.int128 sql/test/testdb-previous-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/testdb-previous-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/testdb-previous-upgrade-hge/Tests/upgrade.stable.out.int128 sql/test/testdb-previous-upgrade/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128 sql/test/testdb-upgrade/Tests/upgrade.stable.out sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128 Branch: analyze-fix Log Message:
Merged with Jan2022 diffs (truncated from 81809 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 <sjo...@acm.org> - 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 <sjo...@acm.org> - 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 <sjo...@acm.org> - 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 <sjo...@acm.org> - 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 <sjo...@acm.org> - 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 <sjo...@acm.org> - 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 <sjo...@acm.org> - 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/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" ] @@ -9077,6 +9077,7 @@ [ "netcdf", "importvar", "unsafe command netcdf.importvar(X_0:str, X_1:int):str ", "NCDFimportVarStmt;", "Import variable: compose create array string" ] [ "netcdf", "importvariable", "unsafe pattern netcdf.importvariable(X_0:int, X_1:str):void ", "NCDFimportVariable;", "Import variable: create array and load data from variable varname of file fileid" ] [ "netcdf", "test", "command netcdf.test(X_0:str):int ", "NCDFtest;", "Returns number of variables in a given NetCDF dataset (file)" ] +[ "oltp", "assert", "pattern oltp.assert(X_0:bit, X_1:str):void ", "OLTPassert;", "Generate an exception when b==true" ] [ "oltp", "disable", "unsafe pattern oltp.disable():void ", "OLTPdisable;", "Disable the OLTP delay monitor" ] [ "oltp", "enable", "unsafe pattern oltp.enable():void ", "OLTPenable;", "Enable the OLTP delay monitor" ] [ "oltp", "init", "unsafe pattern oltp.init():void ", "OLTPinit;", "Initialize the lock table" ] @@ -9361,7 +9362,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 +9391,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" ] @@ -12377,6 +12377,7 @@ [ "netcdf", "importvar", "unsafe command netcdf.importvar(X_0:str, X_1:int):str ", "NCDFimportVarStmt;", "Import variable: compose create array string" ] [ "netcdf", "importvariable", "unsafe pattern netcdf.importvariable(X_0:int, X_1:str):void ", "NCDFimportVariable;", "Import variable: create array and load data from variable varname of file fileid" ] [ "netcdf", "test", "command netcdf.test(X_0:str):int ", "NCDFtest;", "Returns number of variables in a given NetCDF dataset (file)" ] +[ "oltp", "assert", "pattern oltp.assert(X_0:bit, X_1:str):void ", "OLTPassert;", "Generate an exception when b==true" ] [ "oltp", "disable", "unsafe pattern oltp.disable():void ", "OLTPdisable;", "Disable the OLTP delay monitor" ] [ "oltp", "enable", "unsafe pattern oltp.enable():void ", "OLTPenable;", "Enable the OLTP delay monitor" ] [ "oltp", "init", "unsafe pattern oltp.init():void ", "OLTPinit;", "Initialize the lock table" ] @@ -12666,7 +12667,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 +12696,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 <sjo...@acm.org> 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 <sjo...@acm.org> 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 <sjo...@acm.org> 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 <sjo...@acm.org> 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 <sjo...@acm.org> - 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 <sjo...@acm.org> - 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/gdk_bat.c b/gdk/gdk_bat.c --- a/gdk/gdk_bat.c +++ b/gdk/gdk_bat.c @@ -1163,15 +1163,13 @@ BUNappendmulti(BAT *b, const void *value int (*atomcmp) (const void *, const void *) = ATOMcompare(b->ttype); const void *atomnil = ATOMnilptr(b->ttype); MT_lock_set(&b->theaplock); - BUN minpos = b->tminpos; - BUN maxpos = b->tmaxpos; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list