• marko's avatar
    branches/zip: Document and obey the rules for modifying the free bits in · 382cb9fd
    marko authored
    the insert buffer bitmap.
    
    ibuf_set_free_bits_func(): Never disable redo logging.
    
    ibuf_update_free_bits_zip(): Remove.
    
    btr_page_reorganize_low(), page_zip_reorganize(): Do not update the insert
    buffer bitmap.  Instead, document that callers will have to take care of it,
    and adapt the callers.
    
    btr_compress(): On error, reset the insert buffer free bits.
    
    btr_cur_insert_if_possible(): Do not modify the insert buffer bitmap.
    
    btr_compress(), btr_cur_optimistic_insert(): On compressed pages,
    reset the insert buffer bitmap.  Document why.
    
    btr_cur_update_alloc_zip(): Document why it is necessary and sufficient
    to reset the insert buffer free bits.
    
    btr_cur_update_in_place(), btr_cur_optimistic_update(),
    btr_cur_pessimistic_update(): Update the free bits in the same
    mini-transaction.  Document that the mini-transaction must be
    committed before latching any further pages.  Verify that this
    is the case in all execution paths.
    
    row_ins_sec_index_entry_by_modify(), row_ins_clust_index_entry_by_modify(),
    row_undo_mod_clust_low(): Because these functions call
    btr_cur_update_in_place(), btr_cur_optimistic_update(), or
    btr_cur_pessimistic_update(), document that the mini-transaction must be
    committed before latching any further pages.  Verify that this is the case
    in all execution paths.
    382cb9fd
row0umod.c 19.6 KB