diff options
author | Marko Mäkelä <marko.makela@mariadb.com> | 2017-07-05 14:35:55 +0300 |
---|---|---|
committer | Marko Mäkelä <marko.makela@mariadb.com> | 2017-07-05 14:55:56 +0300 |
commit | e555540ab6b9c3e0d4fdd00af093b115a9401d0a (patch) | |
tree | 84467ec02335ca26faeaffd416bfc552faea6b22 /mysql-test/suite/innodb | |
parent | 8ae9c86f2a79f1301f5428542fc7f53feed7d4f4 (diff) | |
download | mariadb-git-e555540ab6b9c3e0d4fdd00af093b115a9401d0a.tar.gz |
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.
Diffstat (limited to 'mysql-test/suite/innodb')
-rw-r--r-- | mysql-test/suite/innodb/include/ibd_convert.pl | 2 | ||||
-rw-r--r-- | mysql-test/suite/innodb/r/101_compatibility.result | 2 | ||||
-rw-r--r-- | mysql-test/suite/innodb/t/101_compatibility.test | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/mysql-test/suite/innodb/include/ibd_convert.pl b/mysql-test/suite/innodb/include/ibd_convert.pl index 9c7e829f455..bb9dfbe74b8 100644 --- a/mysql-test/suite/innodb/include/ibd_convert.pl +++ b/mysql-test/suite/innodb/include/ibd_convert.pl @@ -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 diff --git a/mysql-test/suite/innodb/r/101_compatibility.result b/mysql-test/suite/innodb/r/101_compatibility.result index bf613c1b3b1..7ec8bb19c10 100644 --- a/mysql-test/suite/innodb/r/101_compatibility.result +++ b/mysql-test/suite/innodb/r/101_compatibility.result @@ -7,7 +7,7 @@ CREATE TABLE tc(a INT)ENGINE=InnoDB ROW_FORMAT=COMPACT; CREATE TABLE td(a INT)ENGINE=InnoDB ROW_FORMAT=DYNAMIC; CREATE TABLE tz(a INT)ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1; CREATE TABLE tdd(a INT) ENGINE=InnoDB, DATA DIRECTORY='MYSQL_TMP_DIR'; -CREATE TABLE tp(a INT) ENGINE=InnoDB page_compressed=1; +CREATE TABLE tp(a INT) ENGINE=InnoDB ROW_FORMAT=DYNAMIC PAGE_COMPRESSED=1; CREATE TABLE ti(a INT) ENGINE=InnoDB; FLUSH TABLES ti FOR EXPORT; backup: ti diff --git a/mysql-test/suite/innodb/t/101_compatibility.test b/mysql-test/suite/innodb/t/101_compatibility.test index 25567b939c7..df3261cebd1 100644 --- a/mysql-test/suite/innodb/t/101_compatibility.test +++ b/mysql-test/suite/innodb/t/101_compatibility.test @@ -28,7 +28,7 @@ CREATE TABLE tz(a INT)ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1; --replace_result $MYSQL_TMP_DIR MYSQL_TMP_DIR EVAL CREATE TABLE tdd(a INT) ENGINE=InnoDB, DATA DIRECTORY='$MYSQL_TMP_DIR'; -CREATE TABLE tp(a INT) ENGINE=InnoDB page_compressed=1; +CREATE TABLE tp(a INT) ENGINE=InnoDB ROW_FORMAT=DYNAMIC PAGE_COMPRESSED=1; CREATE TABLE ti(a INT) ENGINE=InnoDB; FLUSH TABLES ti FOR EXPORT; perl; |