mirror of
				https://github.com/MariaDB/server.git
				synced 2025-11-04 12:56:14 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			24 lines
		
	
	
	
		
			731 B
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
	
		
			731 B
		
	
	
	
		
			Text
		
	
	
	
	
	
CREATE TABLE t(a INT PRIMARY KEY, b INT, c INT, UNIQUE KEY `b_c` (`b`,`c`))
 | 
						|
ENGINE=InnoDB, STATS_PERSISTENT=0;
 | 
						|
INSERT INTO t SET a = 1, c = 2;
 | 
						|
connect con1,localhost,root;
 | 
						|
BEGIN;
 | 
						|
INSERT INTO t SET a=2, c=2;
 | 
						|
connection default;
 | 
						|
BEGIN;
 | 
						|
SET DEBUG_SYNC="lock_wait_start SIGNAL select_locked";
 | 
						|
SELECT * FROM t FORCE INDEX(b) FOR UPDATE;
 | 
						|
connection con1;
 | 
						|
SET DEBUG_SYNC="now WAIT_FOR select_locked";
 | 
						|
ROLLBACK;
 | 
						|
connection default;
 | 
						|
# If the bug is not fixed, and the both unique index key fields are
 | 
						|
# NULL, there will be two (1, NULL, 2) rows in the result,
 | 
						|
# because cursor will be restored to (NULL, 2, 1) position for
 | 
						|
# secondary key instead of "supremum".
 | 
						|
a	b	c
 | 
						|
1	NULL	2
 | 
						|
COMMIT;
 | 
						|
SET DEBUG_SYNC="RESET";
 | 
						|
disconnect con1;
 | 
						|
DROP TABLE t;
 |