mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Bug#11853126 RE-ENABLE CONCURRENT READS WHILE CREATING
SECONDARY INDEX IN INNODB This is a follow-up patch. This patch moves part of the new test coverage to a test file that is only run on debug builds since it used debug- only features and therefore broke the test case on release builds.
This commit is contained in:
@ -153,7 +153,6 @@ DROP VIEW v1;
|
|||||||
# KEY NO 0 FOR TABLE IN ERROR LOG
|
# KEY NO 0 FOR TABLE IN ERROR LOG
|
||||||
#
|
#
|
||||||
DROP TABLE IF EXISTS t1;
|
DROP TABLE IF EXISTS t1;
|
||||||
# Test 1: Secondary index
|
|
||||||
# Connection default
|
# Connection default
|
||||||
CREATE TABLE t1 (id INT PRIMARY KEY, value INT) ENGINE = InnoDB;
|
CREATE TABLE t1 (id INT PRIMARY KEY, value INT) ENGINE = InnoDB;
|
||||||
INSERT INTO t1 VALUES (1, 12345);
|
INSERT INTO t1 VALUES (1, 12345);
|
||||||
@ -173,20 +172,3 @@ id value
|
|||||||
1 12345
|
1 12345
|
||||||
COMMIT;
|
COMMIT;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
# Test 2: Primary index
|
|
||||||
CREATE TABLE t1(a INT NOT NULL, b INT NOT NULL) engine=innodb;
|
|
||||||
INSERT INTO t1 VALUES (1, 12345), (2, 23456);
|
|
||||||
# Connection con1
|
|
||||||
SET SESSION debug= "+d,alter_table_rollback_new_index";
|
|
||||||
ALTER TABLE t1 ADD PRIMARY KEY(a);
|
|
||||||
ERROR HY000: Unknown error
|
|
||||||
SELECT * FROM t1;
|
|
||||||
a b
|
|
||||||
1 12345
|
|
||||||
2 23456
|
|
||||||
# Connection default
|
|
||||||
SELECT * FROM t1;
|
|
||||||
a b
|
|
||||||
1 12345
|
|
||||||
2 23456
|
|
||||||
DROP TABLE t1;
|
|
||||||
|
@ -165,3 +165,24 @@ SET DEBUG_SYNC= "now SIGNAL query";
|
|||||||
# Reaping: ALTER TABLE t1 ADD UNIQUE (b)
|
# Reaping: ALTER TABLE t1 ADD UNIQUE (b)
|
||||||
SET DEBUG_SYNC= "RESET";
|
SET DEBUG_SYNC= "RESET";
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
#
|
||||||
|
# Bug#11853126 RE-ENABLE CONCURRENT READS WHILE CREATING SECONDARY INDEX
|
||||||
|
# IN INNODB
|
||||||
|
#
|
||||||
|
DROP TABLE IF EXISTS t1;
|
||||||
|
CREATE TABLE t1(a INT NOT NULL, b INT NOT NULL) engine=innodb;
|
||||||
|
INSERT INTO t1 VALUES (1, 12345), (2, 23456);
|
||||||
|
# Connection con1
|
||||||
|
SET SESSION debug= "+d,alter_table_rollback_new_index";
|
||||||
|
ALTER TABLE t1 ADD PRIMARY KEY(a);
|
||||||
|
ERROR HY000: Unknown error
|
||||||
|
SELECT * FROM t1;
|
||||||
|
a b
|
||||||
|
1 12345
|
||||||
|
2 23456
|
||||||
|
# Connection default
|
||||||
|
SELECT * FROM t1;
|
||||||
|
a b
|
||||||
|
1 12345
|
||||||
|
2 23456
|
||||||
|
DROP TABLE t1;
|
||||||
|
@ -290,8 +290,6 @@ DROP TABLE IF EXISTS t1;
|
|||||||
|
|
||||||
--connect (con1,localhost,root)
|
--connect (con1,localhost,root)
|
||||||
|
|
||||||
--echo # Test 1: Secondary index
|
|
||||||
|
|
||||||
--echo # Connection default
|
--echo # Connection default
|
||||||
connection default;
|
connection default;
|
||||||
CREATE TABLE t1 (id INT PRIMARY KEY, value INT) ENGINE = InnoDB;
|
CREATE TABLE t1 (id INT PRIMARY KEY, value INT) ENGINE = InnoDB;
|
||||||
@ -314,22 +312,6 @@ ALTER TABLE t1 ADD INDEX idx(value);
|
|||||||
SELECT * FROM t1;
|
SELECT * FROM t1;
|
||||||
COMMIT;
|
COMMIT;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
--echo # Test 2: Primary index
|
|
||||||
CREATE TABLE t1(a INT NOT NULL, b INT NOT NULL) engine=innodb;
|
|
||||||
INSERT INTO t1 VALUES (1, 12345), (2, 23456);
|
|
||||||
|
|
||||||
--echo # Connection con1
|
|
||||||
--connection con1
|
|
||||||
SET SESSION debug= "+d,alter_table_rollback_new_index";
|
|
||||||
--error ER_UNKNOWN_ERROR
|
|
||||||
ALTER TABLE t1 ADD PRIMARY KEY(a);
|
|
||||||
SELECT * FROM t1;
|
|
||||||
|
|
||||||
--echo # Connection default
|
|
||||||
--connection default
|
|
||||||
SELECT * FROM t1;
|
|
||||||
DROP TABLE t1;
|
|
||||||
disconnect con1;
|
disconnect con1;
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
# Test file for InnoDB tests that require the debug sync facility
|
# Test file for InnoDB tests that require the debug sync facility
|
||||||
#
|
#
|
||||||
--source include/have_innodb.inc
|
--source include/have_innodb.inc
|
||||||
|
--source include/have_debug.inc
|
||||||
--source include/have_debug_sync.inc
|
--source include/have_debug_sync.inc
|
||||||
# Save the initial number of concurrent sessions.
|
# Save the initial number of concurrent sessions.
|
||||||
--source include/count_sessions.inc
|
--source include/count_sessions.inc
|
||||||
@ -277,6 +278,32 @@ SET DEBUG_SYNC= "RESET";
|
|||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # Bug#11853126 RE-ENABLE CONCURRENT READS WHILE CREATING SECONDARY INDEX
|
||||||
|
--echo # IN INNODB
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
--disable_warnings
|
||||||
|
DROP TABLE IF EXISTS t1;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
CREATE TABLE t1(a INT NOT NULL, b INT NOT NULL) engine=innodb;
|
||||||
|
INSERT INTO t1 VALUES (1, 12345), (2, 23456);
|
||||||
|
|
||||||
|
--echo # Connection con1
|
||||||
|
--connect (con1,localhost,root)
|
||||||
|
SET SESSION debug= "+d,alter_table_rollback_new_index";
|
||||||
|
--error ER_UNKNOWN_ERROR
|
||||||
|
ALTER TABLE t1 ADD PRIMARY KEY(a);
|
||||||
|
SELECT * FROM t1;
|
||||||
|
|
||||||
|
--echo # Connection default
|
||||||
|
--connection default
|
||||||
|
SELECT * FROM t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
disconnect con1;
|
||||||
|
|
||||||
|
|
||||||
# Check that all connections opened by test cases in this file are really
|
# Check that all connections opened by test cases in this file are really
|
||||||
# gone so execution of other tests won't be affected by their presence.
|
# gone so execution of other tests won't be affected by their presence.
|
||||||
--source include/wait_until_count_sessions.inc
|
--source include/wait_until_count_sessions.inc
|
||||||
|
Reference in New Issue
Block a user