MySQL 9.0.0
Source Code Documentation
lob::bulk::index_entry_t Struct Reference

This is the bulk version in the namespace lob::bulk. More...

#include <lob0bulk.h>

Inheritance diagram for lob::bulk::index_entry_t:
[legend]

Public Member Functions

 index_entry_t ()
 
 index_entry_t (flst_node_t *node)
 
void init ()
 
void set_page_no (page_no_t num)
 
void set_trx_undo_no (undo_no_t undo_no)
 
void set_prev_null ()
 
void set_next_null ()
 
void set_versions_null ()
 The versions base node is set to NULL. More...
 
void set_trx_id (trx_id_t id)
 
void set_trx_id_modifier (trx_id_t id)
 
void set_trx_undo_no_modifier (undo_no_t undo_no)
 
void incr_data_len (ulint len)
 
void set_data_len (ulint len)
 
ulint get_data_len () const
 
- Public Member Functions inherited from lob::index_entry_t
 index_entry_t (flst_node_t *node)
 Constructor. More...
 
 index_entry_t (flst_node_t *node, mtr_t *mtr)
 
 index_entry_t (flst_node_t *node, mtr_t *mtr, dict_index_t *index)
 
 index_entry_t (mtr_t *mtr, const dict_index_t *index)
 
void reset (fil_addr_t &addr)
 
buf_block_tget_block () const
 
void reset (flst_node_t *node)
 
bool is_null () const
 
void init ()
 Initialize the object fully. More...
 
fil_addr_t get_self () const
 Get the location of the current index entry. More...
 
void set_versions_null ()
 The versions base node is set to NULL. More...
 
bool can_rollback (trx_id_t trxid, undo_no_t undo_no)
 Determine if the current index entry be rolled back. More...
 
bool can_be_purged (trx_id_t trxid, undo_no_t undo_no)
 Determine if the current index entry be purged. More...
 
void set_old_version (index_entry_t &entry)
 
fil_addr_t make_old_version_current (dict_index_t *index, first_page_t &first_page)
 The current index entry points to a latest LOB page. More...
 
fil_addr_t purge_version (dict_index_t *index, flst_base_node_t *lst, flst_base_node_t *free_list)
 Purge the current entry. More...
 
void add_version (index_entry_t &entry) const
 
flst_base_node_tget_versions_list () const
 
void push_back (flst_base_node_t *bnode)
 Add this node as the last node in the given list. More...
 
flst_bnode_t get_versions_mem () const
 Get the base node of the list of versions. More...
 
trx_id_t get_trx_id () const
 
trx_id_t get_trx_id_modifier () const
 
undo_no_t get_trx_undo_no () const
 
uint32_t get_lob_version () const
 
undo_no_t get_trx_undo_no_modifier () const
 Get the undo number of the modifier trx. More...
 
fil_addr_t get_next () const
 
buf_block_tnext ()
 Make the current index entry object to point to the next index entry object. More...
 
fil_addr_t get_prev () const
 Get the previous index entry. More...
 
void set_trx_id_no_redo (trx_id_t id)
 Write the trx identifier to the index entry. More...
 
void set_trx_id_modifier_no_redo (trx_id_t id)
 Write the modifier trx identifier to the index entry. More...
 
void set_trx_id (trx_id_t id)
 
void set_trx_id_modifier (trx_id_t id)
 
void set_trx_undo_no (undo_no_t undo_no)
 
void set_lob_version (uint32_t version)
 Set the LOB version of this entry. More...
 
void set_trx_undo_no_modifier (undo_no_t undo_no)
 
void set_page_no (page_no_t num)
 
void set_prev_null ()
 
void set_next_null ()
 
page_no_t get_page_no () const
 
void set_data_len (ulint len)
 
ulint get_data_len () const
 
std::ostream & print (std::ostream &out) const
 
bool is_same (const index_entry_t &that)
 
void read (index_entry_mem_t &entry_mem) const
 
buf_block_tload_x (const fil_addr_t &addr)
 Load the index entry available in the given file address. More...
 
buf_block_tload_s (const fil_addr_t &addr)
 Load the index entry available in the given file address. More...
 
void insert_after (flst_base_node_t *base, index_entry_t &entry)
 
void insert_before (flst_base_node_t *base, index_entry_t &entry)
 
void remove (flst_base_node_t *bnode)
 
void free_data_page (const page_no_t first_page_no)
 Free the data page pointed to by this index entry. More...
 

Additional Inherited Members

- Static Public Attributes inherited from lob::index_entry_t
static const ulint OFFSET_PREV = 0
 Index entry offsets within node. More...
 
static const ulint OFFSET_NEXT = OFFSET_PREV + FIL_ADDR_SIZE
 
static const ulint OFFSET_VERSIONS = OFFSET_NEXT + FIL_ADDR_SIZE
 Points to base node of the list of versions. More...
 
static const ulint OFFSET_TRXID = OFFSET_VERSIONS + FLST_BASE_NODE_SIZE
 The creator trx id. More...
 
static const ulint OFFSET_TRXID_MODIFIER = OFFSET_TRXID + 6
 The modifier trx id. More...
 
static const ulint OFFSET_TRX_UNDO_NO = OFFSET_TRXID_MODIFIER + 6
 
static const ulint OFFSET_TRX_UNDO_NO_MODIFIER = OFFSET_TRX_UNDO_NO + 4
 The undo number of the modifier trx. More...
 
static const ulint OFFSET_PAGE_NO = OFFSET_TRX_UNDO_NO_MODIFIER + 4
 
static const ulint OFFSET_DATA_LEN = OFFSET_PAGE_NO + 4
 
static const ulint OFFSET_LOB_VERSION = OFFSET_DATA_LEN + 4
 The LOB version number. More...
 
static const ulint SIZE = OFFSET_LOB_VERSION + 4
 Total length of an index node. More...
 
- Protected Member Functions inherited from lob::index_entry_t
byteget_versions_ptr () const
 Get pointer to the base node of the list of versions. More...
 
byteget_datalen_ptr () const
 Get the location where data length is stored. More...
 
byteget_trxid_ptr () const
 Get pointer to the location where the creator trx id is written. More...
 
byteget_trxid_modifier_ptr () const
 Get pointer to the location where the modifier trx id is written. More...
 
byteget_pageno_ptr () const
 Get pointer to location where page number is written. More...
 
byteget_trx_undo_no_ptr () const
 Get pointer to location where undo number of creator trx is written. More...
 
byteget_trx_undo_no_modifier_ptr () const
 Get pointer to location where undo number of modifier trx is written. More...
 
- Protected Attributes inherited from lob::index_entry_t
bytem_node {nullptr}
 Pointer to the blob index entry node. More...
 

Detailed Description

This is the bulk version in the namespace lob::bulk.

Constructor & Destructor Documentation

◆ index_entry_t() [1/2]

lob::bulk::index_entry_t::index_entry_t ( )
inline

◆ index_entry_t() [2/2]

lob::bulk::index_entry_t::index_entry_t ( flst_node_t node)
inline

Member Function Documentation

◆ get_data_len()

ulint lob::bulk::index_entry_t::get_data_len ( ) const
inline

◆ incr_data_len()

void lob::bulk::index_entry_t::incr_data_len ( ulint  len)
inline

◆ init()

void lob::bulk::index_entry_t::init ( void  )
inline

◆ set_data_len()

void lob::bulk::index_entry_t::set_data_len ( ulint  len)
inline

◆ set_next_null()

void lob::bulk::index_entry_t::set_next_null ( )
inline

◆ set_page_no()

void lob::bulk::index_entry_t::set_page_no ( page_no_t  num)
inline

◆ set_prev_null()

void lob::bulk::index_entry_t::set_prev_null ( )
inline

◆ set_trx_id()

void lob::bulk::index_entry_t::set_trx_id ( trx_id_t  id)
inline

◆ set_trx_id_modifier()

void lob::bulk::index_entry_t::set_trx_id_modifier ( trx_id_t  id)
inline

◆ set_trx_undo_no()

void lob::bulk::index_entry_t::set_trx_undo_no ( undo_no_t  undo_no)
inline

◆ set_trx_undo_no_modifier()

void lob::bulk::index_entry_t::set_trx_undo_no_modifier ( undo_no_t  undo_no)
inline

◆ set_versions_null()

void lob::bulk::index_entry_t::set_versions_null ( )
inline

The versions base node is set to NULL.


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