• Aleksey Midenkov's avatar
    MDEV-22284 Aria table key read crash because wrong index used · 8ce5635a
    Aleksey Midenkov authored
    When restoring lastinx last_key.keyinfo must be updated as well. The
    good example is in _ma_check_index().
    
    The point of failure is extra(HA_EXTRA_NO_KEYREAD) in
    ha_maria::get_auto_increment():
    
      1. extra(HA_EXTRA_KEYREAD) saves lastinx;
      2. maria_rkey() changes index, so the lastinx and last_key.keyinfo;
      3. extra(HA_EXTRA_NO_KEYREAD) restores lastinx but not
         last_key.keyinfo.
    
    So we have discrepancy between lastinx and last_key.keyinfo after 3.
    8ce5635a
maria.result 97 KB