polardbxengine/mysql-test/suite/innodb/t/row_format_redundant.test

87 lines
3.1 KiB
Plaintext

--source include/have_debug.inc
--echo #
--echo # Bug#21644827 - FTS, ASSERT !SRV_READ_ONLY_MODE || M_IMPL.M_LOG_MODE ==
--echo # MTR_LOG_NO_REDO
--echo #
create table t1 (a int not null, d varchar(15) not null, b
varchar(198) not null, c char(156),
fulltext ftsic(c)) engine=InnoDB
row_format=redundant;
insert into t1 values(123, 'abcdef', 'jghikl', 'mnop');
insert into t1 values(456, 'abcdef', 'jghikl', 'mnop');
insert into t1 values(789, 'abcdef', 'jghikl', 'mnop');
insert into t1 values(134, 'kasdfsdsadf', 'adfjlasdkfjasd', 'adfsadflkasdasdfljasdf');
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
insert into t1 select * from t1;
SET GLOBAL innodb_file_per_table=OFF;
create table t2 (a int not null, d varchar(15) not null, b
varchar(198) not null, c char(156), fulltext ftsic(c)) engine=InnoDB
row_format=redundant;
insert into t2 select * from t1;
create table t3 (a int not null, d varchar(15) not null, b varchar(198),
c varchar(150), index k1(c(99), b(56)), index k2(b(5), c(10))) engine=InnoDB
row_format=redundant;
insert into t3 values(444, 'dddd', 'bbbbb', 'aaaaa');
insert into t3 values(555, 'eeee', 'ccccc', 'aaaaa');
# Suppress warning regarding re-populating charsets and collations.
--disable_query_log
CALL mtr.add_suppression("Skip re-populating collations and character sets tables in InnoDB read-only mode.");
CALL mtr.add_suppression("Skip updating information_schema metadata in InnoDB read-only mode.");
CALL mtr.add_suppression("Skipped updating resource group metadata in InnoDB read only mode.");
--enable_query_log
# read-only restart requires the change buffer to be empty; therefore we
# do a slow shutdown.
SET GLOBAL innodb_fast_shutdown=0;
let $restart_parameters = restart: --innodb-read-only;
--source include/restart_mysqld.inc
SELECT COUNT(*) FROM t1;
SELECT COUNT(*) FROM t2;
SELECT COUNT(*) FROM t3;
let $restart_parameters = restart;
--source include/restart_mysqld.inc
TRUNCATE TABLE t1;
TRUNCATE TABLE t2;
TRUNCATE TABLE t3;
# These messages are relevant only when this debug parameter
# "ib_table_invalid_flags" is enabled
# In new DD, we don't load table from InnoDB data dictionary.
--disable_query_log
call mtr.add_suppression("\\[ERROR\\] .*MY-\\d+.* Table `test`.`t1` in InnoDB data dictionary contains invalid flags. SYS_TABLES.MIX_LEN=255");
call mtr.add_suppression("\\[Warning\\] .*MY-\\d+.* Parent table of FTS auxiliary table test/FTS_.* not found.");
call mtr.add_suppression("\\[Warning\\] .*MY-\\d+.* Cannot open table test/t1 from the internal data dictionary of InnoDB though the .frm file for the table exists.");
--enable_query_log
let $restart_parameters = restart: --debug=d,ib_table_invalid_flags;
--source include/restart_mysqld.inc
#--error ER_NO_SUCH_TABLE
SELECT * FROM t1;
let $restart_parameters = restart;
--source include/restart_mysqld.inc
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;