MySQL 8.0.40
Source Code Documentation
|
Event for the first block of file to be loaded, its only difference from Append_block event is that this event creates or truncates existing file before writing data. More...
#include <log_event.h>
Public Member Functions | |
Begin_load_query_log_event (THD *thd_arg, const char *db_arg, uchar *block_arg, uint block_len_arg, bool using_trans) | |
Begin_load_query_log_event (THD *thd) | |
int | get_create_or_append () const override |
Begin_load_query_log_event (const char *buf, const Format_description_event *description_event) | |
~Begin_load_query_log_event () override=default | |
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... | |
Public Member Functions inherited from Append_block_log_event | |
Append_block_log_event (THD *thd, const char *db_arg, uchar *block_arg, uint block_len_arg, bool using_trans) | |
int | pack_info (Protocol *protocol) override |
Stores a string representation of this event in the Protocol. More... | |
Append_block_log_event (const char *buf, const Format_description_event *description_event) | |
~Append_block_log_event () override=default | |
size_t | get_data_size () override |
bool | write (Basic_ostream *ostream) override |
const char * | get_db () override |
bool | is_sbr_logging_format () const override |
Return true if the event has to be logged using SBR for DMLs. More... | |
Public Member Functions inherited from binary_log::Append_block_event | |
Append_block_event (const char *buf, const Format_description_event *fde) | |
Appends the buffered data, received as a parameter, to the file being loaded via LOAD_DATA_FILE. More... | |
~Append_block_event () override=default | |
Public Member Functions inherited from binary_log::Binary_log_event | |
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... | |
Public Member Functions inherited from Log_event | |
Log_event (Log_event_header *header, 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, Log_event_header *header, 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 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 (Log_event_header *header, Log_event_footer *footer) | |
virtual | ~Log_event () |
void | register_temp_buf (char *buf, bool free_in_destructor=true) |
void | free_temp_buf () |
const char * | get_type_str () const |
Returns the human readable name of this event's type. More... | |
bool | is_mts_sequential_exec () |
Is called from get_mts_execution_mode() to. More... | |
virtual uint8 | get_mts_dbs (Mts_db_names *arg, Rpl_filter *rpl_filter) |
The method fills in pointers to event's database name c-strings to a supplied array. More... | |
bool | contains_partition_info (bool) |
virtual uint8 | mts_number_dbs () |
bool | is_mts_group_isolated () |
virtual bool | starts_group () const |
Events of a certain type can start or end a group of events treated transactionally wrt binlog. More... | |
virtual bool | ends_group () const |
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) |
Public Member Functions inherited from binary_log::Begin_load_query_event | |
Begin_load_query_event (const char *buf, const Format_description_event *fde) | |
The buffer layout for fixed data part is as follows: More... | |
~Begin_load_query_event () override=default | |
Private Member Functions | |
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... | |
Additional Inherited Members | |
Public Types inherited from binary_log::Append_block_event | |
enum | Append_block_offset { AB_FILE_ID_OFFSET = 0 , AB_DATA_OFFSET = APPEND_BLOCK_HEADER_LEN } |
Public Types inherited from binary_log::Binary_log_event | |
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... | |
Public Types inherited from Log_event | |
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... | |
Static Public Member Functions inherited from Log_event | |
static void | init_show_field_list (mem_root_deque< Item * > *field_list) |
init_show_field_list() prepares the column names and types for the output of SHOW BINLOG EVENTS; it is used only by SHOW BINLOG EVENTS. More... | |
static void | operator delete (void *ptr, size_t) |
static void * | operator new (size_t, void *ptr) |
static void | operator delete (void *, void *) |
static const char * | get_type_str (Log_event_type type) |
Returns the human readable name of the given event type. More... | |
static const char * | get_type_str (uint type) |
Get the name of an event type, or "Unknown" if out of range. More... | |
Public Attributes inherited from binary_log::Append_block_event | |
unsigned char * | block |
unsigned int | block_len |
uint32_t | file_id |
const char * | db |
'db' is filled when the event is created in mysql_load() (the event needs to have a 'db' member to be well filtered by binlog-*-db rules). More... | |
Public Attributes inherited from Log_event | |
char * | temp_buf |
bool | m_free_temp_buf_in_destructor |
ulong | exec_time |
uint32 | server_id |
ulong | rbr_exec_mode |
A storage to cache the global system variable's value. More... | |
enum_event_cache_type | event_cache_type |
Defines the type of the cache, if any, where the event will be stored before being flushed to disk. More... | |
enum_event_logging_type | event_logging_type |
Defines when information, i.e. More... | |
ha_checksum | crc |
Placeholder for event checksum while writing to binlog. More... | |
ulong | mts_group_idx |
Index in rli->gaq array to indicate a group that this event is purging. More... | |
binary_log::Log_event_header * | common_header |
The Log_event_header class contains the variable present in the common header. More... | |
binary_log::Log_event_footer * | common_footer |
The Log_event_footer class contains the variable present in the common footer. More... | |
Relay_log_info * | worker |
MTS: associating the event with either an assigned Worker or Coordinator. More... | |
ulonglong | future_event_relay_log_pos |
A copy of the main rli value stored into event to pass to MTS worker rli. More... | |
THD * | thd |
db_worker_hash_entry * | mts_assigned_partitions [MAX_DBS_IN_EVENT_MTS] |
Partition info associate with event to deliver to MTS event applier. More... | |
Static Public Attributes inherited from binary_log::Binary_log_event | |
static const int | LOG_EVENT_TYPES = (ENUM_END_EVENT - 1) |
Protected Types inherited from Log_event | |
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 } |
Protected Member Functions inherited from binary_log::Append_block_event | |
Append_block_event (const char *db_arg, unsigned char *block_arg, unsigned int block_len_arg, uint32_t file_id_arg) | |
This constructor is used by the MySQL server. More... | |
Append_block_event (Log_event_type type_arg=APPEND_BLOCK_EVENT) | |
Protected Member Functions inherited from binary_log::Binary_log_event | |
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... | |
Protected Member Functions inherited from Log_event | |
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... | |
virtual int | do_update_pos (Relay_log_info *rli) |
Advance relay log coordinates. More... | |
Protected Member Functions inherited from binary_log::Begin_load_query_event | |
Begin_load_query_event () | |
Event for the first block of file to be loaded, its only difference from Append_block event is that this event creates or truncates existing file before writing data.
Begin_load_query_log_event::Begin_load_query_log_event | ( | THD * | thd_arg, |
const char * | db_arg, | ||
uchar * | block_arg, | ||
uint | block_len_arg, | ||
bool | using_trans | ||
) |
Begin_load_query_log_event::Begin_load_query_log_event | ( | THD * | thd | ) |
Begin_load_query_log_event::Begin_load_query_log_event | ( | const char * | buf, |
const Format_description_event * | description_event | ||
) |
|
overridedefault |
|
overridevirtual |
Allow thread to CLAIM or DISCLAIM the ownership of this object depends on the parameter value passed.
claim | True - claim ownership of the memory False - disclaim ownership of the memory |
Reimplemented from Append_block_log_event.
|
overrideprivatevirtual |
Decide if this event shall be skipped or not and the reason for skipping it.
The default implementation decide that the event shall be skipped if either:
rli->replicate_same_server_id
is true, orrli->slave_skip_counter
is greater than zero.Log_event::EVENT_SKIP_NOT | The event shall not be skipped and should be applied. |
Log_event::EVENT_SKIP_IGNORE | The event shall be skipped by just ignoring it, i.e., the slave skip counter shall not be changed. This happends if, for example, the originating server id of the event is the same as the server id of the slave. |
Log_event::EVENT_SKIP_COUNT | The event shall be skipped because the slave skip counter was non-zero. The caller shall decrease the counter by one. |
Reimplemented from Log_event.
|
overridevirtual |
Reimplemented from Append_block_log_event.