• sunny's avatar
    Fix for bug# 16979, this is a major change in InnoDB auto-inc handling. There · 08a18571
    sunny authored
    is one test that fails as of this commit. The updated test case should be
    part of the snapshot from MySQL shortly.
    
    Fix for bug# 27950 - Init AUTOINC from delete_row().
    
    Fix for bug# 28781 - Use value specified by MySQL, in update_row().
    
    Summary of structural changes:
    ==============================
    InnoDB needs to hold a table level lock for AUTOINC allocations to overcome
    the non-determinism inherent in MySQL SBR for INSERT ... SELECT. In this fix 
    for simple INSERT statements (including multi-value inserts), we try and avoid
    acquiring the special AUTOINC table level lock unless another transaction has
    already reserved the AUTOINC table level lock, in which case we fall back
    to the old behavior of acquiring the AUTOINC table level lock.
    
    The max AUTOINC value is now read directly using the low level interface
    of InnoDB.
    08a18571
ha_innodb.h 7.48 KB