MySQL 8.3.0
Source Code Documentation
lob::BaseInserter Struct Reference

This struct can hold BLOB routines/functions, and state variables, that are common for compressed and uncompressed BLOB. More...

#include <lob0ins.h>

Inheritance diagram for lob::BaseInserter:
[legend]

Public Member Functions

 BaseInserter (InsertContext *ctx)
 Constructor. More...
 
mtr_tstart_blob_mtr ()
 Start the BLOB mtr. More...
 
buf_block_talloc_blob_page ()
 Allocate one BLOB page. More...
 
page_tget_previous_blob_page ()
 Get the previous BLOB page frame. More...
 
buf_block_tget_previous_blob_block ()
 Get the previous BLOB page block. More...
 
bool is_index_sdi ()
 Check if the index is SDI index. More...
 
page_tcur_page () const
 Get the current BLOB page frame. More...
 

Protected Attributes

InsertContextm_ctx
 The BLOB operation context. More...
 
dberr_t m_err
 Success or failure status of the operation so far. More...
 
mtr_t m_blob_mtr
 The mini trx used to write into blob pages. More...
 
page_no_t m_prev_page_no
 The previous BLOB page number. More...
 
buf_block_tm_cur_blob_block
 The current BLOB buf_block_t object. More...
 
page_no_t m_cur_blob_page_no
 The current BLOB page number. More...
 

Detailed Description

This struct can hold BLOB routines/functions, and state variables, that are common for compressed and uncompressed BLOB.

Constructor & Destructor Documentation

◆ BaseInserter()

lob::BaseInserter::BaseInserter ( InsertContext ctx)
inline

Constructor.

Parameters
[in]ctxblob operation context.

Member Function Documentation

◆ alloc_blob_page()

buf_block_t * lob::BaseInserter::alloc_blob_page ( )

Allocate one BLOB page.

Returns
the allocated block of the BLOB page.

◆ cur_page()

page_t * lob::BaseInserter::cur_page ( ) const
inline

Get the current BLOB page frame.

Returns
the current BLOB page frame.

◆ get_previous_blob_block()

buf_block_t * lob::BaseInserter::get_previous_blob_block ( )

Get the previous BLOB page block.

This will return a BLOB block. It should not be called for the first BLOB page, because it will not have a previous BLOB page.

Returns
the previous BLOB block.

◆ get_previous_blob_page()

page_t * lob::BaseInserter::get_previous_blob_page ( )

Get the previous BLOB page frame.

This will return a BLOB page. It should not be called for the first BLOB page, because it will not have a previous BLOB page.

Returns
the previous BLOB page frame.

◆ is_index_sdi()

bool lob::BaseInserter::is_index_sdi ( )
inline

Check if the index is SDI index.

Returns
true if index is SDI index else false

◆ start_blob_mtr()

mtr_t * lob::BaseInserter::start_blob_mtr ( )
inline

Start the BLOB mtr.

Returns
pointer to the BLOB mtr.

Member Data Documentation

◆ m_blob_mtr

mtr_t lob::BaseInserter::m_blob_mtr
protected

The mini trx used to write into blob pages.

◆ m_ctx

InsertContext* lob::BaseInserter::m_ctx
protected

The BLOB operation context.

◆ m_cur_blob_block

buf_block_t* lob::BaseInserter::m_cur_blob_block
protected

The current BLOB buf_block_t object.

◆ m_cur_blob_page_no

page_no_t lob::BaseInserter::m_cur_blob_page_no
protected

The current BLOB page number.

◆ m_err

dberr_t lob::BaseInserter::m_err
protected

Success or failure status of the operation so far.

◆ m_prev_page_no

page_no_t lob::BaseInserter::m_prev_page_no
protected

The previous BLOB page number.

This is needed to maintain the linked list of BLOB pages.


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