MySQL 9.1.0
Source Code Documentation
mysql::binlog::event::View_change_event Class Reference

This class is used to add view change markers in the binary log when a member of the group enters or leaves the group. More...

#include <control_events.h>

Inheritance diagram for mysql::binlog::event::View_change_event:
[legend]

Public Member Functions

 View_change_event (const char *buf, const Format_description_event *fde)
 Decodes the view_change_log_event generated in case a server enters or leaves the group. More...
 
 View_change_event (const char *raw_view_id)
 
 ~View_change_event () override
 Destructor of the View_change_event class. More...
 
- Public Member Functions inherited from mysql::binlog::event::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...
 

Protected Attributes

char view_id [ENCODED_VIEW_ID_MAX_LEN]
 
long long int seq_number
 
std::map< std::string, std::string > certification_info
 

Static Protected Attributes

static const int ENCODED_VIEW_ID_OFFSET = 0
 
static const int ENCODED_SEQ_NUMBER_OFFSET = 40
 
static const int ENCODED_CERT_INFO_SIZE_OFFSET = 48
 
static const int ENCODED_VIEW_ID_MAX_LEN = 40
 
static const int ENCODED_CERT_INFO_KEY_SIZE_LEN = 2
 
static const int ENCODED_CERT_INFO_VALUE_LEN = 4
 

Additional Inherited Members

- Public Types inherited from mysql::binlog::event::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...
 
- Static Public Attributes inherited from mysql::binlog::event::Binary_log_event
static const int LOG_EVENT_TYPES = (ENUM_END_EVENT - 1)
 
- Protected Member Functions inherited from mysql::binlog::event::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...
 

Detailed Description

This class is used to add view change markers in the binary log when a member of the group enters or leaves the group.

Name

Format

Description

view_id

40 length character array

This is used to store the view id value of the new view change when a node add or leaves the group.

seq_number

8 bytes integer

Variable to identify the next sequence number to be allotted to the certified transaction.

certification_info

variable length map to store the certification data.

Map to store the certification info ie. the hash of write_set and the snapshot sequence value.

Constructor & Destructor Documentation

◆ View_change_event() [1/2]

mysql::binlog::event::View_change_event::View_change_event ( const char *  buf,
const Format_description_event fde 
)

Decodes the view_change_log_event generated in case a server enters or leaves the group.

The buffer layout is as follows
Parameters
bufContains the serialized event.
fdeAn FDE event (see Rotate_event constructor for more info).

◆ View_change_event() [2/2]

mysql::binlog::event::View_change_event::View_change_event ( const char *  raw_view_id)
explicit

◆ ~View_change_event()

mysql::binlog::event::View_change_event::~View_change_event ( )
override

Destructor of the View_change_event class.

Member Data Documentation

◆ certification_info

std::map<std::string, std::string> mysql::binlog::event::View_change_event::certification_info
protected

◆ ENCODED_CERT_INFO_KEY_SIZE_LEN

const int mysql::binlog::event::View_change_event::ENCODED_CERT_INFO_KEY_SIZE_LEN = 2
staticprotected

◆ ENCODED_CERT_INFO_SIZE_OFFSET

const int mysql::binlog::event::View_change_event::ENCODED_CERT_INFO_SIZE_OFFSET = 48
staticprotected

◆ ENCODED_CERT_INFO_VALUE_LEN

const int mysql::binlog::event::View_change_event::ENCODED_CERT_INFO_VALUE_LEN = 4
staticprotected

◆ ENCODED_SEQ_NUMBER_OFFSET

const int mysql::binlog::event::View_change_event::ENCODED_SEQ_NUMBER_OFFSET = 40
staticprotected

◆ ENCODED_VIEW_ID_MAX_LEN

const int mysql::binlog::event::View_change_event::ENCODED_VIEW_ID_MAX_LEN = 40
staticprotected

◆ ENCODED_VIEW_ID_OFFSET

const int mysql::binlog::event::View_change_event::ENCODED_VIEW_ID_OFFSET = 0
staticprotected

◆ seq_number

long long int mysql::binlog::event::View_change_event::seq_number
protected

◆ view_id

char mysql::binlog::event::View_change_event::view_id[ENCODED_VIEW_ID_MAX_LEN]
protected

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