93 lines
2.9 KiB
Plaintext
93 lines
2.9 KiB
Plaintext
#
|
|
# WL#6965: Truncate UNDO logs.
|
|
#
|
|
|
|
--source include/have_innodb.inc
|
|
# this is must to ensure that trx_purge_truncate is called with increased
|
|
# frequency so that undo logs are cleared.
|
|
--source include/have_debug.inc
|
|
# We are printing size of undo log below and if page size keeps on
|
|
# varying then initial size too keeps on varying.
|
|
--source include/have_innodb_16k.inc
|
|
--source include/have_undo_tablespaces.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
|
|
--source include/big_test.inc
|
|
|
|
################################################################################
|
|
# Test-case will test following scenarios.
|
|
#
|
|
# 1. Different Crash Scenario.
|
|
# a. before log-checkpoint.
|
|
# b. after checkpoint before ddl log.
|
|
# c. after ddl log before truncate.
|
|
# d. after truncate before ddl log is removed.
|
|
# e. after truncate is complete (including ddl log removal).
|
|
#
|
|
################################################################################
|
|
|
|
#-----------------------------------------------------------------------------
|
|
#
|
|
# create test-bed
|
|
#
|
|
let SEARCH_FILE = $MYSQLTEST_VARDIR/log/mysqld.1.err;
|
|
--let $_server_id= `SELECT @@server_id`
|
|
--let $_expect_file_name= $MYSQLTEST_VARDIR/tmp/mysqld.$_server_id.expect
|
|
|
|
#
|
|
delimiter |;
|
|
CREATE PROCEDURE populate_t1()
|
|
BEGIN
|
|
DECLARE i INT DEFAULT 1;
|
|
while (i <= 40000) DO
|
|
insert into t1 values (i, 'a', 'b');
|
|
SET i = i + 1;
|
|
END WHILE;
|
|
END |
|
|
delimiter ;|
|
|
|
|
#-----------------------------------------------------------------------------
|
|
#
|
|
# 1. Different Crash Scenario.
|
|
# a. before log-checkpoint.
|
|
# b. after checkpoint before ddl log.
|
|
# c. after ddl log before truncate.
|
|
# d. after truncate before ddl log is removed.
|
|
# e. after truncate is complete (including ddl log removal).
|
|
#
|
|
let $debug_point="+d,ib_undo_trunc_before_checkpoint";
|
|
let SEARCH_PATTERN = ib_undo_trunc_before_checkpoint;
|
|
--source suite/innodb_undo/include/undo_log_trunc_recv.inc
|
|
#
|
|
#
|
|
let $debug_point="+d,ib_undo_trunc_before_ddl_log_start";
|
|
let SEARCH_PATTERN = ib_undo_trunc_before_ddl_log_start;
|
|
--source suite/innodb_undo/include/undo_log_trunc_recv.inc
|
|
#
|
|
#
|
|
let $debug_point="+d,ib_undo_trunc_before_truncate";
|
|
let SEARCH_PATTERN = ib_undo_trunc_before_truncate;
|
|
--source suite/innodb_undo/include/undo_log_trunc_recv.inc
|
|
#
|
|
#
|
|
let $debug_point="+d,ib_undo_trunc_before_ddl_log_end";
|
|
let SEARCH_PATTERN = ib_undo_trunc_before_ddl_log_end;
|
|
--source suite/innodb_undo/include/undo_log_trunc_recv.inc
|
|
#
|
|
#
|
|
let $debug_point="+d,ib_undo_trunc_trunc_done";
|
|
let SEARCH_PATTERN = ib_undo_trunc_trunc_done;
|
|
--source suite/innodb_undo/include/undo_log_trunc_recv.inc
|
|
|
|
#-----------------------------------------------------------------------------
|
|
#
|
|
# remove test-bed
|
|
#
|
|
drop PROCEDURE populate_t1;
|
|
|