|
| Gtid_log_event (Gtid_log_event &&) noexcept=delete |
|
Gtid_log_event & | operator= (Gtid_log_event &&) noexcept=delete |
|
| Gtid_log_event (const Gtid_log_event &)=delete |
|
Gtid_log_event & | operator= (const Gtid_log_event &)=delete |
|
| Gtid_log_event (THD *thd_arg, bool using_trans, int64 last_committed_arg, int64 sequence_number_arg, bool may_have_sbr_stmts_arg, ulonglong original_commit_timestamp_arg, ulonglong immediate_commit_timestamp_arg, uint32_t original_server_version_arg, uint32_t immediate_server_version_arg) |
| Create a new event using the GTID owned by the given thread. More...
|
|
| Gtid_log_event (uint32 server_id_arg, bool using_trans, int64 last_committed_arg, int64 sequence_number_arg, bool may_have_sbr_stmts_arg, ulonglong original_commit_timestamp_arg, ulonglong immediate_commit_timestamp_arg, const Gtid_specification spec_arg, uint32_t original_server_version_arg, uint32_t immediate_server_version_arg) |
| Create a new event using the GTID from the given Gtid_specification without a THD object. More...
|
|
int | pack_info (Protocol *) override |
| Stores a string representation of this event in the Protocol. More...
|
|
| Gtid_log_event (const char *buffer, const mysql::binlog::event::Format_description_event *description_event) |
|
| ~Gtid_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...
|
|
size_t | get_data_size () override |
|
void | clear_gtid_and_spec () |
| Clears tsid and spec. More...
|
|
void | update_parent_gtid_info () |
| Updates parent tsid and gtid info structure. More...
|
|
size_t | get_event_length () |
|
size_t | to_string (char *buf) const |
| Used internally by both print() and pack_info(). 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...
|
|
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...
|
|
enum_gtid_type | get_type () const |
| Return the gtid type for this Gtid_log_event: this can be either ANONYMOUS_GTID, AUTOMATIC_GTID, or ASSIGNED_GTID. More...
|
|
const Tsid & | get_tsid () const |
| Return the TSID for this GTID. More...
|
|
rpl_sidno | get_sidno (bool need_lock) |
| Return the SIDNO relative to the global tsid_map for this GTID. More...
|
|
rpl_sidno | get_sidno (Tsid_map *tsid_map) |
| Return the SIDNO relative to the given Tsid_map for this GTID. More...
|
|
rpl_gno | get_gno () const override |
| Return the GNO for this GTID. More...
|
|
Gtid_specification | get_gtid_spec () |
|
void | set_trx_length_by_cache_size (ulonglong cache_size, bool is_checksum_enabled=false, int event_counter=0) |
| Set the transaction length information based on binlog cache size. More...
|
|
void | set_trx_length_by_cache_size_tagged (ulonglong cache_size, bool is_checksum_enabled=false, int event_counter=0) |
| Set the transaction length information based on binlog cache size. More...
|
|
| Gtid_event (const char *buf, const Format_description_event *fde) |
| Ctor of Gtid_event. More...
|
|
| Gtid_event (long long int last_committed_arg, long long int sequence_number_arg, bool may_have_sbr_stmts_arg, unsigned long long int original_commit_timestamp_arg, unsigned long long int immediate_commit_timestamp_arg, uint32_t original_server_version_arg, uint32_t immediate_server_version_arg) |
| Constructor. More...
|
|
decltype(auto) | define_fields () |
|
decltype(auto) | define_fields () const |
|
void | read_gtid_tagged_log_event (const char *buf, std::size_t buf_size) |
| Function that reads GTID_TAGGED_LOG_EVENT event type from the given buffer. More...
|
|
void | update_untagged_transaction_length () |
| Updates transaction length which was not yet considered. More...
|
|
void | update_tagged_transaction_length (std::size_t trx_len_without_event_len) |
| Updated transaction length based on transaction length without event length. More...
|
|
mysql::gtid::Tsid | get_tsid () const |
|
Tag_plain | generate_tag_specification () const |
|
void | set_trx_length (unsigned long long int transaction_length_arg) |
| Set the transaction length information. More...
|
|
unsigned long long | get_trx_length () const |
|
int | get_commit_group_ticket_length () const |
| Returns the length of the packed commit_group_ticket field. More...
|
|
void | set_commit_group_ticket_and_update_transaction_length (std::uint64_t value) |
| Set the commit_group_ticket and update the transaction length if needed, that is, if the commit_group_ticket was not set already account it on the transaction size. More...
|
|
bool | is_tagged () const |
| Checks whether this Gtid log event contains a tag. More...
|
|
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...
|
|
void | do_for_each_field (Serializable_functor_type &&func_s, Field_functor_type &&func_f) |
| calls functor for each field More...
|
|
void | do_for_each_field (Serializable_functor_type &&func_s, Field_functor_type &&func_f) const |
| calls functor for each field, const version More...
|
|
std::size_t | get_size_internal () const |
| Returns serializable object fields size, internal function (without serializable metadata size) More...
|
|
bool | is_any_field_provided () const |
| Performs iteration over all of the serializable fields and checks whether any of the fields in this serializable is provided. More...
|
|
void | set_unknown_field_policy (const Unknown_field_policy &policy) |
| Sets unknown field policy for this object. More...
|
|
bool | is_ignorable () const |
|
| 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...
|
|
virtual const char * | get_db () |
|
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...
|
|
virtual bool | write (Basic_ostream *ostream) |
|
time_t | get_time () |
| Prints a "session_var=value" string. More...
|
|
virtual mysql::binlog::event::Log_event_type | get_type_code () const |
|
virtual bool | is_sbr_logging_format () const |
| Return true if the event has to be logged using SBR for DMLs. More...
|
|
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 () |
|
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...
|
|
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) |
|
|
static constexpr std::size_t | get_max_event_length () |
| Get maximum size of event. More...
|
|
static constexpr std::size_t | get_max_payload_size () |
| Get maximum size of event payload. More...
|
|
static constexpr Field_id_type | get_last_field_id () |
| This function calculates last field id of this type. More...
|
|
static constexpr std::size_t | get_max_size_internal () |
| Returns serializable object fields maximum size, internal function (without serializable metadata size) More...
|
|
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 (mysql::binlog::event::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...
|
|
static bool | is_mts_sequential_exec (mysql::binlog::event::Log_event_type type_code) |
|
static enum enum_mts_event_exec_mode | get_mts_execution_mode (bool mts_in_group, mysql::binlog::event::Log_event_type type_code, uint32 server_id, uint32 log_pos) |
|
int64_t | last_committed |
|
int64_t | sequence_number |
|
unsigned const char | FLAG_MAY_HAVE_SBR = 1 |
| GTID flags constants. More...
|
|
bool | may_have_sbr_stmts |
| Transaction might have changes logged with SBR. More...
|
|
unsigned char | gtid_flags = 0 |
| GTID flags, used bits: More...
|
|
uint64_t | original_commit_timestamp |
| Timestamp when the transaction was committed on the originating source. More...
|
|
uint64_t | immediate_commit_timestamp |
| Timestamp when the transaction was committed on the nearest source. More...
|
|
bool | has_commit_timestamps |
| Flag indicating whether this event contains commit timestamps. More...
|
|
uint64_t | transaction_length |
| The length of the transaction in bytes. More...
|
|
uint32_t | original_server_version |
| The version of the server where the transaction was originally executed. More...
|
|
uint32_t | immediate_server_version |
| The version of the immediate server. More...
|
|
std::uint64_t | commit_group_ticket {kGroupTicketUnset} |
| Ticket number used to group sessions together during the BGC. More...
|
|
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...
|
|
mysql::binlog::event::Log_event_header * | common_header |
| The Log_event_header class contains the variable present in the common header. More...
|
|
mysql::binlog::event::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...
|
|
using | Tag = Serializable_tag |
|
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 | get_commit_timestamp_length () const |
|
int | get_server_version_length () const |
| We only store the immediate_server_version if both server versions are the same. 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...
|
|
| Serializable ()=default |
|
| Serializable (const Serializable &)=default |
|
| Serializable (Serializable &&)=default |
|
void | do_for_each_field (Serializable_functor_type &&func_s, Field_functor_type &&func_f, Tuple_type &&tuple, std::index_sequence< Is... >) |
| do_for_each_field helper More...
|
|
void | do_for_each_field (Serializable_functor_type &&func_s, Field_functor_type &&func_f, Tuple_type &&tuple, std::index_sequence< Is... >) const |
| do_for_each_field (const) helper More...
|
|
void | do_for_one_field (Serializable_functor_type &&func_s, Field_functor_type &&func_f, Field_type &field, std::size_t field_id) |
| do_for_each_field helper More...
|
|
void | do_for_one_field (Serializable_functor_type &&func_s, Field_functor_type &&func_f, Field_type &field, std::size_t field_id, Serializable_tag) |
| do_for_each_field helper More...
|
|
void | do_for_one_field (Serializable_functor_type &&, Field_functor_type &&func_f, Field_type &field, std::size_t field_id, Field_definition_tag) |
| do_for_each_field helper More...
|
|
void | do_for_one_field (Serializable_functor_type &&func_s, Field_functor_type &&func_f, const Field_type &field, std::size_t field_id) const |
| do_for_each_field (const) helper More...
|
|
void | do_for_one_field (Serializable_functor_type &&func_s, Field_functor_type &&func_f, const Field_type &field, std::size_t field_id, Serializable_tag) const |
| do_for_each_field (const) helper More...
|
|
void | do_for_one_field (Serializable_functor_type &&, Field_functor_type &&func_f, const Field_type &field, std::size_t field_id, Field_definition_tag) const |
| do_for_each_field (const) helper More...
|
|
Serializable & | operator= (const Serializable &)=default |
|
Serializable & | operator= (Serializable &&)=default |
|
virtual | ~Serializable ()=default |
| Creation of Serializable objects is prohibited. 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...
|
|
gtid_info | gtid_info_struct |
|
mysql::gtid::Tsid | tsid_parent_struct |
|
static const int | ENCODED_FLAG_LENGTH = 1 |
|
static const int | ENCODED_SID_LENGTH = 16 |
|
static const int | ENCODED_GNO_LENGTH = 8 |
|
static const int | LOGICAL_TIMESTAMP_TYPECODE_LENGTH = 1 |
| Length of typecode for logical timestamps. More...
|
|
static const int | LOGICAL_TIMESTAMP_LENGTH = 16 |
| Length of two logical timestamps. More...
|
|
static const int | LOGICAL_TIMESTAMP_TYPECODE = 2 |
|
static const int | IMMEDIATE_COMMIT_TIMESTAMP_LENGTH = 7 |
|
static const int | ORIGINAL_COMMIT_TIMESTAMP_LENGTH = 7 |
|
static const int | FULL_COMMIT_TIMESTAMP_LENGTH |
|
static const int | ENCODED_COMMIT_TIMESTAMP_LENGTH = 55 |
|
static const int | TRANSACTION_LENGTH_MIN_LENGTH = 1 |
|
static const int | TRANSACTION_LENGTH_MAX_LENGTH = 9 |
|
static const int | ORIGINAL_SERVER_VERSION_LENGTH = 4 |
| Length of original_server_version. More...
|
|
static const int | IMMEDIATE_SERVER_VERSION_LENGTH = 4 |
| Length of immediate_server_version. More...
|
|
static const int | FULL_SERVER_VERSION_LENGTH |
| Length of original and immediate server version. More...
|
|
static const int | ENCODED_SERVER_VERSION_LENGTH = 31 |
|
static const int64_t | MIN_GNO = 1 |
|
static const std::int64_t | GNO_END = INT64_MAX |
| One-past-the-max value of GNO. More...
|
|
This is a subclass if Gtid_event and Log_event.
It contains per-transaction fields, including the GTID and logical timestamps used by MTS.