MySQL  8.0.19
Source Code Documentation
binlog_stmt_cache_data Class Reference
Inheritance diagram for binlog_stmt_cache_data:
binlog_cache_data

Public Member Functions

 binlog_stmt_cache_data (bool trx_cache_arg, ulong *ptr_binlog_cache_use_arg, ulong *ptr_binlog_cache_disk_use_arg)
 
int finalize (THD *thd)
 
int finalize (THD *thd, Log_event *end_event)
 This function finalizes the cache preparing for commit or rollback. More...
 
int finalize (THD *thd, Log_event *end_event, XID_STATE *xs)
 The method writes XA END query to XA-prepared transaction's cache and calls the "basic" finalize(). More...
 
- Public Member Functions inherited from binlog_cache_data
 binlog_cache_data (bool trx_cache_arg, ulong *ptr_binlog_cache_use_arg, ulong *ptr_binlog_cache_disk_use_arg)
 
bool open (my_off_t cache_size, my_off_t max_cache_size)
 
Binlog_cache_storageget_cache ()
 
int finalize (THD *thd, Log_event *end_event)
 This function finalizes the cache preparing for commit or rollback. More...
 
int finalize (THD *thd, Log_event *end_event, XID_STATE *xs)
 The method writes XA END query to XA-prepared transaction's cache and calls the "basic" finalize(). More...
 
int flush (THD *thd, my_off_t *bytes, bool *wrote_xid)
 Flush caches to the binary log. More...
 
int write_event (Log_event *event)
 
size_t get_event_counter ()
 
virtual ~binlog_cache_data ()
 
bool is_binlog_empty () const
 
bool is_finalized () const
 
Rows_log_eventpending () const
 
void set_pending (Rows_log_event *const pending)
 
void set_incident (void)
 
bool has_incident (void) const
 
bool has_xid () const
 
bool is_trx_cache () const
 
my_off_t get_byte_position () const
 
void cache_state_checkpoint (my_off_t pos_to_checkpoint)
 
void cache_state_rollback (my_off_t pos_to_rollback)
 
virtual void reset ()
 Reset the cache to unused state when the transaction is finished. More...
 
bool may_have_sbr_stmts ()
 Returns information about the cache content with respect to the binlog_format of the events. More...
 
bool has_empty_transaction ()
 Check if the binlog cache contains an empty transaction, which has two binlog events "BEGIN" and "COMMIT". More...
 
bool is_empty_or_has_empty_transaction ()
 Check if the binlog cache is empty or contains an empty transaction, which has two binlog events "BEGIN" and "COMMIT". More...
 

Additional Inherited Members

- Protected Member Functions inherited from binlog_cache_data
void truncate (my_off_t pos)
 
int flush_pending_event (THD *thd)
 Flush pending event to the cache buffer. More...
 
int remove_pending_event ()
 Remove the pending event. More...
 
- Protected Attributes inherited from binlog_cache_data
std::map< my_off_t, cache_statecache_state_map
 
size_t event_counter = 0
 
struct binlog_cache_data::Flags flags
 

Constructor & Destructor Documentation

◆ binlog_stmt_cache_data()

binlog_stmt_cache_data::binlog_stmt_cache_data ( bool  trx_cache_arg,
ulong ptr_binlog_cache_use_arg,
ulong ptr_binlog_cache_disk_use_arg 
)
inline

Member Function Documentation

◆ finalize() [1/2]

int binlog_cache_data::finalize

This function finalizes the cache preparing for commit or rollback.

The function just writes all the necessary events to the cache but does not flush the data to the binary log file. That is the role of the binlog_cache_data::flush function.

See also
binlog_cache_data::flush
Parameters
thdThe thread whose transaction should be flushed
end_eventThe end event either commit/rollback
Returns
nonzero if an error pops up when flushing the cache.

◆ finalize() [2/2]

int binlog_cache_data::finalize

The method writes XA END query to XA-prepared transaction's cache and calls the "basic" finalize().

Returns
error code, 0 success

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