![]() |
MySQL 8.0.32
Source Code Documentation
|
This event is a wrapper event and encloses many other events. More...
#include <control_events.h>
Public Member Functions | |
Transaction_payload_event (const char *payload, uint64_t payload_size) | |
Creates Transaction_payload_event with the given data which has the given size. More... | |
Transaction_payload_event (const char *payload, uint64_t payload_size, uint16_t compression_type, uint64_t uncompressed_size) | |
Creates Transaction_payload_event with the given data which has the given size. More... | |
Transaction_payload_event (const char *buf, const Format_description_event *fde) | |
This constructor takes a raw buffer and a format descriptor event and decodes the buffer. More... | |
~Transaction_payload_event () override | |
This destroys the transaction payload event. More... | |
void | set_compression_type (transaction::compression::type type) |
Shall set the compression type used for the enclosed payload. More... | |
transaction::compression::type | get_compression_type () const |
Shall return the compression type used for the enclosed payload. More... | |
void | set_payload_size (uint64_t size) |
Shall set the size of the payload inside this event. More... | |
uint64_t | get_payload_size () const |
Shall get the size of the payload inside this event. More... | |
void | set_uncompressed_size (uint64_t size) |
Shall set the uncompressed size of the payload. More... | |
uint64_t | get_uncompressed_size () const |
Shall get the uncompressed size of the event. More... | |
void | set_payload (const char *data) |
Shall set the payload of the event. More... | |
const char * | get_payload () const |
Shall get the payload of the event. More... | |
std::string | to_string () const |
Shall return a textual representation of this event. More... | |
![]() | |
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 unsigned short | COMPRESSION_TYPE_MIN_LENGTH = 1 |
static const unsigned short | COMPRESSION_TYPE_MAX_LENGTH = 9 |
static const unsigned short | PAYLOAD_SIZE_MIN_LENGTH = 0 |
static const unsigned short | PAYLOAD_SIZE_MAX_LENGTH = 9 |
static const unsigned short | UNCOMPRESSED_SIZE_MIN_LENGTH = 0 |
static const unsigned short | UNCOMPRESSED_SIZE_MAX_LENGTH = 9 |
static const int | MAX_DATA_LENGTH |
![]() | |
static const int | LOG_EVENT_TYPES = (ENUM_END_EVENT - 1) |
Protected Attributes | |
const char * | m_payload {nullptr} |
The raw bytes which are the data that this event contains. More... | |
uint64_t | m_payload_size {0} |
The size of the data. More... | |
transaction::compression::type | m_compression_type |
If the data is compressed, which compression was used. More... | |
uint64_t | m_uncompressed_size {0} |
The size of the data uncompressed. More... | |
Private Member Functions | |
Transaction_payload_event & | operator= (const Transaction_payload_event &)=delete |
Transaction_payload_event (const Transaction_payload_event &)=delete | |
Additional Inherited Members | |
![]() | |
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... | |
![]() | |
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... | |
This event is a wrapper event and encloses many other events.
It is mostly used for carrying compressed payloads as its content can be compressed, in which case, its metadata shall contain information about the compression metadata as well.
|
privatedelete |
binary_log::Transaction_payload_event::Transaction_payload_event | ( | const char * | payload, |
uint64_t | payload_size | ||
) |
Creates Transaction_payload_event
with the given data which has the given size.
payload | the data that this event shall wrap. |
payload_size | the size of the payload. |
The data shall not be compressed. However, there is no other validation that this is the case.
binary_log::Transaction_payload_event::Transaction_payload_event | ( | const char * | payload, |
uint64_t | payload_size, | ||
uint16_t | compression_type, | ||
uint64_t | uncompressed_size | ||
) |
Creates Transaction_payload_event
with the given data which has the given size.
The data provided may or may not have been compressed. In any case the compression_type must be set.
payload | the data that this event shall wrap. |
payload_size | the size of the payload. |
compression_type | the compression type used for the data provided. |
uncompressed_size | the size of the data when uncompressed. |
The data may or may not be compressed. There is no validation or check that it is or that the payload matches the metadata provided.
binary_log::Transaction_payload_event::Transaction_payload_event | ( | const char * | buf, |
const Format_description_event * | fde | ||
) |
This constructor takes a raw buffer and a format descriptor event and decodes the buffer.
It populates this event metadata with the contents of the buffer.
buf | the buffer to decode. |
fde | the format description event used to decode the buffer. |
|
overridedefault |
This destroys the transaction payload event.
|
inline |
Shall return the compression type used for the enclosed payload.
|
inline |
Shall get the payload of the event.
|
inline |
Shall get the size of the payload inside this event.
|
inline |
Shall get the uncompressed size of the event.
|
privatedelete |
|
inline |
Shall set the compression type used for the enclosed payload.
type | the compression type. |
|
inline |
Shall set the payload of the event.
data | the payload of the event. |
|
inline |
Shall set the size of the payload inside this event.
size | The payload size. |
|
inline |
Shall set the uncompressed size of the payload.
size | the uncompressed size of the payload. |
std::string binary_log::Transaction_payload_event::to_string | ( | ) | const |
Shall return a textual representation of this event.
|
static |
|
static |
|
protected |
If the data is compressed, which compression was used.
For now, the only compressors supported are: ZSTD or NONE.
NONE means no compression at all. ZSTD means using ZSTD compression.
|
protected |
The raw bytes which are the data that this event contains.
|
protected |
The size of the data.
|
protected |
The size of the data uncompressed.
This is the same as m_payload_size
if there is no compression involved.
|
static |
|
static |
|
static |
|
static |
|
static |