49 lines
1.2 KiB
Plaintext
49 lines
1.2 KiB
Plaintext
# Check if a tablespace is discoverable during crash recovery
|
|
|
|
--source include/have_innodb_max_16k.inc
|
|
|
|
--source include/not_valgrind.inc
|
|
--source include/have_debug.inc
|
|
|
|
let MYSQLD_DATADIR= `select @@datadir`;
|
|
|
|
SET GLOBAL innodb_file_per_table=ON;
|
|
|
|
CREATE DATABASE discover;
|
|
use discover;
|
|
|
|
# Stop the once a second checkpoint
|
|
SET GLOBAL debug="+d,periodical_checkpoint_disabled";
|
|
|
|
# Do not perform background activities in master thread
|
|
SET GLOBAL innodb_master_thread_disabled_debug=1;
|
|
|
|
# Check if we can recover from a crash when a full checkpoint happens
|
|
# between the CREATE redo logging and the tablespace page init.
|
|
|
|
SET SESSION debug="+d,fil_ibd_create_log";
|
|
|
|
--source include/expect_crash.inc
|
|
|
|
--error 2013
|
|
CREATE TABLE discover.t1(c INT) engine=InnoDB;
|
|
|
|
--source include/start_mysqld.inc
|
|
|
|
CREATE TABLE discover.t2(c INT) ENGINE=InnoDB;
|
|
|
|
BEGIN;
|
|
INSERT INTO t2 VALUES(1);
|
|
INSERT INTO t2 SELECT * FROM t2;
|
|
INSERT INTO t2 SELECT * FROM t2;
|
|
INSERT INTO t2 SELECT * FROM t2;
|
|
|
|
--source include/kill_mysqld.inc
|
|
--source include/start_mysqld.inc
|
|
|
|
# Should be empty, transaction should be rolled back and the tablespace
|
|
# should be found in the right place.
|
|
SELECT * FROM t2;
|
|
|
|
DROP DATABASE discover;
|