MySQL 8.0.39
Source Code Documentation
lob::undo_data_t Struct Reference

Undo information about LOB data alone without including LOB index. More...

#include <lob0undo.h>

Public Member Functions

void apply (dict_index_t *index, byte *lob_mem, size_t len, size_t lob_version, page_no_t first_page_no)
 Apply the undo information to the given LOB. More...
 
const bytecopy_old_data (const byte *undo_ptr, ulint len)
 Copy the old data from the undo page into this object. More...
 
void destroy ()
 Free allocated memory for old data. More...
 
std::ostream & print (std::ostream &out) const
 

Public Attributes

page_no_t m_page_no = FIL_NULL
 The LOB first page number. More...
 
ulint m_version = 0
 The LOB version number on which this undo should be applied. More...
 
ulint m_offset = 0
 The offset within LOB where partial update happened. More...
 
ulint m_length = 0
 The length of the modification. More...
 
bytem_old_data = nullptr
 Changes to the LOB data. More...
 

Detailed Description

Undo information about LOB data alone without including LOB index.

Member Function Documentation

◆ apply()

void lob::undo_data_t::apply ( dict_index_t index,
byte lob_mem,
size_t  len,
size_t  lob_version,
page_no_t  first_page_no 
)

Apply the undo information to the given LOB.

Parameters
[in]indexclustered index containing the LOB.
[in]lob_memLOB on which the given undo will be applied.
[in]lenlength of LOB.
[in]lob_versionlob version number
[in]first_page_nothe first page number of lob

◆ copy_old_data()

const byte * lob::undo_data_t::copy_old_data ( const byte undo_ptr,
ulint  len 
)

Copy the old data from the undo page into this object.

Parameters
[in]undo_ptrthe pointer into the undo log record.
[in]lenlength of the old data.
Returns
pointer past the old data.

◆ destroy()

void lob::undo_data_t::destroy ( )

Free allocated memory for old data.

◆ print()

std::ostream & lob::undo_data_t::print ( std::ostream &  out) const

Member Data Documentation

◆ m_length

ulint lob::undo_data_t::m_length = 0

The length of the modification.

◆ m_offset

ulint lob::undo_data_t::m_offset = 0

The offset within LOB where partial update happened.

◆ m_old_data

byte* lob::undo_data_t::m_old_data = nullptr

Changes to the LOB data.

◆ m_page_no

page_no_t lob::undo_data_t::m_page_no = FIL_NULL

The LOB first page number.

◆ m_version

ulint lob::undo_data_t::m_version = 0

The LOB version number on which this undo should be applied.


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