--source include/not_embedded.inc --source include/not_valgrind.inc --source include/have_debug.inc --source include/have_binlog_format_mixed.inc --source include/have_innodb_binlog.inc --let $datadir= `SELECT @@datadir` --source include/reset_master.inc CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=InnoDB; INSERT INTO t1 VALUES (1); --let $no_checkpoint_flush= 1 --let no_checkpoint_kill= 1 --source ../../suite/innodb/include/no_checkpoint_start.inc --let $file= query_get_value(SHOW MASTER STATUS, File, 1) --let $pos= query_get_value(SHOW MASTER STATUS, Position, 1) BEGIN; INSERT INTO t1 VALUES (2); INSERT INTO t1 VALUES (3); COMMIT; INSERT INTO t1 VALUES (4); INSERT INTO t1 VALUES (5); INSERT INTO t1 VALUES (6); INSERT INTO t1 VALUES (7); SELECT * FROM t1 ORDER BY a; # Crash the server --write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect wait-recovery.test EOF SET SESSION debug_dbug="+d,crash_dispatch_command_before"; --error 2006,2013 SELECT 1; --source include/wait_until_disconnected.inc --source ../../suite/innodb/include/no_checkpoint_end.inc # Overwrite the binlog file past the last checkpoint --let BINLOG_FILE= $datadir/$file --let OFFSET= $pos --let LEN=5000 perl; open F, '+<', $ENV{BINLOG_FILE} or die $!; sysseek F, $ENV{OFFSET}, 0 or die $!; my $x= chr(0) x $ENV{LEN}; syswrite F, $x, $ENV{LEN} or die $!; EOF --append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect restart EOF --enable_reconnect --source include/wait_until_connected_again.inc --let $binlog_file= --let $binlog_start= 4 --source include/show_binlog_events.inc DROP TABLE t1;