1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

MDEV-21539 Assertion ...prtype... failed in row_log_table_apply_convert_mrec

This bug is a cousin of MDEV-18719 and MDEV-20190, which failed to
relax a debug assertion in one more code path.

row_log_table_apply_convert_mrec(): Use dict_col_t::same_format()
and ignore all format-agnostic flags in the assertions.
This commit is contained in:
Marko Mäkelä
2020-01-21 18:47:56 +02:00
parent 5cd21ac202
commit 1084fa77ab
3 changed files with 54 additions and 5 deletions

View File

@ -74,5 +74,27 @@ c1 c2 c3
1 2 3
2 0 4
DROP TABLE t1;
disconnect con1;
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;
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
one
DROP TABLE t1;