30#ifndef MYSQL_BINLOG_EVENT_EVENT_READER_MACROS_H
31#define MYSQL_BINLOG_EVENT_EVENT_READER_MACROS_H
42#define READER_TRY_INITIALIZATION \
43 if (!header()->get_is_valid()) BAPI_VOID_RETURN
49#define READER_CATCH_ERROR \
50 event_reader_footer: \
51 header()->set_is_valid(READER_CALL(has_error) == false)
57#define READER_CALL(func, ...) reader().func(__VA_ARGS__)
62#define READER_TRY_CALL(func, ...) \
63 READER_CALL(func, __VA_ARGS__); \
64 if (reader().get_error()) goto event_reader_footer
69#define READER_SET(var, func, ...) \
70 BAPI_PRINT("debug", ("Event_reader::SET %s", #var)); \
71 var = reader().func(__VA_ARGS__)
76#define READER_TRY_SET(var, func, ...) \
77 READER_SET(var, func, __VA_ARGS__); \
78 if (reader().get_error()) goto event_reader_footer
83#define READER_THROW(message) \
85 reader().set_error(message); \
86 goto event_reader_footer; \
92#define READER_ASSERT_POSITION(pos) BAPI_ASSERT(READER_CALL(position) == pos)
The namespace contains classes representing events that can occur in a replication stream.
Definition: binlog_event.cpp:38