MXS-2304 Use get_service() and get_server()
This commit is contained in:
@ -164,7 +164,7 @@ RRRouter::RRRouter(SERVICE* service)
|
|||||||
/* Read options specific to round robin router. */
|
/* Read options specific to round robin router. */
|
||||||
MXS_CONFIG_PARAMETER* params = service->svc_config_param;
|
MXS_CONFIG_PARAMETER* params = service->svc_config_param;
|
||||||
m_max_backends = params->get_integer(MAX_BACKENDS);
|
m_max_backends = params->get_integer(MAX_BACKENDS);
|
||||||
m_write_server = config_get_server(params, WRITE_BACKEND);
|
m_write_server = params->get_server(WRITE_BACKEND);
|
||||||
m_print_on_routing = params->get_bool(PRINT_ON_ROUTING);
|
m_print_on_routing = params->get_bool(PRINT_ON_ROUTING);
|
||||||
m_example_enum = params->get_enum(DUMMY, enum_example);
|
m_example_enum = params->get_enum(DUMMY, enum_example);
|
||||||
|
|
||||||
|
@ -288,6 +288,22 @@ public:
|
|||||||
*/
|
*/
|
||||||
uint64_t get_size(const std::string& key) const;
|
uint64_t get_size(const std::string& key) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Get a service value
|
||||||
|
*
|
||||||
|
* @param key Parameter name
|
||||||
|
* @return Pointer to configured service
|
||||||
|
*/
|
||||||
|
SERVICE* get_service(const std::string& key) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Get a server value
|
||||||
|
*
|
||||||
|
* @param key Parameter name
|
||||||
|
* @return Pointer to configured server
|
||||||
|
*/
|
||||||
|
SERVER* get_server(const std::string& key) const;
|
||||||
|
|
||||||
char* name; /**< The name of the parameter */
|
char* name; /**< The name of the parameter */
|
||||||
char* value; /**< The value of the parameter */
|
char* value; /**< The value of the parameter */
|
||||||
MXS_CONFIG_PARAMETER* next; /**< Next pointer in the linked list */
|
MXS_CONFIG_PARAMETER* next; /**< Next pointer in the linked list */
|
||||||
@ -413,27 +429,8 @@ bool config_param_is_valid(const MXS_MODULE_PARAM* params,
|
|||||||
const char* config_get_string(const MXS_CONFIG_PARAMETER* params, const char* key);
|
const char* config_get_string(const MXS_CONFIG_PARAMETER* params, const char* key);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Get a service value
|
* @brief Get an array of servers. The caller should free the produced array,
|
||||||
*
|
* but not the array elements.
|
||||||
* @param params List of configuration parameters
|
|
||||||
* @param key Parameter name
|
|
||||||
*
|
|
||||||
* @return Pointer to configured service
|
|
||||||
*/
|
|
||||||
SERVICE* config_get_service(const MXS_CONFIG_PARAMETER* params, const char* key);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Get a server value
|
|
||||||
*
|
|
||||||
* @param params List of configuration parameters
|
|
||||||
* @param key Parameter name
|
|
||||||
*
|
|
||||||
* @return Pointer to configured server
|
|
||||||
*/
|
|
||||||
SERVER* config_get_server(const MXS_CONFIG_PARAMETER* params, const char* key);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get a serverlist value. The returned list is empty if even a partial error occurs.
|
|
||||||
*
|
*
|
||||||
* @param params List of configuration parameters
|
* @param params List of configuration parameters
|
||||||
* @param key Parameter name
|
* @param key Parameter name
|
||||||
|
@ -1802,16 +1802,16 @@ int64_t MXS_CONFIG_PARAMETER::get_enum(const std::string& key, const MXS_ENUM_VA
|
|||||||
return found ? rv : -1;
|
return found ? rv : -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
SERVICE* config_get_service(const MXS_CONFIG_PARAMETER* params, const char* key)
|
SERVICE* MXS_CONFIG_PARAMETER::get_service(const std::string& key) const
|
||||||
{
|
{
|
||||||
const char* value = config_get_value_string(params, key);
|
string param_value = get_string(key);
|
||||||
return service_find(value);
|
return service_find(param_value.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
SERVER* config_get_server(const MXS_CONFIG_PARAMETER* params, const char* key)
|
SERVER* MXS_CONFIG_PARAMETER::get_server(const std::string& key) const
|
||||||
{
|
{
|
||||||
const char* value = config_get_value_string(params, key);
|
string param_value = get_string(key);
|
||||||
return Server::find_by_unique_name(value);
|
return Server::find_by_unique_name(param_value.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
std::vector<SERVER*> config_get_server_list(const MXS_CONFIG_PARAMETER* params, const char* key,
|
std::vector<SERVER*> config_get_server_list(const MXS_CONFIG_PARAMETER* params, const char* key,
|
||||||
@ -3911,7 +3911,7 @@ int create_new_listener(CONFIG_CONTEXT* obj)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
const char* address = config_get_string(obj->parameters, CN_ADDRESS);
|
const char* address = config_get_string(obj->parameters, CN_ADDRESS);
|
||||||
Service* service = static_cast<Service*>(config_get_service(obj->parameters, CN_SERVICE));
|
Service* service = static_cast<Service*>(obj->parameters->get_service(CN_SERVICE));
|
||||||
mxb_assert(service);
|
mxb_assert(service);
|
||||||
|
|
||||||
// Remove this once maxadmin is removed
|
// Remove this once maxadmin is removed
|
||||||
|
@ -64,7 +64,7 @@ Tee::Tee(SERVICE* service,
|
|||||||
*/
|
*/
|
||||||
Tee* Tee::create(const char* name, MXS_CONFIG_PARAMETER* params)
|
Tee* Tee::create(const char* name, MXS_CONFIG_PARAMETER* params)
|
||||||
{
|
{
|
||||||
SERVICE* service = config_get_service(params, "service");
|
SERVICE* service = params->get_service("service");
|
||||||
const char* source = config_get_string(params, "source");
|
const char* source = config_get_string(params, "source");
|
||||||
const char* user = config_get_string(params, "user");
|
const char* user = config_get_string(params, "user");
|
||||||
uint32_t cflags = params->get_enum("options", option_values);
|
uint32_t cflags = params->get_enum("options", option_values);
|
||||||
|
@ -117,7 +117,7 @@ void CsMonitor::update_server_status(MXS_MONITORED_SERVER* srv)
|
|||||||
|
|
||||||
bool CsMonitor::configure(const MXS_CONFIG_PARAMETER* pParams)
|
bool CsMonitor::configure(const MXS_CONFIG_PARAMETER* pParams)
|
||||||
{
|
{
|
||||||
m_primary = config_get_server(pParams, "primary");
|
m_primary = pParams->get_server("primary");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ Config::Config(MXS_CONFIG_PARAMETER* conf)
|
|||||||
, debug(conf->get_bool("debug"))
|
, debug(conf->get_bool("debug"))
|
||||||
, ignore_regex(config_get_compiled_regex(conf, "ignore_databases_regex", 0, NULL))
|
, ignore_regex(config_get_compiled_regex(conf, "ignore_databases_regex", 0, NULL))
|
||||||
, ignore_match_data(ignore_regex ? pcre2_match_data_create_from_pattern(ignore_regex, NULL) : NULL)
|
, ignore_match_data(ignore_regex ? pcre2_match_data_create_from_pattern(ignore_regex, NULL) : NULL)
|
||||||
, preferred_server(config_get_server(conf, "preferred_server"))
|
, preferred_server(conf->get_server("preferred_server"))
|
||||||
{
|
{
|
||||||
ignored_dbs.insert("mysql");
|
ignored_dbs.insert("mysql");
|
||||||
ignored_dbs.insert("information_schema");
|
ignored_dbs.insert("information_schema");
|
||||||
|
Reference in New Issue
Block a user