Changeset: 59d427f51d61 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/59d427f51d61
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
Branch: default
Log Message:

Merge with Sep2022 branch.


diffs (truncated from 3933 to 300 lines):

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -771,3 +771,5 @@ 59de1ee118d4eccc072c0cf3938f90635a7db311
 59de1ee118d4eccc072c0cf3938f90635a7db311 Jan2022_SP3_release
 38ba6e40ba9148c762fe4a4b40f4937f86e516b6 Jul2021_25
 470e524a786ee0e94c7901ec98d95ac351a0e472 Sep2022_root
+9785fa2a471fe32495e07479edf110335ddaa750 Jan2022_17
+26ffeb5af5240c807a6583fd6eb4ee2c9cd210d2 Jan2022_19
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/Jan2022-SP3/%{name}-%{version}.tar.bz2
+Source: 
https://www.monetdb.org/downloads/sources/Jan2022-SP4/%{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
@@ -849,6 +849,79 @@ fi
 %endif
 
 %changelog
+* Mon Aug 15 2022 Sjoerd Mullender <sjo...@acm.org> - 11.43.19-20220815
+- Rebuilt.
+
+* Thu Aug 11 2022 Sjoerd Mullender <sjo...@acm.org> - 11.43.17-20220811
+- Rebuilt.
+- GH#7040: Memory leak detected for MAPI interface
+- GH#7298: Irresponsive database server after reading incomplete SQL
+  script.
+- GH#7308: Race condition in MVCC transaction management
+
+* Wed Aug 10 2022 Sjoerd Mullender <sjo...@acm.org> - 11.43.17-20220811
+- gdk: A bug was fixed when upgrading a database from the Oct2020 releases
+  (11.39.X) or older when the write-ahead log (WAL) was not empty and
+  contained instructions to create new tables.
+
+* Tue Aug  2 2022 Sjoerd Mullender <sjo...@acm.org> - 11.43.17-20220811
+- gdk: When destroying a bat, make sure there are no files left over in
+  the BACKUP directory since they can cause problems when the bat id
+  gets reused.
+
+* Thu Jul 28 2022 Sjoerd Mullender <sjo...@acm.org> - 11.43.17-20220811
+- gdk: Fixed an off-by-one error in the logger which caused older log files
+  to stick around longer in the write-ahead log than necessary.
+- gdk: When an empty BAT is committed, skip writing (and synchronizing to
+  disk) the heap (tail and theap) files and write 0 for their sizes to
+  the BBP.dir file.  When reading the BBP.dir file, if an empty BAT is
+  encountered, set the sizes of those files to 0.  This fixes potential
+  issues during startup of the server (BBPcheckbats reporting errors).
+
+* Thu Jun 23 2022 Sjoerd Mullender <sjo...@acm.org> - 11.43.17-20220811
+- merovingian: When multiple identical messages are written to the log, write 
the
+  first one, and combine subsequent ones in a single message.
+
+* Wed Jun 22 2022 Sjoerd Mullender <sjo...@acm.org> - 11.43.17-20220811
+- gdk: Make sure heap files of transient bats get deleted when the bat is
+  destroyed.  If the bat was a partial view (sharing the vheap but not
+  the tail), the tail file wasn't deleted.
+- gdk: Various changes were made to satisfy newer compilers.
+- gdk: The batDirtydesc and batDirtyflushed Boolean values have been deprecated
+  and are no longer used.  They were both holdovers from long ago.
+- gdk: Various race conditions (data races) have been fixed.
+
+* Wed Jun 22 2022 Sjoerd Mullender <sjo...@acm.org> - 11.43.17-20220811
+- merovingian: Fixed a leak where the log file wasn't closed when it was 
reopened
+  after a log rotation (SIGHUP signal).
+- merovingian: Try to deal more gracefully with "inherited" mserver5 processes.
+  This includes not complaining about an "impossible state", and allowing
+  such processes to be stopped by the monetdbd process.
+- merovingian: When a transient failure occurs during processing of a new 
connection to
+  the monetdbd server, sleep for half a second so that if the transient
+  failure occurs again, the log file doesn't get swamped with error
+  messages.
+
+* Wed Jun 22 2022 Sjoerd Mullender <sjo...@acm.org> - 11.43.17-20220811
+- monetdb5: Various race conditions (data races) have been fixed.
+
+* Fri Jun 10 2022 Sjoerd Mullender <sjo...@acm.org> - 11.43.17-20220811
+- clients: Implemented dump of global grants, that is to say, grants for COPY 
INTO
+  and COPY FROM which grant permission to users to write to or read from
+  files on the server (COPY INTO queries without the ON CLIENT option).
+
+* Tue May 31 2022 Sjoerd Mullender <sjo...@acm.org> - 11.43.17-20220811
+- clients: Fixed a bug where when the semicolon at the end of a COPY INTO query
+  that reads from STDIN is at exactly a 10240 byte boundary in a file,
+  the data isn't read as input for the COPY INTO but instead as a new
+  SQL query.
+
+* Fri May 20 2022 Sjoerd Mullender <sjo...@acm.org> - 11.43.17-20220811
+- gdk: All accesses to the BACKUP directory need to be protected by the
+  same lock.  The lock already existed (GDKtmLock), but wasn't used
+  consistently.  This is now fixed.  Hopefully this makes the hot snapshot
+  code more reliable.
+
 * Fri May 20 2022 Sjoerd Mullender <sjo...@acm.org> - 11.43.15-20220520
 - Rebuilt.
 - GH#7036: Generate column names instead of labels
diff --git a/clients/ChangeLog-Archive b/clients/ChangeLog-Archive
--- a/clients/ChangeLog-Archive
+++ b/clients/ChangeLog-Archive
@@ -1,6 +1,17 @@
 # DO NOT EDIT THIS FILE -- MAINTAINED AUTOMATICALLY
 # This file contains past ChangeLog entries
 
+* Fri Jun 10 2022 Sjoerd Mullender <sjo...@acm.org> - 11.43.17-20220811
+- Implemented dump of global grants, that is to say, grants for COPY INTO
+  and COPY FROM which grant permission to users to write to or read from
+  files on the server (COPY INTO queries without the ON CLIENT option).
+
+* Tue May 31 2022 Sjoerd Mullender <sjo...@acm.org> - 11.43.17-20220811
+- Fixed a bug where when the semicolon at the end of a COPY INTO query
+  that reads from STDIN is at exactly a 10240 byte boundary in a file,
+  the data isn't read as input for the COPY INTO but instead as a new
+  SQL query.
+
 * Wed Feb 16 2022 Sjoerd Mullender <sjo...@acm.org> - 11.43.11-20220325
 - Improved the handling of the \r (internal pager) command in mclient.
   It now properly counts the header of table, and when a (very) long
diff --git a/clients/ChangeLog.Jan2022 b/clients/ChangeLog.Jan2022
--- a/clients/ChangeLog.Jan2022
+++ b/clients/ChangeLog.Jan2022
@@ -1,14 +1,3 @@
 # ChangeLog file for clients
 # This file is updated with Maddlog
 
-* Fri Jun 10 2022 Sjoerd Mullender <sjo...@acm.org>
-- Implemented dump of global grants, that is to say, grants for COPY INTO
-  and COPY FROM which grant permission to users to write to or read from
-  files on the server (COPY INTO queries without the ON CLIENT option).
-
-* Tue May 31 2022 Sjoerd Mullender <sjo...@acm.org>
-- Fixed a bug where when the semicolon at the end of a COPY INTO query
-  that reads from STDIN is at exactly a 10240 byte boundary in a file,
-  the data isn't read as input for the COPY INTO but instead as a new
-  SQL query.
-
diff --git a/clients/Tests/MAL-signatures-hge.test 
b/clients/Tests/MAL-signatures-hge.test
--- a/clients/Tests/MAL-signatures-hge.test
+++ b/clients/Tests/MAL-signatures-hge.test
@@ -47711,7 +47711,7 @@ Replace _all_ matches of "pattern" in "o
 pcre
 replace_first
 command pcre.replace_first(X_0:str, X_1:str, X_2:str, X_3:str):str 
-PCREreplace_wrap;
+PCREreplacefirst_wrap;
 Replace _the first_ match of "pattern" in "origin_str" with 
"replacement".@Parameter "flags" accept these flags: 'i', 'm', 's', and 
'x'.@'e': if present, an empty string is considered to be a valid match@'i': if 
present, the match operates in case-insensitive mode.@Otherwise, in 
case-sensitive mode.@'m': if present, the match operates in multi-line 
mode.@'s': if present, the match operates in "dot-all"@The specifications of 
the flags can be found in "man pcreapi"@The flag letters may be repeated.@No 
other letters than 'e', 'i', 'm', 's' and 'x' are allowed in "flags".@Returns 
the replaced string, or if no matches found, the original string.
 pcre
 sql2pcre
diff --git a/clients/Tests/MAL-signatures.test 
b/clients/Tests/MAL-signatures.test
--- a/clients/Tests/MAL-signatures.test
+++ b/clients/Tests/MAL-signatures.test
@@ -36136,7 +36136,7 @@ Replace _all_ matches of "pattern" in "o
 pcre
 replace_first
 command pcre.replace_first(X_0:str, X_1:str, X_2:str, X_3:str):str 
-PCREreplace_wrap;
+PCREreplacefirst_wrap;
 Replace _the first_ match of "pattern" in "origin_str" with 
"replacement".@Parameter "flags" accept these flags: 'i', 'm', 's', and 
'x'.@'e': if present, an empty string is considered to be a valid match@'i': if 
present, the match operates in case-insensitive mode.@Otherwise, in 
case-sensitive mode.@'m': if present, the match operates in multi-line 
mode.@'s': if present, the match operates in "dot-all"@The specifications of 
the flags can be found in "man pcreapi"@The flag letters may be repeated.@No 
other letters than 'e', 'i', 'm', 's' and 'x' are allowed in "flags".@Returns 
the replaced string, or if no matches found, the original string.
 pcre
 sql2pcre
diff --git a/clients/examples/C/streamcat.c b/clients/examples/C/streamcat.c
--- a/clients/examples/C/streamcat.c
+++ b/clients/examples/C/streamcat.c
@@ -163,7 +163,7 @@ int cmd_read(char *argv[])
                croak(1, "Unknown opener '%s'", opener_name);
 
        s = opener(filename);
-       if (s == NULL || mnstr_errnr(s)) {
+       if (s == NULL || mnstr_errnr(s) != MNSTR_NO__ERROR) {
                char *msg = mnstr_error(s);
                croak(2, "Opener %s failed: %s", opener_name, msg ? msg : "<no 
error message>");
        }
@@ -199,7 +199,7 @@ int cmd_read(char *argv[])
                }
                if (wrapper != NULL)
                        s = wrapper(s, parms);
-               if (s == NULL || mnstr_errnr(s)) {
+               if (s == NULL || mnstr_errnr(s) != MNSTR_NO__ERROR) {
                        char *msg = mnstr_error(s);
                        croak(2, "Opener %s failed: %s", opener_name, msg ? msg 
: "<no error message>");
                }
@@ -268,7 +268,7 @@ int cmd_write(char *argv[])
                croak(1, "Unknown opener '%s'", opener_name);
 
        s = opener(filename);
-       if (s == NULL || mnstr_errnr(s)) {
+       if (s == NULL || mnstr_errnr(s) != MNSTR_NO__ERROR) {
                char *msg = mnstr_error(NULL);
                croak(2, "Opener %s failed: %s", opener_name, msg ? msg : "");
        }
@@ -312,7 +312,7 @@ int cmd_write(char *argv[])
                }
                if (wrapper != NULL)
                        s = wrapper(s, parms);
-               if (s == NULL || mnstr_errnr(s)) {
+               if (s == NULL || mnstr_errnr(s) != MNSTR_NO__ERROR) {
                        char *msg = mnstr_error(s);
                        croak(2, "Opener %s failed: %s", opener_name, msg ? msg 
: "<no error message>");
                }
diff --git a/clients/mapiclient/dump.c b/clients/mapiclient/dump.c
--- a/clients/mapiclient/dump.c
+++ b/clients/mapiclient/dump.c
@@ -641,7 +641,7 @@ dump_foreign_keys(Mapi mid, const char *
                if (tname == NULL && tid == NULL)
                        mnstr_printf(toConsole, ";\n");
 
-               if (mnstr_errnr(toConsole))
+               if (mnstr_errnr(toConsole) != MNSTR_NO__ERROR)
                        goto bailout;
        }
        if (mapi_error(mid))
@@ -656,12 +656,12 @@ bailout:
                        mapi_explain_result(hdl, stderr);
                else if (mapi_error(mid))
                        mapi_explain_query(hdl, stderr);
-               else if (!mnstr_errnr(toConsole))
+               else if (mnstr_errnr(toConsole) == MNSTR_NO__ERROR)
                        fprintf(stderr, "malloc failure\n");
                mapi_close_handle(hdl);
        } else if (mapi_error(mid))
                mapi_explain(mid, stderr);
-       else if (!mnstr_errnr(toConsole))
+       else if (mnstr_errnr(toConsole) == MNSTR_NO__ERROR)
                fprintf(stderr, "malloc failure\n");
 
        return 1;
@@ -962,7 +962,7 @@ dump_column_definition(Mapi mid, stream 
                free(c_type);
                free(c_type_digits);
                free(c_type_scale);
-               if (mnstr_errnr(toConsole))
+               if (mnstr_errnr(toConsole) != MNSTR_NO__ERROR)
                        goto bailout;
        }
        if (mapi_error(mid))
@@ -1023,7 +1023,7 @@ dump_column_definition(Mapi mid, stream 
                        mnstr_printf(toConsole, ", ");
                dquoted_print(toConsole, c_column, NULL);
                cnt++;
-               if (mnstr_errnr(toConsole))
+               if (mnstr_errnr(toConsole) != MNSTR_NO__ERROR)
                        goto bailout;
        }
        if (cnt)
@@ -1085,7 +1085,7 @@ dump_column_definition(Mapi mid, stream 
                } else
                        mnstr_printf(toConsole, ", ");
                dquoted_print(toConsole, c_column, NULL);
-               if (mnstr_errnr(toConsole))
+               if (mnstr_errnr(toConsole) != MNSTR_NO__ERROR)
                        goto bailout;
        }
        if (cnt)
@@ -1116,12 +1116,12 @@ bailout:
                        mapi_explain_result(hdl, stderr);
                else if (mapi_error(mid))
                        mapi_explain_query(hdl, stderr);
-               else if (!mnstr_errnr(toConsole))
+               else if (mnstr_errnr(toConsole) == MNSTR_NO__ERROR)
                        fprintf(stderr, "malloc failure\n");
                mapi_close_handle(hdl);
        } else if (mapi_error(mid))
                mapi_explain(mid, stderr);
-       else if (!mnstr_errnr(toConsole))
+       else if (mnstr_errnr(toConsole) == MNSTR_NO__ERROR)
                fprintf(stderr, "malloc failure\n");
        if (query != NULL)
                free(query);
@@ -1397,7 +1397,7 @@ describe_table(Mapi mid, const char *sch
                        } else
                                mnstr_printf(toConsole, ", ");
                        dquoted_print(toConsole, c_name, NULL);
-                       if (mnstr_errnr(toConsole))
+                       if (mnstr_errnr(toConsole) != MNSTR_NO__ERROR)
                                goto bailout;
                }
                mapi_close_handle(hdl);
@@ -1459,12 +1459,12 @@ bailout:
                        mapi_explain_result(hdl, stderr);
                else if (mapi_error(mid))
                        mapi_explain_query(hdl, stderr);
-               else if (!mnstr_errnr(toConsole))
+               else if (mnstr_errnr(toConsole) == MNSTR_NO__ERROR)
                        fprintf(stderr, "malloc failure\n");
                mapi_close_handle(hdl);
        } else if (mapi_error(mid))
                mapi_explain(mid, stderr);
-       else if (!mnstr_errnr(toConsole))
+       else if (mnstr_errnr(toConsole) == MNSTR_NO__ERROR)
                fprintf(stderr, "malloc failure\n");
 bailout2:
        if (view)
@@ -1566,7 +1566,7 @@ describe_sequence(Mapi mid, const char *
                        mnstr_printf(toConsole, " CACHE %s", cacheinc);
                mnstr_printf(toConsole, " %sCYCLE;\n", strcmp(cycle, "true") == 
0 ? "" : "NO ");
                comment_on(toConsole, "SEQUENCE", schema, name, NULL, remark);
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to