1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-07 00:04:31 +03:00

Merge 10.3 into 10.4

This commit is contained in:
Marko Mäkelä
2018-09-11 21:31:47 +03:00
97 changed files with 1291 additions and 7095 deletions

View File

@@ -1,110 +0,0 @@
#
# load tables with some significant amount of data and then truncate it.
#
#-----------------------------------------------------------------------------
#
# create test-bed
#
let $per_table = `select @@innodb_file_per_table`;
let $WL6501_TMP_DIR = `select @@tmpdir`;
let $WL6501_DATA_DIR = `select @@datadir`;
set innodb_strict_mode=OFF;
#-----------------------------------------------------------------------------
#
# create procedure to load data
#
delimiter |;
create procedure populate()
begin
declare i int default 1;
while (i <= 5000) do
insert into t1 values (i, 'a', 'b');
insert into t2 values (i, 'a', 'b');
insert into t3 values (i, 'a', 'b');
set i = i + 1;
end while;
end|
create procedure populate_small()
begin
declare i int default 10001;
while (i <= 12000) do
insert into t1 values (i, 'c', 'd');
insert into t2 values (i, 'a', 'b');
insert into t3 values (i, 'a', 'b');
set i = i + 1;
end while;
end|
delimiter ;|
#-----------------------------------------------------------------------------
#
# create and load the tables.
#
eval set global innodb_file_per_table = $wl6501_file_per_table;
--replace_regex /[0-9]+/NUMBER/
eval create table t1
(i int, c1 char(100), c2 char(100),
index c1_idx(c1))
engine=innodb row_format=$wl6501_row_fmt
key_block_size=$wl6501_kbs;
eval create table t2
(i int, c1 char(100), c2 char(100),
index c1_idx(c1))
engine=innodb row_format=$wl6501_row_fmt
key_block_size=$wl6501_kbs;
eval create temporary table t3
(i int, c1 char(100), c2 char(100),
index c1_idx(c1))
engine=innodb row_format=$wl6501_row_fmt
key_block_size=$wl6501_kbs;
#
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
begin;
call populate();
commit;
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
#
truncate table t1;
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
#
call populate_small();
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
#
truncate table t2;
truncate table t3;
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
#
call populate_small();
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
#
drop table t1;
drop table t2;
drop table t3;
#-----------------------------------------------------------------------------
#
# drop the procedure
#
drop procedure populate;
drop procedure populate_small;
#-----------------------------------------------------------------------------
#
# remove test-bed
#
eval set global innodb_file_per_table = $per_table;

View File

@@ -419,12 +419,12 @@ ALTER TABLE t7_restart TRUNCATE PARTITION p1;
=== information_schema.innodb_sys_tablespaces and innodb_sys_datafiles ===
Space_Name Space_Type Page_Size Zip_Size Formats_Permitted Path
test/t4_restart Single DEFAULT DEFAULT Dynamic MYSQLD_DATADIR/test/t4_restart.ibd
test/t5_restart Single DEFAULT DEFAULT Dynamic MYSQL_TMP_DIR/alt_dir/test/t5_restart.ibd
test/t6_restart#p#p0 Single DEFAULT DEFAULT Compressed MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p0.ibd
test/t6_restart#p#p1 Single DEFAULT DEFAULT Compressed MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p1.ibd
test/t6_restart#p#p2 Single DEFAULT DEFAULT Compressed MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p2.ibd
test/t7_restart#p#p0#sp#s0 Single DEFAULT DEFAULT Dynamic MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p0#sp#s0.ibd
test/t7_restart#p#p0#sp#s1 Single DEFAULT DEFAULT Dynamic MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p0#sp#s1.ibd
test/t5_restart Single DEFAULT DEFAULT Dynamic MYSQL_TMP_DIR/alt_dir/test/t5_restart.ibd
test/t6_restart#p#p2 Single DEFAULT DEFAULT Compressed MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p2.ibd
test/t7_restart#p#p1#sp#s2 Single DEFAULT DEFAULT Dynamic MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p1#sp#s2.ibd
test/t7_restart#p#p1#sp#s3 Single DEFAULT DEFAULT Dynamic MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p1#sp#s3.ibd
INSERT INTO t5_restart VALUES (1000000000, 'MySQL', 'InnoDB', '2011-11-11', 'Read this after reboot');
@@ -523,12 +523,12 @@ innodb_file_per_table ON
=== information_schema.innodb_sys_tablespaces and innodb_sys_datafiles ===
Space_Name Space_Type Page_Size Zip_Size Formats_Permitted Path
test/t4_restart Single DEFAULT DEFAULT Dynamic MYSQLD_DATADIR/test/t4_restart.ibd
test/t5_restart Single DEFAULT DEFAULT Dynamic MYSQL_TMP_DIR/alt_dir/test/t5_restart.ibd
test/t6_restart#p#p0 Single DEFAULT DEFAULT Compressed MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p0.ibd
test/t6_restart#p#p1 Single DEFAULT DEFAULT Compressed MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p1.ibd
test/t6_restart#p#p2 Single DEFAULT DEFAULT Compressed MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p2.ibd
test/t7_restart#p#p0#sp#s0 Single DEFAULT DEFAULT Dynamic MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p0#sp#s0.ibd
test/t7_restart#p#p0#sp#s1 Single DEFAULT DEFAULT Dynamic MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p0#sp#s1.ibd
test/t5_restart Single DEFAULT DEFAULT Dynamic MYSQL_TMP_DIR/alt_dir/test/t5_restart.ibd
test/t6_restart#p#p2 Single DEFAULT DEFAULT Compressed MYSQL_TMP_DIR/alt_dir/test/t6_restart#p#p2.ibd
test/t7_restart#p#p1#sp#s2 Single DEFAULT DEFAULT Dynamic MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p1#sp#s2.ibd
test/t7_restart#p#p1#sp#s3 Single DEFAULT DEFAULT Dynamic MYSQL_TMP_DIR/alt_dir/test/t7_restart#p#p1#sp#s3.ibd
SELECT count(*) FROM t5_restart;
@@ -624,12 +624,12 @@ RENAME TABLE t7_restart TO t77_restart;
=== information_schema.innodb_sys_tablespaces and innodb_sys_datafiles ===
Space_Name Space_Type Page_Size Zip_Size Formats_Permitted Path
test/t4_restart Single DEFAULT DEFAULT Dynamic MYSQLD_DATADIR/test/t4_restart.ibd
test/t55_restart Single DEFAULT DEFAULT Dynamic MYSQL_TMP_DIR/alt_dir/test/t55_restart.ibd
test/t66_restart#p#p0 Single DEFAULT DEFAULT Compressed MYSQL_TMP_DIR/alt_dir/test/t66_restart#p#p0.ibd
test/t66_restart#p#p1 Single DEFAULT DEFAULT Compressed MYSQL_TMP_DIR/alt_dir/test/t66_restart#p#p1.ibd
test/t66_restart#p#p2 Single DEFAULT DEFAULT Compressed MYSQL_TMP_DIR/alt_dir/test/t66_restart#p#p2.ibd
test/t77_restart#p#p0#sp#s0 Single DEFAULT DEFAULT Dynamic MYSQL_TMP_DIR/alt_dir/test/t77_restart#p#p0#sp#s0.ibd
test/t77_restart#p#p0#sp#s1 Single DEFAULT DEFAULT Dynamic MYSQL_TMP_DIR/alt_dir/test/t77_restart#p#p0#sp#s1.ibd
test/t55_restart Single DEFAULT DEFAULT Dynamic MYSQL_TMP_DIR/alt_dir/test/t55_restart.ibd
test/t66_restart#p#p2 Single DEFAULT DEFAULT Compressed MYSQL_TMP_DIR/alt_dir/test/t66_restart#p#p2.ibd
test/t77_restart#p#p1#sp#s2 Single DEFAULT DEFAULT Dynamic MYSQL_TMP_DIR/alt_dir/test/t77_restart#p#p1#sp#s2.ibd
test/t77_restart#p#p1#sp#s3 Single DEFAULT DEFAULT Dynamic MYSQL_TMP_DIR/alt_dir/test/t77_restart#p#p1#sp#s3.ibd
INSERT INTO t55_restart (SELECT 0, c2, c3, c4, c5 FROM t55_restart);
@@ -721,12 +721,12 @@ innodb_file_per_table ON
=== information_schema.innodb_sys_tablespaces and innodb_sys_datafiles ===
Space_Name Space_Type Page_Size Zip_Size Formats_Permitted Path
test/t4_restart Single DEFAULT DEFAULT Dynamic MYSQLD_DATADIR/test/t4_restart.ibd
test/t55_restart Single DEFAULT DEFAULT Dynamic MYSQL_TMP_DIR/alt_dir/test/t55_restart.ibd
test/t66_restart#p#p0 Single DEFAULT DEFAULT Compressed MYSQL_TMP_DIR/alt_dir/test/t66_restart#p#p0.ibd
test/t66_restart#p#p1 Single DEFAULT DEFAULT Compressed MYSQL_TMP_DIR/alt_dir/test/t66_restart#p#p1.ibd
test/t66_restart#p#p2 Single DEFAULT DEFAULT Compressed MYSQL_TMP_DIR/alt_dir/test/t66_restart#p#p2.ibd
test/t77_restart#p#p0#sp#s0 Single DEFAULT DEFAULT Dynamic MYSQL_TMP_DIR/alt_dir/test/t77_restart#p#p0#sp#s0.ibd
test/t77_restart#p#p0#sp#s1 Single DEFAULT DEFAULT Dynamic MYSQL_TMP_DIR/alt_dir/test/t77_restart#p#p0#sp#s1.ibd
test/t55_restart Single DEFAULT DEFAULT Dynamic MYSQL_TMP_DIR/alt_dir/test/t55_restart.ibd
test/t66_restart#p#p2 Single DEFAULT DEFAULT Compressed MYSQL_TMP_DIR/alt_dir/test/t66_restart#p#p2.ibd
test/t77_restart#p#p1#sp#s2 Single DEFAULT DEFAULT Dynamic MYSQL_TMP_DIR/alt_dir/test/t77_restart#p#p1#sp#s2.ibd
test/t77_restart#p#p1#sp#s3 Single DEFAULT DEFAULT Dynamic MYSQL_TMP_DIR/alt_dir/test/t77_restart#p#p1#sp#s3.ibd
INSERT INTO t55_restart (SELECT 0, c2, c3, c4, c5 FROM t55_restart);
@@ -854,12 +854,12 @@ t77_restart#p#p1#sp#s3.ibd
=== information_schema.innodb_sys_tablespaces and innodb_sys_datafiles ===
Space_Name Space_Type Page_Size Zip_Size Formats_Permitted Path
test/t4_restart Single DEFAULT DEFAULT Dynamic MYSQL_TMP_DIR/new_dir/test/t4_restart.ibd
test/t55_restart Single DEFAULT DEFAULT Dynamic MYSQL_TMP_DIR/new_dir/test/t55_restart.ibd
test/t66_restart#p#p0 Single DEFAULT DEFAULT Compressed MYSQL_TMP_DIR/new_dir/test/t66_restart#p#p0.ibd
test/t66_restart#p#p1 Single DEFAULT DEFAULT Compressed MYSQL_TMP_DIR/new_dir/test/t66_restart#p#p1.ibd
test/t66_restart#p#p2 Single DEFAULT DEFAULT Compressed MYSQL_TMP_DIR/new_dir/test/t66_restart#p#p2.ibd
test/t77_restart#p#p0#sp#s0 Single DEFAULT DEFAULT Dynamic MYSQL_TMP_DIR/new_dir/test/t77_restart#p#p0#sp#s0.ibd
test/t77_restart#p#p0#sp#s1 Single DEFAULT DEFAULT Dynamic MYSQL_TMP_DIR/new_dir/test/t77_restart#p#p0#sp#s1.ibd
test/t55_restart Single DEFAULT DEFAULT Dynamic MYSQL_TMP_DIR/new_dir/test/t55_restart.ibd
test/t66_restart#p#p2 Single DEFAULT DEFAULT Compressed MYSQL_TMP_DIR/new_dir/test/t66_restart#p#p2.ibd
test/t77_restart#p#p1#sp#s2 Single DEFAULT DEFAULT Dynamic MYSQL_TMP_DIR/new_dir/test/t77_restart#p#p1#sp#s2.ibd
test/t77_restart#p#p1#sp#s3 Single DEFAULT DEFAULT Dynamic MYSQL_TMP_DIR/new_dir/test/t77_restart#p#p1#sp#s3.ibd
INSERT INTO t4_restart (SELECT 0, c2, c3, c4, c5 FROM t4_restart);
@@ -991,12 +991,12 @@ t77_restart.par
=== information_schema.innodb_sys_tablespaces and innodb_sys_datafiles ===
Space_Name Space_Type Page_Size Zip_Size Formats_Permitted Path
test/t4_restart Single DEFAULT DEFAULT Dynamic MYSQLD_DATADIR/test/t4_restart.ibd
test/t55_restart Single DEFAULT DEFAULT Dynamic MYSQLD_DATADIR/test/t55_restart.ibd
test/t66_restart#p#p0 Single DEFAULT DEFAULT Compressed MYSQLD_DATADIR/test/t66_restart#p#p0.ibd
test/t66_restart#p#p1 Single DEFAULT DEFAULT Compressed MYSQLD_DATADIR/test/t66_restart#p#p1.ibd
test/t66_restart#p#p2 Single DEFAULT DEFAULT Compressed MYSQLD_DATADIR/test/t66_restart#p#p2.ibd
test/t77_restart#p#p0#sp#s0 Single DEFAULT DEFAULT Dynamic MYSQLD_DATADIR/test/t77_restart#p#p0#sp#s0.ibd
test/t77_restart#p#p0#sp#s1 Single DEFAULT DEFAULT Dynamic MYSQLD_DATADIR/test/t77_restart#p#p0#sp#s1.ibd
test/t55_restart Single DEFAULT DEFAULT Dynamic MYSQLD_DATADIR/test/t55_restart.ibd
test/t66_restart#p#p2 Single DEFAULT DEFAULT Compressed MYSQLD_DATADIR/test/t66_restart#p#p2.ibd
test/t77_restart#p#p1#sp#s2 Single DEFAULT DEFAULT Dynamic MYSQLD_DATADIR/test/t77_restart#p#p1#sp#s2.ibd
test/t77_restart#p#p1#sp#s3 Single DEFAULT DEFAULT Dynamic MYSQLD_DATADIR/test/t77_restart#p#p1#sp#s3.ibd
INSERT INTO t4_restart (SELECT 0, c2, c3, c4, c5 FROM t4_restart);

File diff suppressed because it is too large Load Diff

View File

@@ -1,462 +0,0 @@
call mtr.add_suppression("The file '.*' already exists though the corresponding table did not exist in the InnoDB data dictionary");
call mtr.add_suppression("Cannot create file '.*'");
call mtr.add_suppression("InnoDB: Error number 17 means 'File exists'");
set global innodb_file_per_table = on;
"1. Hit crash point while writing redo log."
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), unique findex(f), index ck(c))
engine=innodb row_format=compressed
key_block_size=16;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_while_writing_redo_log";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
"2. Hit crash point on completion of redo log write."
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), unique findex(f), index ck(c))
engine = innodb row_format = compressed
key_block_size = 16;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_after_redo_log_write_complete";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
"3. Hit crash point while dropping indexes."
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), unique findex(f), index ck(c))
engine = innodb row_format = compressed
key_block_size = 16;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_on_drop_of_clust_index";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), unique findex(f))
engine = innodb row_format = compressed
key_block_size = 16;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_on_drop_of_uniq_index";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), index ck(c))
engine = innodb row_format = compressed
key_block_size = 16;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_on_drop_of_sec_index";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
"4. Hit crash point on completing drop of all indexes before creation"
" of index is commenced."
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), unique findex(f), index ck(c))
engine = innodb row_format = compressed
key_block_size = 16;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_drop_reinit_done_create_to_start";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
"5. Hit crash point while creating indexes."
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), unique findex(f), index ck(c))
engine = innodb row_format = compressed
key_block_size = 16;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_on_create_of_clust_index";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), unique findex(f))
engine = innodb row_format = compressed
key_block_size = 16;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_on_create_of_uniq_index";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), index ck(c))
engine = innodb row_format = compressed
key_block_size = 16;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_on_create_of_sec_index";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
"6. Hit crash point after data is updated to system-table and"
" in-memory dict."
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), unique findex(f), index ck(c))
engine = innodb row_format = compressed
key_block_size = 16;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_on_updating_dict_sys_info";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
"7. Hit crash point before/after log checkpoint is done."
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), unique findex(f), index ck(c))
engine = innodb row_format = compressed
key_block_size = 16;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_before_log_removal";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), unique findex(f), index ck(c))
engine = innodb row_format = compressed
key_block_size = 16;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_after_truncate_done";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
set global innodb_file_per_table = 1;

View File

@@ -1,519 +0,0 @@
call mtr.add_suppression("The file '.*' already exists though the corresponding table did not exist in the InnoDB data dictionary");
call mtr.add_suppression("Cannot create file '.*'");
call mtr.add_suppression("InnoDB: Error number 17 means 'File exists'");
set global innodb_file_per_table = on;
"1. Hit crash point while writing redo log."
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), unique findex(f), index ck(c))
engine=innodb row_format=compressed
key_block_size=4;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_while_writing_redo_log";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
"2. Hit crash point on completion of redo log write."
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), unique findex(f), index ck(c))
engine = innodb row_format = compressed
key_block_size = 4;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_after_redo_log_write_complete";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
"3. Hit crash point while dropping indexes."
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), unique findex(f), index ck(c))
engine = innodb row_format = compressed
key_block_size = 4;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_on_drop_of_clust_index";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), unique findex(f))
engine = innodb row_format = compressed
key_block_size = 4;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_on_drop_of_uniq_index";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), index ck(c))
engine = innodb row_format = compressed
key_block_size = 4;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_on_drop_of_sec_index";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
"4. Hit crash point on completing drop of all indexes before creation"
" of index is commenced."
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), unique findex(f), index ck(c))
engine = innodb row_format = compressed
key_block_size = 4;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_drop_reinit_done_create_to_start";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
"5. Hit crash point while creating indexes."
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), unique findex(f), index ck(c))
engine = innodb row_format = compressed
key_block_size = 4;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_on_create_of_clust_index";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), unique findex(f))
engine = innodb row_format = compressed
key_block_size = 4;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_on_create_of_uniq_index";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), index ck(c))
engine = innodb row_format = compressed
key_block_size = 4;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_on_create_of_sec_index";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
"6. Hit crash point after data is updated to system-table and"
" in-memory dict."
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), unique findex(f), index ck(c))
engine = innodb row_format = compressed
key_block_size = 4;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_on_updating_dict_sys_info";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
"7. Hit crash point before/after log checkpoint is done."
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), unique findex(f), index ck(c))
engine = innodb row_format = compressed
key_block_size = 4;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_before_log_removal";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), unique findex(f), index ck(c))
engine = innodb row_format = compressed
key_block_size = 4;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_after_truncate_done";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
set global innodb_file_per_table = 1;
call mtr.add_suppression("does not exist in the InnoDB internal");
set global innodb_file_per_table = on;
"1. Hit crash point on completing drop of all indexes before creation"
" of index is commenced."
set global innodb_file_per_table = 1;
set innodb_strict_mode=off;
create temporary table t (
i int, f float, c char,
primary key pk(i), unique findex(f), index ck(c))
engine = innodb row_format = compressed
key_block_size = 4;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_drop_reinit_done_create_to_start";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check Error Table 'test.t' doesn't exist
test.t check status Operation failed
"2. Hit crash point after data is updated to system-table and"
" in-memory dict."
set global innodb_file_per_table = 1;
set innodb_strict_mode=off;
create temporary table t (
i int, f float, c char,
primary key pk(i), unique findex(f), index ck(c))
engine = innodb row_format = compressed
key_block_size = 4;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_on_updating_dict_sys_info";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check Error Table 'test.t' doesn't exist
test.t check status Operation failed
set global innodb_file_per_table = 1;

View File

@@ -1,462 +0,0 @@
call mtr.add_suppression("The file '.*' already exists though the corresponding table did not exist in the InnoDB data dictionary");
call mtr.add_suppression("Cannot create file '.*'");
call mtr.add_suppression("InnoDB: Error number 17 means 'File exists'");
set global innodb_file_per_table = on;
"1. Hit crash point while writing redo log."
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), unique findex(f), index ck(c))
engine=innodb row_format=compressed
key_block_size=8;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_while_writing_redo_log";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
"2. Hit crash point on completion of redo log write."
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), unique findex(f), index ck(c))
engine = innodb row_format = compressed
key_block_size = 8;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_after_redo_log_write_complete";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
"3. Hit crash point while dropping indexes."
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), unique findex(f), index ck(c))
engine = innodb row_format = compressed
key_block_size = 8;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_on_drop_of_clust_index";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), unique findex(f))
engine = innodb row_format = compressed
key_block_size = 8;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_on_drop_of_uniq_index";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), index ck(c))
engine = innodb row_format = compressed
key_block_size = 8;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_on_drop_of_sec_index";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
"4. Hit crash point on completing drop of all indexes before creation"
" of index is commenced."
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), unique findex(f), index ck(c))
engine = innodb row_format = compressed
key_block_size = 8;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_drop_reinit_done_create_to_start";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
"5. Hit crash point while creating indexes."
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), unique findex(f), index ck(c))
engine = innodb row_format = compressed
key_block_size = 8;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_on_create_of_clust_index";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), unique findex(f))
engine = innodb row_format = compressed
key_block_size = 8;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_on_create_of_uniq_index";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), index ck(c))
engine = innodb row_format = compressed
key_block_size = 8;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_on_create_of_sec_index";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
"6. Hit crash point after data is updated to system-table and"
" in-memory dict."
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), unique findex(f), index ck(c))
engine = innodb row_format = compressed
key_block_size = 8;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_on_updating_dict_sys_info";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
"7. Hit crash point before/after log checkpoint is done."
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), unique findex(f), index ck(c))
engine = innodb row_format = compressed
key_block_size = 8;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_before_log_removal";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
use test;
set global innodb_file_per_table = 1;
SET innodb_strict_mode=OFF;
create table t (
i int, f float, c char,
primary key pk(i), unique findex(f), index ck(c))
engine = innodb row_format = compressed
key_block_size = 8;
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
check table t;
Table Op Msg_type Msg_text
test.t check status OK
set session debug = "+d,ib_trunc_crash_after_truncate_done";
Warnings:
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
truncate table t;
ERROR HY000: Lost connection to MySQL server during query
check table t;
Table Op Msg_type Msg_text
test.t check status OK
select * from t;
i f c
insert into t values (1, 1.1, 'a'), (2, 2.2, 'b'), (3, 3.3, 'c');
select * from t;
i f c
1 1.1 a
2 2.2 b
3 3.3 c
select * from t where f < 2.5;
i f c
1 1.1 a
2 2.2 b
drop table t;
set global innodb_file_per_table = 1;

View File

@@ -1,336 +0,0 @@
set innodb_strict_mode=OFF;
create procedure populate()
begin
declare i int default 1;
while (i <= 5000) do
insert into t1 values (i, 'a', 'b');
insert into t2 values (i, 'a', 'b');
insert into t3 values (i, 'a', 'b');
set i = i + 1;
end while;
end|
create procedure populate_small()
begin
declare i int default 10001;
while (i <= 12000) do
insert into t1 values (i, 'c', 'd');
insert into t2 values (i, 'a', 'b');
insert into t3 values (i, 'a', 'b');
set i = i + 1;
end while;
end|
set global innodb_file_per_table = 1;
create table tNUMBER
(i int, cNUMBER char(NUMBER), cNUMBER char(NUMBER),
index cNUMBER_idx(cNUMBER))
engine=innodb row_format=compact
key_block_size=NUMBER;
Warnings:
Warning NUMBER InnoDB: ignoring KEY_BLOCK_SIZE=NUMBER unless ROW_FORMAT=COMPRESSED.
create table t2
(i int, c1 char(100), c2 char(100),
index c1_idx(c1))
engine=innodb row_format=compact
key_block_size=16;
Warnings:
Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=16 unless ROW_FORMAT=COMPRESSED.
create temporary table t3
(i int, c1 char(100), c2 char(100),
index c1_idx(c1))
engine=innodb row_format=compact
key_block_size=16;
Warnings:
Warning 1478 InnoDB: KEY_BLOCK_SIZE is ignored for TEMPORARY TABLE.
Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=16.
select count(*) from t1;
count(*)
0
select count(*) from t2;
count(*)
0
select count(*) from t3;
count(*)
0
begin;
call populate();
commit;
select count(*) from t1;
count(*)
5000
select count(*) from t2;
count(*)
5000
select count(*) from t3;
count(*)
5000
truncate table t1;
select count(*) from t1;
count(*)
0
select count(*) from t2;
count(*)
5000
select count(*) from t3;
count(*)
5000
call populate_small();
select count(*) from t1;
count(*)
2000
select count(*) from t2;
count(*)
7000
select count(*) from t3;
count(*)
7000
truncate table t2;
truncate table t3;
select count(*) from t1;
count(*)
2000
select count(*) from t2;
count(*)
0
select count(*) from t3;
count(*)
0
call populate_small();
select count(*) from t1;
count(*)
4000
select count(*) from t2;
count(*)
2000
select count(*) from t3;
count(*)
2000
drop table t1;
drop table t2;
drop table t3;
drop procedure populate;
drop procedure populate_small;
set global innodb_file_per_table = 1;
set innodb_strict_mode=OFF;
create procedure populate()
begin
declare i int default 1;
while (i <= 5000) do
insert into t1 values (i, 'a', 'b');
insert into t2 values (i, 'a', 'b');
insert into t3 values (i, 'a', 'b');
set i = i + 1;
end while;
end|
create procedure populate_small()
begin
declare i int default 10001;
while (i <= 12000) do
insert into t1 values (i, 'c', 'd');
insert into t2 values (i, 'a', 'b');
insert into t3 values (i, 'a', 'b');
set i = i + 1;
end while;
end|
set global innodb_file_per_table = 1;
create table tNUMBER
(i int, cNUMBER char(NUMBER), cNUMBER char(NUMBER),
index cNUMBER_idx(cNUMBER))
engine=innodb row_format=compressed
key_block_size=NUMBER;
create table t2
(i int, c1 char(100), c2 char(100),
index c1_idx(c1))
engine=innodb row_format=compressed
key_block_size=16;
create temporary table t3
(i int, c1 char(100), c2 char(100),
index c1_idx(c1))
engine=innodb row_format=compressed
key_block_size=16;
Warnings:
Warning 1478 InnoDB: KEY_BLOCK_SIZE is ignored for TEMPORARY TABLE.
Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=16.
Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED is ignored for TEMPORARY TABLE.
Warning 1478 InnoDB: assuming ROW_FORMAT=DYNAMIC.
select count(*) from t1;
count(*)
0
select count(*) from t2;
count(*)
0
select count(*) from t3;
count(*)
0
begin;
call populate();
commit;
select count(*) from t1;
count(*)
5000
select count(*) from t2;
count(*)
5000
select count(*) from t3;
count(*)
5000
truncate table t1;
select count(*) from t1;
count(*)
0
select count(*) from t2;
count(*)
5000
select count(*) from t3;
count(*)
5000
call populate_small();
select count(*) from t1;
count(*)
2000
select count(*) from t2;
count(*)
7000
select count(*) from t3;
count(*)
7000
truncate table t2;
truncate table t3;
select count(*) from t1;
count(*)
2000
select count(*) from t2;
count(*)
0
select count(*) from t3;
count(*)
0
call populate_small();
select count(*) from t1;
count(*)
4000
select count(*) from t2;
count(*)
2000
select count(*) from t3;
count(*)
2000
drop table t1;
drop table t2;
drop table t3;
drop procedure populate;
drop procedure populate_small;
set global innodb_file_per_table = 1;
set innodb_strict_mode=OFF;
create procedure populate()
begin
declare i int default 1;
while (i <= 5000) do
insert into t1 values (i, 'a', 'b');
insert into t2 values (i, 'a', 'b');
insert into t3 values (i, 'a', 'b');
set i = i + 1;
end while;
end|
create procedure populate_small()
begin
declare i int default 10001;
while (i <= 12000) do
insert into t1 values (i, 'c', 'd');
insert into t2 values (i, 'a', 'b');
insert into t3 values (i, 'a', 'b');
set i = i + 1;
end while;
end|
set global innodb_file_per_table = 0;
create table tNUMBER
(i int, cNUMBER char(NUMBER), cNUMBER char(NUMBER),
index cNUMBER_idx(cNUMBER))
engine=innodb row_format=compact
key_block_size=NUMBER;
Warnings:
Warning NUMBER InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
Warning NUMBER InnoDB: ignoring KEY_BLOCK_SIZE=NUMBER.
create table t2
(i int, c1 char(100), c2 char(100),
index c1_idx(c1))
engine=innodb row_format=compact
key_block_size=16;
Warnings:
Warning 1478 InnoDB: KEY_BLOCK_SIZE requires innodb_file_per_table.
Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=16.
create temporary table t3
(i int, c1 char(100), c2 char(100),
index c1_idx(c1))
engine=innodb row_format=compact
key_block_size=16;
Warnings:
Warning 1478 InnoDB: KEY_BLOCK_SIZE is ignored for TEMPORARY TABLE.
Warning 1478 InnoDB: ignoring KEY_BLOCK_SIZE=16.
select count(*) from t1;
count(*)
0
select count(*) from t2;
count(*)
0
select count(*) from t3;
count(*)
0
begin;
call populate();
commit;
select count(*) from t1;
count(*)
5000
select count(*) from t2;
count(*)
5000
select count(*) from t3;
count(*)
5000
truncate table t1;
select count(*) from t1;
count(*)
0
select count(*) from t2;
count(*)
5000
select count(*) from t3;
count(*)
5000
call populate_small();
select count(*) from t1;
count(*)
2000
select count(*) from t2;
count(*)
7000
select count(*) from t3;
count(*)
7000
truncate table t2;
truncate table t3;
select count(*) from t1;
count(*)
2000
select count(*) from t2;
count(*)
0
select count(*) from t3;
count(*)
0
call populate_small();
select count(*) from t1;
count(*)
4000
select count(*) from t2;
count(*)
2000
select count(*) from t3;
count(*)
2000
drop table t1;
drop table t2;
drop table t3;
drop procedure populate;
drop procedure populate_small;
set global innodb_file_per_table = 1;

View File

@@ -1,451 +0,0 @@
####################################################################
# TC to check truncate table statement atomicity for single #
# tablespace #
# Sceanrio covered: #
# 1. Debug points added for worklog #
# 2. Table with differnt row types #
# 3. Transactional statement. #
####################################################################
--source include/have_innodb.inc
--source include/have_debug.inc
--source include/big_test.inc
--source include/have_innodb_16k.inc
# Valgrind would result in a "long semaphore wait" inside InnoDB
--source include/not_valgrind.inc
# Embedded server does not support crashing
--source include/not_embedded.inc
# Avoid CrashReporter popup on Mac
--source include/not_crashrep.inc
#-----------------------------------------------------------------------
--disable_query_log
let $MYSQL_DATA_DIR= `select @@datadir`;
let $data_directory = data directory='$MYSQL_TMP_DIR/alt_dir';
let $innodb_file_per_table_orig=`select @@innodb_file_per_table`;
call mtr.add_suppression("InnoDB.*table did not exist in the InnoDB data dictionary.*");
call mtr.add_suppression("InnoDB: A page in the doublewrite buffer is not within space bounds.*");
call mtr.add_suppression("InnoDB: Cannot create file.*");
call mtr.add_suppression("InnoDB: Error number 17 means 'File exists'.*");
call mtr.add_suppression("InnoDB: A page in the doublewrite buffer is not within space bounds");
call mtr.add_suppression("InnoDB: Error: table .* does not exist in the InnoDB internal");
--enable_query_log
#-----------------------------------------------------------------------
set global innodb_file_per_table=on;
--echo # Verify that 'TRUNCATE TABLE' statement works fine and the size
--echo # of .ibd file is equal to the initial size after truncation.
#-----------------------------------------------------------------------
drop table if exists t1,t2,t3,t4,t6;
let $cnt = 6;
while ($cnt) {
# table with basic data type + primary ,secondary,composite,prefix index
create table t1(c1 int not null,
c2 int not null,
c3 char(255) not null,
c4 text(500) not null,
c5 blob(500) not null,
c6 varchar(500) not null,
c7 varchar(500) not null,
c8 datetime,
c9 decimal(5,3),
primary key (c1),
index (c3,c4(50),c5(50)),
index (c2))
engine=innodb row_format=redundant;
create table t2(c1 int not null,
c2 int not null,
c3 char(255) not null,
c4 text(500) not null,
c5 blob(500) not null,
c6 varchar(500) not null,
c7 varchar(500) not null,
c8 datetime,
c9 decimal(5,3),
primary key (c1),
index (c3,c4(50),c5(50)),
index (c2))
engine=innodb row_format=compact;
# with row type , key block size = 4K
create table t3(c1 int not null,
c2 int not null,
c3 char(255) not null,
c4 text(500) not null,
c5 blob(500) not null,
c6 varchar(500) not null,
c7 varchar(500) not null,
c8 datetime,
c9 decimal(5,3),
primary key (c1),
index (c3,c4(50),c5(50)),
index (c2))
engine=innodb row_format=compressed key_block_size=4;
create table t4(c1 int not null,
c2 int not null,
c3 char(255) not null,
c4 text(500) not null,
c5 blob(500) not null,
c6 varchar(500) not null,
c7 varchar(500) not null,
c8 datetime,
c9 decimal(5,3),
primary key (c1),
index (c3,c4(50),c5(50)),
index (c2))
engine=innodb row_format=dynamic;
create temporary table t5(c1 int not null,
c2 int not null,
c3 char(255) not null,
c4 text(500) not null,
c5 blob(500) not null,
c6 varchar(500) not null,
c7 varchar(500) not null,
c8 datetime,
c9 decimal(5,3),
primary key (c1),
index (c3,c4(50),c5(50)),
index (c2))
engine=innodb;
create table t6 ( a int ) engine = innodb;
insert into t6 values (50),(100),(150);
--disable_query_log
--disable_result_log
let $n=5;
# load created tables.
while ($n)
{
start transaction;
eval insert ignore into t1 values(
$n, $n,
repeat(concat(' tc3_',$n), 42),
repeat(concat(' tc4_',$n), 300),
repeat(concat(' tc5_',$n), 300),
repeat(concat(' tc6_',$n), 300),
repeat(concat(' tc7_',$n), 300),
now(), (100.55+$n));
eval insert ignore into t2 values(
$n, $n,
repeat(concat(' tc3_',$n), 42),
repeat(concat(' tc4_',$n), 300),
repeat(concat(' tc5_',$n), 300),
repeat(concat(' tc6_',$n), 300),
repeat(concat(' tc7_',$n), 300),
now(), (100.55+$n));
eval insert ignore into t3 values(
$n, $n,
repeat(concat(' tc3_',$n), 42),
repeat(concat(' tc4_',$n), 300),
repeat(concat(' tc5_',$n), 300),
repeat(concat(' tc6_',$n), 300),
repeat(concat(' tc7_',$n), 300),
now(), (100.55+$n));
eval insert ignore into t4 values(
$n, $n,
repeat(concat(' tc3_',$n), 42),
repeat(concat(' tc4_',$n), 300),
repeat(concat(' tc5_',$n), 300),
repeat(concat(' tc6_',$n), 300),
repeat(concat(' tc7_',$n), 300),
now(), (100.55+$n));
eval insert ignore into t5 values(
$n, $n,
repeat(concat(' tc3_',$n), 42),
repeat(concat(' tc4_',$n), 300),
repeat(concat(' tc5_',$n), 300),
repeat(concat(' tc6_',$n), 300),
repeat(concat(' tc7_',$n), 300),
now(), (100.55+$n));
if ($n <= 3)
{
commit;
}
if ($n > 3)
{
rollback;
}
dec $n;
}
# validate loading of the tables.
--enable_result_log
--enable_query_log
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
select count(*) from t5;
select count(*) from t6;
# set the debug crash point and exercise them.
if ($cnt == 6)
{
set session debug="+d,ib_trunc_crash_during_drop_index_temp_table";
--echo "---debug ib_trunc_crash_during_drop_index_temp_table point---"
}
if ($cnt == 5)
{
set session debug="+d,ib_trunc_crash_drop_reinit_done_create_to_start";
--echo "---debug ib_trunc_crash_drop_reinit_done_create_to_start---"
}
if ($cnt >= 5) {
--echo # Write file to make mysql-test-run.pl expect crash and restart
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--echo # Run the crashing query
--error 2013
truncate table t5;
--source include/wait_until_disconnected.inc
--enable_reconnect
--echo # Restart the MySQL server
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--source include/wait_until_connected_again.inc
--disable_reconnect
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
--error ER_NO_SUCH_TABLE
select count(*) from t5;
select count(*) from t6;
}
# set the debug crash point and exercise them.
if ($cnt == 6)
{
set session debug="+d,ib_trunc_crash_on_drop_of_sec_index";
--echo "---debug ib_trunc_crash_on_drop_of_sec_index point---"
}
if ($cnt == 5)
{
set session debug="+d,ib_trunc_crash_on_create_of_sec_index";
--echo "---debug ib_trunc_crash_on_create_of_sec_index---"
}
if ($cnt == 4)
{
set session debug="+d,ib_trunc_crash_before_log_removal";
--echo "---debug ib_trunc_crash_before_log_removal point---"
}
if ($cnt == 3)
{
set session debug="+d,ib_trunc_crash_after_truncate_done";
--echo "---debug ib_trunc_crash_after_truncate_done point---"
}
if ($cnt == 2)
{
set session debug="+d,ib_trunc_crash_after_truncate_done";
--echo "---debug ib_trunc_crash_after_truncate_done point---"
}
if ($cnt == 1)
{
set session debug="+d,ib_trunc_crash_after_redo_log_write_complete";
--echo "---debug ib_trunc_crash_after_redo_log_write_complete point---"
}
--echo # Write file to make mysql-test-run.pl expect crash and restart
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--echo # Run the crashing query
--error 2013
truncate table t1;
--source include/wait_until_disconnected.inc
--enable_reconnect
--echo # Restart the MySQL server
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--source include/wait_until_connected_again.inc
--disable_reconnect
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
--error ER_NO_SUCH_TABLE
select count(*) from t5;
select count(*) from t6;
if ($cnt == 6)
{
set session debug="+d,ib_trunc_crash_on_drop_of_sec_index";
--echo "---debug ib_trunc_crash_on_drop_of_sec_index point---"
}
if ($cnt == 5)
{
set session debug="+d,ib_trunc_crash_on_create_of_sec_index";
--echo "---debug ib_trunc_crash_on_create_of_sec_index---"
}
if ($cnt == 4)
{
set session debug="+d,ib_trunc_crash_before_log_removal";
--echo "---debug ib_trunc_crash_before_log_removal point---"
}
if ($cnt == 3)
{
set session debug="+d,ib_trunc_crash_after_truncate_done";
--echo "---debug ib_trunc_crash_after_truncate_done point---"
}
if ($cnt == 2)
{
set session debug="+d,ib_trunc_crash_after_truncate_done";
--echo "---debug ib_trunc_crash_after_truncate_done point---"
}
if ($cnt == 1)
{
set session debug="+d,ib_trunc_crash_after_redo_log_write_complete";
--echo "---debug ib_trunc_crash_after_redo_log_write_complete point---"
}
--echo # Write file to make mysql-test-run.pl expect crash and restart
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--echo # Run the crashing query
--error 2013
truncate table t2;
--source include/wait_until_disconnected.inc
--enable_reconnect
--echo # Restart the MySQL server
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--source include/wait_until_connected_again.inc
--disable_reconnect
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
--error ER_NO_SUCH_TABLE
select count(*) from t5;
select count(*) from t6;
if ($cnt == 6)
{
set session debug="+d,ib_trunc_crash_on_drop_of_sec_index";
--echo "---debug ib_trunc_crash_on_drop_of_sec_index point---"
}
if ($cnt == 5)
{
set session debug="+d,ib_trunc_crash_on_create_of_sec_index";
--echo "---debug ib_trunc_crash_on_create_of_sec_index---"
}
if ($cnt == 4)
{
set session debug="+d,ib_trunc_crash_before_log_removal";
--echo "---debug ib_trunc_crash_before_log_removal point---"
}
if ($cnt == 3)
{
set session debug="+d,ib_trunc_crash_after_truncate_done";
--echo "---debug ib_trunc_crash_after_truncate_done point---"
}
if ($cnt == 2)
{
set session debug="+d,ib_trunc_crash_after_truncate_done";
--echo "---debug ib_trunc_crash_after_truncate_done point---"
}
if ($cnt == 1)
{
set session debug="+d,ib_trunc_crash_after_redo_log_write_complete";
--echo "---debug ib_trunc_crash_after_redo_log_write_complete point---"
}
--echo # Write file to make mysql-test-run.pl expect crash and restart
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--echo # Run the crashing query
--error 2013
truncate table t3;
--source include/wait_until_disconnected.inc
--enable_reconnect
--echo # Restart the MySQL server
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--source include/wait_until_connected_again.inc
--disable_reconnect
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
--error ER_NO_SUCH_TABLE
select count(*) from t5;
select count(*) from t6;
if ($cnt == 6)
{
set session debug="+d,ib_trunc_crash_on_drop_of_sec_index";
--echo "---debug ib_trunc_crash_on_drop_of_sec_index point---"
}
if ($cnt == 5)
{
set session debug="+d,ib_trunc_crash_on_create_of_sec_index";
--echo "---debug ib_trunc_crash_on_create_of_sec_index---"
}
if ($cnt == 4)
{
set session debug="+d,ib_trunc_crash_before_log_removal";
--echo "---debug ib_trunc_crash_before_log_removal point---"
}
if ($cnt == 3)
{
set session debug="+d,ib_trunc_crash_after_truncate_done";
--echo "---debug ib_trunc_crash_after_truncate_done point---"
}
if ($cnt == 2)
{
set session debug="+d,ib_trunc_crash_after_truncate_done";
--echo "---debug ib_trunc_crash_after_truncate_done point---"
}
if ($cnt == 1)
{
set session debug="+d,ib_trunc_crash_after_redo_log_write_complete";
--echo "---debug ib_trunc_crash_after_redo_log_write_complete point---"
}
--echo # Write file to make mysql-test-run.pl expect crash and restart
--exec echo "wait" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--echo # Run the crashing query
--error 2013
truncate table t4;
--source include/wait_until_disconnected.inc
--enable_reconnect
--echo # Restart the MySQL server
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
--source include/wait_until_connected_again.inc
--disable_reconnect
select count(*) from t1;
select count(*) from t2;
select count(*) from t3;
select count(*) from t4;
--error ER_NO_SUCH_TABLE
select count(*) from t5;
select count(*) from t6;
drop table t1, t2, t3, t4, t6;
dec $cnt;
--disable_query_log
eval set global innodb_file_per_table=$innodb_file_per_table_orig;
--enable_query_log
}

View File

@@ -1,25 +0,0 @@
#
# WL#6501: make truncate table atomic
#
# TC tries to hit crash point during truncate of
# compressed non-temp table residing in single tablespace
# with page-size=16k
--source include/have_innodb.inc
--source include/have_innodb_16k.inc
--source include/have_debug.inc
--source include/big_test.inc
# Valgrind would complain about memory leaks when we crash on purpose.
--source include/not_valgrind.inc
# Embedded server does not support crashing
--source include/not_embedded.inc
# Avoid CrashReporter popup on Mac
--source include/not_crashrep.inc
let $wl6501_file_per_table = 1;
let $wl6501_row_fmt = compressed;
let $wl6501_kbs = 16;
--source suite/innodb/include/innodb_wl6501_crash.inc

View File

@@ -1,27 +0,0 @@
#
# WL#6501: make truncate table atomic
#
# TC tries to hit crash point during truncate of
# compressed non-temp table residing in single tablespace.
# with page-size=4k
--source include/have_innodb.inc
--source include/have_innodb_4k.inc
--source include/have_debug.inc
--source include/big_test.inc
# Valgrind would complain about memory leaks when we crash on purpose.
--source include/not_valgrind.inc
# Embedded server does not support crashing
--source include/not_embedded.inc
# Avoid CrashReporter popup on Mac
--source include/not_crashrep.inc
let $wl6501_file_per_table = 1;
let $wl6501_row_fmt = compressed;
let $wl6501_kbs = 4;
--source suite/innodb/include/innodb_wl6501_crash.inc
let $wl6501_temp = temporary;
--source suite/innodb/include/innodb_wl6501_crash_temp.inc

View File

@@ -1,25 +0,0 @@
#
# WL#6501: make truncate table atomic
#
# TC tries to hit crash point during truncate of
# compressed non-temp table residing in single tablespace.
# with page-size=8k
--source include/have_innodb.inc
--source include/have_innodb_8k.inc
--source include/have_debug.inc
--source include/big_test.inc
# Valgrind would complain about memory leaks when we crash on purpose.
--source include/not_valgrind.inc
# Embedded server does not support crashing
--source include/not_embedded.inc
# Avoid CrashReporter popup on Mac
--source include/not_crashrep.inc
let $wl6501_file_per_table = 1;
let $wl6501_row_fmt = compressed;
let $wl6501_kbs = 8;
--source suite/innodb/include/innodb_wl6501_crash.inc

View File

@@ -1,37 +0,0 @@
#
# WL#6501: make truncate table atomic
#
# load table with some significiant amount of data
# and then try truncate
--source include/have_innodb.inc
--source include/have_debug.inc
--source include/big_test.inc
--source include/have_innodb_16k.inc
# Valgrind would complain about memory leaks when we crash on purpose.
--source include/not_valgrind.inc
# Embedded server does not support crashing
--source include/not_embedded.inc
# Avoid CrashReporter popup on Mac
--source include/not_crashrep.inc
# Single-Tablespace/Non-Compressed
let $wl6501_file_per_table = 1;
let $wl6501_row_fmt = compact;
let $wl6501_kbs = 16;
--source suite/innodb_zip/include/innodb_wl6501_scale.inc
# Single-Tablespace/Compressed
let $wl6501_file_per_table = 1;
let $wl6501_row_fmt = compressed;
let $wl6501_kbs = 16;
--source suite/innodb_zip/include/innodb_wl6501_scale.inc
# System-Tablespace/Non-Compressed
let $wl6501_file_per_table = 0;
let $wl6501_row_fmt = compact;
let $wl6501_kbs = 16;
--source suite/innodb_zip/include/innodb_wl6501_scale.inc