Go to the source code of this file.
Classes | |
struct | page_zip_des_struct |
struct | page_zip_stat_struct |
Macros | |
#define | page0types_h |
#define | page_t ib_page_t |
#define | PAGE_ZIP_SSIZE_BITS 3 |
#define | PAGE_ZIP_MIN_SIZE_SHIFT 10 |
#define | PAGE_ZIP_MIN_SIZE (1 << PAGE_ZIP_MIN_SIZE_SHIFT) |
#define | PAGE_ZIP_NUM_SSIZE (UNIV_PAGE_SIZE_SHIFT - PAGE_ZIP_MIN_SIZE_SHIFT + 2) |
#define | PAGE_ZIP_NUM_SSIZE_MAX (UNIV_PAGE_SIZE_SHIFT_MAX - PAGE_ZIP_MIN_SIZE_SHIFT + 2) |
Typedefs | |
typedef byte | page_t |
typedef struct page_cur_struct | page_cur_t |
typedef byte | page_zip_t |
typedef struct page_zip_des_struct | page_zip_des_t |
typedef struct page_zip_stat_struct | page_zip_stat_t |
Functions | |
UNIV_INTERN void | page_zip_rec_set_deleted (page_zip_des_t *page_zip, const byte *rec, ulint flag) __attribute__((nonnull)) |
UNIV_INTERN void | page_zip_rec_set_owned (page_zip_des_t *page_zip, const byte *rec, ulint flag) __attribute__((nonnull)) |
UNIV_INTERN void | page_zip_dir_delete (page_zip_des_t *page_zip, byte *rec, dict_index_t *index, const ulint *offsets, const byte *free) __attribute__((nonnull(1 |
UNIV_INTERN void UNIV_INTERN void | page_zip_dir_add_slot (page_zip_des_t *page_zip, ulint is_clustered) __attribute__((nonnull)) |
Variables | |
page_zip_stat_t | page_zip_stat [PAGE_ZIP_NUM_SSIZE_MAX-1] |
#define page_t ib_page_t |
Eliminates a name collision on HP-UX
Definition at line 35 of file page0types.h.
#define PAGE_ZIP_MIN_SIZE (1 << PAGE_ZIP_MIN_SIZE_SHIFT) |
Smallest compressed page size
Definition at line 56 of file page0types.h.
Referenced by fil_create_new_single_table_tablespace(), and fsp_validate().
#define PAGE_ZIP_MIN_SIZE_SHIFT 10 |
log2 of smallest compressed page size
Definition at line 54 of file page0types.h.
#define PAGE_ZIP_NUM_SSIZE (UNIV_PAGE_SIZE_SHIFT - PAGE_ZIP_MIN_SIZE_SHIFT + 2) |
Number of supported compressed page sizes
Definition at line 59 of file page0types.h.
#define PAGE_ZIP_SSIZE_BITS 3 |
Number of bits needed for representing different compressed page sizes
Definition at line 51 of file page0types.h.
typedef struct page_cur_struct page_cur_t |
Index page cursor
Definition at line 39 of file page0types.h.
typedef byte page_t |
Type of the index page
Definition at line 37 of file page0types.h.
typedef struct page_zip_des_struct page_zip_des_t |
Compressed page descriptor
Definition at line 44 of file page0types.h.
typedef struct page_zip_stat_struct page_zip_stat_t |
Compression statistics
Definition at line 100 of file page0types.h.
typedef byte page_zip_t |
Compressed index page
Definition at line 42 of file page0types.h.
UNIV_INTERN void UNIV_INTERN void page_zip_dir_add_slot | ( | page_zip_des_t * | page_zip, |
ulint | is_clustered | ||
) |
Add a slot to the dense page directory.
page_zip | in/out: compressed page |
is_clustered | in: nonzero for clustered index, zero for others |
Definition at line 4250 of file page0zip.cc.
References BTR_EXTERN_FIELD_REF_SIZE, page_zip_des_struct::data, page_zip_des_struct::n_blobs, page_dir_get_n_heap(), page_is_comp(), page_is_leaf(), page_zip_dir_add_slot(), page_zip_get_size(), and ut_ad.
Referenced by page_cur_insert_rec_zip(), and page_zip_dir_add_slot().
UNIV_INTERN void page_zip_dir_delete | ( | page_zip_des_t * | page_zip, |
byte * | rec, | ||
dict_index_t * | index, | ||
const ulint * | offsets, | ||
const byte * | free | ||
) |
Shift the dense page directory when a record is deleted.
page_zip | in/out: compressed page |
rec | in: deleted record |
index | in: index of rec |
offsets | in: rec_get_offsets(rec) |
free | in: previous start of the free list |
UNIV_INTERN void page_zip_rec_set_deleted | ( | page_zip_des_t * | page_zip, |
const byte * | rec, | ||
ulint | flag | ||
) |
Write the "deleted" flag of a record on a compressed page. The flag must already have been written on the uncompressed page.
page_zip | in/out: compressed page |
rec | in: record on the uncompressed page |
flag | in: the deleted flag (nonzero=TRUE) |
Definition at line 4030 of file page0zip.cc.
References page_zip_des_struct::data, page_align(), page_offset(), page_zip_get_size(), page_zip_rec_set_deleted(), and ut_a.
Referenced by page_zip_rec_set_deleted().
UNIV_INTERN void page_zip_rec_set_owned | ( | page_zip_des_t * | page_zip, |
const byte * | rec, | ||
ulint | flag | ||
) |
Write the "owned" flag of a record on a compressed page. The n_owned field must already have been written on the uncompressed page.
page_zip | in/out: compressed page |
rec | in: record on the uncompressed page |
flag | in: the owned flag (nonzero=TRUE) |
Definition at line 4054 of file page0zip.cc.
References page_zip_des_struct::data, page_offset(), page_zip_get_size(), page_zip_rec_set_owned(), and ut_a.
Referenced by page_zip_rec_set_owned().
page_zip_stat_t page_zip_stat[PAGE_ZIP_NUM_SSIZE_MAX-1] |
Statistics on compression, indexed by page_zip_des_struct::ssize - 1
Statistics on compression, indexed by page_zip_des_t::ssize - 1
Definition at line 52 of file page0zip.cc.