MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Rows_log_event Class Reference

#include <log_event.h>

Inheritance diagram for Rows_log_event:
Collaboration diagram for Rows_log_event:

Public Types

enum  row_lookup_mode {
  ROW_LOOKUP_UNDEFINED = 0, ROW_LOOKUP_NOT_NEEDED = 1, ROW_LOOKUP_INDEX_SCAN = 2, ROW_LOOKUP_TABLE_SCAN = 3,
  ROW_LOOKUP_HASH_SCAN = 4
}
enum  enum_error {
  ERR_OPEN_FAILURE = -1, ERR_OK = 0, ERR_TABLE_LIMIT_EXCEEDED = 1, ERR_OUT_OF_MEM = 2,
  ERR_BAD_TABLE_DEF = 3, ERR_RBR_TO_SBR = 4
}
enum  enum_flag { STMT_END_F = (1U << 0), NO_FOREIGN_KEY_CHECKS_F = (1U << 1), RELAXED_UNIQUE_CHECKS_F = (1U << 2), COMPLETE_ROWS_F = (1U << 3) }
enum  { RLE_NO_FLAGS = 0U }
typedef uint16 flag_set
- Public Types inherited from Log_event
enum  enum_skip_reason { EVENT_SKIP_NOT, EVENT_SKIP_IGNORE, EVENT_SKIP_COUNT }
typedef unsigned char Byte

Public Member Functions

void set_flags (flag_set flags_arg)
void clear_flags (flag_set flags_arg)
flag_set get_flags (flag_set flags_arg) const
Log_event_type get_type_code ()
virtual Log_event_type get_general_type_code ()=0
virtual int get_data_size ()
MY_BITMAP const * get_cols () const
MY_BITMAP const * get_cols_ai () const
size_t get_width () const
const Table_idget_table_id () const
virtual bool is_valid () const
const uchar * get_extra_row_data () const
- 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 ()

Public Attributes

uint m_row_count
- 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 Member Functions

 Rows_log_event (const char *row_data, uint event_len, const Format_description_log_event *description_event)

Protected Attributes

Table_id m_table_id
MY_BITMAP m_cols
ulong m_width
Hash_slave_rows m_hash
uint m_rows_lookup_algorithm
MY_BITMAP m_cols_ai
ulong m_master_reclength
uint32 m_bitbuf [128/(sizeof(uint32)*8)]
uint32 m_bitbuf_ai [128/(sizeof(uint32)*8)]
uchar * m_rows_buf
uchar * m_rows_cur
uchar * m_rows_end
flag_set m_flags
Log_event_type m_type
uchar * m_extra_row_data

Friends

class Old_rows_log_event

Additional Inherited Members

- 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)
- 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

Common base class for all row-containing log events.

RESPONSIBILITIES

Encode the common parts of all events containing rows, which are:

  • Write data header and data body to an IO_CACHE.
  • Provide an interface for adding an individual row to the event.

Binary Format

Definition at line 3949 of file log_event.h.

Member Enumeration Documentation

Enumeration of the errors that can be returned.

Enumerator:
ERR_OPEN_FAILURE 

Failure to open table

ERR_OK 

No error

ERR_TABLE_LIMIT_EXCEEDED 

No more room for tables

ERR_OUT_OF_MEM 

Out of memory

ERR_BAD_TABLE_DEF 

Table definition does not match

ERR_RBR_TO_SBR 

daisy-chanining RBR to SBR not allowed

Definition at line 3963 of file log_event.h.

Enumerator:
COMPLETE_ROWS_F 

Indicates that rows in this event are complete, that is contain values for all columns of the table.

Definition at line 3980 of file log_event.h.

Member Data Documentation

Hash_slave_rows Rows_log_event::m_hash
protected

Hash table that will hold the entries for while using HASH_SCAN algorithm to search and update/delete rows.

Definition at line 4146 of file log_event.h.

uint Rows_log_event::m_rows_lookup_algorithm
protected

The algorithm to use while searching for rows using the before image.

Definition at line 4152 of file log_event.h.


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