mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
MDEV-31386 InnoDB: Failing assertion: page_type == i_s_page_type[page_type].type_value
i_s_innodb_buffer_page_get_info(): Correct a condition.
After crash recovery, there may be some buffer pool pages in FREED state,
containing garbage (invalid data page contents). Let us ignore such pages
in the INFORMATION_SCHEMA output.
The test innodb.innodb_defragment_fill_factor will be removed, because
the queries that it is invoking on information_schema.innodb_buffer_page
would start to fail. The defragmentation feature was removed in
commit 7ca89af6f8
in MariaDB Server 11.1.
Tested by: Matthias Leich
This commit is contained in:
parent
3d90143859
commit
dc1bd1802a
5 changed files with 1 additions and 327 deletions
|
@ -1,118 +0,0 @@
|
|||
Testing tables with large records
|
||||
CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b VARCHAR(256), c VARCHAR(256), KEY SECOND(a, b,c)) ENGINE=INNODB;
|
||||
INSERT INTO t1 VALUES (1, REPEAT('A', 256), REPEAT('B', 256));
|
||||
INSERT INTO t1 (b) SELECT b from t1;
|
||||
INSERT INTO t1 (b) SELECT b from t1;
|
||||
INSERT INTO t1 (b) SELECT b from t1;
|
||||
INSERT INTO t1 (b) SELECT b from t1;
|
||||
INSERT INTO t1 (b) SELECT b from t1;
|
||||
INSERT INTO t1 (b) SELECT b from t1;
|
||||
INSERT INTO t1 (b) SELECT b from t1;
|
||||
INSERT INTO t1 (b) SELECT b from t1;
|
||||
INSERT INTO t1 (b) SELECT b from t1;
|
||||
INSERT INTO t1 (b) SELECT b from t1;
|
||||
SET GLOBAL innodb_fast_shutdown = 0;
|
||||
# restart
|
||||
optimize table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 optimize status OK
|
||||
select count(*) from t1;
|
||||
count(*)
|
||||
927
|
||||
select count(*) from t1 force index (second);
|
||||
count(*)
|
||||
927
|
||||
# A few more insertions on the page should not cause a page split.
|
||||
insert into t1 values (81, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (83, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (87, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (82, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (86, REPEAT('A', 256), REPEAT('B', 256));
|
||||
# Insert more rows to cause a page split
|
||||
insert into t1 values (180, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (181, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (182, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (183, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (184, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (185, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (186, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (187, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (188, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (189, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (190, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (191, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (192, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (193, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (194, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (195, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (196, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (197, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (198, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (199, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (200, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (201, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (202, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (203, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (204, REPEAT('A', 256), REPEAT('B', 256));
|
||||
DROP TABLE t1;
|
||||
Testing table with small records
|
||||
CREATE TABLE t2 (a INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b VARCHAR(16), c VARCHAR(32), KEY SECOND(a,b,c)) ENGINE=INNODB;
|
||||
SET GLOBAL innodb_fast_shutdown = 0;
|
||||
# restart
|
||||
optimize table t2;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t2 optimize status OK
|
||||
select count(*) from t2;
|
||||
count(*)
|
||||
3701
|
||||
select count(*) from t2 force index(second);
|
||||
count(*)
|
||||
3701
|
||||
The page should have room for about 20 insertions
|
||||
insert into t2 values(1181, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1191, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1182, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1192, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1183, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1193, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1184, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1194, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1185, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1195, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1186, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1196, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1187, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1197, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1188, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1198, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1189, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1199, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1190, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1180, REPEAT('A', 16), REPEAT('B',32));
|
||||
# Insert more rows to cause a page split
|
||||
insert into t2 values (180, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (181, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (182, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (183, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (184, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (185, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (186, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (187, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (188, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (189, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (190, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (191, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (192, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (193, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (194, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (195, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (196, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (197, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (198, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (199, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (200, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (201, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (202, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (203, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (204, REPEAT('A', 16), REPEAT('B', 32));
|
||||
DROP TABLE t2;
|
|
@ -14,7 +14,6 @@ WHERE TABLE_NAME LIKE '%infoschema_buffer_test%' AND PAGE_TYPE='index';
|
|||
POOL_ID BLOCK_ID SPACE PAGE_NUMBER PAGE_TYPE FLUSH_TYPE FIX_COUNT IS_HASHED NEWEST_MODIFICATION OLDEST_MODIFICATION ACCESS_TIME TABLE_NAME INDEX_NAME NUMBER_RECORDS DATA_SIZE COMPRESSED_SIZE PAGE_STATE IO_FIX IS_OLD FREE_PAGE_CLOCK
|
||||
0 # # 3 INDEX 0 FIX AHI LSN LSN TIME `test`.`infoschema_buffer_test` GEN_CLUST_INDEX 2 58 0 FILE_PAGE IO_FIX OLD #
|
||||
0 # # 4 INDEX 0 FIX AHI LSN LSN TIME `test`.`infoschema_buffer_test` idx 2 32 0 FILE_PAGE IO_FIX OLD #
|
||||
0 # # 5 INDEX 0 FIX AHI LSN LSN TIME `test`.`infoschema_buffer_test` idx 2 32 0 FILE_PAGE IO_FIX OLD #
|
||||
DROP TABLE infoschema_buffer_test;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
|
||||
WHERE TABLE_NAME LIKE '%infoschema_buffer_test%';
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
--loose-innodb-buffer-pool-stats
|
||||
--loose-innodb-buffer-page
|
||||
--loose-innodb-buffer-page-lru
|
||||
--innodb-defragment=1
|
|
@ -1,203 +0,0 @@
|
|||
--source include/have_innodb.inc
|
||||
--source include/big_test.inc
|
||||
--source include/not_valgrind.inc
|
||||
--source include/not_embedded.inc
|
||||
--source include/have_innodb_16k.inc
|
||||
|
||||
--echo Testing tables with large records
|
||||
# Create table.
|
||||
CREATE TABLE t1 (a INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b VARCHAR(256), c VARCHAR(256), KEY SECOND(a, b,c)) ENGINE=INNODB;
|
||||
|
||||
# Populate table.
|
||||
INSERT INTO t1 VALUES (1, REPEAT('A', 256), REPEAT('B', 256));
|
||||
INSERT INTO t1 (b) SELECT b from t1;
|
||||
INSERT INTO t1 (b) SELECT b from t1;
|
||||
INSERT INTO t1 (b) SELECT b from t1;
|
||||
INSERT INTO t1 (b) SELECT b from t1;
|
||||
INSERT INTO t1 (b) SELECT b from t1;
|
||||
INSERT INTO t1 (b) SELECT b from t1;
|
||||
INSERT INTO t1 (b) SELECT b from t1;
|
||||
INSERT INTO t1 (b) SELECT b from t1;
|
||||
INSERT INTO t1 (b) SELECT b from t1;
|
||||
INSERT INTO t1 (b) SELECT b from t1;
|
||||
|
||||
--disable_query_log
|
||||
let $size = 10;
|
||||
while ($size)
|
||||
{
|
||||
let $j = 100 * $size;
|
||||
eval delete from t1 where a between $j - 20 and $j + 5;
|
||||
dec $size;
|
||||
}
|
||||
--enable_query_log
|
||||
|
||||
SET GLOBAL innodb_fast_shutdown = 0;
|
||||
--source include/restart_mysqld.inc
|
||||
optimize table t1;
|
||||
|
||||
select count(*) from t1;
|
||||
|
||||
--let $primary_before = query_get_value(select count(*) as Value from information_schema.innodb_buffer_page where table_name like '%t1%' and index_name = 'PRIMARY', Value, 1)
|
||||
|
||||
select count(*) from t1 force index (second);
|
||||
|
||||
--let $second_before = query_get_value(select count(*) as Value from information_schema.innodb_buffer_page where table_name like '%t1%' and index_name = 'second', Value, 1)
|
||||
|
||||
--echo # A few more insertions on the page should not cause a page split.
|
||||
insert into t1 values (81, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (83, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (87, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (82, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (86, REPEAT('A', 256), REPEAT('B', 256));
|
||||
--let $primary_after = query_get_value(select count(*) as Value from information_schema.innodb_buffer_page where table_name like '%t1%' and index_name = 'PRIMARY', Value, 1)
|
||||
--let $second_after = query_get_value(select count(*) as Value from information_schema.innodb_buffer_page where table_name like '%t1%' and index_name = 'second', Value, 1)
|
||||
|
||||
if ($primary_before != $primary_after) {
|
||||
--echo Insertion caused page split on primary, which should be avoided by innodb_defragment_fill_factor.
|
||||
}
|
||||
|
||||
if ($second_before != $second_after) {
|
||||
--echo Insertion caused page split on second, which should be avoided by innodb_defragment_fill_factor.
|
||||
}
|
||||
|
||||
--echo # Insert more rows to cause a page split
|
||||
insert into t1 values (180, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (181, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (182, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (183, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (184, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (185, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (186, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (187, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (188, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (189, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (190, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (191, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (192, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (193, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (194, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (195, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (196, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (197, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (198, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (199, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (200, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (201, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (202, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (203, REPEAT('A', 256), REPEAT('B', 256));
|
||||
insert into t1 values (204, REPEAT('A', 256), REPEAT('B', 256));
|
||||
|
||||
--let $primary_after = query_get_value(select count(*) as Value from information_schema.innodb_buffer_page where table_name like '%t1%' and index_name = 'PRIMARY', Value, 1)
|
||||
|
||||
--let $second_after = query_get_value(select count(*) as Value from information_schema.innodb_buffer_page where table_name like '%t1%' and index_name = 'second', Value, 1)
|
||||
|
||||
if ($primary_before == $primary_after) {
|
||||
--echo Too little space is reserved on primary index.
|
||||
}
|
||||
|
||||
if ($second_before == $second_after) {
|
||||
--echo Too little space is reserved on second index.
|
||||
}
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo Testing table with small records
|
||||
CREATE TABLE t2 (a INT NOT NULL PRIMARY KEY AUTO_INCREMENT, b VARCHAR(16), c VARCHAR(32), KEY SECOND(a,b,c)) ENGINE=INNODB;
|
||||
# Populate table.
|
||||
--disable_query_log
|
||||
INSERT INTO t2 VALUES (1, REPEAT('A', 16), REPEAT('B', 32));
|
||||
INSERT INTO t2 (b) SELECT b from t2;
|
||||
INSERT INTO t2 (b) SELECT b from t2;
|
||||
INSERT INTO t2 (b) SELECT b from t2;
|
||||
INSERT INTO t2 (b) SELECT b from t2;
|
||||
INSERT INTO t2 (b) SELECT b from t2;
|
||||
INSERT INTO t2 (b) SELECT b from t2;
|
||||
INSERT INTO t2 (b) SELECT b from t2;
|
||||
INSERT INTO t2 (b) SELECT b from t2;
|
||||
INSERT INTO t2 (b) SELECT b from t2;
|
||||
INSERT INTO t2 (b) SELECT b from t2;
|
||||
INSERT INTO t2 (b) SELECT b from t2;
|
||||
INSERT INTO t2 (b) SELECT b from t2;
|
||||
--enable_query_log
|
||||
|
||||
--disable_query_log
|
||||
let $size = 40;
|
||||
while ($size)
|
||||
{
|
||||
let $j = 100 * $size;
|
||||
eval delete from t2 where a between $j - 20 and $j;
|
||||
dec $size;
|
||||
}
|
||||
--enable_query_log
|
||||
|
||||
SET GLOBAL innodb_fast_shutdown = 0;
|
||||
--source include/restart_mysqld.inc
|
||||
optimize table t2;
|
||||
|
||||
select count(*) from t2;
|
||||
select count(*) from t2 force index(second);
|
||||
|
||||
--let $second_before = query_get_value(select count(*) as Value from information_schema.innodb_buffer_page where table_name like '%t2%' and index_name = 'second', Value, 1)
|
||||
|
||||
--echo The page should have room for about 20 insertions
|
||||
insert into t2 values(1181, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1191, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1182, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1192, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1183, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1193, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1184, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1194, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1185, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1195, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1186, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1196, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1187, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1197, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1188, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1198, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1189, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1199, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1190, REPEAT('A', 16), REPEAT('B',32));
|
||||
insert into t2 values(1180, REPEAT('A', 16), REPEAT('B',32));
|
||||
|
||||
--let $second_after = query_get_value(select count(*) as Value from information_schema.innodb_buffer_page where table_name like '%t2%' and index_name = 'second', Value, 1)
|
||||
|
||||
if ($second_before != $second_after) {
|
||||
--echo Insertion caused page split on second, which should be avoided by innodb_defragment_fill_factor.
|
||||
}
|
||||
|
||||
--echo # Insert more rows to cause a page split
|
||||
insert into t2 values (180, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (181, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (182, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (183, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (184, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (185, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (186, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (187, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (188, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (189, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (190, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (191, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (192, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (193, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (194, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (195, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (196, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (197, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (198, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (199, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (200, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (201, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (202, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (203, REPEAT('A', 16), REPEAT('B', 32));
|
||||
insert into t2 values (204, REPEAT('A', 16), REPEAT('B', 32));
|
||||
|
||||
--let $second_after = query_get_value(select count(*) as Value from information_schema.innodb_buffer_page where table_name like '%t2%' and index_name = 'second', Value, 1)
|
||||
|
||||
if ($second_before == $second_after) {
|
||||
--echo Too little space is reserved on second index.
|
||||
}
|
||||
|
||||
DROP TABLE t2;
|
|
@ -4066,7 +4066,7 @@ i_s_innodb_buffer_page_get_info(
|
|||
|
||||
page_info->state = bpage->state();
|
||||
|
||||
if (page_info->state < buf_page_t::FREED) {
|
||||
if (page_info->state < buf_page_t::UNFIXED) {
|
||||
page_info->page_type = I_S_PAGE_TYPE_UNKNOWN;
|
||||
page_info->compressed_only = false;
|
||||
} else {
|
||||
|
|
Loading…
Reference in a new issue