Browse Source
branches/zip: Enable the insert buffer on compressed tablespaces.
branches/zip: Enable the insert buffer on compressed tablespaces.
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().pull/374/head
8 changed files with 192 additions and 61 deletions
-
32btr/btr0btr.c
-
42btr/btr0cur.c
-
13buf/buf0buf.c
-
45ibuf/ibuf0ibuf.c
-
6include/ibuf0ibuf.h
-
69include/ibuf0ibuf.ic
-
15include/page0zip.h
-
31include/page0zip.ic
Write
Preview
Loading…
Cancel
Save
Reference in new issue