23#ifndef DEFINED_RPL_REPLICA_UNTIL_OPTIONS_H
24#define DEFINED_RPL_REPLICA_UNTIL_OPTIONS_H
272 int init(
const char *gtid_set_str);
378 int init(
const char *view_id);
Represents a set of GTIDs.
Definition: rpl_gtid.h:1466
This is the abstract base class for binary log events.
Definition: log_event.h:537
Definition: rpl_rli.h:202
It implements the logic of UNTIL SQL_AFTER_GTIDS.
Definition: rpl_replica_until_options.h:308
void last_transaction_executed_message()
Print message to the error log for the last message.
Definition: rpl_replica_until_options.cc:234
bool check_all_transactions_read_from_relay_log() override
Definition: rpl_replica_until_options.cc:344
bool check_at_start_slave() override
Definition: rpl_replica_until_options.cc:252
bool check_before_dispatching_event(const Log_event *ev) override
Definition: rpl_replica_until_options.cc:262
~Until_after_gtids() override
Definition: rpl_replica_until_options.cc:232
bool check_after_dispatching_event() override
Definition: rpl_replica_until_options.cc:309
bool m_last_transaction_in_execution
Definition: rpl_replica_until_options.h:354
bool check_all_transactions_executed()
Checks if all the customer specified transactions have been executed or not.
Definition: rpl_replica_until_options.cc:242
Until_after_gtids(Relay_log_info *rli)
Definition: rpl_replica_until_options.h:310
bool wait_for_gtid_set()
If last transaction has ben completely received wait for the worker thread to finish executing the tr...
Definition: rpl_replica_until_options.cc:321
std::unique_ptr< Gtid_set > m_gtids_known_to_channel
Definition: rpl_replica_until_options.h:349
It implements the logic of UNTIL SQL_BEFORE_GTIDS.
Definition: rpl_replica_until_options.h:292
Until_before_gtids(Relay_log_info *rli)
Definition: rpl_replica_until_options.h:294
bool check_at_start_slave() override
Definition: rpl_replica_until_options.cc:189
bool check_before_dispatching_event(const Log_event *ev) override
Definition: rpl_replica_until_options.cc:206
bool check_all_transactions_read_from_relay_log() override
Definition: rpl_replica_until_options.cc:228
bool check_after_dispatching_event() override
Definition: rpl_replica_until_options.cc:226
It is an abstract class for UNTIL SQL_BEFORE_GTIDS and SQL_AFTER_GTIDS.
Definition: rpl_replica_until_options.h:259
int init(const char *gtid_set_str)
Initialize the until gtids when starting the slave.
Definition: rpl_replica_until_options.cc:178
Gtid_set m_gtids
Stores the gtids of START SLAVE UNTIL SQL_*_GTIDS.
Definition: rpl_replica_until_options.h:281
~Until_gtids() override=default
Until_gtids(Relay_log_info *rli)
Definition: rpl_replica_until_options.h:283
It is for UNTIL master_log_file and master_log_pos.
Definition: rpl_replica_until_options.h:218
bool check_at_start_slave() override
Definition: rpl_replica_until_options.cc:114
bool check_before_dispatching_event(const Log_event *ev) override
Definition: rpl_replica_until_options.cc:123
bool check_all_transactions_read_from_relay_log() override
Definition: rpl_replica_until_options.cc:156
Until_master_position(Relay_log_info *rli)
Definition: rpl_replica_until_options.h:220
bool check_after_dispatching_event() override
Definition: rpl_replica_until_options.cc:149
char m_current_log_name[FN_REFLEN]
Definition: rpl_replica_until_options.h:228
my_off_t m_current_log_pos
Definition: rpl_replica_until_options.h:229
It implements the logic of UNTIL SQL_AFTER_MTS_GAP.
Definition: rpl_replica_until_options.h:408
void init()
Initialize it when starting the slave.
Definition: rpl_replica_until_options.cc:391
bool check_before_dispatching_event(const Log_event *ev) override
Definition: rpl_replica_until_options.cc:397
bool check_at_start_slave() override
Definition: rpl_replica_until_options.cc:395
bool check_after_dispatching_event() override
Definition: rpl_replica_until_options.cc:406
Until_mts_gap(Relay_log_info *rli)
Definition: rpl_replica_until_options.h:410
bool check_all_transactions_read_from_relay_log() override
Definition: rpl_replica_until_options.cc:408
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:118
virtual bool check_before_dispatching_event(const Log_event *ev)=0
Relay_log_info * m_rli
Definition: rpl_replica_until_options.h:116
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
virtual bool check_all_transactions_read_from_relay_log()=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
bool is_satisfied_all_transactions_read_from_relay_log()
check if the until option is waiting for more transactions to be read from the relay log.
Definition: rpl_replica_until_options.h:110
virtual ~Until_option()=default
It is an abstract class for until master position and until relay log position.
Definition: rpl_replica_until_options.h:144
my_off_t get_until_log_pos()
Definition: rpl_replica_until_options.h:171
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:42
~Until_position() override=default
const char * get_until_log_name()
Definition: rpl_replica_until_options.h:170
Until_position(Relay_log_info *rli)
Definition: rpl_replica_until_options.h:185
@ LOG_NAMES_CMP_LESS
Definition: rpl_replica_until_options.h:180
@ LOG_NAMES_CMP_GREATER
Definition: rpl_replica_until_options.h:182
@ LOG_NAMES_CMP_EQUAL
Definition: rpl_replica_until_options.h:181
@ LOG_NAMES_CMP_UNKNOWN
Definition: rpl_replica_until_options.h:179
ulong m_until_log_name_extension
Definition: rpl_replica_until_options.h:210
enum Until_position::@152 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:65
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:164
char m_until_log_name[FN_REFLEN]
Definition: rpl_replica_until_options.h:202
ulonglong m_until_log_pos
Definition: rpl_replica_until_options.h:203
It is for UNTIL relay_log_file and relay_log_pos.
Definition: rpl_replica_until_options.h:242
bool check_before_dispatching_event(const Log_event *ev) override
Definition: rpl_replica_until_options.cc:165
bool check_at_start_slave() override
Definition: rpl_replica_until_options.cc:160
bool check_all_transactions_read_from_relay_log() override
Definition: rpl_replica_until_options.cc:174
Until_relay_position(Relay_log_info *rli)
Definition: rpl_replica_until_options.h:244
bool check_after_dispatching_event() override
Definition: rpl_replica_until_options.cc:169
It implements the logic for UNTIL VIEW_ID.
Definition: rpl_replica_until_options.h:362
bool until_view_id_found
Definition: rpl_replica_until_options.h:388
std::string m_view_id
Definition: rpl_replica_until_options.h:381
bool check_before_dispatching_event(const Log_event *ev) override
Definition: rpl_replica_until_options.cc:363
bool check_all_transactions_read_from_relay_log() override
Definition: rpl_replica_until_options.cc:387
Until_view_id(Relay_log_info *rli)
Definition: rpl_replica_until_options.h:364
int init(const char *view_id)
Initialize the view_id when starting the slave.
Definition: rpl_replica_until_options.cc:349
bool check_at_start_slave() override
Definition: rpl_replica_until_options.cc:361
bool until_view_id_commit_found
Definition: rpl_replica_until_options.h:395
bool check_after_dispatching_event() override
Definition: rpl_replica_until_options.cc:383
#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:1836