Changeset: e6c5993ce41c for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/e6c5993ce41c
Modified Files:
        sql/server/rel_schema.c
Branch: literal_features
Log Message:

merge with default


diffs (truncated from 840 to 300 lines):

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -820,3 +820,4 @@ c9e6096e7519636a4e840c7a0c2e27cccb7dc0fe
 c9e6096e7519636a4e840c7a0c2e27cccb7dc0fe Jun2023_SP3_release
 1230526af30f40eeea30fb87c47c3e414920561f Dec2023_1
 1230526af30f40eeea30fb87c47c3e414920561f Dec2023_release
+95d8feaa1167b5ba87bd99253c3f4e62ebf528a1 Dec2023_3
diff --git a/ChangeLog-Archive b/ChangeLog-Archive
--- a/ChangeLog-Archive
+++ b/ChangeLog-Archive
@@ -1,6 +1,12 @@
 # DO NOT EDIT THIS FILE -- MAINTAINED AUTOMATICALLY
 # This file contains past ChangeLog entries
 
+* Thu Jan 11 2024 Sjoerd Mullender <sjo...@acm.org> - 11.49.3-20240304
+- The copyright for the MonetDB software has been transferred to the newly
+  established MonetDB Foundation, a not-for-profit foundation with the
+  express goal of furthering the MonetDB database system.  The license
+  for the software does not change: MonetDB remains fully open source.
+
 * Fri Dec  1 2023 Sjoerd Mullender <sjo...@acm.org> - 11.49.1-20231221
 - All binary packages are now signed with a new key with key fingerprint
   DBCE 5625 94D7 1959 7B54  CE85 3F1A D47F 5521 A603.
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -91,7 +91,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/%{name}-%{version}.tar.bz2
+Source: 
https://www.monetdb.org/downloads/sources/Dec2023-SP1/%{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
@@ -917,6 +917,69 @@ fi
 %endif
 
 %changelog
+* Mon Mar 04 2024 Sjoerd Mullender <sjo...@acm.org> - 11.49.3-20240304
+- Rebuilt.
+- GH#6800: Please add information_schema (ANSI SQL norm)
+- GH#7152: Occasional dbfarm corruption upon database restart
+- GH#7412: MonetDB server crashes in `vscanf`
+- GH#7415: MonetDB server crashes in `HEAP_malloc`
+- GH#7416: MonetDB server crashes in `atom_get_int`
+- GH#7417: MonetDB server crashes in `trimchars`.
+- GH#7418: MonetDB server crashes in `bind_col_exp`
+- GH#7420: Performance issue with lower(string)
+- GH#7425: The last statement, execution error, is a false positive?
+- GH#7426: Unexpected result for INNER JOIN with IS NOT NULL
+- GH#7428: Unexpected result when using BETWEEN operator
+- GH#7429: Unexpected result when using `CASE WHEN`
+- GH#7430: Unexpected result when using `AND` and `IS NOT NULL`
+- GH#7431: [bug] Error code found, please confirm
+- GH#7432: MonetDB server crashes in `dameraulevenshtein`
+- GH#7433: MonetDB server crashes in `exp_atom`
+- GH#7434: MonetDB server crashes in `exp_bin`
+- GH#7435: MonetDB server crashes in `exp_copy`
+- GH#7436: MonetDB server crashes in `exp_ref`
+- GH#7437: MonetDB server crashes in `exp_values_set_supertype`
+- GH#7438: MonetDB server crashes in `exps_bind_column`
+- GH#7439: MonetDB server crashes in `exps_card`
+- GH#7440: MonetDB server crashes in `gc_col`
+- GH#7441: MonetDB server crashes in `is_column_unique`
+- GH#7442: MonetDB server crashes in `mat_join2`
+- GH#7443: MonetDB server crashes in `merge_table_prune_and_unionize`
+- GH#7444: [bug] the table cannot be created because the reserved word is
+  incorrectly set
+- GH#7447: Unexpected result when using `BETWEEN` in `INNER JOIN`
+- GH#7448: Unexpected result when using `AND`/`OR` chain
+- GH#7450: Unexpected result when `CREATE VIEW` with `WHERE NULL`
+- GH#7451: Unexpected result when using `BETWEEN` and `CAST`
+- GH#7453: Cannot recover an msqldump
+- GH#7455: Unexpected result when using `BETWEEN` with `BOOLEAN` values
+- GH#7456: Crash when `INNER JOIN` with `VIEW`
+- GH#7457: Unexpected result when using `AND` with `INTEGER`
+- GH#7458: Unexpected result when using `SIGN`
+- GH#7461: Crash by potentially use of bad escape characters
+- GH#7462: Crash when using `BETWEEN AND`
+
+* Fri Mar  1 2024 Sjoerd Mullender <sjo...@acm.org> - 11.49.3-20240304
+- gdk: Fixed a regression where bats weren't always cleaned up when they
+  weren't needed anymore.  In particular, after a DELETE FROM table query
+  without a WHERE clause (which deletes all rows from the table), the
+  bats for the table get replaced by new ones, and the old, now unused,
+  bats weren't removed from the database.
+
+* Mon Jan 15 2024 Sjoerd Mullender <sjo...@acm.org> - 11.49.3-20240304
+- geom: We switched over to using the reentrant interface of the geos library.
+  This fixed a number of bugs that would occur sporadically.
+
+* Mon Jan 15 2024 Sjoerd Mullender <sjo...@acm.org> - 11.49.3-20240304
+- sql: The function json.isvalid(json) incorrectly returned true if the
+  argument was null.  It should return null.
+
+* Thu Jan 11 2024 Sjoerd Mullender <sjo...@acm.org> - 11.49.3-20240304
+- MonetDB: The copyright for the MonetDB software has been transferred to the 
newly
+  established MonetDB Foundation, a not-for-profit foundation with the
+  express goal of furthering the MonetDB database system.  The license
+  for the software does not change: MonetDB remains fully open source.
+
 * Thu Dec 21 2023 Sjoerd Mullender <sjo...@acm.org> - 11.49.1-20231221
 - Rebuilt.
 - GH#6933: Add support for scalar function IFNULL(expr1, expr2)
diff --git a/cmake/monetdb-versions.cmake b/cmake/monetdb-versions.cmake
--- a/cmake/monetdb-versions.cmake
+++ b/cmake/monetdb-versions.cmake
@@ -43,7 +43,7 @@ set(MONETDB_VERSION "${MONETDB_VERSION_M
 # version of the GDK library (subdirectory gdk; also includes
 # common/options and common/utils)
 set(GDK_VERSION_MAJOR "28")
-set(GDK_VERSION_MINOR "0")
+set(GDK_VERSION_MINOR "1")
 set(GDK_VERSION_PATCH "0")
 set(GDK_VERSION 
"${GDK_VERSION_MAJOR}.${GDK_VERSION_MINOR}.${GDK_VERSION_PATCH}")
 
@@ -56,7 +56,7 @@ set(MAPI_VERSION "${MAPI_VERSION_MAJOR}.
 # version of the MONETDB5 library (subdirectory monetdb5, not including extras 
or sql)
 set(MONETDB5_VERSION_MAJOR "35")
 set(MONETDB5_VERSION_MINOR "0")
-set(MONETDB5_VERSION_PATCH "0")
+set(MONETDB5_VERSION_PATCH "1")
 set(MONETDB5_VERSION 
"${MONETDB5_VERSION_MAJOR}.${MONETDB5_VERSION_MINOR}.${MONETDB5_VERSION_PATCH}")
 
 # version of the MONETDBE library (subdirectory tools/monetdbe)
@@ -74,5 +74,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 "0")
+set(SQL_VERSION_PATCH "1")
 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,81 @@
+monetdb (11.49.3) unstable; urgency=low
+
+  * Rebuilt.
+  * GH#6800: Please add information_schema (ANSI SQL norm)
+  * GH#7152: Occasional dbfarm corruption upon database restart
+  * GH#7412: MonetDB server crashes in `vscanf`
+  * GH#7415: MonetDB server crashes in `HEAP_malloc`
+  * GH#7416: MonetDB server crashes in `atom_get_int`
+  * GH#7417: MonetDB server crashes in `trimchars`.
+  * GH#7418: MonetDB server crashes in `bind_col_exp`
+  * GH#7420: Performance issue with lower(string)
+  * GH#7425: The last statement, execution error, is a false positive?
+  * GH#7426: Unexpected result for INNER JOIN with IS NOT NULL
+  * GH#7428: Unexpected result when using BETWEEN operator
+  * GH#7429: Unexpected result when using `CASE WHEN`
+  * GH#7430: Unexpected result when using `AND` and `IS NOT NULL`
+  * GH#7431: [bug] Error code found, please confirm
+  * GH#7432: MonetDB server crashes in `dameraulevenshtein`
+  * GH#7433: MonetDB server crashes in `exp_atom`
+  * GH#7434: MonetDB server crashes in `exp_bin`
+  * GH#7435: MonetDB server crashes in `exp_copy`
+  * GH#7436: MonetDB server crashes in `exp_ref`
+  * GH#7437: MonetDB server crashes in `exp_values_set_supertype`
+  * GH#7438: MonetDB server crashes in `exps_bind_column`
+  * GH#7439: MonetDB server crashes in `exps_card`
+  * GH#7440: MonetDB server crashes in `gc_col`
+  * GH#7441: MonetDB server crashes in `is_column_unique`
+  * GH#7442: MonetDB server crashes in `mat_join2`
+  * GH#7443: MonetDB server crashes in `merge_table_prune_and_unionize`
+  * GH#7444: [bug] the table cannot be created because the reserved word is
+    incorrectly set
+  * GH#7447: Unexpected result when using `BETWEEN` in `INNER JOIN`
+  * GH#7448: Unexpected result when using `AND`/`OR` chain
+  * GH#7450: Unexpected result when `CREATE VIEW` with `WHERE NULL`
+  * GH#7451: Unexpected result when using `BETWEEN` and `CAST`
+  * GH#7453: Cannot recover an msqldump
+  * GH#7455: Unexpected result when using `BETWEEN` with `BOOLEAN` values
+  * GH#7456: Crash when `INNER JOIN` with `VIEW`
+  * GH#7457: Unexpected result when using `AND` with `INTEGER`
+  * GH#7458: Unexpected result when using `SIGN`
+  * GH#7461: Crash by potentially use of bad escape characters
+  * GH#7462: Crash when using `BETWEEN AND`
+
+ -- Sjoerd Mullender <sjo...@acm.org>  Mon, 04 Mar 2024 15:07:11 +0100
+
+monetdb (11.49.3) unstable; urgency=low
+
+  * gdk: Fixed a regression where bats weren't always cleaned up when they
+    weren't needed anymore.  In particular, after a DELETE FROM table query
+    without a WHERE clause (which deletes all rows from the table), the
+    bats for the table get replaced by new ones, and the old, now unused,
+    bats weren't removed from the database.
+
+ -- Sjoerd Mullender <sjo...@acm.org>  Fri, 1 Mar 2024 15:07:11 +0100
+
+monetdb (11.49.3) unstable; urgency=low
+
+  * geom: We switched over to using the reentrant interface of the geos 
library.
+    This fixed a number of bugs that would occur sporadically.
+
+ -- Sjoerd Mullender <sjo...@acm.org>  Mon, 15 Jan 2024 15:07:11 +0100
+
+monetdb (11.49.3) unstable; urgency=low
+
+  * sql: The function json.isvalid(json) incorrectly returned true if the
+    argument was null.  It should return null.
+
+ -- Sjoerd Mullender <sjo...@acm.org>  Mon, 15 Jan 2024 15:07:11 +0100
+
+monetdb (11.49.3) unstable; urgency=low
+
+  * MonetDB: The copyright for the MonetDB software has been transferred to 
the newly
+    established MonetDB Foundation, a not-for-profit foundation with the
+    express goal of furthering the MonetDB database system.  The license
+    for the software does not change: MonetDB remains fully open source.
+
+ -- Sjoerd Mullender <sjo...@acm.org>  Thu, 11 Jan 2024 15:07:11 +0100
+
 monetdb (11.49.1) 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,13 @@
 # DO NOT EDIT THIS FILE -- MAINTAINED AUTOMATICALLY
 # This file contains past ChangeLog entries
 
+* Fri Mar  1 2024 Sjoerd Mullender <sjo...@acm.org> - 11.49.3-20240304
+- Fixed a regression where bats weren't always cleaned up when they
+  weren't needed anymore.  In particular, after a DELETE FROM table query
+  without a WHERE clause (which deletes all rows from the table), the
+  bats for the table get replaced by new ones, and the old, now unused,
+  bats weren't removed from the database.
+
 * Tue Nov 21 2023 Sjoerd Mullender <sjo...@acm.org> - 11.49.1-20231221
 - Fixed a (rare) race condition between copying a bat (COLcopy) and
   updates happening in parallel to that same bat.  This may only be
diff --git a/gdk/gdk_logger.c b/gdk/gdk_logger.c
--- a/gdk/gdk_logger.c
+++ b/gdk/gdk_logger.c
@@ -1224,6 +1224,8 @@ log_read_transaction(logger *lg, uint32_
        bool ok = true;
        ATOMIC_BASE_TYPE dbg = ATOMIC_GET(&GDKdebug);
 
+       (void) maxupdated;      /* only used inside assert() */
+
        if (!lg->flushing)
                ATOMIC_AND(&GDKdebug, ~CHECKMASK);
 
@@ -1251,16 +1253,40 @@ log_read_transaction(logger *lg, uint32_
                        if (updated && BAThash(lg->catalog_id) == GDK_SUCCEED) {
                                BATiter cni = bat_iterator(lg->catalog_id);
                                BUN p;
+                               BUN posnew = BUN_NONE;
+                               BUN posold = BUN_NONE;
                                MT_rwlock_rdlock(&cni.b->thashlock);
                                HASHloop_int(cni, cni.b->thash, p, &l.id) {
-                                       (void)maxupdated;
-                                       assert(p < maxupdated);
-                                       updated[p / 32] |= 1U << (p % 32);
-                                       /* there should only be one hit */
-                                       break;
+                                       lng lid = *(lng *) 
Tloc(lg->catalog_lid, p);
+                                       if (lid == lng_nil || lid > tr->tid)
+                                               posnew = p;
+                                       else if (lid == tr->tid)
+                                               posold = p;
                                }
                                MT_rwlock_rdunlock(&cni.b->thashlock);
                                bat_iterator_end(&cni);
+                               /* Normally at this point, posnew is the
+                                * location of the bat that this
+                                * transaction is working on, and posold
+                                * is the location of the previous
+                                * version of the bat.  If LOG_CREATE,
+                                * both are relevant, since the latter
+                                * is the new bat, and the former is the
+                                * to-be-destroyed bat.  For
+                                * LOG_DESTROY, only posnew should be
+                                * relevant, but for the other types, if
+                                * the table is destroyed later in the
+                                * same transaction, we need posold, and
+                                * else (the normal case) we need
+                                * posnew. */
+                               if (posnew != BUN_NONE) {
+                                       assert(posnew < maxupdated);
+                                       updated[posnew / 32] |= 1U << (posnew % 
32);
+                               }
+                               if ((l.flag == LOG_CREATE || posnew == 
BUN_NONE) && posold != BUN_NONE) {
+                                       assert(posold < maxupdated);
+                                       updated[posold / 32] |= 1U << (posold % 
32);
+                               }
                        }
                        break;
                default:
@@ -2643,8 +2669,7 @@ log_flush(logger *lg, ulng ts)
                                TRC_CRITICAL(GDK, "log_id filename is too 
large\n");
                                return GDK_FAIL;
                        }
-                       if ((filename =
-                            GDKfilepath(BBPselectfarm(PERSISTENT, 0, offheap), 
lg->dir, LOGFILE, id)) == NULL) {
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to