MDEV-12628: innodb.innodb_bug14147491 sporadically fails in buildbot due to wrong error number

Actual error number returned from the query depends what point
corrupted page is accessed, is it accessed when we read
one of the pages for result set or is it accessed during
background page read.
This commit is contained in:
Jan Lindström 2017-05-08 12:04:08 +03:00
parent 57e667357a
commit e1efeaa550
2 changed files with 11 additions and 18 deletions

View File

@ -9,17 +9,12 @@ INSERT INTO t1 (b) VALUES ('corrupt me');
# Corrupt the table # Corrupt the table
Munged a string. Munged a string.
Munged a string. Munged a string.
# The below SELECT query will return that table is not # Now t1 is corrupted but we should not crash
# in engine because table is corrupted
SELECT * FROM t1; SELECT * FROM t1;
ERROR 42S02: Table 'test.t1' doesn't exist in engine Got one of the listed errors
INSERT INTO t1(b) VALUES('abcdef'); INSERT INTO t1(b) VALUES('abcdef');
ERROR 42S02: Table 'test.t1' doesn't exist in engine Got one of the listed errors
UPDATE t1 set b = 'deadbeef' where a = 1; UPDATE t1 set b = 'deadbeef' where a = 1;
ERROR 42S02: Table 'test.t1' doesn't exist in engine Got one of the listed errors
CHECK TABLE t1; # Cleanup, this must be possible
Table Op Msg_type Msg_text
test.t1 check Error Table 'test.t1' doesn't exist in engine
test.t1 check status Operation failed
# Cleanup
DROP TABLE t1; DROP TABLE t1;

View File

@ -65,18 +65,16 @@ EOF
--source include/start_mysqld.inc --source include/start_mysqld.inc
--echo # The below SELECT query will return that table is not --echo # Now t1 is corrupted but we should not crash
--echo # in engine because table is corrupted
--error 1932 --error 1712,1932
SELECT * FROM t1; SELECT * FROM t1;
--error 1932 --error 1034,1712,1932
INSERT INTO t1(b) VALUES('abcdef'); INSERT INTO t1(b) VALUES('abcdef');
--error 1932 --error 1712,1932
UPDATE t1 set b = 'deadbeef' where a = 1; UPDATE t1 set b = 'deadbeef' where a = 1;
CHECK TABLE t1; --echo # Cleanup, this must be possible
--echo # Cleanup
DROP TABLE t1; DROP TABLE t1;