Drizzled Public API Documentation

page0types.h File Reference
#include "univ.i"
#include "dict0types.h"
#include "mtr0types.h"

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]

Detailed Description

Index page routines

Created 2/2/1994 Heikki Tuuri

Definition in file page0types.h.


Macro Definition Documentation

#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().

#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 Documentation

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.

Compressed page descriptor

Definition at line 44 of file page0types.h.

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.


Function Documentation

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.

Parameters:
page_zipin/out: compressed page
is_clusteredin: 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.

Parameters:
page_zipin/out: compressed page
recin: deleted record
indexin: index of rec
offsetsin: rec_get_offsets(rec)
freein: 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.

Parameters:
page_zipin/out: compressed page
recin: record on the uncompressed page
flagin: 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.

Parameters:
page_zipin/out: compressed page
recin: record on the uncompressed page
flagin: 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().


Variable Documentation

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.