MySQL 8.3.0
Source Code Documentation
mysql::binlog::event::Ignorable_event Class Reference

Base class for ignorable log events. More...

#include <control_events.h>

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

Public Member Functions

 Ignorable_event (Log_event_type type_arg=IGNORABLE_LOG_EVENT)
 The minimal constructor and all it will do is set the type_code as IGNORABLE_LOG_EVENT in the header object in Binary_log_event. More...
 
 Ignorable_event (const char *buf, const Format_description_event *fde)
 
- 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...
 

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

Base class for ignorable log events.

Events deriving from this class can be safely ignored by slaves that cannot recognize them. Newer slaves, will be able to read and handle them. This has been designed to be an open-ended architecture, so adding new derived events shall not harm the old slaves that support ignorable log event mechanism (they will just ignore unrecognized ignorable events).

Note
The only thing that makes an event ignorable is that it has the LOG_EVENT_IGNORABLE_F flag set. It is not strictly necessary that ignorable event types derive from Ignorable_event; they may just as well derive from Binary_log_event and Log_event and pass LOG_EVENT_IGNORABLE_F as argument to the Log_event constructor.

Binary format

The Post-Header and Body for this event type are empty; it only has the Common-Header.

Constructor & Destructor Documentation

◆ Ignorable_event() [1/2]

mysql::binlog::event::Ignorable_event::Ignorable_event ( Log_event_type  type_arg = IGNORABLE_LOG_EVENT)
inlineexplicit

The minimal constructor and all it will do is set the type_code as IGNORABLE_LOG_EVENT in the header object in Binary_log_event.

◆ Ignorable_event() [2/2]

mysql::binlog::event::Ignorable_event::Ignorable_event ( const char *  buf,
const Format_description_event fde 
)
Parameters
bufContains the serialized event.
fdeAn FDE event (see Rotate_event constructor for more info).

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