mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	------------------------------------------------------------ revno: 3495 committer: Marko Mäkelä <marko.makela@oracle.com> branch nick: 5.1-innodb timestamp: Wed 2010-06-02 13:37:14 +0300 message: Bug#53674: InnoDB: Error: unlock row could not find a 4 mode lock on the record In semi-consistent read, only unlock freshly locked non-matching records. lock_rec_lock_fast(): Return LOCK_REC_SUCCESS, LOCK_REC_SUCCESS_CREATED, or LOCK_REC_FAIL instead of TRUE/FALSE. enum db_err: Add DB_SUCCESS_LOCKED_REC for indicating a successful operation where a record lock was created. lock_sec_rec_read_check_and_lock(), lock_clust_rec_read_check_and_lock(), lock_rec_enqueue_waiting(), lock_rec_lock_slow(), lock_rec_lock(), row_ins_set_shared_rec_lock(), row_ins_set_exclusive_rec_lock(), sel_set_rec_lock(), row_sel_get_clust_rec_for_mysql(): Return DB_SUCCESS_LOCKED_REC if a new record lock was created. Adjust callers. row_unlock_for_mysql(): Correct the function documentation. row_prebuilt_t::new_rec_locks: Correct the documentation.
		
			
				
	
	
		
			12 lines
		
	
	
		
			234 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			12 lines
		
	
	
		
			234 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| create table bug53674(a int)engine=innodb;
 | |
| insert into bug53674 values (1),(2);
 | |
| start transaction;
 | |
| select * from bug53674 for update;
 | |
| a
 | |
| 1
 | |
| 2
 | |
| select * from bug53674 where a=(select a from bug53674 where a > 1);
 | |
| a
 | |
| 2
 | |
| drop table bug53674;
 |