Changeset: 68f40c337931 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/68f40c337931
Modified Files:
        .bumpversion.cfg
        MonetDB.spec
        clients/Tests/exports.stable.out
        clients/mapilib/mapi.rc
        clients/odbc/driver/driver.rc
        clients/odbc/winsetup/setup.rc
        cmake/monetdb-versions.cmake
        gdk/gdk.h
        gdk/libbat.rc
        monetdb5/tools/libmonetdb5.rc
        sql/storage/bat/bat_logger.c
Branch: default
Log Message:

Merge with Aug2024 branch.


diffs (truncated from 5472 to 300 lines):

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -828,3 +828,4 @@ d656785f49ee62c19705722aa6b7c171904c64d5
 9a694c41042503a22d6c92aeab5bc4ca1912b62e Dec2023_9
 9a694c41042503a22d6c92aeab5bc4ca1912b62e Dec2023_SP3_release
 e1e9e22bf3d734dc50b56151c657a57c18f56561 Aug2024_root
+cde7d8f7c99540a8c95856df052a9f123b0c1643 Dec2023_11
diff --git a/ChangeLog.Aug2024 b/ChangeLog.Aug2024
--- a/ChangeLog.Aug2024
+++ b/ChangeLog.Aug2024
@@ -1,6 +1,9 @@
 # ChangeLog file for devel
 # This file is updated with Maddlog
 
+* Tue Jun 25 2024 Sjoerd Mullender <[email protected]>
+- Removed upgrade code for versions before Jul2021.
+
 * Wed May  8 2024 Sjoerd Mullender <[email protected]>
 - The shared library (.dll aka .so files) now have the version number
   as part of the name.  This should allow the building of compatibility
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -95,7 +95,7 @@ Group: Applications/Databases
 License: MPL-2.0
 URL: https://www.monetdb.org/
 BugURL: https://github.com/MonetDB/MonetDB/issues
-Source: 
https://www.monetdb.org/downloads/sources/Dec2023-SP3/MonetDB-%{version}.tar.bz2
+Source: 
https://www.monetdb.org/downloads/sources/Dec2023-SP4/MonetDB-%{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
@@ -974,6 +974,40 @@ rm "${RPM_BUILD_ROOT}"%{_unitdir}/monetd
 %endif
 
 %changelog
+* Sat Jun 29 2024 Sjoerd Mullender <[email protected]> - 11.49.11-20240629
+- Rebuilt.
+- GH#7509: MonetDB Dec2023-SP2 crashes at `sql_init_subtype`
+- GH#7511: MonetDB Dec2023-SP2 crashes with the `PASSWORD_HASH` function
+- GH#7512: MonetDB Dec2023-SP2 crashes with the
+  `GET_MERGE_TABLE_PARTITION_EXPRESSIONS` function
+- GH#7513: MonetDB Dec2023-SP2 crashes with the `GETHOST` function
+- GH#7518: mserver reports errors when starting if geom module is enabled
+  but database was created without
+- GH#7526: deadlock, causing new connections to hang indefinitely
+- GH#7531: loading more than 2147483647 rows gives issue.
+- GH#7536: Truncated file when dumping a table from mclient into a gzipped
+  file
+- GH#7537: MonetDB crashes with a SIGSEGV due to a null pointer
+  dereference when using prepared statements
+- GH#7541: Unexpected result when using `LEVENSHTEIN`
+- GH#7546: monetdbd leaks file descriptors when starting mserver5.
+
+* Sat Jun 29 2024 Sjoerd Mullender <[email protected]> - 11.49.11-20240629
+- monetdb5: The mserver5 program has a new option: --without-geom.  If the 
server
+  was compiled with geom support (or the geom module was installed in a
+  binary distribution), this option allows the server to start without
+  the geom module, so that it can proceed with a database that was
+  created without geom.
+
+* Wed May 15 2024 Sjoerd Mullender <[email protected]> - 11.49.11-20240629
+- sql: When sys.persist_unlogged is called for a table, it may return that
+  zero rows were persisted.  If this is because the call was done too
+  early, i.e. the table was recently created and the write-ahead log
+  where this was logged has not been processed yet, the call will
+  request an immediate write-ahead log rotation.  This means that the
+  WAL will be processed as soon as possible and a new call to
+  sys.persist_unlogged soon after will likely return a positive result.
+
 * Thu May 02 2024 Sjoerd Mullender <[email protected]> - 11.49.9-20240502
 - Rebuilt.
 - GH#7422: Aggregate functions with variadic arguments
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
@@ -581,7 +581,6 @@ void mo_free_options(opt *set, int setle
 void mo_print_options(opt *set, int setlen);
 int mo_system_config(opt **Set, int setlen);
 const oid oid_nil;
-log_bid old_logger_find_bat(old_logger *lg, const char *name, char tpe, oid 
id);
 DIR *opendir(const char *dirname);
 void print_trace(void);
 ssize_t ptrFromStr(const char *src, size_t *len, ptr **dst, bool external);
diff --git a/cmake/monetdb-versions.cmake b/cmake/monetdb-versions.cmake
--- a/cmake/monetdb-versions.cmake
+++ b/cmake/monetdb-versions.cmake
@@ -44,7 +44,7 @@ set(MONETDB_VERSION "${MONETDB_VERSION_M
 # common/options and common/utils)
 set(GDK_VERSION_MAJOR "28")
 set(GDK_VERSION_MINOR "1")
-set(GDK_VERSION_PATCH "3")
+set(GDK_VERSION_PATCH "4")
 set(GDK_VERSION 
"${GDK_VERSION_MAJOR}.${GDK_VERSION_MINOR}.${GDK_VERSION_PATCH}")
 
 # version of the MAPI library (subdirectory clients/mapilib)
@@ -57,7 +57,7 @@ set(MAPI_VERSION "${MAPI_VERSION_MAJOR}.
 # extras, and tools/utils/msabaoth.[ch])
 set(MONETDB5_VERSION_MAJOR "35")
 set(MONETDB5_VERSION_MINOR "0")
-set(MONETDB5_VERSION_PATCH "4")
+set(MONETDB5_VERSION_PATCH "5")
 set(MONETDB5_VERSION 
"${MONETDB5_VERSION_MAJOR}.${MONETDB5_VERSION_MINOR}.${MONETDB5_VERSION_PATCH}")
 
 # version of the MONETDBE library (subdirectory tools/monetdbe)
@@ -75,5 +75,5 @@ set(STREAM_VERSION "${STREAM_VERSION_MAJ
 # version of the SQL library (subdirectory sql)
 set(SQL_VERSION_MAJOR "14")
 set(SQL_VERSION_MINOR "1")
-set(SQL_VERSION_PATCH "4")
+set(SQL_VERSION_PATCH "5")
 set(SQL_VERSION 
"${SQL_VERSION_MAJOR}.${SQL_VERSION_MINOR}.${SQL_VERSION_PATCH}")
diff --git a/debian/changelog b/debian/changelog
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,46 @@
+monetdb (11.49.11) unstable; urgency=low
+
+  * Rebuilt.
+  * GH#7509: MonetDB Dec2023-SP2 crashes at `sql_init_subtype`
+  * GH#7511: MonetDB Dec2023-SP2 crashes with the `PASSWORD_HASH` function
+  * GH#7512: MonetDB Dec2023-SP2 crashes with the
+    `GET_MERGE_TABLE_PARTITION_EXPRESSIONS` function
+  * GH#7513: MonetDB Dec2023-SP2 crashes with the `GETHOST` function
+  * GH#7518: mserver reports errors when starting if geom module is enabled
+    but database was created without
+  * GH#7526: deadlock, causing new connections to hang indefinitely
+  * GH#7531: loading more than 2147483647 rows gives issue.
+  * GH#7536: Truncated file when dumping a table from mclient into a gzipped
+    file
+  * GH#7537: MonetDB crashes with a SIGSEGV due to a null pointer
+    dereference when using prepared statements
+  * GH#7541: Unexpected result when using `LEVENSHTEIN`
+  * GH#7546: monetdbd leaks file descriptors when starting mserver5.
+
+ -- Sjoerd Mullender <[email protected]>  Sat, 29 Jun 2024 22:37:36 +0200
+
+monetdb (11.49.11) unstable; urgency=low
+
+  * monetdb5: The mserver5 program has a new option: --without-geom.  If the 
server
+    was compiled with geom support (or the geom module was installed in a
+    binary distribution), this option allows the server to start without
+    the geom module, so that it can proceed with a database that was
+    created without geom.
+
+ -- Sjoerd Mullender <[email protected]>  Sat, 29 Jun 2024 22:37:36 +0200
+
+monetdb (11.49.11) unstable; urgency=low
+
+  * sql: When sys.persist_unlogged is called for a table, it may return that
+    zero rows were persisted.  If this is because the call was done too
+    early, i.e. the table was recently created and the write-ahead log
+    where this was logged has not been processed yet, the call will
+    request an immediate write-ahead log rotation.  This means that the
+    WAL will be processed as soon as possible and a new call to
+    sys.persist_unlogged soon after will likely return a positive result.
+
+ -- Sjoerd Mullender <[email protected]>  Wed, 15 May 2024 22:37:36 +0200
+
 monetdb (11.49.9) unstable; urgency=low
 
   * Rebuilt.
diff --git a/gdk/CMakeLists.txt b/gdk/CMakeLists.txt
--- a/gdk/CMakeLists.txt
+++ b/gdk/CMakeLists.txt
@@ -72,7 +72,6 @@ target_sources(bat
   gdk_value.c
   gdk_posix.c
   gdk_logger.c gdk_logger.h
-  gdk_logger_old.c
   gdk_sample.c
   xoshiro256starstar.h
   gdk_private.h
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -747,7 +747,6 @@ typedef struct {
 /* assert that atom width is power of 2, i.e., width == 1<<shift */
 #define assert_shift_width(shift,width) assert(((shift) == 0 && (width) == 0) 
|| ((unsigned)1<<(shift)) == (unsigned)(width))
 
-#define GDKLIBRARY_MINMAX_POS  061042U /* first in Nov2019: no min/max 
position; no BBPinfo value */
 #define GDKLIBRARY_TAILN       061043U /* first in Jul2021: str offset heaps 
names don't take width into account */
 #define GDKLIBRARY_HASHASH     061044U /* first in Jul2021: hashash bit in 
string heaps */
 #define GDKLIBRARY_HSIZE       061045U /* first in Jan2022: heap "size" values 
*/
diff --git a/gdk/gdk_bbp.c b/gdk/gdk_bbp.c
--- a/gdk/gdk_bbp.c
+++ b/gdk/gdk_bbp.c
@@ -482,20 +482,9 @@ heapinit(BAT *b, const char *buf,
 
        (void) bbpversion;      /* could be used to implement compatibility */
 
-       minpos = maxpos = (uint64_t) oid_nil; /* for GDKLIBRARY_MINMAX_POS case 
*/
        size = 0;                             /* for GDKLIBRARY_HSIZE case */
        storage = STORE_INVALID;              /* for GDKLIBRARY_HSIZE case */
-       if (bbpversion <= GDKLIBRARY_MINMAX_POS ?
-           sscanf(buf,
-                  " %10s %" SCNu16 " %" SCNu16 " %" SCNu16 " %" SCNu64
-                  " %" SCNu64 " %" SCNu64 " %" SCNu64 " %" SCNu64
-                  " %" SCNu64 " %" SCNu64 " %" SCNu16
-                  "%n",
-                  type, &width, &var, &properties, &nokey0,
-                  &nokey1, &nosorted, &norevsorted, &base,
-                  &free, &size, &storage,
-                  &n) < 12 :
-           bbpversion <= GDKLIBRARY_HSIZE ?
+       if (bbpversion <= GDKLIBRARY_HSIZE ?
            sscanf(buf,
                   " %10s %" SCNu16 " %" SCNu16 " %" SCNu16 " %" SCNu64
                   " %" SCNu64 " %" SCNu64 " %" SCNu64 " %" SCNu64
@@ -1027,8 +1016,7 @@ BBPheader(FILE *fp, int *lineno, bat *bb
            bbpversion != GDKLIBRARY_JSON &&
            bbpversion != GDKLIBRARY_HSIZE &&
            bbpversion != GDKLIBRARY_HASHASH &&
-           bbpversion != GDKLIBRARY_TAILN &&
-           bbpversion != GDKLIBRARY_MINMAX_POS) {
+           bbpversion != GDKLIBRARY_TAILN) {
                TRC_CRITICAL(GDK, "incompatible BBP version: expected 0%o, got 
0%o. "
                             "This database was probably created by a %s 
version of MonetDB.",
                             GDKLIBRARY, bbpversion,
@@ -1074,19 +1062,15 @@ BBPheader(FILE *fp, int *lineno, bat *bb
        }
        if (sz > *bbpsize)
                *bbpsize = sz;
-       if (bbpversion > GDKLIBRARY_MINMAX_POS) {
-               if (fgets(buf, sizeof(buf), fp) == NULL) {
-                       TRC_CRITICAL(GDK, "short BBP");
-                       return 0;
-               }
-               if (bbpversion <= GDKLIBRARY_STATUS ?
-                   sscanf(buf, "BBPinfo=" LLSCN " %*d", logno) != 1 :
-                   sscanf(buf, "BBPinfo=" LLSCN, logno) != 1) {
-                       TRC_CRITICAL(GDK, "no info value found\n");
-                       return 0;
-               }
-       } else {
-               *logno = 0;
+       if (fgets(buf, sizeof(buf), fp) == NULL) {
+               TRC_CRITICAL(GDK, "short BBP");
+               return 0;
+       }
+       if (bbpversion <= GDKLIBRARY_STATUS ?
+           sscanf(buf, "BBPinfo=" LLSCN " %*d", logno) != 1 :
+           sscanf(buf, "BBPinfo=" LLSCN, logno) != 1) {
+               TRC_CRITICAL(GDK, "no info value found\n");
+               return 0;
        }
        return bbpversion;
 }
@@ -1975,7 +1959,6 @@ BBPinit(bool allow_hge_upgrade)
                        ATOMIC_SET(&GDKdebug, dbg);
                        return GDK_FAIL;
                }
-               assert(bbpversion > GDKLIBRARY_MINMAX_POS || logno == 0);
                ATOMIC_SET(&BBPlogno, logno);
        }
 
diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -1500,7 +1500,7 @@ log_commit(logger *lg, logged_range *pen
 }
 
 static gdk_return
-check_version(logger *lg, FILE *fp, const char *fn, const char *logdir, const 
char *filename, bool *needsnew)
+check_version(logger *lg, FILE *fp, bool *needsnew)
 {
        int version = 0;
 
@@ -1510,29 +1510,7 @@ check_version(logger *lg, FILE *fp, cons
                fclose(fp);
                return GDK_FAIL;
        }
-       if (version < 52300) {  /* first CATALOG_VERSION for "new" log format */
-               lg->catalog_bid = logbat_new(TYPE_int, BATSIZE, PERSISTENT);
-               lg->catalog_id = logbat_new(TYPE_int, BATSIZE, PERSISTENT);
-               lg->dcatalog = logbat_new(TYPE_oid, BATSIZE, PERSISTENT);
-               if (lg->catalog_bid == NULL || lg->catalog_id == NULL || 
lg->dcatalog == NULL) {
-                       GDKerror("cannot create catalog bats");
-                       fclose(fp);
-                       return GDK_FAIL;
-               }
-               /* old_logger_load always closes fp */
-               if (old_logger_load(lg, fn, logdir, fp, version, filename) != 
GDK_SUCCEED) {
-                       /*loads drop no longer needed catalog, snapshots bats */
-                       /*convert catalog_oid -> catalog_id (lng->int) */
-                       GDKerror("Incompatible database version %06d, "
-                                "this server supports version %06d.\n%s",
-                                version, lg->version,
-                                version <
-                                lg->version ? "Maybe you need to upgrade to an 
intermediate release first.\n" : "");
-                       return GDK_FAIL;
-               }
-               *needsnew = false;      /* already written a new log file */
-               return GDK_SUCCEED;
-       } else if (version != lg->version) {
+       if (version != lg->version) {
                if (lg->prefuncp == NULL ||
                    (*lg->prefuncp) (lg->funcdata, version, lg->version) != 
GDK_SUCCEED) {
                        GDKerror("Incompatible database version %06d, "
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to