MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Tup_varsize_page Struct Reference
Collaboration diagram for Tup_varsize_page:

Public Member Functions

 STATIC_CONST (DATA_WORDS=File_formats::NDB_PAGE_SIZE_WORDS-32)
 STATIC_CONST (CHAIN=0x80000000)
 STATIC_CONST (FREE=0x40000000)
 STATIC_CONST (LEN_MASK=0x3FFF8000)
 STATIC_CONST (POS_MASK=0x00007FFF)
 STATIC_CONST (LEN_SHIFT=15)
 STATIC_CONST (POS_SHIFT=0)
 STATIC_CONST (END_OF_FREE_LIST=POS_MASK)
 STATIC_CONST (NEXT_MASK=POS_MASK)
 STATIC_CONST (NEXT_SHIFT=POS_SHIFT)
 STATIC_CONST (PREV_MASK=LEN_MASK)
 STATIC_CONST (PREV_SHIFT=LEN_SHIFT)
void init ()
Uint32 * get_free_space_ptr ()
Uint32 largest_frag_size () const
Uint32 * get_index_ptr (Uint32 page_idx)
Uint32 get_index_word (Uint32 page_idx) const
Uint32 alloc_record (Uint32 size, Tup_varsize_page *temp, Uint32 chain)
Uint32 alloc_record (Uint32 page_idx, Uint32 size, Tup_varsize_page *temp)
Uint32 free_record (Uint32 page_idx, Uint32 chain)
void reorg (Tup_varsize_page *temp)
void rebuild_index (Uint32 *ptr)
bool is_space_behind_entry (Uint32 page_index, Uint32 growth_len) const
void grow_entry (Uint32 page_index, Uint32 growth_len)
void shrink_entry (Uint32 page_index, Uint32 new_size)
Uint32 * get_ptr (Uint32 page_idx)
void set_entry_offset (Uint32 page_idx, Uint32 offset)
void set_entry_len (Uint32 page_idx, Uint32 len)
Uint32 get_entry_len (Uint32 page_idx) const
Uint32 get_entry_chain (Uint32 page_idx) const
bool is_free (Uint32 page_idx) const

Public Attributes

struct File_formats::Page_header m_page_header
Uint32 m_restart_seq
Uint32 page_state
Uint32 next_page
Uint32 prev_page
Uint32 first_cluster_page
Uint32 last_cluster_page
Uint32 next_cluster_page
Uint32 prev_cluster_page
Uint32 frag_page_id
Uint32 physical_page_id
Uint32 free_space
Uint32 next_free_index
Uint32 list_index
Uint32 uncommitted_used_space
Uint32 m_page_no
Uint32 m_file_no
Uint32 m_table_id
Uint32 m_fragment_id
Uint32 m_extent_no
Uint32 m_extent_info_ptr
Uint32 high_index
Uint32 insert_pos
Uint32 unused_ph [7]
Uint32 m_data [DATA_WORDS]

Detailed Description

Definition at line 106 of file tuppage.hpp.

Member Function Documentation

Uint32 Tup_varsize_page::alloc_record ( Uint32  size,
Tup_varsize_page temp,
Uint32  chain 
)

Alloc record from page, return page_idx temp is used when having to reorg page before allocating

Definition at line 250 of file tuppage.cpp.

Uint32 Tup_varsize_page::alloc_record ( Uint32  page_idx,
Uint32  size,
Tup_varsize_page temp 
)

Alloc page_idx from page, return page_idx temp is used when having to reorg page before allocating

We need to expand directory

Definition at line 138 of file tuppage.cpp.

Uint32 Tup_varsize_page::free_record ( Uint32  page_idx,
Uint32  chain 
)

Free record from page

Definition at line 300 of file tuppage.cpp.

Here is the call graph for this function:

bool Tup_varsize_page::is_space_behind_entry ( Uint32  page_index,
Uint32  growth_len 
) const
inline

Check if one can grow tuple wo/ reorg

Definition at line 193 of file tuppage.hpp.

void Tup_varsize_page::rebuild_index ( Uint32 *  ptr)

Scan until you find first non empty index pos

Definition at line 341 of file tuppage.cpp.

Here is the caller graph for this function:


The documentation for this struct was generated from the following files: