mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-11824 Allow ROW_FORMAT=DYNAMIC in the InnoDB system tablespace
When MySQL 5.7.9 (and MariaDB Server 10.2) introduced innodb_default_row_format and made ROW_FORMAT=DYNAMIC the default, it became possible to create any ROW_FORMAT tables in the InnoDB system tablespace, except ROW_FORMAT=COMPRESSED. In MySQL 5.7, it is possible to create ROW_FORMAT=DYNAMIC tables when TABLESPACE=innodb_system is explicitly specified. Because MariaDB Server 10.2 does not support the MySQL 5.7 TABLESPACE=innodb_system attribute for tables, we should allow ROW_FORMAT=DYNAMIC when innodb_file_per_table=0. Also, remove the test innodb_zip.innodb-create-options, which was an outdated copy of innodb_zip.create_options.
This commit is contained in:
@ -1,4 +1,3 @@
|
||||
DROP DATABASE IF EXISTS mysqltest_innodb_zip;
|
||||
CREATE DATABASE mysqltest_innodb_zip;
|
||||
USE mysqltest_innodb_zip;
|
||||
SELECT table_name, row_format, data_length, index_length
|
||||
@ -316,19 +315,16 @@ Warning 1478 InnoDB: ROW_FORMAT=COMPRESSED requires innodb_file_per_table.
|
||||
Error 1005 Can't create table `mysqltest_innodb_zip`.`t6` (errno: 140 "Wrong create options")
|
||||
Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
|
||||
create table t7 (id int primary key) engine = innodb row_format = dynamic;
|
||||
ERROR HY000: Can't create table `mysqltest_innodb_zip`.`t7` (errno: 140 "Wrong create options")
|
||||
show warnings;
|
||||
Level Code Message
|
||||
Warning 1478 InnoDB: ROW_FORMAT=DYNAMIC requires innodb_file_per_table.
|
||||
Error 1005 Can't create table `mysqltest_innodb_zip`.`t7` (errno: 140 "Wrong create options")
|
||||
Warning 1030 Got error 140 "Wrong create options" from storage engine InnoDB
|
||||
create table t8 (id int primary key) engine = innodb row_format = compact;
|
||||
create table t9 (id int primary key) engine = innodb row_format = redundant;
|
||||
SELECT table_schema, table_name, row_format, data_length, index_length FROM information_schema.tables WHERE engine='innodb' AND table_schema != 'mysql';
|
||||
table_schema table_name row_format data_length index_length
|
||||
mysqltest_innodb_zip t7 Dynamic {valid} 0
|
||||
mysqltest_innodb_zip t8 Compact {valid} 0
|
||||
mysqltest_innodb_zip t9 Redundant {valid} 0
|
||||
drop table t8, t9;
|
||||
drop table t7, t8, t9;
|
||||
set global innodb_file_per_table = on;
|
||||
set global innodb_file_format = `0`;
|
||||
Warnings:
|
||||
@ -409,5 +405,4 @@ select @@innodb_file_format_max;
|
||||
@@innodb_file_format_max
|
||||
Barracuda
|
||||
drop table normal_table, zip_table;
|
||||
USE test;
|
||||
DROP DATABASE mysqltest_innodb_zip;
|
||||
|
Reference in New Issue
Block a user