A Query event is written to the binary log whenever the database is modified on the master, unless row based logging is used.
More...
|
| Query_log_event (Query_log_event &&) noexcept=delete |
|
Query_log_event & | operator= (Query_log_event &&) noexcept=delete |
|
| Query_log_event (const Query_log_event &)=delete |
|
Query_log_event & | operator= (const Query_log_event &)=delete |
|
void | set_skip_temp_tables_handling_by_worker () |
|
bool | is_skip_temp_tables_handling_by_worker () |
|
| Query_log_event (THD *thd_arg, const char *query_arg, size_t query_length, bool using_trans, bool immediate, bool suppress_use, int error, bool ignore_command=false) |
| Creates a Query Log Event. More...
|
|
const char * | get_db () override |
|
uint8 | get_mts_dbs (Mts_db_names *arg, Rpl_filter *rpl_filter) override |
|
void | attach_temp_tables_worker (THD *, const Relay_log_info *) |
| Associating slave Worker thread to a subset of temporary tables. More...
|
|
void | detach_temp_tables_worker (THD *, const Relay_log_info *) |
| Dissociating slave Worker thread from its thd->temporary_tables to possibly update the involved entries of db-to-worker hash with new values of temporary_tables. More...
|
|
uchar | mts_number_dbs () override |
|
int | pack_info (Protocol *protocol) override |
| This (which is used only for SHOW BINLOG EVENTS) could be updated to print SET @session_var=. More...
|
|
| Query_log_event () |
| The simplest constructor that could possibly work. More...
|
|
| Query_log_event (const char *buf, const mysql::binlog::event::Format_description_event *description_event, mysql::binlog::event::Log_event_type event_type) |
| This is used by the SQL slave thread to prepare the event before execution. More...
|
|
| ~Query_log_event () override |
|
void | claim_memory_ownership (bool claim) override |
| Allow thread to CLAIM or DISCLAIM the ownership of this object depends on the parameter value passed. More...
|
|
bool | write (Basic_ostream *ostream) override |
| Query_log_event::write(). More...
|
|
virtual bool | write_post_header_for_derived (Basic_ostream *) |
|
virtual ulong | get_post_header_size_for_derived () |
|
enum_skip_reason | do_shall_skip (Relay_log_info *rli) override |
| Decide if this event shall be skipped or not and the reason for skipping it. More...
|
|
int | do_apply_event (Relay_log_info const *rli) override |
| Primitive to apply an event to the database. More...
|
|
int | do_update_pos (Relay_log_info *rli) override |
| Advance relay log coordinates. More...
|
|
int | do_apply_event (Relay_log_info const *rli, const char *query_arg, size_t q_len_arg) |
|
bool | is_trans_keyword () const |
|
bool | is_sbr_logging_format () const override |
| When a query log event contains a non-transaction control statement, we assume that it is changing database content (DML) and was logged using binlog_format=statement. More...
|
|
bool | starts_group () const override |
| Notice, DDL queries are logged without BEGIN/COMMIT parentheses and identification of such single-query group occurs within logics of get_slave_worker() . More...
|
|
bool | ends_group () const override |
|
bool | is_query_prefix_match (const char *pattern, uint p_len) |
|
| Query_event (const char *query_arg, const char *catalog_arg, const char *db_arg, uint32_t query_length, unsigned long thread_id_arg, unsigned long long sql_mode_arg, unsigned long auto_increment_increment_arg, unsigned long auto_increment_offset_arg, unsigned int number, unsigned long long table_map_for_update_arg, int errcode) |
| The constructor will be used while creating a Query_event, to be written to the binary log. More...
|
|
| Query_event (const char *buf, const Format_description_event *fde, Log_event_type event_type) |
| The constructor receives a buffer and instantiates a Query_event filled in with the data from the buffer. More...
|
|
| Query_event (Log_event_type type_arg=QUERY_EVENT) |
| The simplest constructor that could possibly work. More...
|
|
| ~Query_event () override=default |
|
virtual | ~Binary_log_event ()=0 |
|
| Binary_log_event (const Binary_log_event &)=default |
|
| Binary_log_event (Binary_log_event &&)=default |
|
Binary_log_event & | operator= (const Binary_log_event &)=default |
|
Binary_log_event & | operator= (Binary_log_event &&)=default |
|
enum Log_event_type | get_event_type () const |
| Helper method. More...
|
|
const Log_event_header * | header () const |
| Return a const pointer to the header of the log event. More...
|
|
Log_event_header * | header () |
| Return a non-const pointer to the header of the log event. More...
|
|
const Log_event_footer * | footer () const |
| Return a const pointer to the footer of the log event. More...
|
|
Log_event_footer * | footer () |
| Return a non-const pointer to the footer of the log event. More...
|
|
Event_reader & | reader () |
| Returns a reference to the event Event_reader object. More...
|
|
| Log_event (mysql::binlog::event::Log_event_header *header, mysql::binlog::event::Log_event_footer *footer, enum_event_cache_type cache_type_arg, enum_event_logging_type logging_type_arg) |
| This minimal constructor is for when you are not even sure that there is a valid THD. More...
|
|
| Log_event (THD *thd_arg, uint16 flags_arg, enum_event_cache_type cache_type_arg, enum_event_logging_type logging_type_arg, mysql::binlog::event::Log_event_header *header, mysql::binlog::event::Log_event_footer *footer) |
|
int | net_send (Protocol *protocol, const char *log_name, my_off_t pos) |
| Only called by SHOW BINLOG EVENTS. More...
|
|
void * | operator new (size_t size) |
|
bool | wrapper_my_b_safe_write (Basic_ostream *ostream, const uchar *buf, size_t data_length) |
| Write the given buffer to the given output stream, updating the checksum if checksums are enabled. More...
|
|
time_t | get_time () |
| Prints a "session_var=value" string. More...
|
|
virtual bool | write_data_header (Basic_ostream *) |
|
virtual bool | write_data_body (Basic_ostream *) |
|
virtual mysql::binlog::event::Log_event_type | get_type_code () const |
|
virtual bool | is_rbr_logging_format () const |
| Return true if the event has to be logged using RBR for DMLs. More...
|
|
bool | is_valid () |
|
void | set_artificial_event () |
|
void | set_relay_log_event () |
|
bool | is_artificial_event () const |
|
bool | is_relay_log_event () const |
|
bool | is_ignorable_event () const |
|
bool | is_no_filter_event () const |
|
bool | is_using_trans_cache () const |
|
bool | is_using_stmt_cache () const |
|
bool | is_using_immediate_logging () const |
|
| Log_event (mysql::binlog::event::Log_event_header *header, mysql::binlog::event::Log_event_footer *footer) |
|
virtual | ~Log_event () |
|
void | register_temp_buf (char *buf, bool free_in_destructor=true) |
|
void | free_temp_buf () |
|
virtual size_t | get_data_size () |
|
const char * | get_type_str () const |
| Returns the human readable name of this event's type. More...
|
|
bool | is_mts_sequential_exec () const |
| Is called from get_mts_execution_mode() to. More...
|
|
bool | contains_partition_info (bool) |
|
bool | is_mts_group_isolated () |
|
int | apply_event (Relay_log_info *rli) |
| Apply the event to the database. More...
|
|
int | apply_gtid_event (Relay_log_info *rli) |
| Apply the GTID event in curr_group_data to the database. More...
|
|
int | update_pos (Relay_log_info *rli) |
| Update the relay log position. More...
|
|
enum_skip_reason | shall_skip (Relay_log_info *rli) |
| Decide if the event shall be skipped, and the reason for skipping it. More...
|
|
virtual int | do_apply_event_worker (Slave_worker *w) |
|
|
enum | Query_event_post_header_offset {
Q_THREAD_ID_OFFSET = 0
, Q_EXEC_TIME_OFFSET = 4
, Q_DB_LEN_OFFSET = 8
, Q_ERR_CODE_OFFSET = 9
,
Q_STATUS_VARS_LEN_OFFSET = 11
, Q_DATA_OFFSET = QUERY_HEADER_LEN
} |
| query event post-header More...
|
|
enum | Query_event_status_vars {
Q_FLAGS2_CODE = 0
, Q_SQL_MODE_CODE
, Q_CATALOG_CODE
, Q_AUTO_INCREMENT
,
Q_CHARSET_CODE
, Q_TIME_ZONE_CODE
, Q_CATALOG_NZ_CODE
, Q_LC_TIME_NAMES_CODE
,
Q_CHARSET_DATABASE_CODE
, Q_TABLE_MAP_FOR_UPDATE_CODE
, Q_MASTER_DATA_WRITTEN_CODE
, Q_INVOKER
,
Q_UPDATED_DB_NAMES
, Q_MICROSECONDS
, Q_COMMIT_TS
, Q_COMMIT_TS2
,
Q_EXPLICIT_DEFAULTS_FOR_TIMESTAMP
, Q_DDL_LOGGED_WITH_XID
, Q_DEFAULT_COLLATION_FOR_UTF8MB4
, Q_SQL_REQUIRE_PRIMARY_KEY
,
Q_DEFAULT_TABLE_ENCRYPTION
} |
|
enum | enum_ternary { TERNARY_UNSET
, TERNARY_OFF
, TERNARY_ON
} |
|
enum | enum_post_header_length {
QUERY_HEADER_MINIMAL_LEN = (4 + 4 + 1 + 2)
, QUERY_HEADER_LEN = (QUERY_HEADER_MINIMAL_LEN + 2)
, STOP_HEADER_LEN = 0
, START_V3_HEADER_LEN = (2 + ST_SERVER_VER_LEN + 4)
,
ROTATE_HEADER_LEN = 8
, INTVAR_HEADER_LEN = 0
, APPEND_BLOCK_HEADER_LEN = 4
, DELETE_FILE_HEADER_LEN = 4
,
RAND_HEADER_LEN = 0
, USER_VAR_HEADER_LEN = 0
, FORMAT_DESCRIPTION_HEADER_LEN = (START_V3_HEADER_LEN + 1 + LOG_EVENT_TYPES)
, XID_HEADER_LEN = 0
,
BEGIN_LOAD_QUERY_HEADER_LEN = APPEND_BLOCK_HEADER_LEN
, ROWS_HEADER_LEN_V1 = 8
, TABLE_MAP_HEADER_LEN = 8
, EXECUTE_LOAD_QUERY_EXTRA_HEADER_LEN = (4 + 4 + 4 + 1)
,
EXECUTE_LOAD_QUERY_HEADER_LEN
, INCIDENT_HEADER_LEN = 2
, HEARTBEAT_HEADER_LEN = 0
, IGNORABLE_HEADER_LEN = 0
,
ROWS_HEADER_LEN_V2 = 10
, TRANSACTION_CONTEXT_HEADER_LEN = 18
, VIEW_CHANGE_HEADER_LEN = 52
, XA_PREPARE_HEADER_LEN = 0
,
TRANSACTION_PAYLOAD_HEADER_LEN = 0
} |
| The lengths for the fixed data part of each event. More...
|
|
enum | enum_skip_reason { EVENT_SKIP_NOT
, EVENT_SKIP_IGNORE
, EVENT_SKIP_COUNT
} |
| Enumeration of what kinds of skipping (and non-skipping) that can occur when the slave executes an event. More...
|
|
enum | enum_mts_event_exec_mode { EVENT_EXEC_PARALLEL
, EVENT_EXEC_ASYNC
, EVENT_EXEC_SYNC
, EVENT_EXEC_CAN_NOT
} |
|
static const int | LOG_EVENT_TYPES = (ENUM_END_EVENT - 1) |
|
enum | enum_event_cache_type {
EVENT_INVALID_CACHE = 0
, EVENT_STMT_CACHE
, EVENT_TRANSACTIONAL_CACHE
, EVENT_NO_CACHE
,
EVENT_CACHE_COUNT
} |
|
enum | enum_event_logging_type { EVENT_INVALID_LOGGING = 0
, EVENT_NORMAL_LOGGING
, EVENT_IMMEDIATE_LOGGING
, EVENT_CACHE_LOGGING_COUNT
} |
|
int | fill_data_buf (unsigned char *dest, unsigned long len) |
| Layout for the data buffer is as follows. More...
|
|
| Binary_log_event (Log_event_type type_code) |
| This constructor is used to initialize the type_code of header object m_header. More...
|
|
| Binary_log_event (const char **buf, const Format_description_event *fde) |
| This constructor will create a new object of Log_event_header and initialize the variable m_header, which in turn will be used to initialize Log_event's member common_header. More...
|
|
uint32 | write_header_to_memory (uchar *buf) |
| Writes the common header of this event to the given memory buffer. More...
|
|
bool | write_header (Basic_ostream *ostream, size_t data_length) |
| Writes the common-header of this event to the given output stream and updates the checksum. More...
|
|
bool | write_footer (Basic_ostream *ostream) |
|
bool | need_checksum () |
| A decider of whether to trigger checksum computation or not. More...
|
|
enum_skip_reason | continue_group (Relay_log_info *rli) |
| Helper function to ignore an event w.r.t. More...
|
|
A Query event is written to the binary log whenever the database is modified on the master, unless row based logging is used.
Query_log_event is created for logging, and is called after an update to the database is done. It is used when the server acts as the master.
Virtual inheritance is required here to handle the diamond problem in the class Execute_load_query_log_event
. The diamond structure is explained in Excecute_load_query_log_event