MySQL 8.0.39
Source Code Documentation
row_log_table_blob_t Class Reference

Tracks BLOB allocation during online ALTER TABLE. More...

Public Member Functions

 row_log_table_blob_t (ulonglong offset_arg)
 Constructor (declaring a BLOB freed) More...
 
void blob_free (ulonglong offset_arg)
 Declare a BLOB freed again. More...
 
void blob_alloc (ulonglong offset_arg)
 Declare a freed BLOB reused. More...
 
bool is_freed (ulonglong offset_arg) const
 Determine if a BLOB was freed at a given log position. More...
 

Private Attributes

ulonglong old_offset
 Old offset, in case a page was freed, reused, freed, ... More...
 
ulonglong free_offset
 Offset of last blob_free() More...
 
ulonglong offset
 Byte offset to the log file. More...
 

Static Private Attributes

static const ulonglong BLOB_FREED = ~0ULL
 Magic value for a freed BLOB. More...
 

Detailed Description

Tracks BLOB allocation during online ALTER TABLE.

Constructor & Destructor Documentation

◆ row_log_table_blob_t()

row_log_table_blob_t::row_log_table_blob_t ( ulonglong  offset_arg)
inline

Constructor (declaring a BLOB freed)

Parameters
offset_argrow_log_t::tail::total

Member Function Documentation

◆ blob_alloc()

void row_log_table_blob_t::blob_alloc ( ulonglong  offset_arg)
inline

Declare a freed BLOB reused.

Parameters
offset_argrow_log_t::tail::total

◆ blob_free()

void row_log_table_blob_t::blob_free ( ulonglong  offset_arg)
inline

Declare a BLOB freed again.

Parameters
offset_argrow_log_t::tail::total

◆ is_freed()

bool row_log_table_blob_t::is_freed ( ulonglong  offset_arg) const
inline

Determine if a BLOB was freed at a given log position.

Parameters
offset_argrow_log_t::head::total after the log record
Returns
true if freed

Member Data Documentation

◆ BLOB_FREED

const ulonglong row_log_table_blob_t::BLOB_FREED = ~0ULL
staticprivate

Magic value for a freed BLOB.

◆ free_offset

ulonglong row_log_table_blob_t::free_offset
private

Offset of last blob_free()

◆ offset

ulonglong row_log_table_blob_t::offset
private

Byte offset to the log file.

◆ old_offset

ulonglong row_log_table_blob_t::old_offset
private

Old offset, in case a page was freed, reused, freed, ...


The documentation for this class was generated from the following file: