Changeset: 57e0e8255cbe for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/57e0e8255cbe
Added Files:
        sql/test/BugTracker-2026/Tests/8036-alter+insert-in-trans.test
Modified Files:
        sql/storage/bat/bat_storage.c
        sql/test/BugTracker-2026/Tests/All
Branch: Dec2025
Log Message:

When adding transactions, don't skip if new transaction has a log callback.
Fixes #8036.


diffs (51 lines):

diff --git a/sql/storage/bat/bat_storage.c b/sql/storage/bat/bat_storage.c
--- a/sql/storage/bat/bat_storage.c
+++ b/sql/storage/bat/bat_storage.c
@@ -142,7 +142,7 @@ trans_add_obj_(sql_trans *tr, sql_base *
        if (tr->changes) {
                for(node *n = tr->changes->h; n && !found; n = n->next) {
                        sql_change *c = n->data;
-                       if (c->obj->id == b->id)
+                       if (c->obj->id == b->id && !(c->log == NULL && log != 
NULL))
                                found = true;
                }
        }
diff --git a/sql/test/BugTracker-2026/Tests/8036-alter+insert-in-trans.test 
b/sql/test/BugTracker-2026/Tests/8036-alter+insert-in-trans.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2026/Tests/8036-alter+insert-in-trans.test
@@ -0,0 +1,26 @@
+statement ok
+CREATE TABLE t(x INTEGER)
+
+statement ok
+START TRANSACTION
+
+statement ok
+ALTER TABLE t ALTER COLUMN x BIGINT
+
+statement ok
+INSERT INTO t VALUES(2)
+
+query I
+SELECT count(*) FROM t
+----
+1
+
+statement ok
+COMMIT
+
+@connection(id=other, username=monetdb, password=monetdb)
+query I
+SELECT count(*) FROM t
+----
+1
+
diff --git a/sql/test/BugTracker-2026/Tests/All 
b/sql/test/BugTracker-2026/Tests/All
--- a/sql/test/BugTracker-2026/Tests/All
+++ b/sql/test/BugTracker-2026/Tests/All
@@ -206,3 +206,4 @@ KNOWNFAIL?8026-having-expression-bug
 KNOWNFAIL?8028-coalesce-groupby-rollup-having-bug
 KNOWNFAIL?8030-inner-join-group-by-bug
 8035-alter-type
+8036-alter+insert-in-trans
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to