mirror of
https://github.com/MariaDB/server.git
synced 2025-05-29 21:42:28 +03:00
With innodb_default_row_format=redundant, InnoDB would crash when using table options that are incompatible with ROW_FORMAT=REDUNDANT. create_table_info_t::m_default_row_format: Cache the value of innodb_default_row_format. create_table_info_t::check_table_options(): Validate ROW_TYPE_DEFAULT with m_default_row_format. create_table_info_t::innobase_table_flags(): Use the cached m_default_row_format. create_table_info_t: Never read m_form->s->row_type. Use m_create_info->row_type instead. dict_tf_set(): Never set invalid flags for ROW_FORMAT=REDUNDANT. ha_innobase::truncate(): Set info.row_type based on the ROW_FORMAT of the current table.
47 lines
1.4 KiB
Plaintext
47 lines
1.4 KiB
Plaintext
--source include/have_innodb.inc
|
|
--source include/innodb_row_format.inc
|
|
|
|
CREATE TABLE t1(c1 TEXT,c2 BLOB) ENGINE=InnoDB;
|
|
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
|
|
SHOW TABLE STATUS LIKE 't1';
|
|
DROP TABLE t1;
|
|
|
|
CREATE TABLE t1(c1 TEXT,c2 BLOB) ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
|
|
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
|
|
SHOW TABLE STATUS LIKE 't1';
|
|
DROP TABLE t1;
|
|
|
|
CREATE TABLE t1(c1 TEXT,c2 BLOB) ENGINE=InnoDB ROW_FORMAT=COMPACT;
|
|
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
|
|
SHOW TABLE STATUS LIKE 't1';
|
|
DROP TABLE t1;
|
|
|
|
CREATE TABLE t1(c1 TEXT,c2 BLOB) ENGINE=InnoDB ROW_FORMAT=REDUNDANT;
|
|
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
|
|
SHOW TABLE STATUS LIKE 't1';
|
|
DROP TABLE t1;
|
|
|
|
CREATE TABLE t1(c1 TEXT,c2 BLOB) ENGINE=InnoDB
|
|
ROW_FORMAT=COMPRESSED;
|
|
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
|
|
SHOW TABLE STATUS LIKE 't1';
|
|
TRUNCATE TABLE t1;
|
|
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
|
|
SHOW TABLE STATUS LIKE 't1';
|
|
DROP TABLE t1;
|
|
|
|
--error 0,ER_CANT_CREATE_TABLE
|
|
CREATE TABLE t1 (c1 INT) ENGINE=InnoDB page_compressed=1;
|
|
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
|
|
SHOW TABLE STATUS LIKE 't1';
|
|
DROP TABLE IF EXISTS t1;
|
|
|
|
SET @save_format = @@GLOBAL.innodb_default_row_format;
|
|
SET GLOBAL innodb_default_row_format = redundant;
|
|
CREATE TABLE t1 (c1 INT) ENGINE=InnoDB;
|
|
SET GLOBAL innodb_default_row_format = @save_format;
|
|
TRUNCATE TABLE t1;
|
|
--replace_column 3 # 5 # 6 # 7 # 8 # 9 # 10 # 12 #
|
|
SHOW TABLE STATUS LIKE 't1';
|
|
DROP TABLE t1;
|