MySQL 8.4.0
Source Code Documentation
mysql::binlog::event::XA_prepare_event Class Reference

An XA_prepare event is generated for a XA prepared transaction. More...

#include <control_events.h>

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

Classes

struct  MY_XID
 

Public Member Functions

 XA_prepare_event (void *xid_arg, bool oph_arg)
 The minimal constructor of XA_prepare_event, it initializes the instance variable xid and set the type_code as XID_EVENT in the header object in Binary_log_event. More...
 
 XA_prepare_event (const char *buf, const Format_description_event *fde)
 An XID event is generated for a commit of a transaction that modifies one or more tables of an XA-capable storage engine. More...
 
bool is_one_phase () const
 Whether or not this XA_prepare_event represents an XA COMMIT ONE PHASE. More...
 
MY_XID const & get_xid () const
 Retrieves the content of my_xid member variable. 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

MY_XID my_xid
 
void * xid
 
bool one_phase
 

Static Protected Attributes

static const uint16_t ser_buf_size
 

Static Private Attributes

static const int MY_XIDDATASIZE = 128
 

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

An XA_prepare event is generated for a XA prepared transaction.

Like Xid_event it contains XID of the prepared transaction.

Binary Format

The Body has the following component:

Body for XA_prepare_event
Name Format

Description

my_xid a struct similar to mysql/plugin.h containing three members.

serialized XID representation of XA transaction.

xid a pointer to XID object.

a reference to an object for mysql logger.

one_phase a bool the value specifies the current XA transaction commit method.

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

Constructor & Destructor Documentation

◆ XA_prepare_event() [1/2]

mysql::binlog::event::XA_prepare_event::XA_prepare_event ( void *  xid_arg,
bool  oph_arg 
)
inline

The minimal constructor of XA_prepare_event, it initializes the instance variable xid and set the type_code as XID_EVENT in the header object in Binary_log_event.

◆ XA_prepare_event() [2/2]

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

An XID event is generated for a commit of a transaction that modifies one or more tables of an XA-capable storage engine.

Parameters
bufContains the serialized event.
fdeAn FDE event (see Rotate_event constructor for more info).

Member Function Documentation

◆ get_xid()

XA_prepare_event::MY_XID const & mysql::binlog::event::XA_prepare_event::get_xid ( ) const

Retrieves the content of my_xid member variable.

Returns
The const-reference to the my_xid member variable.

◆ is_one_phase()

bool mysql::binlog::event::XA_prepare_event::is_one_phase ( ) const

Whether or not this XA_prepare_event represents an XA COMMIT ONE PHASE.

Returns
true if it's an XA COMMIT ONE PHASE, false otherwise.

Member Data Documentation

◆ my_xid

MY_XID mysql::binlog::event::XA_prepare_event::my_xid
protected

◆ MY_XIDDATASIZE

const int mysql::binlog::event::XA_prepare_event::MY_XIDDATASIZE = 128
staticprivate

◆ one_phase

bool mysql::binlog::event::XA_prepare_event::one_phase
protected

◆ ser_buf_size

const uint16_t mysql::binlog::event::XA_prepare_event::ser_buf_size
staticprotected
Initial value:
=
8 + 2 * MY_XIDDATASIZE + 4 * sizeof(long) + 1
static const int MY_XIDDATASIZE
Definition: control_events.h:593

◆ xid

void* mysql::binlog::event::XA_prepare_event::xid
protected

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