mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
MDEV-12258 InnoDB: Fix the bogus debug assertion introduced in MDEV-12219
After a partial rollback, an undo log segment that is empty may carry a duplicate-looking top_undo_no. Adjust the debug assertions and add a test.
This commit is contained in:
28
mysql-test/suite/innodb/r/trigger_error.result
Normal file
28
mysql-test/suite/innodb/r/trigger_error.result
Normal file
@ -0,0 +1,28 @@
|
||||
CREATE TABLE t1 (i INT) ENGINE=InnoDB;
|
||||
CREATE TABLE t2 (i INT) ENGINE=InnoDB;
|
||||
CREATE OR REPLACE TRIGGER tr1
|
||||
AFTER UPDATE ON t2
|
||||
FOR EACH ROW
|
||||
INSERT INTO tlog (i) VALUES (1);
|
||||
INSERT IGNORE INTO t2 VALUES (1);
|
||||
CREATE TRIGGER IF NOT EXISTS tr2
|
||||
BEFORE INSERT ON t2
|
||||
FOR EACH ROW
|
||||
INSERT INTO tlog (i) VALUES (2);
|
||||
START TRANSACTION;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
UPDATE t2 SET i = 3;
|
||||
ERROR 42S02: Table 'test.tlog' doesn't exist
|
||||
INSERT INTO t1 VALUES (2);
|
||||
INSERT INTO t2 VALUES (4);
|
||||
ERROR 42S02: Table 'test.tlog' doesn't exist
|
||||
UPDATE t1 SET i = 4 LIMIT 1;
|
||||
COMMIT;
|
||||
SELECT * FROM t1;
|
||||
i
|
||||
4
|
||||
2
|
||||
SELECT * FROM t2;
|
||||
i
|
||||
1
|
||||
DROP TABLE t1,t2;
|
Reference in New Issue
Block a user