• Marko Mäkelä's avatar
    MDEV-12353: Reduce log volume of page_cur_delete_rec() · 572d2075
    Marko Mäkelä authored
    mrec_ext_t: Introduce DELETE_ROW_FORMAT_REDUNDANT,
    DELETE_ROW_FORMAT_DYNAMIC.
    
    mtr_t::page_delete(): Write DELETE_ROW_FORMAT_REDUNDANT or
    DELETE_ROW_FORMAT_DYNAMIC log records. We log the byte offset
    of the preceding record, so that on recovery we can easily
    find everything to update. For DELETE_ROW_FORMAT_DYNAMIC,
    we must also write the header and data size of the record.
    
    We will retain the physical logging for ROW_FORMAT=COMPRESSED pages.
    
    page_zip_dir_balance_slot(): Renamed from page_dir_balance_slot(),
    and specialized for ROW_FORMAT=COMPRESSED only.
    
    page_rec_set_n_owned(), page_dir_slot_set_n_owned(),
    page_dir_balance_slot(): New variants that do not write any log.
    
    page_mem_free(): Take data_size, extra_size as parameters.
    Always zerofill the record payload.
    
    page_cur_delete_rec(): For other than ROW_FORMAT=COMPRESSED,
    only write log by mtr_t::page_delete().
    572d2075
mtr0log.h 19.6 KB