MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Gtid_log_event Class Reference
Inheritance diagram for Gtid_log_event:
Collaboration diagram for Gtid_log_event:

Public Member Functions

 Gtid_log_event (THD *thd_arg, bool using_trans, const Gtid_specification *spec=NULL)
int pack_info (Protocol *)
 Gtid_log_event (const char *buffer, uint event_len, const Format_description_log_event *descr_event)
Log_event_type get_type_code ()
int get_data_size ()
enum_group_type get_type () const
bool is_valid () const
const rpl_sidget_sid () const
rpl_sidno get_sidno (bool need_lock)
rpl_sidno get_sidno (Sid_map *sid_map)
rpl_gno get_gno () const
 Return the GNO for this GTID.
bool get_commit_flag () const
 Return true if this is the last group of the transaction, else false.
- Public Member Functions inherited from Log_event
 Log_event (enum_event_cache_type cache_type_arg=EVENT_INVALID_CACHE, enum_event_logging_type logging_type_arg=EVENT_INVALID_LOGGING)
virtual void print (FILE *file, PRINT_EVENT_INFO *print_event_info)=0
void print_timestamp (IO_CACHE *file, time_t *ts)
void print_header (IO_CACHE *file, PRINT_EVENT_INFO *print_event_info, bool is_more)
void print_base64 (IO_CACHE *file, PRINT_EVENT_INFO *print_event_info, bool is_more)
bool wrapper_my_b_safe_write (IO_CACHE *file, const uchar *buf, ulong data_length)
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 (const char *buf, const Format_description_log_event *description_event)
void register_temp_buf (char *buf)
void free_temp_buf ()
const char * get_type_str ()

Static Public Attributes

static const int POST_HEADER_LENGTH
 Total length of post header.

Additional Inherited Members

- Public Types inherited from Log_event
enum  enum_skip_reason { EVENT_SKIP_NOT, EVENT_SKIP_IGNORE, EVENT_SKIP_COUNT }
typedef unsigned char Byte
- Static Public Member Functions inherited from Log_event
static Log_eventread_log_event (IO_CACHE *file, const Format_description_log_event *description_event, my_bool crc_check)
static void * operator new (size_t size)
static void operator delete (void *ptr, size_t)
static void * operator new (size_t, void *ptr)
static void operator delete (void *, void *)
static Log_eventread_log_event (const char *buf, uint event_len, const char **error, const Format_description_log_event *description_event, my_bool crc_check)
static const char * get_type_str (Log_event_type type)
- Public Attributes inherited from Log_event
my_off_t log_pos
char * temp_buf
struct timeval when
ulong exec_time
ulong data_written
uint32 server_id
uint32 unmasked_server_id
uint16 flags
ulong slave_exec_mode
enum_event_cache_type event_cache_type
enum_event_logging_type event_logging_type
ha_checksum crc
ulong mts_group_idx
Relay_log_infoworker
ulonglong future_event_relay_log_pos
uint8 checksum_alg
- 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 }

Detailed Description

Definition at line 4861 of file log_event.h.

Constructor & Destructor Documentation

Gtid_log_event::Gtid_log_event ( THD *  thd_arg,
bool  using_trans,
const Gtid_specification spec = NULL 
)

Create a new event using the GTID from the given Gtid_specification, or from @SESSION.GTID_NEXT if spec==NULL.

Definition at line 13146 of file log_event.cc.

Here is the call graph for this function:

Member Function Documentation

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.

Definition at line 4921 of file log_event.h.

rpl_sidno Gtid_log_event::get_sidno ( bool  need_lock)
inline

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.

Definition at line 4937 of file log_event.h.

Here is the call graph for this function:

Here is the caller graph for this function:

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. if adding SID to sid_map causes an error.

Definition at line 4961 of file log_event.h.

Here is the call graph for this function:

enum_group_type Gtid_log_event::get_type ( ) const
inline

Return the group type for this Gtid_log_event: this can be either ANONYMOUS_GROUP, AUTOMATIC_GROUP, or GTID_GROUP.

Definition at line 4914 of file log_event.h.

Member Data Documentation

const int Gtid_log_event::POST_HEADER_LENGTH
static
Initial value:
ENCODED_FLAG_LENGTH + ENCODED_SID_LENGTH + ENCODED_GNO_LENGTH

Total length of post header.

Definition at line 4988 of file log_event.h.


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