• Marko Mäkelä's avatar
    Bug#53674: InnoDB: Error: unlock row could not find a 4 mode lock on the record · ac776a69
    Marko Mäkelä authored
    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.
    ac776a69
row0mysql.c 112 KB