26#ifndef MYSQLROUTER_CLUSTER_METADATA_INCLUDED
27#define MYSQLROUTER_CLUSTER_METADATA_INCLUDED
86 {1, 0, 0}, {2, 0, 0}};
120 for (
size_t i = 0; i <
N; ++i) {
131 for (
size_t i = 0; i <
N; ++i) {
150 MySQLSession *
mysql,
unsigned int router_id = 0);
167 const std::string &value =
"")
Definition: mysql_session.h:153
Definition: cluster_metadata.h:161
void invalidated_cluster_routing_policy(const InvalidatedClusterRoutingPolicy value)
Definition: cluster_metadata.h:182
InvalidatedClusterRoutingPolicy invalidated_cluster_routing_policy() const
Definition: cluster_metadata.h:176
void target_value(const std::string &value)
Definition: cluster_metadata.h:181
TargetCluster(const TargetType type=TargetType::ByPrimaryRole, const std::string &value="")
Definition: cluster_metadata.h:166
TargetType
Definition: cluster_metadata.h:163
InvalidatedClusterRoutingPolicy
Definition: cluster_metadata.h:164
void target_type(const TargetType value)
Definition: cluster_metadata.h:180
std::string target_value_
Definition: cluster_metadata.h:189
TargetType target_type_
Definition: cluster_metadata.h:188
InvalidatedClusterRoutingPolicy invalidated_cluster_routing_policy_
Definition: cluster_metadata.h:190
std::string to_string() const
Definition: cluster_metadata.h:172
const char * c_str() const
Definition: cluster_metadata.h:173
TargetType target_type() const
Definition: cluster_metadata.h:175
Definition: expected.h:944
std::atomic< Type > N
Definition: ut0counter.h:225
Definition: instrumented_condition_variable.h:32
constexpr MetadataSchemaVersion kClusterSetsMetadataVersion
Definition: cluster_metadata.h:92
constexpr MetadataSchemaVersion kNewMetadataVersion
Definition: cluster_metadata.h:89
bool ROUTER_LIB_EXPORT is_part_of_cluster_set(MySQLSession *mysql)
Definition: cluster_metadata.cc:1123
ClusterType
Definition: cluster_metadata.h:141
std::string ROUTER_LIB_EXPORT get_metadata_schema_deprecated_msg(const mysqlrouter::MetadataSchemaVersion &version)
Definition: cluster_metadata.cc:451
bool ROUTER_LIB_EXPORT metadata_schema_version_is_deprecated(const mysqlrouter::MetadataSchemaVersion &version)
Definition: cluster_metadata.cc:446
constexpr MetadataSchemaVersion kUpgradeInProgressMetadataVersion
Definition: cluster_metadata.h:95
constexpr MetadataSchemaVersion kRequiredRoutingMetadataSchemaVersion[]
Definition: cluster_metadata.h:85
MetadataSchemaVersion ROUTER_LIB_EXPORT get_metadata_schema_version(MySQLSession *mysql)
Definition: cluster_metadata.cc:465
stdx::expected< void, std::string > ROUTER_LIB_EXPORT setup_metadata_session(MySQLSession &session)
Definition: cluster_metadata.cc:1317
bool ROUTER_LIB_EXPORT check_group_has_quorum(MySQLSession *mysql)
Definition: cluster_metadata.cc:533
constexpr MetadataSchemaVersion kRequiredBootstrapSchemaVersion[]
Definition: cluster_metadata.h:81
ClusterType ROUTER_LIB_EXPORT get_cluster_type(const MetadataSchemaVersion &schema_version, MySQLSession *mysql, unsigned int router_id=0)
Definition: cluster_metadata.cc:1163
bool ROUTER_LIB_EXPORT check_group_replication_online(MySQLSession *mysql)
Definition: cluster_metadata.cc:517
bool ROUTER_LIB_EXPORT metadata_schema_version_is_compatible(const mysqlrouter::MetadataSchemaVersion &required, const mysqlrouter::MetadataSchemaVersion &available)
Definition: cluster_metadata.cc:432
std::string ROUTER_LIB_EXPORT to_string(const MetadataSchemaVersion &version)
Definition: cluster_metadata.cc:460
struct result result
Definition: result.h:34
required uint64 version
Definition: replication_group_member_actions.proto:41
required string type
Definition: replication_group_member_actions.proto:34
#define ROUTER_LIB_EXPORT
Definition: router_export.h:15