MySQL 8.0.39
Source Code Documentation
|
Insert or write an uncompressed BLOB. More...
#include <lob0ins.h>
Public Member Functions | |
Inserter (InsertContext *ctx) | |
Constructor. More... | |
~Inserter ()=default | |
Destructor. More... | |
dberr_t | write () |
Write all the BLOBs of the clustered index record. More... | |
dberr_t | write_one_blob (size_t blob_j) |
Write one blob field data. More... | |
dberr_t | write_one_small_blob (size_t blob_j) |
Write one blob field data. More... | |
dberr_t | write_single_blob_page (big_rec_field_t &field, ulint nth_blob_page) |
Write one blob page. More... | |
bool | is_ok () const |
Check if the BLOB operation has reported any errors. More... | |
void | set_page_next () |
Make the current page as next page of previous page. More... | |
void | log_page_type () |
Write the page type of the current BLOB page and also generate the redo log record. More... | |
ulint | payload () const |
Calculate the payload size of the BLOB page. More... | |
void | write_into_single_page (big_rec_field_t &field) |
Write contents into a single BLOB page. More... | |
dberr_t | write_first_page (big_rec_field_t &field) |
Write first blob page. More... | |
Private Attributes | |
blob_dir_t | m_dir |
The BLOB directory information. More... | |
ulint | m_remaining |
Data remaining to be written. More... | |
Private Attributes inherited from lob::BaseInserter | |
InsertContext * | m_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_t * | m_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... | |
Additional Inherited Members | |
Private Member Functions inherited from lob::BaseInserter | |
BaseInserter (InsertContext *ctx) | |
Constructor. More... | |
mtr_t * | start_blob_mtr () |
Start the BLOB mtr. More... | |
buf_block_t * | alloc_blob_page () |
Allocate one BLOB page. More... | |
page_t * | get_previous_blob_page () |
Get the previous BLOB page frame. More... | |
buf_block_t * | get_previous_blob_block () |
Get the previous BLOB page block. More... | |
bool | is_index_sdi () |
Check if the index is SDI index. More... | |
page_t * | cur_page () const |
Get the current BLOB page frame. More... | |
Insert or write an uncompressed BLOB.
|
inline |
Constructor.
[in] | ctx | blob operation context. |
|
default |
Destructor.
|
inline |
Check if the BLOB operation has reported any errors.
|
inline |
Write the page type of the current BLOB page and also generate the redo log record.
|
inline |
Calculate the payload size of the BLOB page.
void lob::Inserter::set_page_next | ( | ) |
Make the current page as next page of previous page.
In other words, make the page m_cur_blob_page_no as the next page of page m_prev_page_no.
dberr_t lob::Inserter::write | ( | ) |
Write all the BLOBs of the clustered index record.
dberr_t lob::Inserter::write_first_page | ( | big_rec_field_t & | field | ) |
Write first blob page.
[in] | field | the big record field. |
void lob::Inserter::write_into_single_page | ( | big_rec_field_t & | field | ) |
Write contents into a single BLOB page.
[in] | field | the big record field. |
dberr_t lob::Inserter::write_one_blob | ( | size_t | blob_j | ) |
Write one blob field data.
[in] | blob_j | the blob field number |
dberr_t lob::Inserter::write_one_small_blob | ( | size_t | blob_j | ) |
Write one blob field data.
Write one small blob field data.
[in] | blob_j | the blob field number |
dberr_t lob::Inserter::write_single_blob_page | ( | big_rec_field_t & | field, |
ulint | nth_blob_page | ||
) |
Write one blob page.
This function will be repeatedly called with an increasing nth_blob_page to completely write a BLOB.
[in] | field | the big record field. |
[in] | nth_blob_page | count of the BLOB page (starting from 1). |
|
private |
The BLOB directory information.
|
private |
Data remaining to be written.