mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	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.
		
			
				
	
	
		
			29 lines
		
	
	
		
			618 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			618 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 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;
 |