23#ifndef DEFINED_RPL_REPLICA_UNTIL_OPTIONS_H
24#define DEFINED_RPL_REPLICA_UNTIL_OPTIONS_H
256 int init(
const char *gtid_set_str);
322 int init(
const char *view_id);
Represents a set of GTIDs.
Definition: rpl_gtid.h:1454
This is the abstract base class for binary log events.
Definition: log_event.h:547
Definition: rpl_rli.h:201
It implements the logic of UNTIL SQL_AFTER_GTIDS.
Definition: rpl_replica_until_options.h:291
bool check_at_start_slave() override
Definition: rpl_replica_until_options.cc:218
bool check_before_dispatching_event(const Log_event *ev) override
Definition: rpl_replica_until_options.cc:233
bool check_after_dispatching_event() override
Definition: rpl_replica_until_options.cc:237
Until_after_gtids(Relay_log_info *rli)
Definition: rpl_replica_until_options.h:293
It implements the logic of UNTIL SQL_BEFORE_GTIDS.
Definition: rpl_replica_until_options.h:276
Until_before_gtids(Relay_log_info *rli)
Definition: rpl_replica_until_options.h:278
bool check_at_start_slave() override
Definition: rpl_replica_until_options.cc:179
bool check_before_dispatching_event(const Log_event *ev) override
Definition: rpl_replica_until_options.cc:196
bool check_after_dispatching_event() override
Definition: rpl_replica_until_options.cc:216
It is an abstract class for UNTIL SQL_BEFORE_GTIDS and SQL_AFTER_GTIDS.
Definition: rpl_replica_until_options.h:243
int init(const char *gtid_set_str)
Initialize the until gtids when starting the slave.
Definition: rpl_replica_until_options.cc:168
Gtid_set m_gtids
Stores the gtids of START SLAVE UNTIL SQL_*_GTIDS.
Definition: rpl_replica_until_options.h:265
~Until_gtids() override=default
Until_gtids(Relay_log_info *rli)
Definition: rpl_replica_until_options.h:267
It is for UNTIL master_log_file and master_log_pos.
Definition: rpl_replica_until_options.h:204
bool check_at_start_slave() override
Definition: rpl_replica_until_options.cc:112
bool check_before_dispatching_event(const Log_event *ev) override
Definition: rpl_replica_until_options.cc:121
Until_master_position(Relay_log_info *rli)
Definition: rpl_replica_until_options.h:206
bool check_after_dispatching_event() override
Definition: rpl_replica_until_options.cc:147
char m_current_log_name[FN_REFLEN]
Definition: rpl_replica_until_options.h:214
my_off_t m_current_log_pos
Definition: rpl_replica_until_options.h:215
It implements the logic of UNTIL SQL_AFTER_MTS_GAP.
Definition: rpl_replica_until_options.h:351
void init()
Initialize it when starting the slave.
Definition: rpl_replica_until_options.cc:279
bool check_before_dispatching_event(const Log_event *ev) override
Definition: rpl_replica_until_options.cc:285
bool check_at_start_slave() override
Definition: rpl_replica_until_options.cc:283
bool check_after_dispatching_event() override
Definition: rpl_replica_until_options.cc:294
Until_mts_gap(Relay_log_info *rli)
Definition: rpl_replica_until_options.h:353
This is the abstract base class for slave start until options.
Definition: rpl_replica_until_options.h:55
bool is_satisfied_after_dispatching_event()
check if the until option is satisfied after applied or dispatched a event.
Definition: rpl_replica_until_options.h:96
Until_option(Relay_log_info *rli)
Definition: rpl_replica_until_options.h:105
virtual bool check_before_dispatching_event(const Log_event *ev)=0
Relay_log_info * m_rli
Definition: rpl_replica_until_options.h:103
bool is_satisfied_before_dispatching_event(const Log_event *ev)
check if the until option is satisfied before applying or dispatching a event.
Definition: rpl_replica_until_options.h:82
virtual bool check_at_start_slave()=0
bool is_satisfied_at_start_slave()
Check if the until option is already satisfied at coordinator starting.
Definition: rpl_replica_until_options.h:66
virtual bool check_after_dispatching_event()=0
virtual ~Until_option()=default
It is an abstract class for until master position and until relay log position.
Definition: rpl_replica_until_options.h:130
my_off_t get_until_log_pos()
Definition: rpl_replica_until_options.h:157
int init(const char *log_name, my_off_t log_pos)
Initialize the until position when starting the slave.
Definition: rpl_replica_until_options.cc:40
@ LOG_NAMES_CMP_LESS
Definition: rpl_replica_until_options.h:166
@ LOG_NAMES_CMP_GREATER
Definition: rpl_replica_until_options.h:168
@ LOG_NAMES_CMP_EQUAL
Definition: rpl_replica_until_options.h:167
@ LOG_NAMES_CMP_UNKNOWN
Definition: rpl_replica_until_options.h:165
~Until_position() override=default
const char * get_until_log_name()
Definition: rpl_replica_until_options.h:156
Until_position(Relay_log_info *rli)
Definition: rpl_replica_until_options.h:171
ulong m_until_log_name_extension
Definition: rpl_replica_until_options.h:196
enum Until_position::@146 m_log_names_cmp_result
Log name is compared only once for each master log or relay log.
bool check_position(const char *log_name, my_off_t log_pos)
Check if until position is satisfied.
Definition: rpl_replica_until_options.cc:63
void notify_log_name_change()
Coordinator calls this function to notify that master log switch or relay log switch.
Definition: rpl_replica_until_options.h:150
char m_until_log_name[FN_REFLEN]
Definition: rpl_replica_until_options.h:188
ulonglong m_until_log_pos
Definition: rpl_replica_until_options.h:189
It is for UNTIL relay_log_file and relay_log_pos.
Definition: rpl_replica_until_options.h:227
bool check_before_dispatching_event(const Log_event *ev) override
Definition: rpl_replica_until_options.cc:159
bool check_at_start_slave() override
Definition: rpl_replica_until_options.cc:154
Until_relay_position(Relay_log_info *rli)
Definition: rpl_replica_until_options.h:229
bool check_after_dispatching_event() override
Definition: rpl_replica_until_options.cc:163
It implements the logic for UNTIL VIEW_ID.
Definition: rpl_replica_until_options.h:306
bool until_view_id_found
Definition: rpl_replica_until_options.h:332
std::string m_view_id
Definition: rpl_replica_until_options.h:325
bool check_before_dispatching_event(const Log_event *ev) override
Definition: rpl_replica_until_options.cc:255
Until_view_id(Relay_log_info *rli)
Definition: rpl_replica_until_options.h:308
int init(const char *view_id)
Initialize the view_id when starting the slave.
Definition: rpl_replica_until_options.cc:241
bool check_at_start_slave() override
Definition: rpl_replica_until_options.cc:253
bool until_view_id_commit_found
Definition: rpl_replica_until_options.h:339
bool check_after_dispatching_event() override
Definition: rpl_replica_until_options.cc:275
#define DBUG_TRACE
Definition: my_dbug.h:145
Some integer typedefs for easier portability.
unsigned long long int ulonglong
Definition: my_inttypes.h:55
ulonglong my_off_t
Definition: my_inttypes.h:71
Common #defines and includes for file and socket I/O.
#define FN_REFLEN
Definition: my_io.h:82
Sid_map * global_sid_map
Definition: mysqld.cc:1817