MySQL 9.0.0
Source Code Documentation
|
This is the abstract base class for binary log events. More...
#include <binlog_event.h>
Public Types | |
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 Member Functions | |
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... | |
Static Public Attributes | |
static const int | LOG_EVENT_TYPES = (ENUM_END_EVENT - 1) |
Protected Member Functions | |
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... | |
Private Attributes | |
Event_reader | m_reader |
Log_event_header | m_header |
Log_event_footer | m_footer |
This is the abstract base class for binary log events.
Any Binary_log_event
saved on disk consists of the following four components.
Common header has the same format and length in a given MySQL version. It is documented here.
The Body may be of different format and length even for different events of the same type. The binary formats of Post-Header and Body are documented separately in each subclass.
Footer is common to all the events in a given MySQL version. It is documented here.
First byte | Format |
---|---|
0-250 | The first byte is the number (in the range 0-250), and no more bytes are used. |
252 | Two more bytes are used. The number is in the range 251-0xffff. |
253 | Three more bytes are used. The number is in the range 0xffff-0xffffff. |
254 | Eight more bytes are used. The number is in the range 0xffffff-0xffffffffffffffff. |
The lengths for the fixed data part of each event.
This is an enum that provides post-header lengths for all events.
|
inlineexplicitprotected |
This constructor is used to initialize the type_code of header object m_header.
We set the type code to ENUM_END_EVENT so that the decoder asserts if event type has not been modified by the sub classes
|
protected |
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.
It will also advance the Event_reader cursor after decoding the header (it is done through the constructor of Log_event_header) and will be pointing to the start of event data.
buf | Contains the serialized event. |
fde | An FDE event used to get checksum information of non FDE events. |
|
pure virtualdefault |
|
default |
|
default |
|
inline |
Return a non-const pointer to the footer of the log event.
|
inline |
Return a const pointer to the footer of the log event.
|
inline |
Helper method.
|
inline |
Return a non-const pointer to the header of the log event.
|
inline |
Return a const pointer to the header of the log event.
|
default |
|
default |
|
inline |
Returns a reference to the event Event_reader object.
|
static |
|
private |
|
private |
|
private |