diff options
Diffstat (limited to 'mysql-test/suite/innodb/t/innodb-index.test')
-rw-r--r-- | mysql-test/suite/innodb/t/innodb-index.test | 53 |
1 files changed, 42 insertions, 11 deletions
diff --git a/mysql-test/suite/innodb/t/innodb-index.test b/mysql-test/suite/innodb/t/innodb-index.test index c7aa6250da5..c80e3e6c066 100644 --- a/mysql-test/suite/innodb/t/innodb-index.test +++ b/mysql-test/suite/innodb/t/innodb-index.test @@ -1,7 +1,6 @@ -- source include/have_innodb.inc # Embedded server tests do not support restarting. -- source include/not_embedded.inc --- source include/maybe_debug.inc let $MYSQLD_DATADIR= `select @@datadir`; @@ -1126,9 +1125,6 @@ drop table t1; --echo # --source include/no_checkpoint_start.inc -if ($have_debug) { -SET GLOBAL DEBUG_DBUG='+d,fil_names_write_bogus'; -} CREATE TABLE t1(f1 INT PRIMARY KEY)ENGINE=InnoDB; CREATE TABLE t2(f1 INT PRIMARY KEY)ENGINE=InnoDB; @@ -1156,13 +1152,6 @@ AND support IN ('YES', 'DEFAULT', 'ENABLED'); --move_file $MYSQLD_DATADIR/test/t0.ibd $MYSQLD_DATADIR/test/t1.ibd --source include/start_mysqld.inc -if ($have_debug) { -# Initiate shutdown in order to issue a redo log checkpoint and to discard -# the redo log record that was emitted due to '+d,fil_names_write_bogus'. ---let $restart_noprint=2 ---source include/restart_mysqld.inc ---let $restart_noprint=0 -} SELECT * FROM t1; SELECT * FROM t2; @@ -1193,6 +1182,48 @@ SHOW CREATE TABLE t; --disable_prepare_warnings DROP TABLE t; +--echo # +--echo # MDEV-27374 InnoDB table becomes corrupt after renaming DESC-indexed column +--echo # +CREATE TABLE t1 (a VARCHAR(8), PRIMARY KEY(a DESC)) ENGINE=InnoDB; +ALTER TABLE t1 RENAME COLUMN a TO b, ALGORITHM=INPLACE; +SELECT TABLE_ID INTO @table_id FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME="test/t1"; +SELECT INDEX_ID INTO @index_id FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES WHERE TABLE_ID = @table_id; +SELECT NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS WHERE INDEX_ID=@index_id; +DROP TABLE t1; + +--echo # +--echo # MDEV-27432 ASC/DESC primary and unique keys cause index +--echo # inconsistency between InnoDB and server +--echo # +CREATE TABLE t1 (id INT NOT NULL, UNIQUE(id DESC)) ENGINE=InnoDB; +ALTER TABLE t1 ADD PRIMARY KEY (id), ALGORITHM=INPLACE; +SHOW CREATE TABLE t1; +DROP TABLE t1; + +--echo # +--echo # MDEV-27445 Index inconsistency and assertion failure after +--echo # renaming virtual column with DESC key +--echo # +CREATE TABLE t1(a INT, b INT AS (a), KEY(a, b DESC)) ENGINE=InnoDB; +ALTER TABLE t1 RENAME COLUMN IF EXISTS b TO v; +ALTER TABLE t1 FORCE; +DROP TABLE t1; + +--echo # +--echo # MDEV-27592 DESC primary index fails to set wide format +--echo # while renaming the column +--echo # +CREATE TABLE t1 (id INT PRIMARY KEY, a CHAR(8), b INT, KEY(a DESC,b)) ENGINE=InnoDB; +INSERT INTO t1 VALUES (1,'foo',10); +ALTER TABLE t1 RENAME COLUMN b TO c, ALGORITHM=INPLACE; +SELECT TABLE_ID INTO @table_id FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME="test/t1"; +SELECT INDEX_ID INTO @index_id FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES WHERE TABLE_ID = @table_id ORDER BY INDEX_ID DESC LIMIT 1; +SELECT NAME FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS WHERE INDEX_ID=@index_id; +DROP TABLE t1; + +--echo # End of 10.8 tests + --disable_query_log call mtr.add_suppression("InnoDB: Tablespace .* was not found at .*t[12].ibd."); |