#At file:///mnt/raid/alik/MySQL/bzr/00.builds/mysql-trunk-bugfixing.make/ based on revid:aelkin@stripped
3050 Alexander Nozdrin 2010-05-19
Backport test cases for Bug#46198 and Bug#38054
from 6.0 to trunk-bugfixing.
modified:
mysql-test/r/partition.result
mysql-test/r/variables_debug.result
mysql-test/t/partition.test
mysql-test/t/variables_debug.test
=== modified file 'mysql-test/r/partition.result'
--- a/mysql-test/r/partition.result 2010-02-20 10:07:32 +0000
+++ b/mysql-test/r/partition.result 2010-05-19 12:31:18 +0000
@@ -2111,4 +2111,24 @@ COUNT(*)
0
DROP TABLE t1;
SET SESSION SQL_MODE=DEFAULT;
+#
+# Bug#46198: Hang after failed ALTER TABLE on partitioned table.
+#
+DROP TABLE IF EXISTS t1;
+CREATE TABLE t1 (s1 INT PRIMARY KEY) PARTITION BY HASH(s1);
+LOCK TABLES t1 WRITE, t1 b READ;
+UNLOCK TABLES;
+ALTER TABLE t1 DROP PARTITION p1;
+ERROR HY000: DROP PARTITION can only be used on RANGE/LIST partitions
+SELECT * FROM t1;
+s1
+DROP TABLE t1;
+CREATE TABLE t1 (s1 VARCHAR(5) PRIMARY KEY) PARTITION BY KEY(s1);
+LOCK TABLES t1 WRITE, t1 b READ;
+UNLOCK TABLES;
+ALTER TABLE t1 ADD COLUMN (s3 VARCHAR(5) UNIQUE);
+ERROR HY000: A UNIQUE INDEX must include all columns in the table's partitioning function
+SELECT * FROM t1;
+s1
+DROP TABLE t1;
End of 5.1 tests
=== modified file 'mysql-test/r/variables_debug.result'
--- a/mysql-test/r/variables_debug.result 2008-02-26 15:03:59 +0000
+++ b/mysql-test/r/variables_debug.result 2010-05-19 12:31:18 +0000
@@ -10,3 +10,10 @@ set debug= '-P';
select @@debug;
@@debug
T
+SELECT @@session.debug, @@global.debug;
+@@session.debug @@global.debug
+T
+SET SESSION debug = '';
+SELECT @@session.debug, @@global.debug;
+@@session.debug @@global.debug
+
=== modified file 'mysql-test/t/partition.test'
--- a/mysql-test/t/partition.test 2010-02-02 09:22:17 +0000
+++ b/mysql-test/t/partition.test 2010-05-19 12:31:18 +0000
@@ -2118,4 +2118,49 @@ SET SESSION SQL_MODE=DEFAULT;
#SELECT 1 FROM t1 JOIN t1 AS t2 USING (a) FOR UPDATE;
#
#DROP TABLE t1;
+
+--echo #
+--echo # Bug#46198: Hang after failed ALTER TABLE on partitioned table.
+--echo #
+
+--disable_warnings
+DROP TABLE IF EXISTS t1;
+--enable_warnings
+
+#
+# Case 1.
+#
+
+CREATE TABLE t1 (s1 INT PRIMARY KEY) PARTITION BY HASH(s1);
+
+LOCK TABLES t1 WRITE, t1 b READ;
+
+UNLOCK TABLES;
+
+--error ER_ONLY_ON_RANGE_LIST_PARTITION
+ALTER TABLE t1 DROP PARTITION p1;
+
+# The SELECT below used to hang in tdc_wait_for_old_versions().
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
+#
+# Case 2.
+#
+
+CREATE TABLE t1 (s1 VARCHAR(5) PRIMARY KEY) PARTITION BY KEY(s1);
+
+LOCK TABLES t1 WRITE, t1 b READ;
+
+UNLOCK TABLES;
+
+--error ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF
+ALTER TABLE t1 ADD COLUMN (s3 VARCHAR(5) UNIQUE);
+
+# The SELECT below used to hang in tdc_wait_for_old_versions().
+SELECT * FROM t1;
+
+DROP TABLE t1;
+
--echo End of 5.1 tests
=== modified file 'mysql-test/t/variables_debug.test'
--- a/mysql-test/t/variables_debug.test 2008-02-26 15:03:59 +0000
+++ b/mysql-test/t/variables_debug.test 2010-05-19 12:31:18 +0000
@@ -10,3 +10,13 @@ set debug= '+P';
select @@debug;
set debug= '-P';
select @@debug;
+
+#
+# Bug#38054: "SET SESSION debug" modifies @@global.debug variable
+#
+
+SELECT @@session.debug, @@global.debug;
+
+SET SESSION debug = '';
+
+SELECT @@session.debug, @@global.debug;
Attachment: [text/bzr-bundle] bzr/alik@sun.com-20100519123118-t3o5o0px1klwkkt2.bundle
| Thread |
|---|
| • bzr commit into mysql-trunk-bugfixing branch (alik:3050) Bug#38054Bug#46198 | Alexander Nozdrin | 19 May |