mariadb/mysql-test/suite/innodb/r/online_table_rebuild.result
2022-09-20 16:53:20 +03:00

47 lines
1.9 KiB
Text

CREATE TABLE t1(f1 INT NOT NULL, f2 CHAR(200), f3 CHAR(200))ENGINE=InnoDB;
INSERT INTO t1 VALUES(3, "innodb", "alter log");
SET DEBUG_SYNC="inplace_after_index_build SIGNAL dml_start WAIT_FOR dml_commit";
ALTER TABLE t1 ADD PRIMARY KEY(f3(10)), ADD UNIQUE KEY(f2(10));
CONNECT con1,localhost,root,,,;
SET DEBUG_SYNC="now WAIT_FOR dml_start";
BEGIN;
INSERT INTO t1 VALUES(1, repeat('b', 100), repeat('c', 100));
INSERT INTO t1 VALUES(2, repeat('b', 100), repeat('a', 100));
COMMIT;
SET DEBUG_SYNC="now SIGNAL dml_commit";
connection default;
ERROR 23000: Duplicate entry 'bbbbbbbbbb' for key 'f2'
connection default;
SET DEBUG_SYNC="inplace_after_index_build SIGNAL dml_start WAIT_FOR dml_commit";
ALTER TABLE t1 ADD PRIMARY KEY(f1);
connection con1;
SET DEBUG_SYNC="now WAIT_FOR dml_start";
INSERT INTO t1 SELECT 10, repeat('a', 100), repeat('b', 100) FROM seq_1_to_4800;
SET DEBUG_SYNC="now SIGNAL dml_commit";
connection default;
ERROR HY000: Creating index 'PRIMARY' required more than 'innodb_online_alter_log_max_size' bytes of modification log. Please try again
DELETE FROM t1;
INSERT INTO t1 VALUES(1, repeat('a', 100), repeat('b', 100));
ALTER TABLE t1 ADD PRIMARY KEY(f1);
set DEBUG_SYNC="innodb_inplace_alter_table_enter SIGNAL dml_start WAIT_FOR dml_commit";
ALTER TABLE t1 DROP PRIMARY KEY, ADD PRIMARY KEY(f3(10));
connection con1;
SET DEBUG_SYNC="now WAIT_FOR dml_start";
BEGIN;
INSERT INTO t1 VALUES(2, repeat('b', 100), repeat('c', 100));
UPDATE t1 set f3=repeat('c', 100) where f1=1;
COMMIT;
SET DEBUG_SYNC="now SIGNAL dml_commit";
connection default;
ERROR 23000: Duplicate entry 'cccccccccc' for key 'PRIMARY'
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`f1` int(11) NOT NULL,
`f2` char(200) DEFAULT NULL,
`f3` char(200) DEFAULT NULL,
PRIMARY KEY (`f1`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
DROP TABLE t1;
disconnect con1;
SET DEBUG_SYNC=reset;