mirror of
https://github.com/MariaDB/server.git
synced 2025-02-22 13:23:07 +01:00
71 lines
2.9 KiB
Text
71 lines
2.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;
|
|
# The below error displays a wrong (too long) key value.
|
|
# The problem is reported as:
|
|
# MDEV-34387 Too long value in the Duplicate entry message with online alter and utf8
|
|
# Please make sure to remove this comment when MDEV-34387 is fixed.
|
|
ERROR 23000: Duplicate entry 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' 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 'cccccccccccccccccccccccccccccccccccccccc' 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=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
|
|
DROP TABLE t1;
|
|
#
|
|
# MDEV-30183 Assertion `!memcmp(rec_trx_id, old_pk_trx_id->data,
|
|
# 6 + 7)' failed in row_log_table_apply_update
|
|
#
|
|
set @old_sql_mode = @@sql_mode;
|
|
set @@sql_mode="";
|
|
CREATE TABLE t1(col_int int, col_varchar varchar(500))ENGINE=InnoDB;
|
|
INSERT INTO t1(col_int) values(2560);
|
|
set debug_sync="row_log_table_apply1_before SIGNAL con1_begin WAIT_FOR con1_commit";
|
|
ALTER TABLE t1 ADD PRIMARY KEY ( col_varchar);
|
|
connection con1;
|
|
SET DEBUG_SYNC="now WAIT_FOR con1_begin";
|
|
UPDATE t1 SET col_int = 2178;
|
|
INSERT INTO t1(col_int) VALUES(3016);
|
|
UPDATE t1 set col_int=2802;
|
|
SET DEBUG_SYNC="now SIGNAL con1_commit";
|
|
connection default;
|
|
ERROR 23000: Duplicate entry '' for key 'PRIMARY'
|
|
DROP TABLE t1;
|
|
SET @@sql_mode = @old_sql_mode;
|
|
disconnect con1;
|
|
SET DEBUG_SYNC=reset;
|