CREATE TABLE t1(c1 INT NOT NULL, c2 INT, PRIMARY KEY(c1))ENGINE=INNODB; INSERT INTO t1 VALUES(1, 1); SET DEBUG_SYNC= 'row_merge_after_scan SIGNAL opened WAIT_FOR flushed'; affected rows: 0 ALTER TABLE t1 CHANGE c2 c2 INT NOT NULL DEFAULT 2; connect con1,localhost,root; SET DEBUG_SYNC= 'now WAIT_FOR opened'; affected rows: 0 INSERT INTO t1 VALUES(2, NULL); affected rows: 1 UPDATE t1 SET c1 = 3 WHERE c2 = 1; affected rows: 1 info: Rows matched: 1 Changed: 1 Warnings: 0 SET DEBUG_SYNC= 'now SIGNAL flushed'; affected rows: 0 connection default; affected rows: 0 info: Records: 0 Duplicates: 0 Warnings: 1 Warnings: Warning 1265 Data truncated for column 'c2' at row 3 SELECT * FROM t1; c1 c2 2 0 3 1 DROP TABLE t1; CREATE TABLE t1(c1 INT NOT NULL, c2 INT, PRIMARY KEY(c1))ENGINE=INNODB; INSERT INTO t1 VALUES(1, 1); SET DEBUG_SYNC= 'row_merge_after_scan SIGNAL opened WAIT_FOR flushed'; affected rows: 0 ALTER TABLE t1 CHANGE c2 c2 INT NOT NULL DEFAULT 2; connection con1; SET DEBUG_SYNC= 'now WAIT_FOR opened'; affected rows: 0 INSERT INTO t1 VALUES(2, 3); affected rows: 1 UPDATE t1 SET c1 = 3 WHERE c2 = 1; affected rows: 1 info: Rows matched: 1 Changed: 1 Warnings: 0 SET DEBUG_SYNC= 'now SIGNAL flushed'; affected rows: 0 connection default; affected rows: 0 info: Records: 0 Duplicates: 0 Warnings: 0 SELECT * FROM t1; c1 c2 2 3 3 1 DROP TABLE t1; CREATE TABLE t1(c1 INT NOT NULL, c2 INT, c3 INT, PRIMARY KEY(c1))ENGINE=INNODB; INSERT INTO t1 VALUES(1, 2, 3); SET DEBUG_SYNC= 'row_merge_after_scan SIGNAL opened WAIT_FOR flushed'; affected rows: 0 ALTER IGNORE TABLE t1 CHANGE c2 c2 INT NOT NULL DEFAULT 2; connection con1; SET DEBUG_SYNC= 'now WAIT_FOR opened'; affected rows: 0 UPDATE t1 SET c2= 2 WHERE c1 = 1; affected rows: 0 info: Rows matched: 1 Changed: 0 Warnings: 0 INSERT INTO t1 VALUES (2, NULL, 4); affected rows: 1 SET DEBUG_SYNC= 'now SIGNAL flushed'; affected rows: 0 connection default; affected rows: 0 info: Records: 0 Duplicates: 0 Warnings: 1 Warnings: Warning 1265 Data truncated for column 'c2' at row 3 SELECT * FROM t1; c1 c2 c3 1 2 3 2 0 4 DROP TABLE t1; SET DEBUG_SYNC='RESET'; # # MDEV-21539 Assertion ...prtype... in row_log_table_apply_convert_mrec # CREATE TABLE t1 (f VARCHAR(8) CHARACTER SET latin1 COLLATE latin1_swedish_ci) ENGINE=InnoDB; INSERT INTO t1 VALUES('ZERO'); connection con1; SET DEBUG_SYNC = 'row_log_table_apply1_before SIGNAL scanned WAIT_FOR insert_done'; ALTER TABLE t1 MODIFY f VARCHAR(256) COLLATE latin1_german2_ci NOT NULL; # session default connection default; SET DEBUG_SYNC = 'now WAIT_FOR scanned'; INSERT INTO t1 VALUES('one'); SET DEBUG_SYNC = 'now SIGNAL insert_done'; connection con1; disconnect con1; connection default; SET DEBUG_SYNC=RESET; ALTER TABLE t1 CHANGE f eins VARCHAR(257) COLLATE latin1_german1_ci NOT NULL, ALGORITHM=INSTANT; SELECT * FROM t1; eins ZERO one DROP TABLE t1;