26#ifndef METADATA_CACHE_CLUSTER_METADATA_INCLUDED 
   27#define METADATA_CACHE_CLUSTER_METADATA_INCLUDED 
   99                                     &metadata_server) 
noexcept override;
 
  104  void disconnect() noexcept
 override { metadata_connection_.reset(); }
 
  110  [[nodiscard]] 
bool is_connected_to(
 
  120  make_connection_shared(
 
  126    return metadata_connection_;
 
  131      const unsigned router_id,
 
  136      const unsigned router_id) 
override;
 
  140                             const unsigned router_id) 
override;
 
  147      const uint16_t router_id) 
override;
 
  152  std::optional<metadata_cache::metadata_server_t> find_rw_server(
 
  153      const std::vector<metadata_cache::ManagedInstance> &instances);
 
  155  std::optional<metadata_cache::metadata_server_t> find_rw_server(
 
  156      const std::vector<metadata_cache::ManagedCluster> &clusters);
 
  158  std::optional<std::chrono::seconds>
 
  160    return router_options_.get_stats_updates_frequency();
 
  177      const uint16_t router_id) {
 
  179      return R
"(SELECT guideline FROM 
  180mysql_innodb_cluster_metadata.routing_guidelines WHERE guideline_id = ( 
  181  SELECT COALESCE(RO.router_options->>'$.guideline', 
  182                  CS.router_options->>'$.guideline', 
  183                  CL.router_options->>'$.guideline') 
  185    mysql_innodb_cluster_metadata.v2_router_options AS RO 
  187    mysql_innodb_cluster_metadata.clustersets AS CS ON RO.clusterset_id = CS.clusterset_id 
  189    mysql_innodb_cluster_metadata.clusters AS CL ON RO.cluster_id = CL.cluster_id 
  190  WHERE RO.router_id = )" + 
  207  int connection_attempts_;
 
  217std::string 
as_string(
const char *input_str);
 
  221                        const size_t classic_port_column,
 
  222                        const size_t x_port_column);
 
  225                             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:176
 
Definition: expected.h:286
 
mysql_ssl_mode
Definition: mysql.h:272
 
static void do_connect(struct st_command *command)
Definition: mysqltest.cc:6747
 
std::error_code make_error_code(DynamicLoaderErrc ec)
make error_code from a DynamicLoaderErrc.
Definition: dynamic_loader.cc:97
 
constexpr MetadataSchemaVersion kRoutingGuidelinesMetadataVersion
Definition: cluster_metadata.h:100
 
std::string ROUTER_CLUSTER_EXPORT to_string(const TargetCluster::InvalidatedClusterRoutingPolicy)
Definition: cluster_metadata.cc:1413
 
unexpected(E) -> unexpected< E >
 
Definition: cluster_metadata.h:52
 
Definition: group_replication_metadata.h:38
 
SSL connection related options.
Definition: datatypes.h:34