Commit cf88f221 authored by Sergey Vojtovich's avatar Sergey Vojtovich

BUG#47455 - The myisam_crash_before_flush_keys test fails on Windows

Simplified and made more determenistic myisam_crash_before_flush_keys
test.
parent bf0aa2bd
...@@ -15,31 +15,13 @@ SET SESSION debug="d,crash_before_flush_keys"; ...@@ -15,31 +15,13 @@ SET SESSION debug="d,crash_before_flush_keys";
# Run the crashing query # Run the crashing query
FLUSH TABLE t1; FLUSH TABLE t1;
ERROR HY000: Lost connection to MySQL server during query ERROR HY000: Lost connection to MySQL server during query
# Run MYISAMCHK tool to check the table t1 and repair
myisamchk: MyISAM file MYSQLD_DATADIR/test/t1
myisamchk: warning: 1 client is using or hasn't closed the table properly
myisamchk: error: Size of indexfile is: 1024 Should be: 3072
MYISAMCHK: Unknown error 126
myisamchk: error: Can't read indexpage from filepos: 1024
MyISAM-table 'MYSQLD_DATADIR/test/t1' is corrupted
Fix it using switch "-r" or "-o"
# Write file to make mysql-test-run.pl start the server # Write file to make mysql-test-run.pl start the server
# Turn on reconnect # Turn on reconnect
# Call script that will poll the server waiting for # Call script that will poll the server waiting for
# it to be back online again # it to be back online again
SHOW CREATE TABLE t1; CHECK TABLE t1;
Table Create Table Table Op Msg_type Msg_text
t1 CREATE TABLE `t1` ( test.t1 check warning 1 client is using or hasn't closed the table properly
`a` int(11) NOT NULL DEFAULT '0', test.t1 check error Size of indexfile is: 1024 Should be: 3072
`b` int(11) NOT NULL DEFAULT '0', test.t1 check error Corrupt
PRIMARY KEY (`a`,`b`),
KEY `b` (`b`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 DELAY_KEY_WRITE=1
SELECT * FROM t1 FORCE INDEX (PRIMARY);
a b
1 2
2 3
3 4
4 5
5 6
DROP TABLE t1; DROP TABLE t1;
...@@ -26,12 +26,6 @@ SET SESSION debug="d,crash_before_flush_keys"; ...@@ -26,12 +26,6 @@ SET SESSION debug="d,crash_before_flush_keys";
--error 2013 --error 2013
FLUSH TABLE t1; FLUSH TABLE t1;
--echo # Run MYISAMCHK tool to check the table t1 and repair
--replace_result $MYISAMCHK MYISAMCHK $MYSQLD_DATADIR MYSQLD_DATADIR
--error 255
--exec $MYISAMCHK -cs $MYSQLD_DATADIR/test/t1 2>&1
--exec $MYISAMCHK -rs $MYSQLD_DATADIR/test/t1
--echo # Write file to make mysql-test-run.pl start the server --echo # Write file to make mysql-test-run.pl start the server
--exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect --exec echo "restart" > $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
...@@ -42,8 +36,6 @@ FLUSH TABLE t1; ...@@ -42,8 +36,6 @@ FLUSH TABLE t1;
--echo # it to be back online again --echo # it to be back online again
--source include/wait_until_connected_again.inc --source include/wait_until_connected_again.inc
SHOW CREATE TABLE t1; # Must report that the table wasn't closed properly
CHECK TABLE t1;
SELECT * FROM t1 FORCE INDEX (PRIMARY);
DROP TABLE t1; DROP TABLE t1;
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment