mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 20:12:31 +01:00
BUG#47455 - The myisam_crash_before_flush_keys test fails on Windows
Simplified and made more determenistic myisam_crash_before_flush_keys test. mysql-test/r/myisam_crash_before_flush_keys.result: We don't need myisamchk to test this bug fix. CHECK TABLE after server restart is enough to ensure that the fix works. mysql-test/t/myisam_crash_before_flush_keys.test: We don't need myisamchk to test this bug fix. CHECK TABLE after server restart is enough to ensure that the fix works.
This commit is contained in:
parent
6da93b223b
commit
8e65618fa9
2 changed files with 7 additions and 33 deletions
|
@ -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";
|
||||||
--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;
|
||||||
--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;
|
||||||
|
|
Loading…
Reference in a new issue