mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 12:32:27 +01:00
Backport test cases for Bug#46198 and Bug#38054
from 6.0 to trunk-bugfixing.
This commit is contained in:
parent
f11008baa3
commit
5009ab856d
4 changed files with 82 additions and 0 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue