mariadb/mysql-test/suite/innodb/r/ddl_purge.result
Marko Mäkelä 3aa618a969 MDEV-13820 trx_id_check() fails during row_log_table_apply()
When logging ROW_T_INSERT or ROW_T_UPDATE records, we did not normalize
the DB_TRX_ID of the current transaction into 0 if the current transaction
had started (modifying other tables) before the ALTER TABLE started.

MDEV-13654 introduced this normalization for ROW_T_DELETE
and for all operations with ADD PRIMARY KEY, in row_log_table_get_pk().
2017-12-07 14:35:32 +02:00

25 lines
664 B
Text

CREATE TABLE t0 (pk INT PRIMARY KEY) ENGINE=InnoDB;
CREATE TABLE t1 (pk INT PRIMARY KEY, b INT) ENGINE=InnoDB;
connect con1,localhost,root,,test;
BEGIN;
INSERT INTO t0 SET pk=1;
connect con2,localhost,root,,test;
BEGIN;
INSERT INTO t0 SET pk=2;
connection default;
SET DEBUG_SYNC='alter_table_inplace_after_lock_downgrade SIGNAL prepared WAIT_FOR logged';
ALTER TABLE t1 FORCE;
connection con1;
SET DEBUG_SYNC='now WAIT_FOR prepared';
INSERT INTO t1 SET pk=1;
COMMIT;
disconnect con1;
connection con2;
UPDATE t1 SET b=1;
DELETE FROM t1;
ROLLBACK;
SET DEBUG_SYNC='now SIGNAL logged';
disconnect con2;
connection default;
SET DEBUG_SYNC='RESET';
DROP TABLE t0,t1;