24#ifndef RPL_INFO_FACTORY_H
25#define RPL_INFO_FACTORY_H
59 const char *channel_name);
70 bool is_gaps_collecting_phase);
113 uint &found_rep_option,
128 std::vector<std::string> &channel_list, uint mi_instances,
129 uint mi_repository,
const char *default_channel,
130 bool *default_channel_created_previously);
133 std::vector<std::string> &channel_list,
const char *default_channel,
134 bool *default_channel_created_previously);
Class to store all the Master_info objects of a slave to access them in the replication code base or ...
Definition: rpl_msr.h:113
Definition: rpl_rli.h:203
Definition: rpl_info_factory.h:41
static struct_table_data worker_table_data
Definition: rpl_info_factory.h:93
static bool create_slave_info_objects(uint mi_option, uint rli_option, int thread_mask, Multisource_info *pchannel_map)
This function should be called from init_replica() only.
Definition: rpl_info_factory.cc:574
static Master_info * create_mi_and_rli_objects(uint mi_option, uint rli_option, const char *channel, Multisource_info *channel_map)
Create Master_info and Relay_log_info objects for a new channel.
Definition: rpl_info_factory.cc:695
static Master_info * create_mi(uint rli_option, const char *channel)
Creates a Master info repository whose type is defined as a parameter.
Definition: rpl_info_factory.cc:85
static bool load_channel_names_from_table(std::vector< std::string > &channel_list, const char *default_channel, bool *default_channel_created_previously)
In a multisourced slave, during init_replica(), the repositories are read to initialize the slave inf...
Definition: rpl_info_factory.cc:794
static bool scan_and_check_repositories(uint &found_rep_option, const struct_table_data &table_data)
Scan table for repositories.
Definition: rpl_info_factory.cc:486
static void init_repository_metadata()
Initializes startup information on different repositories.
Definition: rpl_info_factory.cc:384
static void invalidate_repository_position(Master_info *mi)
If GTID_ONLY is set for this channel, receiver and applier positions will be marked as invalid.
Definition: rpl_info_factory.cc:884
static bool scan_and_count_repositories(ulonglong &found_instances, uint &found_rep_option, const struct_table_data &table_data)
Scan table for repositories.
Definition: rpl_info_factory.cc:462
static struct_table_data mi_table_data
Definition: rpl_info_factory.h:92
static Slave_worker * create_worker(uint rli_option, uint worker_id, Relay_log_info *rli, bool is_gaps_collecting_phase)
Creates a Slave worker repository whose type is defined as a parameter.
Definition: rpl_info_factory.cc:308
static bool configure_channel_replication_filters(Relay_log_info *rli, const char *channel_name)
Establish the relation between the channel's replication filters and the channel's Relay_log_info,...
Definition: rpl_info_factory.cc:505
static bool init_repository(const struct_table_data &table_data, uint option, Rpl_info_handler **handler)
Creates repositories that will be associated to either the Master_info or Relay_log_info.
Definition: rpl_info_factory.cc:435
static Relay_log_info * create_rli(uint rli_option, bool is_slave_recovery, const char *channel)
Creates a Relay log info repository whose type is defined as a parameter.
Definition: rpl_info_factory.cc:160
static struct_table_data rli_table_data
Definition: rpl_info_factory.h:91
static bool reset_workers(Relay_log_info *rli)
Delete all info from Worker info tables to render them useless in future MTS recovery,...
Definition: rpl_info_factory.cc:256
static bool load_channel_names_from_repository(std::vector< std::string > &channel_list, uint mi_instances, uint mi_repository, const char *default_channel, bool *default_channel_created_previously)
Make a list of any channels that may have existed on the previous slave run.
Definition: rpl_info_factory.cc:749
struct Rpl_info_factory::table_data struct_table_data
Definition: rpl_info_handler.h:58
Definition: rpl_info.h:43
Definition: rpl_rli_pdb.h:498
The handler class is the interface for dynamically loadable storage engines.
Definition: handler.h:4571
void bitmap_free(MY_BITMAP *map)
Definition: my_bitmap.cc:158
unsigned long long int ulonglong
Definition: my_inttypes.h:56
Common #defines and includes for file and socket I/O.
Multisource_info channel_map
Definition: rpl_msr.cc:418
Definition: my_bitmap.h:43
Definition: rpl_info_factory.h:81
virtual ~table_data()
Definition: rpl_info_factory.h:88
uint n_fields
Definition: rpl_info_factory.h:82
const char * schema
Definition: rpl_info_factory.h:83
const uint * pk_field_indexes
Definition: rpl_info_factory.h:86
const char * name
Definition: rpl_info_factory.h:84
MY_BITMAP nullable_fields
Definition: rpl_info_factory.h:87
uint n_pk_fields
Definition: rpl_info_factory.h:85