MySQL 8.0.39
Source Code Documentation
Gtid_log_event Class Reference

This is a subclass if Gtid_event and Log_event. More...

#include <log_event.h>

Inheritance diagram for Gtid_log_event:
[legend]

Public Member Functions

 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 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
 
size_t get_event_length ()
 
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 rpl_sidget_sid () const
 Return the SID for this GTID. More...
 
rpl_sidno get_sidno (bool need_lock)
 Return the SIDNO relative to the global sid_map for this GTID. More...
 
rpl_sidno get_sidno (Sid_map *sid_map)
 Return the SIDNO relative to the given Sid_map for this GTID. More...
 
rpl_gno get_gno () const override
 Return the GNO for this GTID. More...
 
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...
 
- Public Member Functions inherited from binary_log::Gtid_event
 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...
 
Uuid get_uuid () 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...
 
- 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_eventoperator= (const Binary_log_event &)=default
 
Binary_log_eventoperator= (Binary_log_event &&)=default
 
enum Log_event_type get_event_type () const
 Helper method. More...
 
const Log_event_headerheader () const
 Return a const pointer to the header of the log event. More...
 
Log_event_headerheader ()
 Return a non-const pointer to the header of the log event. More...
 
const Log_event_footerfooter () const
 Return a const pointer to the footer of the log event. More...
 
Log_event_footerfooter ()
 Return a non-const pointer to the footer of the log event. More...
 
Event_readerreader ()
 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...
 
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 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 (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)
 

Static Public Attributes

static const char * SET_STRING_PREFIX = "SET @@SESSION.GTID_NEXT= '"
 string holding the text "SET @@GLOBAL.GTID_NEXT = '" More...
 
- Static Public Attributes inherited from binary_log::Gtid_event
static constexpr int COMMIT_GROUP_TICKET_LENGTH = 8
 
static constexpr std::uint64_t kGroupTicketUnset = 0
 
static const int POST_HEADER_LENGTH
 Total length of post header. More...
 
static const int MAX_DATA_LENGTH
 
static const int MAX_EVENT_LENGTH
 
- Static Public Attributes inherited from binary_log::Binary_log_event
static const int LOG_EVENT_TYPES = (ENUM_END_EVENT - 1)
 

Private Member Functions

size_t to_string (char *buf) const
 Used internally by both print() and pack_info(). More...
 
bool write_data_header (Basic_ostream *ostream) override
 Writes the post-header to the given output stream. More...
 
bool write_data_body (Basic_ostream *ostream) override
 
uint32 write_post_header_to_memory (uchar *buffer)
 Writes the post-header to the given memory buffer. More...
 
uint32 write_body_to_memory (uchar *buff)
 Writes the body to the given memory buffer. More...
 

Private Attributes

Gtid_specification spec
 Internal representation of the GTID. More...
 
rpl_sid sid
 SID for this GTID. More...
 

Static Private Attributes

static const size_t SET_STRING_PREFIX_LENGTH = 26
 Length of SET_STRING_PREFIX. More...
 
static const size_t MAX_SET_STRING_LENGTH
 The maximal length of the entire "SET ..." query. More...
 

Additional Inherited Members

- 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::Gtid_event
long long int last_committed
 
long long int 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 long long int original_commit_timestamp
 Timestamp when the transaction was committed on the originating master. More...
 
unsigned long long int immediate_commit_timestamp
 Timestamp when the transaction was committed on the nearest master. More...
 
bool has_commit_timestamps
 
unsigned long long int 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...
 
- 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_headercommon_header
 The Log_event_header class contains the variable present in the common header. More...
 
binary_log::Log_event_footercommon_footer
 The Log_event_footer class contains the variable present in the common footer. More...
 
Relay_log_infoworker
 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...
 
THDthd
 
db_worker_hash_entrymts_assigned_partitions [MAX_DBS_IN_EVENT_MTS]
 Partition info associate with event to deliver to MTS event applier. More...
 
- 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::Gtid_event
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...
 
- 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...
 
- Protected Attributes inherited from binary_log::Gtid_event
gtid_info gtid_info_struct
 
Uuid Uuid_parent_struct
 
- Static Protected Attributes inherited from binary_log::Gtid_event
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...
 

Detailed Description

This is a subclass if Gtid_event and Log_event.

It contains per-transaction fields, including the GTID and logical timestamps used by MTS.

Constructor & Destructor Documentation

◆ Gtid_log_event() [1/3]

Gtid_log_event::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.

◆ Gtid_log_event() [2/3]

Gtid_log_event::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.

◆ Gtid_log_event() [3/3]

Gtid_log_event::Gtid_log_event ( const char *  buffer,
const Format_description_event description_event 
)

◆ ~Gtid_log_event()

Gtid_log_event::~Gtid_log_event ( )
overridedefault

Member Function Documentation

◆ claim_memory_ownership()

void Gtid_log_event::claim_memory_ownership ( bool  claim)
overridevirtual

Allow thread to CLAIM or DISCLAIM the ownership of this object depends on the parameter value passed.

Parameters
claimTrue - claim ownership of the memory False - disclaim ownership of the memory

Reimplemented from Log_event.

◆ do_apply_event()

int Gtid_log_event::do_apply_event ( Relay_log_info const *  rli)
overridevirtual

Primitive to apply an event to the database.

This is where the change to the database is made.

Note
The primitive is protected instead of private, since there is a hierarchy of actions to be performed in some cases.
See also
Format_description_log_event::do_apply_event()
Parameters
rliPointer to relay log info structure
Return values
0Event applied successfully
errnoError code if event application failed

Set the original/immediate server version. It will be set to UNKNOWN_SERVER_VERSION if the event does not contain such information.

Reimplemented from Log_event.

◆ do_shall_skip()

Log_event::enum_skip_reason Gtid_log_event::do_shall_skip ( Relay_log_info rli)
overridevirtual

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:

  • the server id of the event is the same as the server id of the server and rli->replicate_same_server_id is true, or
  • if rli->slave_skip_counter is greater than zero.
See also
do_apply_event
do_update_pos
Return values
Log_event::EVENT_SKIP_NOTThe event shall not be skipped and should be applied.
Log_event::EVENT_SKIP_IGNOREThe 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_COUNTThe event shall be skipped because the slave skip counter was non-zero. The caller shall decrease the counter by one.

Reimplemented from Log_event.

◆ do_update_pos()

int Gtid_log_event::do_update_pos ( Relay_log_info rli)
overridevirtual

Advance relay log coordinates.

This function is called to advance the relay log coordinates to just after the event. It is essential that both the relay log coordinate and the group log position is updated correctly, since this function is used also for skipping events.

Normally, each implementation of do_update_pos() shall:

  • Update the event position to refer to the position just after the event.
  • Update the group log position to refer to the position just after the event if the event is last in a group
Parameters
rliPointer to relay log info structure
Return values
0Coordinates changed successfully
errnoError code if advancing failed (usually just 1). Observe that handler errors are returned by the do_apply_event() function, and not by this one.

Reimplemented from Log_event.

◆ get_data_size()

size_t Gtid_log_event::get_data_size ( )
inlineoverridevirtual

Reimplemented from Log_event.

◆ get_event_length()

size_t Gtid_log_event::get_event_length ( )
inline

◆ get_gno()

rpl_gno Gtid_log_event::get_gno ( ) const
inlineoverridevirtual

Return the GNO for this GTID.

Reimplemented from binary_log::Gtid_event.

◆ get_sid()

const rpl_sid * Gtid_log_event::get_sid ( ) const
inline

Return the SID for this GTID.

The SID is shared with the Log_event so it should not be modified.

◆ get_sidno() [1/2]

rpl_sidno Gtid_log_event::get_sidno ( bool  need_lock)

Return the SIDNO relative to the global sid_map for this GTID.

This requires a lookup and possibly even update of global_sid_map, hence global_sid_lock must be held. If global_sid_lock is not held, the caller must pass need_lock=true. If there is an error (e.g. out of memory) while updating global_sid_map, this function returns a negative number.

Parameters
need_lockIf true, the read lock on global_sid_lock is acquired and released inside this function; if false, the read lock or write lock must be held prior to calling this function.
Return values
SIDNOif successful
negativeif adding SID to global_sid_map causes an error.

◆ get_sidno() [2/2]

rpl_sidno Gtid_log_event::get_sidno ( Sid_map sid_map)
inline

Return the SIDNO relative to the given Sid_map for this GTID.

This assumes that the Sid_map is local to the thread, and thus does not use locks.

Parameters
sid_mapThe sid_map to use.
Return values
SIDNOif successful.
negativeif adding SID to sid_map causes an error.

◆ get_type()

enum_gtid_type Gtid_log_event::get_type ( ) const
inline

Return the gtid type for this Gtid_log_event: this can be either ANONYMOUS_GTID, AUTOMATIC_GTID, or ASSIGNED_GTID.

◆ pack_info()

int Gtid_log_event::pack_info ( Protocol protocol)
overridevirtual

Stores a string representation of this event in the Protocol.

This is used by SHOW BINLOG EVENTS.

Return values
0success
nonzeroerror

Reimplemented from Log_event.

◆ set_trx_length_by_cache_size()

void Gtid_log_event::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.

Note that is_checksum_enabled and event_counter are optional parameters. When not specified, the function will assume that no checksum will be used and the informed cache_size is the final transaction size without considering the GTID event size.

The high level formula that will be used by the function is:

trx_length = cache_size + cache_checksum_active * cache_events * CRC32_payload + gtid_length + cache_checksum_active * CRC32_payload; // For the GTID.

Parameters
cache_sizeThe size of the binlog cache in bytes.
is_checksum_enabledIf checksum will be added to events on flush.
event_counterThe amount of events in the cache.

◆ to_string()

size_t Gtid_log_event::to_string ( char *  buf) const
private

Used internally by both print() and pack_info().

◆ write_body_to_memory()

uint32 Gtid_log_event::write_body_to_memory ( uchar buff)
private

Writes the body to the given memory buffer.

This is an auxiliary function used by write_to_memory.

Parameters
[in,out]buffBuffer to which the data will be written.
Returns
The number of bytes written, i.e., If the transaction did not originated on this server Gtid_event::IMMEDIATE_COMMIT_TIMESTAMP_LENGTH. else FULL_COMMIT_TIMESTAMP_LENGTH.

◆ write_data_body()

bool Gtid_log_event::write_data_body ( Basic_ostream ostream)
overrideprivatevirtual

Reimplemented from Log_event.

◆ write_data_header()

bool Gtid_log_event::write_data_header ( Basic_ostream ostream)
overrideprivatevirtual

Writes the post-header to the given output stream.

This is an auxiliary function typically used by the write() member function.

Parameters
ostreamThe output stream to write to.
Return values
trueError.
falseSuccess.

Reimplemented from Log_event.

◆ write_post_header_to_memory()

uint32 Gtid_log_event::write_post_header_to_memory ( uchar buffer)
private

Writes the post-header to the given memory buffer.

This is an auxiliary function used by write_to_memory.

Parameters
[in,out]bufferBuffer to which the post-header will be written.
Returns
The number of bytes written, i.e., always Gtid_log_event::POST_HEADER_LENGTH.

Member Data Documentation

◆ MAX_SET_STRING_LENGTH

const size_t Gtid_log_event::MAX_SET_STRING_LENGTH
staticprivate
Initial value:
static const size_t SET_STRING_PREFIX_LENGTH
Length of SET_STRING_PREFIX.
Definition: log_event.h:3940
const int MAX_GNO_TEXT_LENGTH
The length of MAX_GNO when printed in decimal.
Definition: rpl_gtid.h:271
static const size_t TEXT_LENGTH
The number of bytes in the textual representation of a Uuid.
Definition: uuid.h:160

The maximal length of the entire "SET ..." query.

◆ SET_STRING_PREFIX

const char * Gtid_log_event::SET_STRING_PREFIX = "SET @@SESSION.GTID_NEXT= '"
static

string holding the text "SET @@GLOBAL.GTID_NEXT = '"

◆ SET_STRING_PREFIX_LENGTH

const size_t Gtid_log_event::SET_STRING_PREFIX_LENGTH = 26
staticprivate

Length of SET_STRING_PREFIX.

◆ sid

rpl_sid Gtid_log_event::sid
private

SID for this GTID.

◆ spec

Gtid_specification Gtid_log_event::spec
private

Internal representation of the GTID.

The SIDNO will be uninitialized (value -1) until the first call to get_sidno(bool).


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