MXS-2304 Add contains() to test if a parameter exists
Replaces uses of config_get_param() in modules either with contains() or get_string(). The config_get_param() is moved to internal headers, as it allows seeing inside a config setting.
This commit is contained in:
@ -94,11 +94,11 @@ void Avro::read_source_service_options(SERVICE* source)
|
||||
Avro* Avro::create(SERVICE* service, SRowEventHandler handler)
|
||||
{
|
||||
SERVICE* source_service = NULL;
|
||||
MXS_CONFIG_PARAMETER* param = config_get_param(service->svc_config_param, "source");
|
||||
std::string source_name = service->svc_config_param->get_string("source");
|
||||
|
||||
if (param)
|
||||
if (!source_name.empty())
|
||||
{
|
||||
SERVICE* source = service_find(param->value);
|
||||
SERVICE* source = service_find(source_name.c_str());
|
||||
mxb_assert(source);
|
||||
|
||||
if (source)
|
||||
@ -119,7 +119,7 @@ Avro* Avro::create(SERVICE* service, SRowEventHandler handler)
|
||||
}
|
||||
else
|
||||
{
|
||||
MXS_ERROR("Service '%s' not found.", param->value);
|
||||
MXS_ERROR("Service '%s' not found.", source_name.c_str());
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
@ -191,11 +191,11 @@ bool RWSplit::have_enough_servers() const
|
||||
return succp;
|
||||
}
|
||||
|
||||
static void log_router_options_not_supported(SERVICE* service, MXS_CONFIG_PARAMETER* p)
|
||||
static void log_router_options_not_supported(SERVICE* service, std::string router_opts)
|
||||
{
|
||||
std::stringstream ss;
|
||||
|
||||
for (const auto& a : mxs::strtok(p->value, ", \t"))
|
||||
for (const auto& a : mxs::strtok(router_opts, ", \t"))
|
||||
{
|
||||
ss << a << "\n";
|
||||
}
|
||||
@ -214,9 +214,10 @@ static void log_router_options_not_supported(SERVICE* service, MXS_CONFIG_PARAME
|
||||
|
||||
RWSplit* RWSplit::create(SERVICE* service, MXS_CONFIG_PARAMETER* params)
|
||||
{
|
||||
if (MXS_CONFIG_PARAMETER* p = config_get_param(params, CN_ROUTER_OPTIONS))
|
||||
|
||||
if (params->contains(CN_ROUTER_OPTIONS))
|
||||
{
|
||||
log_router_options_not_supported(service, p);
|
||||
log_router_options_not_supported(service, params->get_string(CN_ROUTER_OPTIONS));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@ -31,9 +31,10 @@ Config::Config(MXS_CONFIG_PARAMETER* conf)
|
||||
ignored_dbs.insert("performance_schema");
|
||||
|
||||
// TODO: Don't process this in the router
|
||||
if (MXS_CONFIG_PARAMETER* p = config_get_param(conf, "ignore_databases"))
|
||||
std::string ignored_dbs_str = conf->get_string("ignore_databases");
|
||||
if (!ignored_dbs_str.empty())
|
||||
{
|
||||
for (const auto& a : mxs::strtok(p->value, ", \t"))
|
||||
for (const auto& a : mxs::strtok(ignored_dbs_str, ", \t"))
|
||||
{
|
||||
ignored_dbs.insert(a);
|
||||
}
|
||||
|
@ -53,7 +53,7 @@ SchemaRouter::~SchemaRouter()
|
||||
|
||||
SchemaRouter* SchemaRouter::create(SERVICE* pService, MXS_CONFIG_PARAMETER* params)
|
||||
{
|
||||
if ((config_get_param(params, "auth_all_servers")) == NULL)
|
||||
if (!params->contains("auth_all_servers"))
|
||||
{
|
||||
MXS_NOTICE("Authentication data is fetched from all servers. To disable this "
|
||||
"add 'auth_all_servers=0' to the service.");
|
||||
|
Reference in New Issue
Block a user