MySQL 26.7.0
Source Code Documentation
mtr_t::Command Class Reference

UNIV_HOTBACKUP. More...

Public Member Functions

 Command (mtr_t *mtr)
 Constructor. More...
 
void init (mtr_t *mtr)
 
 ~Command ()
 Destructor. More...
 
void execute ()
 Write the redo log record, add dirty pages to the flush list and release the resources. More...
 
void release_all ()
 Release both the latches and blocks used in the mini-transaction. More...
 
void release_resources ()
 Release the resources. More...
 

Private Member Functions

bool prepare_write ()
 Prepare to write the mini-transaction log to the redo log buffer. More...
 
Log_handle write ()
 Writes the (previously prepared, non-empty) mtr data to the log, assigning lsn range to it. More...
 

Private Attributes

bool m_sync
 true if it is a sync mini-transaction. More...
 
mtr_t::Implm_impl
 The mini-transaction state. More...
 
volatile ulint m_locks_released
 Set to 1 after the user thread releases the latches. More...
 

Detailed Description

UNIV_HOTBACKUP.

Constructor & Destructor Documentation

◆ Command()

mtr_t::Command::Command ( mtr_t mtr)
inlineexplicit

Constructor.

Takes ownership of the mtr->m_impl, is responsible for deleting it.

Parameters
[in,out]mtrMini-transaction

◆ ~Command()

mtr_t::Command::~Command ( )
inline

Destructor.

Member Function Documentation

◆ execute()

void mtr_t::Command::execute ( )

Write the redo log record, add dirty pages to the flush list and release the resources.

◆ init()

void mtr_t::Command::init ( mtr_t mtr)
inline

◆ prepare_write()

bool mtr_t::Command::prepare_write ( )
private

Prepare to write the mini-transaction log to the redo log buffer.

Returns
true iff there is anything to write

◆ release_all()

void mtr_t::Command::release_all ( )

Release both the latches and blocks used in the mini-transaction.

Release the latches and blocks acquired by this mini-transaction.

◆ release_resources()

void mtr_t::Command::release_resources ( )

Release the resources.

◆ write()

Log_handle mtr_t::Command::write ( )
private

Writes the (previously prepared, non-empty) mtr data to the log, assigning lsn range to it.

Member Data Documentation

◆ m_impl

mtr_t::Impl* mtr_t::Command::m_impl
private

The mini-transaction state.

◆ m_locks_released

volatile ulint mtr_t::Command::m_locks_released
private

Set to 1 after the user thread releases the latches.

The log writer thread must wait for this to be set to 1.

◆ m_sync

bool mtr_t::Command::m_sync
private

true if it is a sync mini-transaction.


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