MySQL 8.4.2
Source Code Documentation
MYSQL_BIN_LOG Class Reference

#include <binlog.h>

Inheritance diagram for MYSQL_BIN_LOG:
[legend]

Classes

class  Binlog_ofile
 Logical binlog file which wraps and hides the detail of lower layer storage implementation. More...
 

Public Member Functions

int new_file_without_locking (Format_description_log_event *extra_description_event)
 
bool is_current_stmt_binlog_enabled_and_caches_empty (const THD *thd) const
 Checks whether binlog caches are disabled (binlog does not cache data) or empty in case binloggging is enabled in the current call to this function. More...
 
const char * generate_name (const char *log_name, const char *suffix, char *buff)
 
bool is_open () const
 
std::pair< std::list< std::string >, mysql::utils::Errorget_filename_list ()
 Obtains the list of logs from the index file. More...
 
 MYSQL_BIN_LOG (uint *sync_period, bool relay_log=false)
 
 ~MYSQL_BIN_LOG () override
 
void set_psi_keys (PSI_mutex_key key_LOCK_index, PSI_mutex_key key_LOCK_commit, PSI_mutex_key key_LOCK_commit_queue, PSI_mutex_key key_LOCK_after_commit, PSI_mutex_key key_LOCK_after_commit_queue, PSI_mutex_key key_LOCK_done, PSI_mutex_key key_LOCK_flush_queue, PSI_mutex_key key_LOCK_log, PSI_mutex_key key_LOCK_binlog_end_pos, PSI_mutex_key key_LOCK_sync, PSI_mutex_key key_LOCK_sync_queue, PSI_mutex_key key_LOCK_xids, PSI_mutex_key key_LOCK_log_info, PSI_mutex_key key_LOCK_wait_for_group_turn, PSI_cond_key key_COND_done, PSI_cond_key key_COND_flush_queue, PSI_cond_key key_update_cond, PSI_cond_key key_prep_xids_cond, PSI_cond_key key_COND_wait_for_group_turn, PSI_file_key key_file_log, PSI_file_key key_file_log_index, PSI_file_key key_file_log_cache, PSI_file_key key_file_log_index_cache)
 
bool find_first_log (std::string &binlog_file_name, std::string &errmsg)
 Find the oldest binary log referenced by the index file. More...
 
bool find_first_log_not_in_gtid_set (char *binlog_file_name, const Gtid_set *gtid_set, Gtid *first_gtid, std::string &errmsg)
 Find the oldest binary log that contains any GTID that is not in the given gtid set. More...
 
bool init_gtid_sets (Gtid_set *all_gtids, Gtid_set *lost_gtids, bool verify_checksum, bool need_lock, mysql::binlog::event::Transaction_boundary_parser *trx_parser, Gtid_monitoring_info *partial_trx, bool is_server_starting=false)
 Reads the set of all GTIDs in the binary/relay log, and the set of all lost GTIDs in the binary log, and stores each set in respective argument. More...
 
void set_previous_gtid_set_relaylog (Gtid_set *previous_gtid_set_param)
 
int gtid_end_transaction (THD *thd)
 If the thread owns a GTID, this function generates an empty transaction and releases ownership of the GTID. More...
 
bool reencrypt_logs ()
 Re-encrypt previous existent binary/relay logs as below. More...
 
int open_binlog (const char *opt_name)
 
void close () override
 This is called on shutdown, after ha_panic. More...
 
enum_result commit (THD *thd, bool all) override
 Commit the transaction in the transaction coordinator. More...
 
int rollback (THD *thd, bool all) override
 Write a rollback record of the transaction to the binary log. More...
 
bool truncate_relaylog_file (Master_info *mi, my_off_t valid_pos)
 Truncate the active relay log file in the specified position. More...
 
int prepare (THD *thd, bool all) override
 Log a prepare record of the transaction to the storage engines. More...
 
void update_thd_next_event_pos (THD *thd)
 
int flush_and_set_pending_rows_event (THD *thd, Rows_log_event *event, bool is_transactional)
 
void add_bytes_written (ulonglong inc)
 
void reset_bytes_written ()
 
void harvest_bytes_written (Relay_log_info *rli, bool need_log_space_lock)
 Adds bytes written in the current relay log into the variable handling the total number of bytes acquired by the replica. More...
 
void set_max_size (ulong max_size_arg)
 
void update_binlog_end_pos (bool need_lock=true)
 
void update_binlog_end_pos (const char *file, my_off_t pos)
 
int wait_for_update (const std::chrono::nanoseconds &timeout)
 Wait until we get a signal that the binary log has been updated. More...
 
int wait_for_update ()
 Wait until we get a signal that the binary log has been updated. More...
 
void init_pthread_objects ()
 
void cleanup ()
 
bool open_binlog (const char *log_name, const char *new_name, ulong max_size_arg, bool null_created_arg, bool need_lock_index, bool need_tsid_lock, Format_description_log_event *extra_description_event, uint32 new_index_number=0)
 Create a new binary log. More...
 
bool open_index_file (const char *index_file_name_arg, const char *log_name, bool need_lock_index)
 
int new_file (Format_description_log_event *extra_description_event)
 
bool write_event (Log_event *event_info)
 Write an event to the binary log cache. More...
 
bool write_cache (THD *thd, class binlog_cache_data *cache_data, class Binlog_event_writer *writer)
 Write the contents of the statement or transaction cache to the binary log. More...
 
bool assign_automatic_gtids_to_flush_group (THD *first_seen)
 Assign automatic generated GTIDs for all commit group threads in the flush stage having gtid_next.type == AUTOMATIC_GTID. More...
 
bool write_transaction (THD *thd, binlog_cache_data *cache_data, Binlog_event_writer *writer, bool parallelization_barrier)
 Write the Gtid_log_event to the binary log (prior to writing the statement or transaction cache). More...
 
bool write_stmt_directly (THD *thd, const char *stmt, size_t stmt_len, enum enum_sql_command sql_command)
 Write a dml into statement cache and then flush it into binlog. More...
 
void report_cache_write_error (THD *thd, bool is_transactional)
 
bool check_write_error (const THD *thd)
 
bool write_event_to_binlog (Log_event *ev)
 
bool write_event_to_binlog_and_sync (Log_event *ev)
 
void start_union_events (THD *thd, query_id_t query_id_param)
 
void stop_union_events (THD *thd)
 
bool is_query_in_union (THD *thd, query_id_t query_id_param)
 
bool write_buffer (const char *buf, uint len, Master_info *mi)
 
bool write_event (Log_event *ev, Master_info *mi)
 
int write_xa_to_cache (THD *thd)
 Logging XA commit/rollback of a prepared transaction. More...
 
bool write_incident_commit (THD *thd, std::string_view incident_message)
 Write an incident and call commit. More...
 
bool truncate_update_log_file (const char *log_name, my_off_t valid_pos, my_off_t binlog_size, bool update)
 Truncte log file and clear LOG_EVENT_BINLOG_IN_USE_F when update is set. More...
 
void make_log_name (char *buf, const char *log_ident)
 Create a new log file name. More...
 
bool is_active (const char *log_file_name) const
 Check if we are writing/reading to the given log file. More...
 
int remove_logs_outside_range_from_index (LOG_INFO *start_log_info, bool need_update_threads, LOG_INFO *last_log_info=nullptr)
 Remove logs from index file, except files between 'start' and 'last'. More...
 
int remove_logs_outside_range_from_index (const std::string &first, const std::string &last)
 Remove logs from index file except logs between first and last. More...
 
int rotate (bool force_rotate, bool *check_purge)
 The method executes rotation when LOCK_log is already acquired by the caller. More...
 
void auto_purge ()
 This function runs automatic purge if the conditions to meet automatic purge are met. More...
 
void auto_purge_at_server_startup ()
 This member function is to be called at server startup. More...
 
int rotate_and_purge (THD *thd, bool force_rotate)
 Execute a FLUSH LOGS statement. More...
 
bool flush ()
 
bool flush_and_sync (const bool force=false)
 Flush binlog cache and synchronize to disk. More...
 
int purge_logs (const char *to_log, bool included, bool need_lock_index, bool need_update_threads, ulonglong *decrease_log_space, bool auto_purge)
 Remove all logs before the given log from disk and from the index file. More...
 
int purge_logs_before_date (time_t purge_time, bool auto_purge)
 Remove all logs before the given file date from disk and from the index file. More...
 
int set_crash_safe_index_file_name (const char *base_file_name)
 Set the name of crash safe index file. More...
 
int open_crash_safe_index_file ()
 Open a (new) crash safe index file. More...
 
int close_crash_safe_index_file ()
 Close the crash safe index file. More...
 
int add_log_to_index (uchar *log_file_name, size_t name_len, bool need_lock_index)
 Append log file name to index file. More...
 
int move_crash_safe_index_file_to_index_file (bool need_lock_index)
 Move crash safe index file to index file. More...
 
int set_purge_index_file_name (const char *base_file_name)
 
int open_purge_index_file (bool destroy)
 
bool is_inited_purge_index_file ()
 
int close_purge_index_file ()
 
int sync_purge_index_file ()
 
int register_purge_index_entry (const char *entry)
 
int register_create_index_entry (const char *entry)
 
int purge_index_entry (THD *thd, ulonglong *decrease_log_space, bool need_lock_index)
 
bool reset_logs (THD *thd, bool delete_only=false)
 Removes files, as part of a RESET BINARY LOGS AND GTIDS or RESET REPLICA statement, by deleting all logs referred to in the index file and the index file. More...
 
void close (uint exiting, bool need_lock_log, bool need_lock_index)
 Close the log file. More...
 
int find_log_pos (LOG_INFO *linfo, const char *log_name, bool need_lock_index)
 Find the position in the log-index-file for the given log name. More...
 
int find_next_log (LOG_INFO *linfo, bool need_lock_index)
 Find the position in the log-index-file for the given log name. More...
 
int find_next_relay_log (char log_name[FN_REFLEN+1])
 Find the relay log name following the given name from relay log index file. More...
 
int get_current_log (LOG_INFO *linfo, bool need_lock_log=true)
 
int raw_get_current_log (LOG_INFO *linfo)
 
uint next_file_id ()
 
std::pair< int, std::list< std::string > > get_log_index (bool need_lock_index=true)
 Retrieves the contents of the index file associated with this log object into an std::list<std::string> object. More...
 
char * get_index_fname ()
 
char * get_log_fname ()
 
const char * get_name () const
 
mysql_mutex_tget_log_lock ()
 
mysql_mutex_tget_index_lock ()
 
mysql_mutex_tget_commit_lock ()
 
mysql_mutex_tget_after_commit_lock ()
 
mysql_cond_tget_log_cond ()
 
Binlog_ofileget_binlog_file ()
 
void lock_index ()
 
void unlock_index ()
 
IO_CACHEget_index_file ()
 
void report_missing_purged_gtids (const Gtid_set *slave_executed_gtid_set, std::string &errmsg)
 Function to report the missing GTIDs. More...
 
void report_missing_gtids (const Gtid_set *previous_gtid_set, const Gtid_set *slave_executed_gtid_set, std::string &errmsg)
 Function to report the missing GTIDs. More...
 
my_off_t get_binlog_end_pos () const
 
mysql_mutex_tget_binlog_end_pos_lock ()
 
void lock_binlog_end_pos ()
 
void unlock_binlog_end_pos ()
 
int get_gtid_executed (Tsid_map *tsid_map, Gtid_set *gtid_set)
 Deep copy global_tsid_map and gtid_executed. More...
 
void register_log_info (LOG_INFO *log_info)
 Register LOG_INFO so that log_in_use and adjust_linfo_offsets can operate on all logs. More...
 
void unregister_log_info (LOG_INFO *log_info)
 Unregister LOG_INFO when it is no longer needed. More...
 
int log_in_use (const char *log_name)
 Check if any threads use log name. More...
 
void adjust_linfo_offsets (my_off_t purge_offset)
 Adjust the position pointer in the binary log file for all running replicas. More...
 
- Public Member Functions inherited from TC_LOG
bool using_heuristic_recover ()
 Perform heuristic recovery, if –tc-heuristic-recover was used. More...
 
 TC_LOG ()=default
 
virtual ~TC_LOG ()=default
 

Public Attributes

bool is_relay_log
 
uint8 checksum_alg_reset
 
mysql::binlog::event::enum_binlog_checksum_alg relay_log_checksum_alg
 
Transaction_dependency_tracker m_dependency_tracker
 Manage the MTS dependency tracking. More...
 

Static Public Attributes

static const int MAX_RETRIES_FOR_DELETE_RENAME_FAILURE = 5
 

Protected Member Functions

void signal_update ()
 Notifies waiting threads that binary log has been updated. More...
 

Private Types

enum  enum_log_state { LOG_OPENED , LOG_CLOSED , LOG_TO_BE_OPENED }
 

Private Member Functions

void inc_prep_xids (THD *thd)
 Increment the prepared XID counter. More...
 
void dec_prep_xids (THD *thd)
 Decrement the prepared XID counter. More...
 
int32 get_prep_xids ()
 
uint get_sync_period ()
 
int new_file_impl (bool need_lock, Format_description_log_event *extra_description_event)
 Start writing to a new log file or reopen the old file. More...
 
bool open (PSI_file_key log_file_key, const char *log_name, const char *new_name, uint32 new_index_number)
 Open the logfile and init IO_CACHE. More...
 
bool init_and_set_log_file_name (const char *log_name, const char *new_name, uint32 new_index_number)
 
int generate_new_name (char *new_name, const char *log_name, uint32 new_index_number=0)
 
bool read_binlog_in_use_flag (Binlog_file_reader &binlog_file_reader)
 Read binary log stream header and Format_desc event from binlog_file_reader. More...
 
int open (const char *opt_name) override
 Initialize and open the coordinator log. More...
 
bool change_stage (THD *thd, Commit_stage_manager::StageID stage, THD *queue, mysql_mutex_t *leave_mutex, mysql_mutex_t *enter_mutex)
 Enter a stage of the ordered commit procedure. More...
 
std::pair< int, my_off_tflush_thread_caches (THD *thd)
 Flush caches for session. More...
 
int flush_cache_to_file (my_off_t *flush_end_pos)
 Flush the I/O cache to file. More...
 
int finish_commit (THD *thd)
 Helper function executed when leaving ordered_commit. More...
 
std::pair< bool, bool > sync_binlog_file (bool force)
 Call fsync() to sync the file to disk. More...
 
void process_commit_stage_queue (THD *thd, THD *queue)
 Commit a sequence of sessions. More...
 
void process_after_commit_stage_queue (THD *thd, THD *first)
 Process after commit for a sequence of sessions. More...
 
void init_thd_variables (THD *thd, bool all, bool skip_commit)
 Set thread variables used while flushing a transaction. More...
 
THDfetch_and_process_flush_stage_queue (const bool check_and_skip_flush_logs=false)
 Fetch and empty BINLOG_FLUSH_STAGE and COMMIT_ORDER_FLUSH_STAGE flush queues and flush transactions to the disk, and unblock threads executing slave preserve commit order. More...
 
int process_flush_stage_queue (my_off_t *total_bytes_var, THD **out_queue_var)
 Execute the flush stage. More...
 
int ordered_commit (THD *thd, bool all, bool skip_commit=false)
 Flush and commit the transaction. More...
 
void handle_binlog_flush_or_sync_error (THD *thd, bool need_lock_log, const char *message)
 Helper function to handle flush or sync stage errors. More...
 
bool do_write_cache (Binlog_cache_storage *cache, class Binlog_event_writer *writer)
 Write the contents of the given IO_CACHE to the binary log. More...
 
void report_binlog_write_error ()
 
bool after_write_to_relay_log (Master_info *mi)
 Called after an event has been written to the relay log by the IO thread. More...
 

Private Attributes

mysql_mutex_t LOCK_log
 
char * name
 
char log_file_name [FN_REFLEN]
 
char db [NAME_LEN+1]
 
bool write_error
 
bool inited
 
Binlog_ofilem_binlog_file
 
PSI_file_key m_log_file_key
 Instrumentation key to use for file io in log_file. More...
 
PSI_mutex_key m_key_LOCK_log
 The instrumentation key to use for @ LOCK_log. More...
 
PSI_mutex_key m_key_LOCK_index
 The instrumentation key to use for @ LOCK_index. More...
 
PSI_mutex_key m_key_LOCK_binlog_end_pos
 The instrumentation key to use for @ LOCK_binlog_end_pos. More...
 
PSI_mutex_key m_key_LOCK_commit_queue
 The PFS instrumentation key for @ LOCK_commit_queue. More...
 
PSI_mutex_key m_key_LOCK_after_commit_queue
 The PFS instrumentation key for @ LOCK_after_commit_queue. More...
 
PSI_mutex_key m_key_LOCK_done
 The PFS instrumentation key for @ LOCK_done. More...
 
PSI_mutex_key m_key_LOCK_flush_queue
 The PFS instrumentation key for @ LOCK_flush_queue. More...
 
PSI_mutex_key m_key_LOCK_sync_queue
 The PFS instrumentation key for @ LOCK_sync_queue. More...
 
PSI_mutex_key m_key_LOCK_wait_for_group_turn
 The PFS instrumentation key for @ LOCK_wait_for_group_turn. More...
 
PSI_mutex_key m_key_COND_done
 The PFS instrumentation key for @ COND_done. More...
 
PSI_mutex_key m_key_COND_flush_queue
 The PFS instrumentation key for @ COND_flush_queue. More...
 
PSI_mutex_key m_key_LOCK_commit
 The instrumentation key to use for @ LOCK_commit. More...
 
PSI_mutex_key m_key_LOCK_after_commit
 The instrumentation key to use for @ LOCK_after_commit. More...
 
PSI_mutex_key m_key_LOCK_sync
 The instrumentation key to use for @ LOCK_sync. More...
 
PSI_mutex_key m_key_LOCK_xids
 The instrumentation key to use for @ LOCK_xids. More...
 
PSI_mutex_key m_key_LOCK_log_info
 The instrumentation key to use for @ m_key_LOCK_log_info. More...
 
PSI_cond_key m_key_update_cond
 The instrumentation key to use for @ update_cond. More...
 
PSI_cond_key m_key_prep_xids_cond
 The instrumentation key to use for @ prep_xids_cond. More...
 
PSI_cond_key m_key_COND_wait_for_group_turn
 The PFS instrumentation key for @ COND_wait_for_group_turn. More...
 
PSI_file_key m_key_file_log
 The instrumentation key to use for opening the log file. More...
 
PSI_file_key m_key_file_log_index
 The instrumentation key to use for opening the log index file. More...
 
PSI_file_key m_key_file_log_cache
 The instrumentation key to use for opening a log cache file. More...
 
PSI_file_key m_key_file_log_index_cache
 The instrumentation key to use for opening a log index cache file. More...
 
mysql_mutex_t LOCK_index
 
mysql_mutex_t LOCK_commit
 
mysql_mutex_t LOCK_after_commit
 
mysql_mutex_t LOCK_sync
 
mysql_mutex_t LOCK_binlog_end_pos
 
mysql_mutex_t LOCK_xids
 
mysql_cond_t update_cond
 
std::atomic< my_off_tatomic_binlog_end_pos
 
ulonglong bytes_written
 
IO_CACHE index_file
 
char index_file_name [FN_REFLEN]
 
IO_CACHE crash_safe_index_file
 
char crash_safe_index_file_name [FN_REFLEN]
 
IO_CACHE purge_index_file
 
char purge_index_file_name [FN_REFLEN]
 
ulong max_size
 
uint file_id
 
uint * sync_period_ptr
 
uint sync_counter
 
mysql_cond_t m_prep_xids_cond
 
std::atomic< int32m_atomic_prep_xids {0}
 
std::atomic< enum_log_stateatomic_log_state {LOG_CLOSED}
 
Gtid_setprevious_gtid_set_relaylog
 
mysql_mutex_t LOCK_log_info
 
std::set< LOG_INFO * > log_info_set
 

Additional Inherited Members

- Public Types inherited from TC_LOG
enum  enum_result { RESULT_SUCCESS , RESULT_ABORTED , RESULT_INCONSISTENT }
 

Member Enumeration Documentation

◆ enum_log_state

Enumerator
LOG_OPENED 
LOG_CLOSED 
LOG_TO_BE_OPENED 

Member Function Documentation

◆ add_bytes_written()

void MYSQL_BIN_LOG::add_bytes_written ( ulonglong  inc)
inline

◆ get_after_commit_lock()

mysql_mutex_t * MYSQL_BIN_LOG::get_after_commit_lock ( )
inline

◆ get_binlog_end_pos()

my_off_t MYSQL_BIN_LOG::get_binlog_end_pos ( ) const
inline

◆ get_binlog_end_pos_lock()

mysql_mutex_t * MYSQL_BIN_LOG::get_binlog_end_pos_lock ( )
inline

◆ get_binlog_file()

Binlog_ofile * MYSQL_BIN_LOG::get_binlog_file ( )
inline

◆ get_commit_lock()

mysql_mutex_t * MYSQL_BIN_LOG::get_commit_lock ( )
inline

◆ get_index_file()

IO_CACHE * MYSQL_BIN_LOG::get_index_file ( )
inline

◆ get_index_fname()

char * MYSQL_BIN_LOG::get_index_fname ( )
inline

◆ get_index_lock()

mysql_mutex_t * MYSQL_BIN_LOG::get_index_lock ( )
inline

◆ get_log_cond()

mysql_cond_t * MYSQL_BIN_LOG::get_log_cond ( )
inline

◆ get_log_fname()

char * MYSQL_BIN_LOG::get_log_fname ( )
inline

◆ get_log_lock()

mysql_mutex_t * MYSQL_BIN_LOG::get_log_lock ( )
inline

◆ get_name()

const char * MYSQL_BIN_LOG::get_name ( ) const
inline

◆ get_prep_xids()

int32 MYSQL_BIN_LOG::get_prep_xids ( )
inlineprivate

◆ get_sync_period()

uint MYSQL_BIN_LOG::get_sync_period ( )
inlineprivate

◆ is_open()

bool MYSQL_BIN_LOG::is_open ( ) const
inline

◆ lock_binlog_end_pos()

void MYSQL_BIN_LOG::lock_binlog_end_pos ( )
inline

◆ lock_index()

void MYSQL_BIN_LOG::lock_index ( )
inline

◆ open()

int MYSQL_BIN_LOG::open ( const char *  opt_name)
inlineoverrideprivatevirtual

Initialize and open the coordinator log.

Do recovery if necessary. Called during server startup.

Parameters
opt_nameName of logfile.
Return values
0success
1failed

Implements TC_LOG.

◆ reset_bytes_written()

void MYSQL_BIN_LOG::reset_bytes_written ( )
inline

◆ set_previous_gtid_set_relaylog()

void MYSQL_BIN_LOG::set_previous_gtid_set_relaylog ( Gtid_set previous_gtid_set_param)
inline

◆ set_psi_keys()

void MYSQL_BIN_LOG::set_psi_keys ( PSI_mutex_key  key_LOCK_index,
PSI_mutex_key  key_LOCK_commit,
PSI_mutex_key  key_LOCK_commit_queue,
PSI_mutex_key  key_LOCK_after_commit,
PSI_mutex_key  key_LOCK_after_commit_queue,
PSI_mutex_key  key_LOCK_done,
PSI_mutex_key  key_LOCK_flush_queue,
PSI_mutex_key  key_LOCK_log,
PSI_mutex_key  key_LOCK_binlog_end_pos,
PSI_mutex_key  key_LOCK_sync,
PSI_mutex_key  key_LOCK_sync_queue,
PSI_mutex_key  key_LOCK_xids,
PSI_mutex_key  key_LOCK_log_info,
PSI_mutex_key  key_LOCK_wait_for_group_turn,
PSI_cond_key  key_COND_done,
PSI_cond_key  key_COND_flush_queue,
PSI_cond_key  key_update_cond,
PSI_cond_key  key_prep_xids_cond,
PSI_cond_key  key_COND_wait_for_group_turn,
PSI_file_key  key_file_log,
PSI_file_key  key_file_log_index,
PSI_file_key  key_file_log_cache,
PSI_file_key  key_file_log_index_cache 
)
inline

◆ unlock_binlog_end_pos()

void MYSQL_BIN_LOG::unlock_binlog_end_pos ( )
inline

◆ unlock_index()

void MYSQL_BIN_LOG::unlock_index ( )
inline

Member Data Documentation

◆ atomic_binlog_end_pos

std::atomic<my_off_t> MYSQL_BIN_LOG::atomic_binlog_end_pos
private

◆ atomic_log_state

std::atomic<enum_log_state> MYSQL_BIN_LOG::atomic_log_state {LOG_CLOSED}
private

◆ bytes_written

ulonglong MYSQL_BIN_LOG::bytes_written
private

◆ checksum_alg_reset

uint8 MYSQL_BIN_LOG::checksum_alg_reset

◆ crash_safe_index_file

IO_CACHE MYSQL_BIN_LOG::crash_safe_index_file
private

◆ crash_safe_index_file_name

char MYSQL_BIN_LOG::crash_safe_index_file_name[FN_REFLEN]
private

◆ db

char MYSQL_BIN_LOG::db[NAME_LEN+1]
private

◆ file_id

uint MYSQL_BIN_LOG::file_id
private

◆ index_file

IO_CACHE MYSQL_BIN_LOG::index_file
private

◆ index_file_name

char MYSQL_BIN_LOG::index_file_name[FN_REFLEN]
private

◆ inited

bool MYSQL_BIN_LOG::inited
private

◆ is_relay_log

bool MYSQL_BIN_LOG::is_relay_log

◆ LOCK_after_commit

mysql_mutex_t MYSQL_BIN_LOG::LOCK_after_commit
private

◆ LOCK_binlog_end_pos

mysql_mutex_t MYSQL_BIN_LOG::LOCK_binlog_end_pos
private

◆ LOCK_commit

mysql_mutex_t MYSQL_BIN_LOG::LOCK_commit
private

◆ LOCK_index

mysql_mutex_t MYSQL_BIN_LOG::LOCK_index
private

◆ LOCK_log

mysql_mutex_t MYSQL_BIN_LOG::LOCK_log
private

◆ LOCK_log_info

mysql_mutex_t MYSQL_BIN_LOG::LOCK_log_info
private

◆ LOCK_sync

mysql_mutex_t MYSQL_BIN_LOG::LOCK_sync
private

◆ LOCK_xids

mysql_mutex_t MYSQL_BIN_LOG::LOCK_xids
private

◆ log_file_name

char MYSQL_BIN_LOG::log_file_name[FN_REFLEN]
private

◆ log_info_set

std::set<LOG_INFO *> MYSQL_BIN_LOG::log_info_set
private

◆ m_atomic_prep_xids

std::atomic<int32> MYSQL_BIN_LOG::m_atomic_prep_xids {0}
private

◆ m_binlog_file

Binlog_ofile* MYSQL_BIN_LOG::m_binlog_file
private

◆ m_dependency_tracker

Transaction_dependency_tracker MYSQL_BIN_LOG::m_dependency_tracker

Manage the MTS dependency tracking.

◆ m_key_COND_done

PSI_mutex_key MYSQL_BIN_LOG::m_key_COND_done
private

The PFS instrumentation key for @ COND_done.

◆ m_key_COND_flush_queue

PSI_mutex_key MYSQL_BIN_LOG::m_key_COND_flush_queue
private

The PFS instrumentation key for @ COND_flush_queue.

◆ m_key_COND_wait_for_group_turn

PSI_cond_key MYSQL_BIN_LOG::m_key_COND_wait_for_group_turn
private

The PFS instrumentation key for @ COND_wait_for_group_turn.

◆ m_key_file_log

PSI_file_key MYSQL_BIN_LOG::m_key_file_log
private

The instrumentation key to use for opening the log file.

◆ m_key_file_log_cache

PSI_file_key MYSQL_BIN_LOG::m_key_file_log_cache
private

The instrumentation key to use for opening a log cache file.

◆ m_key_file_log_index

PSI_file_key MYSQL_BIN_LOG::m_key_file_log_index
private

The instrumentation key to use for opening the log index file.

◆ m_key_file_log_index_cache

PSI_file_key MYSQL_BIN_LOG::m_key_file_log_index_cache
private

The instrumentation key to use for opening a log index cache file.

◆ m_key_LOCK_after_commit

PSI_mutex_key MYSQL_BIN_LOG::m_key_LOCK_after_commit
private

The instrumentation key to use for @ LOCK_after_commit.

◆ m_key_LOCK_after_commit_queue

PSI_mutex_key MYSQL_BIN_LOG::m_key_LOCK_after_commit_queue
private

The PFS instrumentation key for @ LOCK_after_commit_queue.

◆ m_key_LOCK_binlog_end_pos

PSI_mutex_key MYSQL_BIN_LOG::m_key_LOCK_binlog_end_pos
private

The instrumentation key to use for @ LOCK_binlog_end_pos.

◆ m_key_LOCK_commit

PSI_mutex_key MYSQL_BIN_LOG::m_key_LOCK_commit
private

The instrumentation key to use for @ LOCK_commit.

◆ m_key_LOCK_commit_queue

PSI_mutex_key MYSQL_BIN_LOG::m_key_LOCK_commit_queue
private

The PFS instrumentation key for @ LOCK_commit_queue.

◆ m_key_LOCK_done

PSI_mutex_key MYSQL_BIN_LOG::m_key_LOCK_done
private

The PFS instrumentation key for @ LOCK_done.

◆ m_key_LOCK_flush_queue

PSI_mutex_key MYSQL_BIN_LOG::m_key_LOCK_flush_queue
private

The PFS instrumentation key for @ LOCK_flush_queue.

◆ m_key_LOCK_index

PSI_mutex_key MYSQL_BIN_LOG::m_key_LOCK_index
private

The instrumentation key to use for @ LOCK_index.

◆ m_key_LOCK_log

PSI_mutex_key MYSQL_BIN_LOG::m_key_LOCK_log
private

The instrumentation key to use for @ LOCK_log.

◆ m_key_LOCK_log_info

PSI_mutex_key MYSQL_BIN_LOG::m_key_LOCK_log_info
private

The instrumentation key to use for @ m_key_LOCK_log_info.

◆ m_key_LOCK_sync

PSI_mutex_key MYSQL_BIN_LOG::m_key_LOCK_sync
private

The instrumentation key to use for @ LOCK_sync.

◆ m_key_LOCK_sync_queue

PSI_mutex_key MYSQL_BIN_LOG::m_key_LOCK_sync_queue
private

The PFS instrumentation key for @ LOCK_sync_queue.

◆ m_key_LOCK_wait_for_group_turn

PSI_mutex_key MYSQL_BIN_LOG::m_key_LOCK_wait_for_group_turn
private

The PFS instrumentation key for @ LOCK_wait_for_group_turn.

◆ m_key_LOCK_xids

PSI_mutex_key MYSQL_BIN_LOG::m_key_LOCK_xids
private

The instrumentation key to use for @ LOCK_xids.

◆ m_key_prep_xids_cond

PSI_cond_key MYSQL_BIN_LOG::m_key_prep_xids_cond
private

The instrumentation key to use for @ prep_xids_cond.

◆ m_key_update_cond

PSI_cond_key MYSQL_BIN_LOG::m_key_update_cond
private

The instrumentation key to use for @ update_cond.

◆ m_log_file_key

PSI_file_key MYSQL_BIN_LOG::m_log_file_key
private

Instrumentation key to use for file io in log_file.

◆ m_prep_xids_cond

mysql_cond_t MYSQL_BIN_LOG::m_prep_xids_cond
private

◆ MAX_RETRIES_FOR_DELETE_RENAME_FAILURE

const int MYSQL_BIN_LOG::MAX_RETRIES_FOR_DELETE_RENAME_FAILURE = 5
static

◆ max_size

ulong MYSQL_BIN_LOG::max_size
private

◆ name

char* MYSQL_BIN_LOG::name
private

◆ previous_gtid_set_relaylog

Gtid_set* MYSQL_BIN_LOG::previous_gtid_set_relaylog
private

◆ purge_index_file

IO_CACHE MYSQL_BIN_LOG::purge_index_file
private

◆ purge_index_file_name

char MYSQL_BIN_LOG::purge_index_file_name[FN_REFLEN]
private

◆ relay_log_checksum_alg

mysql::binlog::event::enum_binlog_checksum_alg MYSQL_BIN_LOG::relay_log_checksum_alg

◆ sync_counter

uint MYSQL_BIN_LOG::sync_counter
private

◆ sync_period_ptr

uint* MYSQL_BIN_LOG::sync_period_ptr
private

◆ update_cond

mysql_cond_t MYSQL_BIN_LOG::update_cond
private

◆ write_error

bool MYSQL_BIN_LOG::write_error
private

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