• marko's avatar
    branches/zip: Enable the insert buffer on compressed tablespaces. · efd79c7a
    marko authored
    page_zip_max_ins_size(): New function.
    
    btr_cur_optimistic_insert(), btr_cur_optimistic_delete(),
    btr_page_split_and_insert(), btr_compress(): Do not update the
    ibuf free bits for non-leaf pages or pages belonging to a clustered index.
    The insert buffer only covers operations on leaf pages of secondary indexes.
    For pages covered by the insert buffer, limit the max_ins_size to
    page_zip_max_ins_size().
    
    buf_page_get_gen(): Merge the insert buffer after decompressing the page.
    
    buf_page_io_complete(): Relax the assertion about ibuf_count.  For
    compressed-only pages, the insert buffer merge takes place
    in buf_page_get_gen().
    
    ibuf_index_page_calc_free_bits(), ibuf_index_page_calc_free_from_bits(),
    ibuf_index_page_calc_free(), ibuf_update_free_bits_if_full(),
    ibuf_update_free_bits_low(), ibuf_update_free_bits_for_two_pages_low(),
    ibuf_set_free_bits_low(): Add the parameter zip_size.  Limit the maximum
    insert size to page_zip_max_ins_size().
    efd79c7a
page0zip.h 14.8 KB