• Annamalai Gurusami's avatar
    Bug #16133801 UNEXPLAINABLE INNODB UNIQUE INDEX LOCKS ON DELETE + · 833c75da
    Annamalai Gurusami authored
    INSERT WITH SAME VALUES
    
    Problem:
    
    When a transaction is in READ COMMITTED isolation level, gap locks are still
    taken in the secondary index, when row is inserted.  This happens when the
    secondary index is scanned for duplicate.  
    
    The function row_ins_scan_sec_index_for_duplicate() always calls the 
    function row_ins_set_shared_rec_lock() with LOCK_ORDINARY irrespective of
    the transaction isolation level.
    
    Solution:
    
    The function row_ins_scan_sec_index_for_duplicate() calls the 
    function row_ins_set_shared_rec_lock() with LOCK_ORDINARY or 
    LOCK_REC_NOT_GAP based on the transaction isolation level.
    
    rb://2035 approved by Krunal and Marko
    833c75da
row0ins.c 67.9 KB