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]
