MySQL 8.4.3
Source Code Documentation
binlog_cache_mngr Class Reference

Public Member Functions

 binlog_cache_mngr (ulong *ptr_binlog_stmt_cache_use_arg, ulong *ptr_binlog_stmt_cache_disk_use_arg, ulong *ptr_binlog_cache_use_arg, ulong *ptr_binlog_cache_disk_use_arg)
 
bool init ()
 
binlog_cache_dataget_binlog_cache_data (bool is_transactional)
 
Binlog_cache_storageget_stmt_cache ()
 
Binlog_cache_storageget_trx_cache ()
 
bool is_binlog_empty () const
 Convenience method to check if both caches are empty. More...
 
int handle_deferred_cache_write_incident (THD *thd)
 Handle previous failure writing cache, aka. More...
 
bool has_incident () const
 Check if either of the caches have an incident. More...
 
void set_incident (std::string_view incident_message)
 
void reset ()
 
bool dbug_any_finalized () const
 
int flush (THD *thd, my_off_t *bytes_written, bool *wrote_xid)
 
bool has_empty_transaction ()
 Check if at least one of transactions and statement binlog caches contains an empty transaction, other one is empty or contains an empty transaction. More...
 

Public Attributes

binlog_stmt_cache_data stmt_cache
 
binlog_trx_cache_data trx_cache
 

Private Member Functions

binlog_cache_mngroperator= (const binlog_cache_mngr &info)
 
 binlog_cache_mngr (const binlog_cache_mngr &info)
 

Private Attributes

std::string m_incident
 Indicates that some events did not get into the cache(s) and most likely it is incomplete. More...
 

Constructor & Destructor Documentation

◆ binlog_cache_mngr() [1/2]

binlog_cache_mngr::binlog_cache_mngr ( ulong *  ptr_binlog_stmt_cache_use_arg,
ulong *  ptr_binlog_stmt_cache_disk_use_arg,
ulong *  ptr_binlog_cache_use_arg,
ulong *  ptr_binlog_cache_disk_use_arg 
)
inline

◆ binlog_cache_mngr() [2/2]

binlog_cache_mngr::binlog_cache_mngr ( const binlog_cache_mngr info)
private

Member Function Documentation

◆ dbug_any_finalized()

bool binlog_cache_mngr::dbug_any_finalized ( ) const
inline

◆ flush()

int binlog_cache_mngr::flush ( THD thd,
my_off_t bytes_written,
bool *  wrote_xid 
)
inline

◆ get_binlog_cache_data()

binlog_cache_data * binlog_cache_mngr::get_binlog_cache_data ( bool  is_transactional)
inline

◆ get_stmt_cache()

Binlog_cache_storage * binlog_cache_mngr::get_stmt_cache ( )
inline

◆ get_trx_cache()

Binlog_cache_storage * binlog_cache_mngr::get_trx_cache ( )
inline

◆ has_empty_transaction()

bool binlog_cache_mngr::has_empty_transaction ( )
inline

Check if at least one of transactions and statement binlog caches contains an empty transaction, other one is empty or contains an empty transaction.

Returns
true At least one of transactions and statement binlog caches an empty transaction, other one is empty or contains an empty transaction.
false Otherwise.

◆ has_incident()

bool binlog_cache_mngr::has_incident ( ) const
inline

Check if either of the caches have an incident.

See also
handle_deferred_cache_write_incident

◆ init()

bool binlog_cache_mngr::init ( )
inline

◆ is_binlog_empty()

bool binlog_cache_mngr::is_binlog_empty ( ) const
inline

Convenience method to check if both caches are empty.

◆ operator=()

binlog_cache_mngr & binlog_cache_mngr::operator= ( const binlog_cache_mngr info)
private

◆ reset()

void binlog_cache_mngr::reset ( )
inline

◆ set_incident()

void binlog_cache_mngr::set_incident ( std::string_view  incident_message)
inline

Member Data Documentation

◆ m_incident

std::string binlog_cache_mngr::m_incident
private

Indicates that some events did not get into the cache(s) and most likely it is incomplete.

See also
handle_deferred_cache_write_incident

◆ stmt_cache

binlog_stmt_cache_data binlog_cache_mngr::stmt_cache

◆ trx_cache

binlog_trx_cache_data binlog_cache_mngr::trx_cache

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