26#ifndef METADATA_CACHE_CLUSTER_METADATA_INCLUDED
27#define METADATA_CACHE_CLUSTER_METADATA_INCLUDED
103 &metadata_server)
noexcept override;
114 [[nodiscard]]
bool is_connected_to(
124 make_connection_shared(
130 return metadata_connection_;
135 const unsigned router_id,
140 const unsigned router_id)
override;
144 const unsigned router_id)
override;
151 const uint16_t router_id)
override;
156 std::optional<metadata_cache::metadata_server_t> find_rw_server(
157 const std::vector<metadata_cache::ManagedInstance> &instances);
159 std::optional<metadata_cache::metadata_server_t> find_rw_server(
160 const std::vector<metadata_cache::ManagedCluster> &clusters);
162 std::optional<std::chrono::seconds>
164 return router_options_.get_stats_updates_frequency();
181 const uint16_t router_id) {
183 return R
"(SELECT guideline FROM
184mysql_innodb_cluster_metadata.routing_guidelines WHERE guideline_id = (
185 SELECT COALESCE(RO.router_options->>'$.guideline',
186 CS.router_options->>'$.guideline',
187 CL.router_options->>'$.guideline')
189 mysql_innodb_cluster_metadata.v2_router_options AS RO
191 mysql_innodb_cluster_metadata.clustersets AS CS ON RO.clusterset_id = CS.clusterset_id
193 mysql_innodb_cluster_metadata.clusters AS CL ON RO.cluster_id = CL.cluster_id
194 WHERE RO.router_id = )" +
216 int connection_attempts_;
226std::string
as_string(
const char *input_str);
230 const size_t classic_port_column,
231 const size_t x_port_column);
234 const std::string &attributes);
Represents the Router options in v2_routers view in the metadata schema.
Definition: router_options.h:58
Definition: destination.h:40
Definition: mysql_session.h:157
std::vector< const char * > Row
Definition: mysql_session.h:161
Definition: cluster_metadata.h:179
Definition: expected.h:286
mysql_ssl_mode
Definition: mysql.h:275
static void do_connect(struct st_command *command)
Definition: mysqltest.cc:6858
noexcept
The return type for any call_and_catch(f, args...) call where f(args...) returns Type.
Definition: call_and_catch.h:76
std::error_code make_error_code(DynamicLoaderErrc ec)
make error_code from a DynamicLoaderErrc.
Definition: dynamic_loader.cc:97
Definition: mrs_component_embedded_mysql_session.h:29
constexpr MetadataSchemaVersion kRoutingGuidelinesMetadataVersion
Definition: cluster_metadata.h:100
std::string ROUTER_CLUSTER_EXPORT to_string(const TargetCluster::InvalidatedClusterRoutingPolicy)
Definition: cluster_metadata.cc:1425
unexpected(E) -> unexpected< E >
Definition: cluster_metadata.h:53
Definition: group_replication_metadata.h:38
SSL connection related options.
Definition: datatypes.h:34