mirror of
https://github.com/MariaDB/server.git
synced 2025-02-07 06:12:18 +01:00
36eba98817
Changing the default server character set from latin1 to utf8mb4.
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;
|