mirror of
https://github.com/MariaDB/server.git
synced 2025-10-25 18:38:00 +03:00
While MariaDB Server 10.2 is not really guaranteed to be compatible with Percona XtraBackup 2.4 (for example, the MySQL 5.7 undo log format change that could be present in XtraBackup, but was reverted from MariaDB in MDEV-12289), we do not want to disrupt users who have deployed xtrabackup and MariaDB Server 10.2 in their environments. With this change, MariaDB 10.2 will continue to use the backup-unsafe TRUNCATE TABLE code, so that neither the undo log nor the redo log formats will change in an incompatible way. Undo tablespace truncation will keep using the redo log only. Recovery or backup with old code will fail to shrink the undo tablespace files, but the contents will be recovered just fine. In the MariaDB Server 10.2 series only, we introduce the configuration parameter innodb_unsafe_truncate and make it ON by default. To allow MariaDB Backup (mariabackup) to work properly with TRUNCATE TABLE operations, use loose_innodb_unsafe_truncate=OFF. MariaDB Server 10.3.10 and later releases will always use the backup-safe TRUNCATE TABLE, and this parameter will not be added there. recv_recovery_rollback_active(): Skip row_mysql_drop_garbage_tables() unless innodb_unsafe_truncate=OFF. It is too unsafe to drop orphan tables if RENAME operations are not transactional within InnoDB. LOG_HEADER_FORMAT_10_3: Replaces LOG_HEADER_FORMAT_CURRENT. log_init(), log_group_file_header_flush(), srv_prepare_to_delete_redo_log_files(), innobase_start_or_create_for_mysql(): Choose the redo log format and subformat based on the value of innodb_unsafe_truncate.
1203 lines
28 KiB
Plaintext
1203 lines
28 KiB
Plaintext
set global innodb_file_per_table=on;
|
|
# Verify that 'TRUNCATE TABLE' statement works fine and the size
|
|
# of .ibd file is equal to the initial size after truncation.
|
|
drop table if exists t1,t2,t3,t4,t6;
|
|
Warnings:
|
|
Note 1051 Unknown table 'test.t1'
|
|
Note 1051 Unknown table 'test.t2'
|
|
Note 1051 Unknown table 'test.t3'
|
|
Note 1051 Unknown table 'test.t4'
|
|
Note 1051 Unknown table 'test.t6'
|
|
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;
|
|
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);
|
|
select count(*) from t1;
|
|
count(*)
|
|
3
|
|
select count(*) from t2;
|
|
count(*)
|
|
3
|
|
select count(*) from t3;
|
|
count(*)
|
|
3
|
|
select count(*) from t4;
|
|
count(*)
|
|
3
|
|
select count(*) from t5;
|
|
count(*)
|
|
3
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
set session debug="+d,ib_trunc_crash_during_drop_index_temp_table";
|
|
Warnings:
|
|
Warning 1287 '@@debug' is deprecated and will be removed in a future release. Please use '@@debug_dbug' instead
|
|
"---debug ib_trunc_crash_during_drop_index_temp_table point---"
|
|
# Write file to make mysql-test-run.pl expect crash and restart
|
|
# Run the crashing query
|
|
truncate table t5;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# Restart the MySQL server
|
|
select count(*) from t1;
|
|
count(*)
|
|
3
|
|
select count(*) from t2;
|
|
count(*)
|
|
3
|
|
select count(*) from t3;
|
|
count(*)
|
|
3
|
|
select count(*) from t4;
|
|
count(*)
|
|
3
|
|
select count(*) from t5;
|
|
ERROR 42S02: Table 'test.t5' doesn't exist
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
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
|
|
"---debug ib_trunc_crash_on_drop_of_sec_index point---"
|
|
# Write file to make mysql-test-run.pl expect crash and restart
|
|
# Run the crashing query
|
|
truncate table t1;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# Restart the MySQL server
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
3
|
|
select count(*) from t3;
|
|
count(*)
|
|
3
|
|
select count(*) from t4;
|
|
count(*)
|
|
3
|
|
select count(*) from t5;
|
|
ERROR 42S02: Table 'test.t5' doesn't exist
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
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
|
|
"---debug ib_trunc_crash_on_drop_of_sec_index point---"
|
|
# Write file to make mysql-test-run.pl expect crash and restart
|
|
# Run the crashing query
|
|
truncate table t2;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# Restart the MySQL server
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
0
|
|
select count(*) from t3;
|
|
count(*)
|
|
3
|
|
select count(*) from t4;
|
|
count(*)
|
|
3
|
|
select count(*) from t5;
|
|
ERROR 42S02: Table 'test.t5' doesn't exist
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
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
|
|
"---debug ib_trunc_crash_on_drop_of_sec_index point---"
|
|
# Write file to make mysql-test-run.pl expect crash and restart
|
|
# Run the crashing query
|
|
truncate table t3;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# Restart the MySQL server
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
0
|
|
select count(*) from t3;
|
|
count(*)
|
|
0
|
|
select count(*) from t4;
|
|
count(*)
|
|
3
|
|
select count(*) from t5;
|
|
ERROR 42S02: Table 'test.t5' doesn't exist
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
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
|
|
"---debug ib_trunc_crash_on_drop_of_sec_index point---"
|
|
# Write file to make mysql-test-run.pl expect crash and restart
|
|
# Run the crashing query
|
|
truncate table t4;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# Restart the MySQL server
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
0
|
|
select count(*) from t3;
|
|
count(*)
|
|
0
|
|
select count(*) from t4;
|
|
count(*)
|
|
0
|
|
select count(*) from t5;
|
|
ERROR 42S02: Table 'test.t5' doesn't exist
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
drop table t1, t2, t3, t4, t6;
|
|
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;
|
|
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);
|
|
select count(*) from t1;
|
|
count(*)
|
|
3
|
|
select count(*) from t2;
|
|
count(*)
|
|
3
|
|
select count(*) from t3;
|
|
count(*)
|
|
3
|
|
select count(*) from t4;
|
|
count(*)
|
|
3
|
|
select count(*) from t5;
|
|
count(*)
|
|
3
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
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
|
|
"---debug ib_trunc_crash_drop_reinit_done_create_to_start---"
|
|
# Write file to make mysql-test-run.pl expect crash and restart
|
|
# Run the crashing query
|
|
truncate table t5;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# Restart the MySQL server
|
|
select count(*) from t1;
|
|
count(*)
|
|
3
|
|
select count(*) from t2;
|
|
count(*)
|
|
3
|
|
select count(*) from t3;
|
|
count(*)
|
|
3
|
|
select count(*) from t4;
|
|
count(*)
|
|
3
|
|
select count(*) from t5;
|
|
ERROR 42S02: Table 'test.t5' doesn't exist
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
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
|
|
"---debug ib_trunc_crash_on_create_of_sec_index---"
|
|
# Write file to make mysql-test-run.pl expect crash and restart
|
|
# Run the crashing query
|
|
truncate table t1;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# Restart the MySQL server
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
3
|
|
select count(*) from t3;
|
|
count(*)
|
|
3
|
|
select count(*) from t4;
|
|
count(*)
|
|
3
|
|
select count(*) from t5;
|
|
ERROR 42S02: Table 'test.t5' doesn't exist
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
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
|
|
"---debug ib_trunc_crash_on_create_of_sec_index---"
|
|
# Write file to make mysql-test-run.pl expect crash and restart
|
|
# Run the crashing query
|
|
truncate table t2;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# Restart the MySQL server
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
0
|
|
select count(*) from t3;
|
|
count(*)
|
|
3
|
|
select count(*) from t4;
|
|
count(*)
|
|
3
|
|
select count(*) from t5;
|
|
ERROR 42S02: Table 'test.t5' doesn't exist
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
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
|
|
"---debug ib_trunc_crash_on_create_of_sec_index---"
|
|
# Write file to make mysql-test-run.pl expect crash and restart
|
|
# Run the crashing query
|
|
truncate table t3;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# Restart the MySQL server
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
0
|
|
select count(*) from t3;
|
|
count(*)
|
|
0
|
|
select count(*) from t4;
|
|
count(*)
|
|
3
|
|
select count(*) from t5;
|
|
ERROR 42S02: Table 'test.t5' doesn't exist
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
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
|
|
"---debug ib_trunc_crash_on_create_of_sec_index---"
|
|
# Write file to make mysql-test-run.pl expect crash and restart
|
|
# Run the crashing query
|
|
truncate table t4;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# Restart the MySQL server
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
0
|
|
select count(*) from t3;
|
|
count(*)
|
|
0
|
|
select count(*) from t4;
|
|
count(*)
|
|
0
|
|
select count(*) from t5;
|
|
ERROR 42S02: Table 'test.t5' doesn't exist
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
drop table t1, t2, t3, t4, t6;
|
|
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;
|
|
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);
|
|
select count(*) from t1;
|
|
count(*)
|
|
3
|
|
select count(*) from t2;
|
|
count(*)
|
|
3
|
|
select count(*) from t3;
|
|
count(*)
|
|
3
|
|
select count(*) from t4;
|
|
count(*)
|
|
3
|
|
select count(*) from t5;
|
|
count(*)
|
|
3
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
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
|
|
"---debug ib_trunc_crash_before_log_removal point---"
|
|
# Write file to make mysql-test-run.pl expect crash and restart
|
|
# Run the crashing query
|
|
truncate table t1;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# Restart the MySQL server
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
3
|
|
select count(*) from t3;
|
|
count(*)
|
|
3
|
|
select count(*) from t4;
|
|
count(*)
|
|
3
|
|
select count(*) from t5;
|
|
ERROR 42S02: Table 'test.t5' doesn't exist
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
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
|
|
"---debug ib_trunc_crash_before_log_removal point---"
|
|
# Write file to make mysql-test-run.pl expect crash and restart
|
|
# Run the crashing query
|
|
truncate table t2;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# Restart the MySQL server
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
0
|
|
select count(*) from t3;
|
|
count(*)
|
|
3
|
|
select count(*) from t4;
|
|
count(*)
|
|
3
|
|
select count(*) from t5;
|
|
ERROR 42S02: Table 'test.t5' doesn't exist
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
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
|
|
"---debug ib_trunc_crash_before_log_removal point---"
|
|
# Write file to make mysql-test-run.pl expect crash and restart
|
|
# Run the crashing query
|
|
truncate table t3;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# Restart the MySQL server
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
0
|
|
select count(*) from t3;
|
|
count(*)
|
|
0
|
|
select count(*) from t4;
|
|
count(*)
|
|
3
|
|
select count(*) from t5;
|
|
ERROR 42S02: Table 'test.t5' doesn't exist
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
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
|
|
"---debug ib_trunc_crash_before_log_removal point---"
|
|
# Write file to make mysql-test-run.pl expect crash and restart
|
|
# Run the crashing query
|
|
truncate table t4;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# Restart the MySQL server
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
0
|
|
select count(*) from t3;
|
|
count(*)
|
|
0
|
|
select count(*) from t4;
|
|
count(*)
|
|
0
|
|
select count(*) from t5;
|
|
ERROR 42S02: Table 'test.t5' doesn't exist
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
drop table t1, t2, t3, t4, t6;
|
|
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;
|
|
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);
|
|
select count(*) from t1;
|
|
count(*)
|
|
3
|
|
select count(*) from t2;
|
|
count(*)
|
|
3
|
|
select count(*) from t3;
|
|
count(*)
|
|
3
|
|
select count(*) from t4;
|
|
count(*)
|
|
3
|
|
select count(*) from t5;
|
|
count(*)
|
|
3
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
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
|
|
"---debug ib_trunc_crash_after_truncate_done point---"
|
|
# Write file to make mysql-test-run.pl expect crash and restart
|
|
# Run the crashing query
|
|
truncate table t1;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# Restart the MySQL server
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
3
|
|
select count(*) from t3;
|
|
count(*)
|
|
3
|
|
select count(*) from t4;
|
|
count(*)
|
|
3
|
|
select count(*) from t5;
|
|
ERROR 42S02: Table 'test.t5' doesn't exist
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
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
|
|
"---debug ib_trunc_crash_after_truncate_done point---"
|
|
# Write file to make mysql-test-run.pl expect crash and restart
|
|
# Run the crashing query
|
|
truncate table t2;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# Restart the MySQL server
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
0
|
|
select count(*) from t3;
|
|
count(*)
|
|
3
|
|
select count(*) from t4;
|
|
count(*)
|
|
3
|
|
select count(*) from t5;
|
|
ERROR 42S02: Table 'test.t5' doesn't exist
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
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
|
|
"---debug ib_trunc_crash_after_truncate_done point---"
|
|
# Write file to make mysql-test-run.pl expect crash and restart
|
|
# Run the crashing query
|
|
truncate table t3;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# Restart the MySQL server
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
0
|
|
select count(*) from t3;
|
|
count(*)
|
|
0
|
|
select count(*) from t4;
|
|
count(*)
|
|
3
|
|
select count(*) from t5;
|
|
ERROR 42S02: Table 'test.t5' doesn't exist
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
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
|
|
"---debug ib_trunc_crash_after_truncate_done point---"
|
|
# Write file to make mysql-test-run.pl expect crash and restart
|
|
# Run the crashing query
|
|
truncate table t4;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# Restart the MySQL server
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
0
|
|
select count(*) from t3;
|
|
count(*)
|
|
0
|
|
select count(*) from t4;
|
|
count(*)
|
|
0
|
|
select count(*) from t5;
|
|
ERROR 42S02: Table 'test.t5' doesn't exist
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
drop table t1, t2, t3, t4, t6;
|
|
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;
|
|
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);
|
|
select count(*) from t1;
|
|
count(*)
|
|
3
|
|
select count(*) from t2;
|
|
count(*)
|
|
3
|
|
select count(*) from t3;
|
|
count(*)
|
|
3
|
|
select count(*) from t4;
|
|
count(*)
|
|
3
|
|
select count(*) from t5;
|
|
count(*)
|
|
3
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
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
|
|
"---debug ib_trunc_crash_after_truncate_done point---"
|
|
# Write file to make mysql-test-run.pl expect crash and restart
|
|
# Run the crashing query
|
|
truncate table t1;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# Restart the MySQL server
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
3
|
|
select count(*) from t3;
|
|
count(*)
|
|
3
|
|
select count(*) from t4;
|
|
count(*)
|
|
3
|
|
select count(*) from t5;
|
|
ERROR 42S02: Table 'test.t5' doesn't exist
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
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
|
|
"---debug ib_trunc_crash_after_truncate_done point---"
|
|
# Write file to make mysql-test-run.pl expect crash and restart
|
|
# Run the crashing query
|
|
truncate table t2;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# Restart the MySQL server
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
0
|
|
select count(*) from t3;
|
|
count(*)
|
|
3
|
|
select count(*) from t4;
|
|
count(*)
|
|
3
|
|
select count(*) from t5;
|
|
ERROR 42S02: Table 'test.t5' doesn't exist
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
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
|
|
"---debug ib_trunc_crash_after_truncate_done point---"
|
|
# Write file to make mysql-test-run.pl expect crash and restart
|
|
# Run the crashing query
|
|
truncate table t3;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# Restart the MySQL server
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
0
|
|
select count(*) from t3;
|
|
count(*)
|
|
0
|
|
select count(*) from t4;
|
|
count(*)
|
|
3
|
|
select count(*) from t5;
|
|
ERROR 42S02: Table 'test.t5' doesn't exist
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
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
|
|
"---debug ib_trunc_crash_after_truncate_done point---"
|
|
# Write file to make mysql-test-run.pl expect crash and restart
|
|
# Run the crashing query
|
|
truncate table t4;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# Restart the MySQL server
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
0
|
|
select count(*) from t3;
|
|
count(*)
|
|
0
|
|
select count(*) from t4;
|
|
count(*)
|
|
0
|
|
select count(*) from t5;
|
|
ERROR 42S02: Table 'test.t5' doesn't exist
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
drop table t1, t2, t3, t4, t6;
|
|
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;
|
|
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);
|
|
select count(*) from t1;
|
|
count(*)
|
|
3
|
|
select count(*) from t2;
|
|
count(*)
|
|
3
|
|
select count(*) from t3;
|
|
count(*)
|
|
3
|
|
select count(*) from t4;
|
|
count(*)
|
|
3
|
|
select count(*) from t5;
|
|
count(*)
|
|
3
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
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
|
|
"---debug ib_trunc_crash_after_redo_log_write_complete point---"
|
|
# Write file to make mysql-test-run.pl expect crash and restart
|
|
# Run the crashing query
|
|
truncate table t1;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# Restart the MySQL server
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
3
|
|
select count(*) from t3;
|
|
count(*)
|
|
3
|
|
select count(*) from t4;
|
|
count(*)
|
|
3
|
|
select count(*) from t5;
|
|
ERROR 42S02: Table 'test.t5' doesn't exist
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
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
|
|
"---debug ib_trunc_crash_after_redo_log_write_complete point---"
|
|
# Write file to make mysql-test-run.pl expect crash and restart
|
|
# Run the crashing query
|
|
truncate table t2;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# Restart the MySQL server
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
0
|
|
select count(*) from t3;
|
|
count(*)
|
|
3
|
|
select count(*) from t4;
|
|
count(*)
|
|
3
|
|
select count(*) from t5;
|
|
ERROR 42S02: Table 'test.t5' doesn't exist
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
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
|
|
"---debug ib_trunc_crash_after_redo_log_write_complete point---"
|
|
# Write file to make mysql-test-run.pl expect crash and restart
|
|
# Run the crashing query
|
|
truncate table t3;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# Restart the MySQL server
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
0
|
|
select count(*) from t3;
|
|
count(*)
|
|
0
|
|
select count(*) from t4;
|
|
count(*)
|
|
3
|
|
select count(*) from t5;
|
|
ERROR 42S02: Table 'test.t5' doesn't exist
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
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
|
|
"---debug ib_trunc_crash_after_redo_log_write_complete point---"
|
|
# Write file to make mysql-test-run.pl expect crash and restart
|
|
# Run the crashing query
|
|
truncate table t4;
|
|
ERROR HY000: Lost connection to MySQL server during query
|
|
# Restart the MySQL server
|
|
select count(*) from t1;
|
|
count(*)
|
|
0
|
|
select count(*) from t2;
|
|
count(*)
|
|
0
|
|
select count(*) from t3;
|
|
count(*)
|
|
0
|
|
select count(*) from t4;
|
|
count(*)
|
|
0
|
|
select count(*) from t5;
|
|
ERROR 42S02: Table 'test.t5' doesn't exist
|
|
select count(*) from t6;
|
|
count(*)
|
|
3
|
|
drop table t1, t2, t3, t4, t6;
|