MySQL 8.4.2
Source Code Documentation
binlog_stmt_cache_data Class Reference
Inheritance diagram for binlog_stmt_cache_data:
[legend]

Public Member Functions

 binlog_stmt_cache_data (binlog_cache_mngr &cache_mngr, 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 (class binlog_cache_mngr &cache_mngr, 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, bool parallelization_barrier)
 Flush caches to the binary log. More...
 
int write_event (Log_event *event)
 
void set_event_counter (size_t event_counter)
 
size_t get_event_counter () const
 
size_t get_compressed_size () const
 
size_t get_decompressed_size () const
 
mysql::binlog::event::compression::type get_compression_type () const
 
void set_compressed_size (size_t s)
 
void set_decompressed_size (size_t s)
 
void set_compression_type (mysql::binlog::event::compression::type t)
 
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 (std::string_view incident_message="Non-transactional changes were not written to the binlog.")
 
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...
 
bool compress (THD *thd)
 Compress the current transaction "in-place", if possible. More...
 
- Protected Attributes inherited from binlog_cache_data
std::map< my_off_t, cache_statecache_state_map
 
size_t m_event_counter = 0
 
size_t m_compressed_size = 0
 
size_t m_decompressed_size = 0
 
mysql::binlog::event::compression::type m_compression_type
 
struct binlog_cache_data::Flags flags
 

Constructor & Destructor Documentation

◆ binlog_stmt_cache_data()

binlog_stmt_cache_data::binlog_stmt_cache_data ( binlog_cache_mngr cache_mngr,
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 ( THD thd,
Log_event end_event 
)

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 ( 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().

Returns
error code, 0 success

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