1CREATE TABLE t1 (f1 INT NOT NULL, f2 INT NOT NULL, 2UNIQUE KEY uidx2(f1,f2), 3UNIQUE KEY uidx1(f2)) ENGINE=InnoDB; 4INSERT INTO t1 VALUES(1, 1); 5SHOW CREATE TABLE t1; 6Table Create Table 7t1 CREATE TABLE `t1` ( 8 `f1` int(11) NOT NULL, 9 `f2` int(11) NOT NULL, 10 UNIQUE KEY `uidx2` (`f1`,`f2`), 11 UNIQUE KEY `uidx1` (`f2`) 12) ENGINE=InnoDB DEFAULT CHARSET=latin1 13SET DEBUG_SYNC = 'innodb_inplace_alter_table_enter 14 SIGNAL conc_dml WAIT_FOR go_ahead'; 15ALTER TABLE t1 CHANGE COLUMN f1 f11 INT, ALGORITHM=INPLACE; 16connect con1,localhost,root,,; 17SET DEBUG_SYNC = 'now WAIT_FOR conc_dml'; 18DELETE FROM t1; 19SET DEBUG_SYNC = 'now SIGNAL go_ahead'; 20connection default; 21SHOW CREATE TABLE t1; 22Table Create Table 23t1 CREATE TABLE `t1` ( 24 `f11` int(11) DEFAULT NULL, 25 `f2` int(11) NOT NULL, 26 UNIQUE KEY `uidx1` (`f2`), 27 UNIQUE KEY `uidx2` (`f11`,`f2`) 28) ENGINE=InnoDB DEFAULT CHARSET=latin1 29CHECK TABLE t1; 30Table Op Msg_type Msg_text 31test.t1 check status OK 32DROP TABLE t1; 33CREATE TABLE t1(f1 INT, f2 INT, 34PRIMARY KEY(f1, f2), 35UNIQUE INDEX uidx2 (f1, f2), 36UNIQUE INDEX uidx1 (f2))ENGINE=InnoDB; 37INSERT INTO t1 VALUES(2, 2); 38ALTER TABLE t1 DROP PRIMARY KEY; 39SHOW CREATE TABLE t1; 40Table Create Table 41t1 CREATE TABLE `t1` ( 42 `f1` int(11) NOT NULL, 43 `f2` int(11) NOT NULL, 44 UNIQUE KEY `uidx2` (`f1`,`f2`), 45 UNIQUE KEY `uidx1` (`f2`) 46) ENGINE=InnoDB DEFAULT CHARSET=latin1 47SET DEBUG_SYNC = 'innodb_inplace_alter_table_enter 48 SIGNAL conc_dml WAIT_FOR go_ahead'; 49ALTER TABLE t1 CHANGE COLUMN f1 f11 INT, ALGORITHM=INPLACE; 50connection con1; 51SET DEBUG_SYNC = 'now WAIT_FOR conc_dml'; 52INSERT INTO t1 VALUES(1, 1), (1, 1); 53ERROR 23000: Duplicate entry '1-1' for key 'uidx2' 54SET DEBUG_SYNC = 'now SIGNAL go_ahead'; 55connection default; 56SHOW CREATE TABLE t1; 57Table Create Table 58t1 CREATE TABLE `t1` ( 59 `f11` int(11) DEFAULT NULL, 60 `f2` int(11) NOT NULL, 61 UNIQUE KEY `uidx1` (`f2`), 62 UNIQUE KEY `uidx2` (`f11`,`f2`) 63) ENGINE=InnoDB DEFAULT CHARSET=latin1 64CHECK TABLE t1; 65Table Op Msg_type Msg_text 66test.t1 check status OK 67DROP TABLE t1; 68SET SQL_MODE= strict_trans_tables; 69CREATE TABLE t1(a INT UNIQUE) ENGINE=InnoDB; 70INSERT INTO t1 VALUES(1); 71SET DEBUG_SYNC='row_log_table_apply1_before SIGNAL dml WAIT_FOR dml_done'; 72ALTER TABLE t1 MODIFY COLUMN a INT NOT NULL; 73connection con1; 74SET DEBUG_SYNC='now WAIT_FOR dml'; 75BEGIN; 76INSERT INTO t1 SET a=NULL; 77ROLLBACK; 78set DEBUG_SYNC='now SIGNAL dml_done'; 79connection default; 80ERROR 22004: Invalid use of NULL value 81DROP TABLE t1; 82disconnect con1; 83SET DEBUG_SYNC="RESET"; 84SET SQL_MODE=DEFAULT; 85CREATE TABLE t1(f1 INT NOT NULL, f2 INT NOT NULL, PRIMARY KEY(f1, f2), 86UNIQUE KEY(f2))ENGINE=InnoDB; 87ALTER TABLE t1 DROP PRIMARY KEY; 88SHOW CREATE TABLE t1; 89Table Create Table 90t1 CREATE TABLE `t1` ( 91 `f1` int(11) NOT NULL, 92 `f2` int(11) NOT NULL, 93 UNIQUE KEY `f2` (`f2`) 94) ENGINE=InnoDB DEFAULT CHARSET=latin1 95DROP TABLE t1; 96CREATE TABLE t1(f1 INT NOT NULL, f2 INT NOT NULL, 97UNIQUE KEY(f2), UNIQUE KEY(f2))ENGINE=InnoDB; 98Warnings: 99Note 1831 Duplicate index `f2_2`. This is deprecated and will be disallowed in a future release 100SHOW CREATE TABLE t1; 101Table Create Table 102t1 CREATE TABLE `t1` ( 103 `f1` int(11) NOT NULL, 104 `f2` int(11) NOT NULL, 105 UNIQUE KEY `f2` (`f2`), 106 UNIQUE KEY `f2_2` (`f2`) 107) ENGINE=InnoDB DEFAULT CHARSET=latin1 108ALTER TABLE t1 DROP INDEX f2, ALGORITHM=INPLACE; 109SHOW CREATE TABLE t1; 110Table Create Table 111t1 CREATE TABLE `t1` ( 112 `f1` int(11) NOT NULL, 113 `f2` int(11) NOT NULL, 114 UNIQUE KEY `f2_2` (`f2`) 115) ENGINE=InnoDB DEFAULT CHARSET=latin1 116DROP TABLE t1; 117