MySQL 8.0.40
Source Code Documentation
|
The context for a LOB operation. More...
#include <lob0lob.h>
Public Member Functions | |
InsertContext (const BtrContext &btr_ctx, const big_rec_t *big_rec_vec) | |
Constructor. More... | |
const big_rec_t * | get_big_rec_vec () |
Get the vector containing fields to be stored externally. More... | |
ulint | get_big_rec_vec_size () |
Get the size of vector containing fields to be stored externally. More... | |
Public Member Functions inherited from lob::BtrContext | |
BtrContext () | |
Default Constructor. More... | |
BtrContext (mtr_t *mtr, dict_index_t *index, buf_block_t *block) | |
Constructor. More... | |
BtrContext (mtr_t *mtr, btr_pcur_t *pcur, dict_index_t *index, rec_t *rec, ulint *offsets, buf_block_t *block) | |
Constructor. More... | |
BtrContext (mtr_t *mtr, btr_pcur_t *pcur, dict_index_t *index, rec_t *rec, ulint *offsets, buf_block_t *block, opcode op) | |
Constructor. More... | |
BtrContext (const BtrContext &other) | |
Copy Constructor. More... | |
void | disown_inherited_fields (const upd_t *update) |
Marks non-updated off-page fields as disowned by this record. More... | |
void | set_ownership_of_extern_field (ulint i, bool val) |
Sets the ownership bit of an externally stored field in a record. More... | |
void | unmark_extern_fields () |
Marks all extern fields in a record as owned by the record. More... | |
void | free_externally_stored_fields (trx_id_t trx_id, undo_no_t undo_no, bool rollback, ulint rec_type, purge_node_t *node) |
Frees the externally stored fields for a record. More... | |
void | free_updated_extern_fields (trx_id_t trx_id, undo_no_t undo_no, const upd_t *update, bool rollback, big_rec_t *big_rec_vec) |
Frees the externally stored fields for a record, if the field is mentioned in the update vector. More... | |
page_zip_des_t * | get_page_zip () const |
Gets the compressed page descriptor. More... | |
page_no_t | get_page_no () const |
Get the page number of clustered index block. More... | |
ulint | get_rec_offset () const |
Get the record offset within page of the clustered index record. More... | |
bool | need_recalc () const |
Check if there is a need to recalculate the context information. More... | |
rec_t * | rec () const |
Get the clustered index record pointer. More... | |
byte * | get_field_ref (ulint field_no) const |
Get the LOB reference for the given field number. More... | |
bool | validate () const |
Validate the current BLOB context object. More... | |
bool | are_all_blobrefs_valid () const |
Check to see if all pointers to externally stored columns in the record must be valid. More... | |
bool | is_bulk () const |
Determine whether current operation is a bulk insert operation. More... | |
const page_t * | rec_frame () const |
Get the beginning of the B-tree clustered index page frame that contains the current clustered index record (m_rec). More... | |
void | commit_btr_mtr () |
Commit the mini-transaction that is holding the latches of the clustered index record block. More... | |
void | start_btr_mtr () |
Start the mini-transaction that will be holding the latches of the clustered index record block. More... | |
page_no_t | get_btr_page_no () const |
Get the page number of clustered index record. More... | |
void | rec_block_fix () |
Increment the buffer fix count of the clustered index record block. More... | |
void | rec_block_unfix () |
Decrement the buffer fix count of the clustered index record block, X-latching it before, so that the overall buffer_fix_count doesn't change. More... | |
void | restore_position () |
Restore the position of the persistent cursor. More... | |
dict_index_t * | index () const |
Get the index object. More... | |
dict_table_t * | table () const |
Get the table object. More... | |
space_id_t | space () const |
Get the space id. More... | |
const page_size_t | page_size () const |
Obtain the page size of the underlying table. More... | |
page_no_t | pages_in_extent () const |
Determine the extent size (in pages) for the underlying table. More... | |
void | check_redolog () |
Check if there is enough space in the redo log file. More... | |
void | make_nth_extern (ulint field_no) |
Mark the nth field as externally stored. More... | |
mtr_log_t | get_log_mode () |
Get the log mode of the btr mtr. More... | |
Flush_observer * | get_flush_observer () const |
Get flush observer. More... | |
ulint * | get_offsets () const |
Get the record offsets array. More... | |
bool | rec_offs_validate () const |
Validate the record offsets array. More... | |
mtr_t * | get_mtr () |
Get the associated mini-transaction. More... | |
buf_block_t * | block () const |
Get the pointer to the clustered record block. More... | |
void | store_position () |
Save the position of the persistent cursor. More... | |
void | check_redolog_normal () |
Check if there is enough space in log file. More... | |
void | check_redolog_bulk () |
When bulk load is being done, check if there is enough space in redo log file. More... | |
void | recalc () |
Recalculate some of the members after restoring the persistent cursor. More... | |
void | zblob_write_blobref (ulint field_no, mtr_t *mtr) |
Write a blob reference of a field into a clustered index record in a compressed leaf page. More... | |
Public Attributes | |
const big_rec_t * | m_big_rec_vec |
The B-tree Context. More... | |
Public Attributes inherited from lob::BtrContext | |
mtr_t * | m_mtr |
The btr mtr that is holding the latch on the B-tree index page containing the clustered index record. More... | |
btr_pcur_t * | m_pcur |
Persistent cursor positioned on the clustered index record. More... | |
dict_index_t * | m_index |
rec_t * | m_rec |
ulint * | m_offsets |
buf_block_t * | m_block |
opcode | m_op |
ulint | m_rec_offset |
Record offset within the page. More... | |
page_no_t | m_btr_page_no |
Page number where the clust rec is present. More... | |
The context for a LOB operation.
It contains the necessary information to carry out a LOB operation.
|
inline |
Constructor.
[in] | btr_ctx | b-tree context for lob operation. |
[in] | big_rec_vec | array of blobs |
|
inline |
Get the vector containing fields to be stored externally.
|
inline |
Get the size of vector containing fields to be stored externally.
const big_rec_t* lob::InsertContext::m_big_rec_vec |
The B-tree Context.
vector containing fields to be stored externally