summaryrefslogtreecommitdiff
path: root/mysql-test/r/truncate_coverage.result
diff options
context:
space:
mode:
authorKonstantin Osipov <kostja@sun.com>2009-12-11 15:24:23 +0300
committerKonstantin Osipov <kostja@sun.com>2009-12-11 15:24:23 +0300
commit700a361a6a6044f8ef49b6aca7db5810c2641e54 (patch)
treefcbe22f09de95c36f360e6f090d07d24c22fcdc6 /mysql-test/r/truncate_coverage.result
parenta3814e36356fb339f0d22d19a886a7bb68a9161f (diff)
downloadmariadb-git-700a361a6a6044f8ef49b6aca7db5810c2641e54.tar.gz
Backport of:
------------------------------------------------------------ 2599.161.3 Ingo Struewing 2009-07-21 Bug#20667 - Truncate table fails for a write locked table TRUNCATE TABLE was not allowed under LOCK TABLES. The patch removes this restriction. mysql_truncate() does now handle that case.
Diffstat (limited to 'mysql-test/r/truncate_coverage.result')
-rw-r--r--mysql-test/r/truncate_coverage.result70
1 files changed, 70 insertions, 0 deletions
diff --git a/mysql-test/r/truncate_coverage.result b/mysql-test/r/truncate_coverage.result
new file mode 100644
index 00000000000..bb036329f6f
--- /dev/null
+++ b/mysql-test/r/truncate_coverage.result
@@ -0,0 +1,70 @@
+SET DEBUG_SYNC='RESET';
+DROP TABLE IF EXISTS t1;
+#
+# Bug#20667 - Truncate table fails for a write locked table
+#
+CREATE TABLE t1 (c1 INT);
+INSERT INTO t1 VALUES (1);
+#
+# connection con1
+START TRANSACTION;
+INSERT INTO t1 VALUES (2);
+#
+# connection default
+LOCK TABLE t1 WRITE;
+SET DEBUG_SYNC='mdl_upgrade_shared_lock_to_exclusive SIGNAL waiting';
+TRUNCATE TABLE t1;
+#
+# connection con1
+SET DEBUG_SYNC='now WAIT_FOR waiting';
+KILL QUERY @id;
+COMMIT;
+#
+# connection default
+ERROR 70100: Query execution was interrupted
+UNLOCK TABLES;
+DROP TABLE t1;
+SET DEBUG_SYNC='RESET';
+CREATE TABLE t1 (c1 INT);
+INSERT INTO t1 VALUES (1);
+#
+# connection con1
+START TRANSACTION;
+INSERT INTO t1 VALUES (2);
+#
+# connection default
+LOCK TABLE t1 WRITE;
+SET DEBUG_SYNC='mdl_upgrade_shared_lock_to_exclusive SIGNAL waiting';
+TRUNCATE TABLE t1;
+#
+# connection con1
+SET DEBUG_SYNC='now WAIT_FOR waiting';
+COMMIT;
+#
+# connection default
+ERROR 42S02: Table 'test.t1' doesn't exist
+UNLOCK TABLES;
+DROP TABLE t1;
+ERROR 42S02: Unknown table 't1'
+SET DEBUG_SYNC='RESET';
+CREATE TABLE t1 (c1 INT);
+INSERT INTO t1 VALUES (1);
+#
+# connection con1
+START TRANSACTION;
+INSERT INTO t1 VALUES (2);
+#
+# connection default
+SET DEBUG_SYNC='mdl_acquire_exclusive_locks_wait SIGNAL waiting';
+TRUNCATE TABLE t1;
+#
+# connection con1
+SET DEBUG_SYNC='now WAIT_FOR waiting';
+KILL QUERY @id;
+COMMIT;
+#
+# connection default
+ERROR 70100: Query execution was interrupted
+UNLOCK TABLES;
+DROP TABLE t1;
+SET DEBUG_SYNC='RESET';