mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 04:22:27 +01:00
Maria: it is allowed to change unknown type to any legal type of page
in the pagecache: fixing wrong assertion and a test case. maria.test and ps_maria.test still fail. mysql-test/r/maria.result: result update mysql-test/t/maria.test: added test for incorrect assert on page's type storage/maria/ma_pagecache.c: It is allowed to change unknown type to any legal type of page in the pagecache.
This commit is contained in:
parent
9b1e83dba7
commit
9554b40df2
3 changed files with 11 additions and 1 deletions
|
@ -33,6 +33,10 @@ test.t1 repair status OK
|
|||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
flush table t1;
|
||||
repair table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair status OK
|
||||
drop table t1;
|
||||
create table t1 (a int not null auto_increment, b int not null, primary key (a), index(b));
|
||||
insert into t1 (b) values (1),(2),(2),(2),(2);
|
||||
|
|
|
@ -57,6 +57,10 @@ delete from t1 where (a & 1);
|
|||
check table t1;
|
||||
repair table t1;
|
||||
check table t1;
|
||||
|
||||
# FLUSH + REPAIR used to cause assertion failure in page cache
|
||||
flush table t1;
|
||||
repair table t1;
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
|
|
|
@ -2865,7 +2865,9 @@ restart:
|
|||
(pin == PAGECACHE_PIN)),
|
||||
&page_st);
|
||||
DBUG_ASSERT(block->type == PAGECACHE_EMPTY_PAGE ||
|
||||
block->type == type || type == PAGECACHE_READ_UNKNOWN_PAGE);
|
||||
block->type == type ||
|
||||
type == PAGECACHE_READ_UNKNOWN_PAGE ||
|
||||
block->type == PAGECACHE_READ_UNKNOWN_PAGE);
|
||||
if (type != PAGECACHE_READ_UNKNOWN_PAGE ||
|
||||
block->type == PAGECACHE_EMPTY_PAGE)
|
||||
block->type= type;
|
||||
|
|
Loading…
Reference in a new issue