![]() |
MySQL 8.0.44
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.