MySQL 8.0.31
Source Code Documentation
Rpl_thd_context Class Reference

#include <rpl_context.h>

Public Types

enum  enum_transaction_rpl_delegate_status {
  TX_RPL_STAGE_INIT = 0 , TX_RPL_STAGE_BEGIN , TX_RPL_STAGE_CACHE_CREATED , TX_RPL_STAGE_BEFORE_COMMIT ,
  TX_RPL_STAGE_BEFORE_ROLLBACK , TX_RPL_STAGE_CONNECTION_CLEANED , TX_RPL_STAGE_END
}
 This structure helps to maintain state of transaction. More...
 

Public Member Functions

 Rpl_thd_context ()
 
void init ()
 Initializers. More...
 
Session_consistency_gtids_ctxsession_gtids_ctx ()
 
Dependency_tracker_ctxdependency_tracker_ctx ()
 
Last_used_gtid_tracker_ctxlast_used_gtid_tracker_ctx ()
 
enum_rpl_channel_type get_rpl_channel_type ()
 
void set_rpl_channel_type (enum_rpl_channel_type rpl_channel_type_arg)
 
Transaction_compression_ctxtransaction_compression_ctx ()
 
std::vector< std::function< bool()> > & post_filters_actions ()
 
void set_tx_rpl_delegate_stage_status (enum_transaction_rpl_delegate_status status)
 Sets the transaction states. More...
 
enum_transaction_rpl_delegate_status get_tx_rpl_delegate_stage_status ()
 Returns the transaction state. More...
 

Private Member Functions

 Rpl_thd_context (const Rpl_thd_context &rsc)
 
Rpl_thd_contextoperator= (const Rpl_thd_context &rsc)
 

Private Attributes

Session_consistency_gtids_ctx m_session_gtids_ctx
 
Dependency_tracker_ctx m_dependency_tracker_ctx
 
Last_used_gtid_tracker_ctx m_last_used_gtid_tracker_ctx
 
Transaction_compression_ctx m_transaction_compression_ctx
 
std::vector< std::function< bool()> > m_post_filters_actions
 
enum_rpl_channel_type rpl_channel_type
 If this thread is a channel, what is its type. More...
 
enum_transaction_rpl_delegate_status m_tx_rpl_delegate_stage_status
 

Member Enumeration Documentation

◆ enum_transaction_rpl_delegate_status

This structure helps to maintain state of transaction.

State of transaction is w.r.t delegates Please refer Trans_delegate to understand states being referred.

Enumerator
TX_RPL_STAGE_INIT 
TX_RPL_STAGE_BEGIN 
TX_RPL_STAGE_CACHE_CREATED 
TX_RPL_STAGE_BEFORE_COMMIT 
TX_RPL_STAGE_BEFORE_ROLLBACK 
TX_RPL_STAGE_CONNECTION_CLEANED 
TX_RPL_STAGE_END 

Constructor & Destructor Documentation

◆ Rpl_thd_context() [1/2]

Rpl_thd_context::Rpl_thd_context ( const Rpl_thd_context rsc)
private

◆ Rpl_thd_context() [2/2]

Rpl_thd_context::Rpl_thd_context ( )
inline

Member Function Documentation

◆ dependency_tracker_ctx()

Dependency_tracker_ctx & Rpl_thd_context::dependency_tracker_ctx ( )
inline

◆ get_rpl_channel_type()

enum_rpl_channel_type Rpl_thd_context::get_rpl_channel_type ( )
inline

◆ get_tx_rpl_delegate_stage_status()

Rpl_thd_context::enum_transaction_rpl_delegate_status Rpl_thd_context::get_tx_rpl_delegate_stage_status ( )

Returns the transaction state.

Returns
status transaction status is returned

◆ init()

void Rpl_thd_context::init ( )

Initializers.

Clears the writeset session history and re-set delegate state to INIT.

◆ last_used_gtid_tracker_ctx()

Last_used_gtid_tracker_ctx & Rpl_thd_context::last_used_gtid_tracker_ctx ( )
inline

◆ operator=()

Rpl_thd_context & Rpl_thd_context::operator= ( const Rpl_thd_context rsc)
private

◆ post_filters_actions()

std::vector< std::function< bool()> > & Rpl_thd_context::post_filters_actions ( )
inline

◆ session_gtids_ctx()

Session_consistency_gtids_ctx & Rpl_thd_context::session_gtids_ctx ( )
inline

◆ set_rpl_channel_type()

void Rpl_thd_context::set_rpl_channel_type ( enum_rpl_channel_type  rpl_channel_type_arg)
inline

◆ set_tx_rpl_delegate_stage_status()

void Rpl_thd_context::set_tx_rpl_delegate_stage_status ( enum_transaction_rpl_delegate_status  status)

Sets the transaction states.

Parameters
[in]statusstate to which THD is progressing

◆ transaction_compression_ctx()

Transaction_compression_ctx & Rpl_thd_context::transaction_compression_ctx ( )
inline

Member Data Documentation

◆ m_dependency_tracker_ctx

Dependency_tracker_ctx Rpl_thd_context::m_dependency_tracker_ctx
private

◆ m_last_used_gtid_tracker_ctx

Last_used_gtid_tracker_ctx Rpl_thd_context::m_last_used_gtid_tracker_ctx
private

◆ m_post_filters_actions

std::vector<std::function<bool()> > Rpl_thd_context::m_post_filters_actions
private

◆ m_session_gtids_ctx

Session_consistency_gtids_ctx Rpl_thd_context::m_session_gtids_ctx
private

◆ m_transaction_compression_ctx

Transaction_compression_ctx Rpl_thd_context::m_transaction_compression_ctx
private

◆ m_tx_rpl_delegate_stage_status

enum_transaction_rpl_delegate_status Rpl_thd_context::m_tx_rpl_delegate_stage_status
private
Initial value:
{
@ TX_RPL_STAGE_INIT
Definition: rpl_context.h:292

◆ rpl_channel_type

enum_rpl_channel_type Rpl_thd_context::rpl_channel_type
private

If this thread is a channel, what is its type.


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