Changeset: dbdb5c7db00c for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/dbdb5c7db00c
Added Files:
        sql/test/BugTracker-2026/Tests/7758-truncate-sys-tables-corrupts-db.test
Modified Files:
        sql/test/BugTracker-2026/Tests/All
Branch: Dec2025
Log Message:

Add test for #7758


diffs (108 lines):

diff --git 
a/sql/test/BugTracker-2026/Tests/7758-truncate-sys-tables-corrupts-db.test 
b/sql/test/BugTracker-2026/Tests/7758-truncate-sys-tables-corrupts-db.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2026/Tests/7758-truncate-sys-tables-corrupts-db.test
@@ -0,0 +1,95 @@
+-- populate the tmp schema system tables first by creating a temp table with 
constraints
+statement ok
+CREATE TEMP TABLE tt7758(id serial, nm VARCHAR(99) NOT NULL UNIQUE CHECK 
(LENGTH(nm) >= 1))
+
+-- Step 1: Truncate tmp.triggers
+query I nosort
+SELECT (COUNT(*) > 0) AS has_rows FROM tmp.triggers
+----
+0
+
+statement error TRUNCATE system tables is not allowed
+TRUNCATE TABLE tmp.triggers
+
+-- Step 2: Truncate tmp.objects
+query I nosort
+SELECT (COUNT(*) > 0) AS has_rows FROM tmp.objects
+----
+1
+
+statement error TRUNCATE system tables is not allowed
+TRUNCATE TABLE tmp.objects
+
+query I nosort
+SELECT (COUNT(*) > 0) AS has_rows FROM tmp.objects
+----
+1
+
+-- Step 3: Truncate tmp.keys
+query I nosort
+SELECT (COUNT(*) > 0) AS has_rows FROM tmp.keys
+----
+1
+
+statement error TRUNCATE system tables is not allowed
+TRUNCATE TABLE tmp.keys
+
+query I nosort
+SELECT (COUNT(*) > 0) AS has_rows FROM tmp.keys
+----
+1
+
+-- Step 4: Truncate tmp.idxs
+query I nosort
+SELECT (COUNT(*) > 0) AS has_rows FROM tmp.idxs
+----
+1
+
+statement error TRUNCATE system tables is not allowed
+TRUNCATE TABLE tmp.idxs
+
+query I nosort
+SELECT (COUNT(*) > 0) AS has_rows FROM tmp.idxs
+----
+1
+
+-- Step 5: This is where the crash occurs
+query I nosort
+SELECT (COUNT(*) > 0) AS has_rows FROM tmp._tables
+----
+1
+
+statement error TRUNCATE system tables is not allowed
+TRUNCATE TABLE tmp._tables
+
+query I nosort
+SELECT (COUNT(*) > 0) AS has_rows FROM tmp._tables
+----
+1
+
+query I nosort
+SELECT (COUNT(*) > 0) AS has_rows FROM tmp._columns
+----
+1
+
+statement error TRUNCATE system tables is not allowed
+TRUNCATE TABLE tmp._columns
+
+query I nosort
+SELECT (COUNT(*) > 0) AS has_rows FROM tmp._columns
+----
+1
+
+statement ok
+DROP TABLE tmp.tt7758
+
+query I nosort
+SELECT (COUNT(*) > 0) AS has_rows FROM tmp._tables
+----
+0
+
+query I nosort
+SELECT (COUNT(*) > 0) AS has_rows FROM tmp._columns
+----
+0
+
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
@@ -1,3 +1,4 @@
+KNOWNFAIL?7758-truncate-sys-tables-corrupts-db
 7766-assertion-failure
 7767-assertion-failure
 7769-assertion-failure
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to