mirror of
https://github.com/MariaDB/server.git
synced 2025-09-02 09:41:40 +03:00
MDEV-13105 InnoDB fails to load a table with PAGE_COMPRESSION_LEVEL after upgrade from 10.1.20
When using innodb_page_size=16k, InnoDB tables that were created in MariaDB 10.1.0 to 10.1.20 with PAGE_COMPRESSED=1 and PAGE_COMPRESSION_LEVEL=2 or PAGE_COMPRESSION_LEVEL=3 would fail to load. fsp_flags_is_valid(): When using innodb_page_size=16k, use a more strict check for .ibd files, with the assumption that nobody would try to use different-page-size files.
This commit is contained in:
@@ -11,7 +11,7 @@ sub convert_to_mariadb_101
|
||||
# FIL_PAGE_DATA + FSP_SPACE_FLAGS = 38 + 16 = 54 bytes from the start
|
||||
my($flags) = unpack "x[54]N", $_;
|
||||
my $badflags = ($flags & 0x3f);
|
||||
my $compression_level=6;
|
||||
my $compression_level=3;
|
||||
$badflags |= 1<<6|$compression_level<<7 if ($flags & 1 << 16);
|
||||
$badflags |= ($flags & 15 << 6) << 7; # PAGE_SSIZE
|
||||
|
||||
|
Reference in New Issue
Block a user