78 lines
2.0 KiB
Plaintext
78 lines
2.0 KiB
Plaintext
--echo #
|
|
--echo # BUG#19316315 CRASH RECOVERY FAILS AFTER ONLINE ADD INDEX
|
|
--echo #
|
|
|
|
--source include/have_innodb.inc
|
|
--source include/not_embedded.inc
|
|
--source include/have_debug_sync.inc
|
|
|
|
CREATE TABLE t1 (c1 INT PRIMARY KEY, c2 INT) ENGINE=InnoDB;
|
|
|
|
INSERT INTO t1 VALUES (1,1), (2,2), (3,3), (4,4), (5,5);
|
|
|
|
connect (con1,localhost,root,,);
|
|
|
|
SET DEBUG_SYNC = 'RESET';
|
|
SET DEBUG_SYNC = 'row_log_apply_after SIGNAL apply_after WAIT_FOR insert_after';
|
|
--send
|
|
ALTER TABLE t1 ADD UNIQUE INDEX(c2);
|
|
|
|
connection default;
|
|
|
|
SET DEBUG_SYNC = 'now WAIT_FOR apply_after';
|
|
INSERT INTO t1 VALUES(6, 6);
|
|
|
|
disconnect con1;
|
|
|
|
--source include/kill_and_restart_mysqld.inc
|
|
|
|
SELECT * FROM t1;
|
|
|
|
DROP TABLE t1;
|
|
|
|
# Clean up temporary files left by crash.
|
|
let MYSQLD_DATADIR= `SELECT @@datadir`;
|
|
--remove_files_wildcard $MYSQLD_DATADIR/test #sql*.frm
|
|
|
|
#
|
|
## Bug #26654685 INDEX->ID == BTR_PAGE_GET_INDEX_ID(PAGE)
|
|
## AT BTR_CUR_SEARCH_TO_NTH_LEVEL IN BTR/B
|
|
#
|
|
|
|
--source include/have_debug.inc
|
|
--source include/have_debug_sync.inc
|
|
--source include/count_sessions.inc
|
|
--source include/have_innodb_max_16k.inc
|
|
|
|
CREATE TABLE parent (a INT PRIMARY KEY, b INT NOT NULL) ENGINE = InnoDB;
|
|
INSERT INTO parent VALUES(1,2),(2,2);
|
|
CREATE TABLE child (a INT PRIMARY KEY, b INT NOT NULL) ENGINE = InnoDB;
|
|
INSERT INTO child VALUES (10, 2);
|
|
|
|
# This should rollback due to dup key
|
|
SET DEBUG_SYNC = 'innodb_inplace_alter_table_enter SIGNAL start_create
|
|
WAIT_FOR go_ahead';
|
|
--send CREATE UNIQUE INDEX idx ON parent(b);
|
|
|
|
# Make table ref_count > 1
|
|
connect (con1,localhost,root,,);
|
|
connection con1;
|
|
SET DEBUG_SYNC = 'now WAIT_FOR start_create';
|
|
INSERT INTO parent VALUES(4, 2);
|
|
SET DEBUG_SYNC = 'now SIGNAL go_ahead';
|
|
|
|
connection default;
|
|
--error ER_DUP_ENTRY
|
|
reap;
|
|
SET DEBUG_SYNC = 'now SIGNAL conn_add_fk';
|
|
|
|
connection con1;
|
|
SET DEBUG_SYNC = 'now WAIT_FOR conn_add_fk';
|
|
--error ER_CANNOT_ADD_FOREIGN
|
|
ALTER TABLE child ADD CONSTRAINT cfx FOREIGN KEY (b) REFERENCES parent(b);
|
|
|
|
--connection default
|
|
DROP TABLE child;
|
|
DROP TABLE parent;
|
|
--disconnect con1
|