MXS-2220 Change server name to constant string

This commit is contained in:
Esa Korhonen
2018-12-19 15:15:02 +02:00
parent 5fc2c1f49c
commit 40485d746c
37 changed files with 194 additions and 173 deletions

View File

@ -649,7 +649,7 @@ int gssapi_auth_load_users(Listener* listener)
if (mxs_mysql_query(mysql, gssapi_users_query))
{
MXS_ERROR("Failed to query server '%s' for GSSAPI users: %s",
servers->server->name,
servers->server->name(),
mysql_error(mysql));
}
else

View File

@ -107,7 +107,7 @@ bool extract_principal_name(DCB* dcb, GWBUF* buffer)
* it's possible that the server authenticated us as the anonymous user. This
* means that the server is not secure. */
MXS_ERROR("Server '%s' returned an unexpected authentication response.%s",
dcb->server->name,
dcb->server->name(),
databuf[0] == MYSQL_REPLY_OK ?
" Authentication was complete before it even started, "
"anonymous users might not be disabled." : "");

View File

@ -884,7 +884,7 @@ static bool check_server_permissions(SERVICE* service,
MXS_ERROR("[%s] Failed to connect to server '%s' ([%s]:%d) when"
" checking authentication user credentials and permissions: %d %s",
service->name,
server->name,
server->name(),
server->address,
server->port,
my_errno,
@ -1146,7 +1146,7 @@ int get_users_from_server(MYSQL* con, SERVER_REF* server_ref, SERVICE* service,
if (!rv)
{
MXS_ERROR("Failed to load users from server '%s': %s", server->name, mysql_error(con));
MXS_ERROR("Failed to load users from server '%s': %s", server->name(), mysql_error(con));
}
MXS_FREE(query);

View File

@ -208,7 +208,7 @@ int PamInstance::load_users(SERVICE* service)
if (mysql_query(mysql, PAM_USERS_QUERY))
{
MXS_ERROR("Failed to query server '%s' for PAM users: '%s'.",
servers->server->name,
servers->server->name(),
mysql_error(mysql));
}
else
@ -319,7 +319,7 @@ bool PamInstance::query_anon_proxy_user(SERVER* server, MYSQL* conn)
if (mysql_query(conn, ANON_USER_QUERY))
{
MXS_ERROR("Failed to query server '%s' for the anonymous PAM user: '%s'.",
server->name,
server->name(),
mysql_error(conn));
success = false;
}
@ -346,7 +346,7 @@ bool PamInstance::query_anon_proxy_user(SERVER* server, MYSQL* conn)
if (mysql_query(conn, ANON_GRANT_QUERY))
{
MXS_ERROR("Failed to query server '%s' for the grants of the anonymous PAM user: '%s'.",
server->name,
server->name(),
mysql_error(conn));
success = false;
}

View File

@ -48,7 +48,7 @@ bool check_auth_switch_request(DCB* dcb, GWBUF* buffer)
bool was_ok_packet = copied > MYSQL_HEADER_LEN
&& data[MYSQL_HEADER_LEN + 1] == MYSQL_REPLY_OK;
MXS_ERROR("Server '%s' returned an unexpected authentication response.%s",
dcb->server->name,
dcb->server->name(),
was_ok_packet ?
" Authentication was complete before it even started, "
"anonymous users might not be disabled." : "");
@ -124,7 +124,7 @@ bool PamBackendSession::extract(DCB* dcb, GWBUF* buffer)
if (mxs_mysql_is_ok_packet(buffer))
{
MXS_DEBUG("pam_backend_auth_extract received ok packet from '%s'.",
dcb->server->name);
dcb->server->name());
m_state = PAM_AUTH_OK;
rval = true;
}
@ -138,7 +138,7 @@ bool PamBackendSession::extract(DCB* dcb, GWBUF* buffer)
if (!rval)
{
MXS_DEBUG("pam_backend_auth_extract to backend '%s' failed for user '%s'.",
dcb->server->name,
dcb->server->name(),
dcb->user);
}
return rval;
@ -151,7 +151,7 @@ int PamBackendSession::authenticate(DCB* dcb)
if (m_state == PAM_AUTH_INIT)
{
MXS_DEBUG("pam_backend_auth_authenticate sending password to '%s'.",
dcb->server->name);
dcb->server->name());
if (send_client_password(dcb))
{
rval = MXS_AUTH_INCOMPLETE;

View File

@ -601,7 +601,7 @@ static int clientReply(MXS_FILTER* instance, MXS_FILTER_SESSION* session, GWBUF*
"%ld%s%s%s%s%s%ld%s%s%s%s\n",
timestamp,
my_instance->delimiter,
reply->server->name,
reply->server->name(),
my_instance->delimiter,
my_session->userName,
my_instance->delimiter,

View File

@ -170,7 +170,7 @@ void GaleraMonitor::update_server_status(MXS_MONITORED_SERVER* monitored_server)
if (warn_erange_on_local_index)
{
MXS_WARNING("Invalid 'wsrep_local_index' on server '%s': %s",
monitored_server->server->name,
monitored_server->server->name(),
row[1]);
warn_erange_on_local_index = false;
}
@ -655,20 +655,20 @@ static int compare_node_priority(const void* a, const void* b)
if (!have_a && have_b)
{
MXS_DEBUG("Server %s has no given priority. It will be at the beginning of the list",
s_a->server->name);
s_a->server->name());
return -(INT_MAX - 1);
}
else if (have_a && !have_b)
{
MXS_DEBUG("Server %s has no given priority. It will be at the beginning of the list",
s_b->server->name);
s_b->server->name());
return INT_MAX - 1;
}
else if (!have_a && !have_b)
{
MXS_DEBUG("Servers %s and %s have no given priority. They be at the beginning of the list",
s_a->server->name,
s_b->server->name);
s_a->server->name(),
s_b->server->name());
return 0;
}

View File

@ -171,7 +171,7 @@ bool MariaDBMonitor::manual_rejoin(SERVER* rejoin_cand_srv, json_t** output)
else
{
PRINT_MXS_JSON_ERROR(output, "%s is not monitored by %s, cannot rejoin.",
rejoin_cand_srv->name, m_monitor->name);
rejoin_cand_srv->name(), m_monitor->name);
}
}
else
@ -204,7 +204,7 @@ bool MariaDBMonitor::manual_reset_replication(SERVER* master_server, json_t** er
MariaDBServer* new_master_cand = get_server(master_server);
if (new_master_cand == NULL)
{
PRINT_MXS_JSON_ERROR(error_out, NO_SERVER, master_server->name, m_monitor->name);
PRINT_MXS_JSON_ERROR(error_out, NO_SERVER, master_server->name(), m_monitor->name);
}
else if (!new_master_cand->is_usable())
{
@ -608,7 +608,7 @@ bool MariaDBMonitor::start_external_replication(MariaDBServer* new_master, json_
uint32_t MariaDBMonitor::do_rejoin(const ServerArray& joinable_servers, json_t** output)
{
SERVER* master_server = m_master->m_server_base->server;
const char* master_name = master_server->name;
const char* master_name = master_server->name();
uint32_t servers_joined = 0;
if (!joinable_servers.empty())
{
@ -1602,7 +1602,7 @@ MariaDBMonitor::switchover_prepare(SERVER* promotion_server, SERVER* demotion_se
MariaDBServer* demotion_candidate = get_server(demotion_server);
if (demotion_candidate == NULL)
{
PRINT_ERROR_IF(log_mode, error_out, NO_SERVER, demotion_server->name, m_monitor->name);
PRINT_ERROR_IF(log_mode, error_out, NO_SERVER, demotion_server->name(), m_monitor->name);
}
else if (!demotion_candidate->can_be_demoted_switchover(&demotion_msg))
{
@ -1646,7 +1646,7 @@ MariaDBMonitor::switchover_prepare(SERVER* promotion_server, SERVER* demotion_se
MariaDBServer* promotion_candidate = get_server(promotion_server);
if (promotion_candidate == NULL)
{
PRINT_ERROR_IF(log_mode, error_out, NO_SERVER, promotion_server->name, m_monitor->name);
PRINT_ERROR_IF(log_mode, error_out, NO_SERVER, promotion_server->name(), m_monitor->name);
}
else if (!promotion_candidate->can_be_promoted(op_type, demotion_target, &promotion_msg))
{

View File

@ -647,7 +647,7 @@ bool MariaDBServer::is_read_only() const
const char* MariaDBServer::name() const
{
return m_server_base->server->name;
return m_server_base->server->name();
}
string MariaDBServer::diagnostics() const

View File

@ -156,9 +156,7 @@ void MariaDBMonitor::Test::init_servers(int count)
for (int i = 1; i < count + 1; i++)
{
auto base_server = new Server; // Contents mostly undefined
string server_name = create_servername(i);
base_server->name = MXS_STRDUP(server_name.c_str());
auto base_server = Server::create_test_server(); // Contents mostly undefined
MXS_MONITORED_SERVER* mon_server = new MXS_MONITORED_SERVER; // Contents mostly undefined
mon_server->server = base_server;
@ -193,7 +191,6 @@ void MariaDBMonitor::Test::clear_servers()
m_monitor->m_servers_by_id.clear();
for (MariaDBServer* server : m_monitor->m_servers)
{
MXS_FREE(server->m_server_base->server->name);
delete server->m_server_base->server;
delete server->m_server_base;
delete server;

View File

@ -208,7 +208,7 @@ void MMMonitor::update_server_status(MXS_MONITORED_SERVER* monitored_server)
" for versions less than 5.5 does not have master_server_id, "
"replication tree cannot be resolved for server %s."
" MySQL Version: %s",
monitored_server->server->name,
monitored_server->server->name(),
server_string.c_str());
monitored_server->log_version_err = false;
}

View File

@ -324,7 +324,7 @@ static void handle_error_response(DCB* dcb, GWBUF* buffer)
MXS_ERROR("Invalid authentication message from backend '%s'. Error code: %d, "
"Msg : %s",
dcb->server->name,
dcb->server->name(),
errcode,
bufstr);
@ -337,7 +337,7 @@ static void handle_error_response(DCB* dcb, GWBUF* buffer)
"Run 'mysqladmin -h %s -P %d flush-hosts' on this "
"server before taking this server out of maintenance "
"mode.",
dcb->server->name,
dcb->server->name(),
dcb->server->address,
dcb->server->port);
@ -1211,7 +1211,7 @@ static int gw_MySQLWrite_backend(DCB* dcb, GWBUF* queue)
{
MXS_ERROR("Unable to write to backend '%s' due to "
"%s failure. Server in state %s.",
dcb->server->name,
dcb->server->name(),
backend_protocol->protocol_auth_state == MXS_AUTH_STATE_HANDSHAKE_FAILED ?
"handshake" : "authentication",
mxs::server_status(dcb->server).c_str());
@ -1941,7 +1941,7 @@ static void gw_send_proxy_protocol_header(DCB* backend_dcb)
{
MXS_INFO("Sending proxy-protocol header '%s' to backend %s.",
proxy_header,
backend_dcb->server->name);
backend_dcb->server->name());
if (!dcb_write(backend_dcb, headerbuf))
{
gwbuf_free(headerbuf);

View File

@ -1314,7 +1314,7 @@ static void closeSession(MXS_ROUTER* instance, MXS_ROUTER_SESSION* router_sessio
time(0) - router->connect_time,
router->stats.n_binlogs_ses);
MXS_ERROR("Binlog router close session with master server %s",
router->service->dbref->server->name);
router->service->dbref->server->name());
blr_master_reconnect(router);
return;
}

View File

@ -177,7 +177,7 @@ static void blr_start_master(void* data)
"reached %d maximum number of retries. "
"Replication is stopped.",
router->service->name,
router->service->dbref->server->name,
router->service->dbref->server->name(),
router->retry_limit);
return;
}
@ -246,7 +246,7 @@ static void blr_start_master(void* data)
MXS_ERROR("%s: failure while connecting to master server '%s', "
"retrying in %d seconds",
router->service->name,
router->service->dbref->server->name,
router->service->dbref->server->name(),
connect_retry);
return;
}
@ -385,7 +385,7 @@ static void blr_restart_master(ROUTER_INSTANCE* router)
"reached %d maximum number of retries. "
"Replication is stopped.",
router->service->name,
router->service->dbref->server->name,
router->service->dbref->server->name(),
router->retry_limit);
return;
}
@ -419,7 +419,7 @@ static void blr_restart_master(ROUTER_INSTANCE* router)
MXS_ERROR("%s: failed to connect to master server '%s', "
"retrying in %d seconds",
router->service->name,
router->service->dbref->server->name,
router->service->dbref->server->name(),
connect_retry);
}
else

View File

@ -962,13 +962,13 @@ static void cmd_AddServer(DCB* dcb, Server* server,
{
if (runtime_link_server(server, values[i]))
{
dcb_printf(dcb, "Added server '%s' to '%s'\n", server->name, values[i]);
dcb_printf(dcb, "Added server '%s' to '%s'\n", server->name(), values[i]);
}
else
{
dcb_printf(dcb,
"Could not add server '%s' to object '%s'. See error log for more details.\n",
server->name,
server->name(),
values[i]);
}
}
@ -1072,7 +1072,7 @@ static void cmd_RemoveServer(DCB* dcb, Server* server,
{
if (runtime_unlink_server(server, values[i]))
{
dcb_printf(dcb, "Removed server '%s' from '%s'\n", server->name, values[i]);
dcb_printf(dcb, "Removed server '%s' from '%s'\n", server->name(), values[i]);
}
else
{
@ -1388,8 +1388,8 @@ static void destroyServer(DCB* dcb, Server* server)
/** Do this so that we don't directly access the server. Currently, the
* destruction of a server does not free any memory and the server stays
* valid. */
char name[strlen(server->name) + 1];
strcpy(name, server->name);
char name[strlen(server->name()) + 1];
strcpy(name, server->name());
if (runtime_destroy_server(server))
{
@ -1566,7 +1566,7 @@ static void alterServer(DCB* dcb, Server* server,
dcb_printf(dcb,
"Enabling SSL for server '%s' failed, see log "
"for more details.\n",
server->name);
server->name());
}
}
else

View File

@ -197,7 +197,7 @@ Dcb HintRouter::connect_to_backend(MXS_SESSION* session,
HintRouterSession::BackendMap* all_backends)
{
Dcb result(NULL);
HR_DEBUG("Connecting to %s.", sref->server->name);
HR_DEBUG("Connecting to %s.", sref->server->name());
DCB* new_connection = dcb_connect(sref->server, session, sref->server->protocol);
if (new_connection)
@ -206,7 +206,7 @@ Dcb HintRouter::connect_to_backend(MXS_SESSION* session,
mxb::atomic::add(&sref->connections, 1, mxb::atomic::RELAXED);
result = Dcb(new_connection);
string name(new_connection->server->name);
string name(new_connection->server->name());
all_backends->insert(HintRouterSession::MapElement(name, result));
}
else

View File

@ -43,7 +43,7 @@ public:
if (pPacket)
{
SERVER* pServer = dcb.server();
HR_DEBUG("Writing packet to %p %s.", dcb.get(), pServer ? pServer->name : "(null)");
HR_DEBUG("Writing packet to %p %s.", dcb.get(), pServer ? pserver->name() : "(null)");
rv = dcb.write(pPacket);
}
return rv;
@ -138,13 +138,13 @@ void HintRouterSession::clientReply(GWBUF* pPacket, DCB* pBackend)
if (m_surplus_replies == 0)
{
HR_DEBUG("Returning packet from %s.", pServer ? pServer->name : "(null)");
HR_DEBUG("Returning packet from %s.", pServer ? pserver->name() : "(null)");
MXS_SESSION_ROUTE_REPLY(pBackend->session, pPacket);
}
else
{
HR_DEBUG("Ignoring reply packet from %s.", pServer ? pServer->name : "(null)");
HR_DEBUG("Ignoring reply packet from %s.", pServer ? pserver->name() : "(null)");
--m_surplus_replies;
gwbuf_free(pPacket);
@ -219,7 +219,7 @@ bool HintRouterSession::route_by_hint(GWBUF* pPacket, HINT* hint, bool print_err
if (master_ok)
{
HR_DEBUG("Writing packet to master: '%s'.", m_master.server()->name);
HR_DEBUG("Writing packet to master: '%s'.", m_master.server()->name());
success = m_master.write(pPacket);
if (success)
{
@ -247,7 +247,7 @@ bool HintRouterSession::route_by_hint(GWBUF* pPacket, HINT* hint, bool print_err
BackendMap::const_iterator iter = m_backends.find(backend_name);
if (iter != m_backends.end())
{
HR_DEBUG("Writing packet to %s.", iter->second.server()->name);
HR_DEBUG("Writing packet to %s.", iter->second.server()->name());
success = iter->second.write(pPacket);
if (success)
{
@ -319,7 +319,7 @@ bool HintRouterSession::route_to_slave(GWBUF* pPacket, bool print_errors)
Dcb& candidate = m_slaves.at(curr % size);
if (server_is_slave(candidate.server()))
{
HR_DEBUG("Writing packet to slave: '%s'.", candidate.server()->name);
HR_DEBUG("Writing packet to slave: '%s'.", candidate.server()->name());
success = candidate.write(pPacket);
if (success)
{
@ -347,7 +347,7 @@ bool HintRouterSession::route_to_slave(GWBUF* pPacket, bool print_errors)
for (size_type curr = begin; curr != limit; curr++)
{
Dcb& candidate = m_slaves.at(curr % size);
HR_DEBUG("Writing packet to slave: '%s'.", candidate.server()->name);
HR_DEBUG("Writing packet to slave: '%s'.", candidate.server()->name());
success = candidate.write(pPacket);
if (success)
{

View File

@ -428,7 +428,7 @@ static MXS_ROUTER_SESSION* newSession(MXS_ROUTER* instance, MXS_SESSION* session
inst->stats.n_sessions++;
MXS_INFO("New session for server %s. Connections : %d",
candidate->server->name,
candidate->server->name(),
candidate->connections);
return reinterpret_cast<MXS_ROUTER_SESSION*>(client_rses);
@ -485,15 +485,15 @@ static void log_closed_session(mxs_mysql_cmd_t mysql_command, SERVER_REF* ref)
if (server_is_down(ref->server))
{
sprintf(msg, "Server '%s' is down.", ref->server->name);
sprintf(msg, "Server '%s' is down.", ref->server->name());
}
else if (server_is_in_maint(ref->server))
{
sprintf(msg, "Server '%s' is in maintenance.", ref->server->name);
sprintf(msg, "Server '%s' is in maintenance.", ref->server->name());
}
else
{
sprintf(msg, "Server '%s' no longer qualifies as a target server.", ref->server->name);
sprintf(msg, "Server '%s' no longer qualifies as a target server.", ref->server->name());
}
MXS_ERROR("Failed to route MySQL command %d to backend server. %s", mysql_command, msg);
@ -598,7 +598,7 @@ static int routeQuery(MXS_ROUTER* instance, MXS_ROUTER_SESSION* router_session,
MXS_INFO("Routed [%s] to '%s'%s%s",
STRPACKETTYPE(mysql_command),
backend_dcb->server->name,
backend_dcb->server->name(),
trc ? ": " : ".",
trc ? trc : "");
MXS_FREE(trc);
@ -638,7 +638,7 @@ static void diagnostics(MXS_ROUTER* router, DCB* dcb)
{
dcb_printf(dcb,
"\t\t%-20s %3.1f%% %d\n",
ref->server->name,
ref->server->name(),
ref->server_weight * 100,
ref->connections);
}

View File

@ -347,7 +347,7 @@ void RWSplit::diagnostics(DCB* dcb)
{
dcb_printf(dcb,
"\t\t%-20s %3.1f%% %-6d %-6d %d\n",
ref->server->name,
ref->server->name(),
ref->server_weight * 100,
ref->server->stats.n_current,
ref->connections,
@ -368,7 +368,7 @@ void RWSplit::diagnostics(DCB* dcb)
dcb_printf(dcb,
" %10s %10ld %10ld %10ld %9s %10.02f%% %10ld\n",
s.first->name,
s.first->name(),
cs.total_queries,
cs.total_read_queries,
cs.total_write_queries,
@ -409,7 +409,7 @@ json_t* RWSplit::diagnostics_json() const
ServerStats::CurrentStats stats = a.second.current_stats();
json_t* obj = json_object();
json_object_set_new(obj, "id", json_string(a.first->name));
json_object_set_new(obj, "id", json_string(a.first->name()));
json_object_set_new(obj, "total", json_integer(stats.total_queries));
json_object_set_new(obj, "read", json_integer(stats.total_read_queries));
json_object_set_new(obj, "write", json_integer(stats.total_write_queries));

View File

@ -764,7 +764,7 @@ void check_and_log_backend_state(const RWBackend* backend, DCB* problem_dcb)
else
{
const char* remote = problem_dcb->state == DCB_STATE_POLLING
&& problem_dcb->server ? problem_dcb->server->name : "CLOSED";
&& problem_dcb->server ? problem_dcb->server->name() : "CLOSED";
MXS_ERROR("DCB connected to '%s' is not in use by the router "
"session, not closing it. DCB is in state '%s'",

View File

@ -393,7 +393,7 @@ int32_t SchemaRouterSession::routeQuery(GWBUF* pPacket)
{
MXS_INFO("INIT_DB for database '%s' on server '%s'",
m_current_db.c_str(),
target->name);
target->name());
route_target = TARGET_NAMED_SERVER;
}
else
@ -429,7 +429,7 @@ int32_t SchemaRouterSession::routeQuery(GWBUF* pPacket)
DCB* target_dcb = NULL;
if (TARGET_IS_NAMED_SERVER(route_target) && target
&& get_shard_dcb(&target_dcb, target->name))
&& get_shard_dcb(&target_dcb, target->name()))
{
/** We know where to route this query */
SSRBackend bref = get_bref_from_dcb(target_dcb);
@ -530,7 +530,7 @@ void SchemaRouterSession::process_sescmd_response(SSRBackend& bref, GWBUF** ppPa
mxs_mysql_extract_ps_response(*ppPacket, &resp);
MXS_INFO("ID: %lu HANDLE: %lu", (unsigned long)id, (unsigned long)resp.id);
m_shard.add_ps_handle(id, resp.id);
MXS_INFO("STMT SERVER: %s", bref->backend()->server->name);
MXS_INFO("STMT SERVER: %s", bref->backend()->server->name());
m_shard.add_statement(id, bref->backend()->server);
uint8_t* ptr = GWBUF_DATA(*ppPacket) + MYSQL_PS_ID_OFFSET;
gw_mysql_set_byte4(ptr, id);
@ -894,7 +894,7 @@ bool SchemaRouterSession::send_shards()
for (const auto& a : pContent)
{
set->add_row({a.first, a.second->name});
set->add_row({a.first, a.second->name()});
}
set->write(m_client);
@ -953,19 +953,19 @@ bool SchemaRouterSession::handle_default_db()
SSRBackend backend;
DCB* dcb = NULL;
if (get_shard_dcb(&dcb, target->name)
if (get_shard_dcb(&dcb, target->name())
&& (backend = get_bref_from_dcb(dcb)))
{
backend->write(buffer);
MXS_DEBUG("USE '%s' sent to %s for session %p",
m_connect_db.c_str(),
target->name,
target->name(),
m_client->session);
rval = true;
}
else
{
MXS_INFO("Couldn't find target DCB for '%s'.", target->name);
MXS_INFO("Couldn't find target DCB for '%s'.", target->name());
}
}
else
@ -1031,7 +1031,7 @@ int SchemaRouterSession::inspect_mapping_states(SSRBackend& bref,
{
(*it)->set_mapped(true);
MXS_DEBUG("Received SHOW DATABASES reply from %s for session %p",
(*it)->backend()->server->name,
(*it)->backend()->server->name(),
m_client->session);
}
else
@ -1086,7 +1086,7 @@ int SchemaRouterSession::inspect_mapping_states(SSRBackend& bref,
{
mapped = false;
MXS_DEBUG("Still waiting for reply to SHOW DATABASES from %s for session %p",
(*it)->backend()->server->name,
(*it)->backend()->server->name(),
m_client->session);
}
}
@ -1126,7 +1126,7 @@ bool change_current_db(std::string& dest, Shard& shard, GWBUF* buf)
if (target)
{
dest = db;
MXS_INFO("change_current_db: database is on server: '%s'.", target->name);
MXS_INFO("change_current_db: database is on server: '%s'.", target->name());
succp = true;
}
}
@ -1306,7 +1306,7 @@ enum showdb_response SchemaRouterSession::parse_mapping_response(SSRBackend& bre
{
if (m_shard.add_location(data, target))
{
MXS_INFO("<%s, %s>", target->name, data);
MXS_INFO("<%s, %s>", target->name(), data);
}
else
{
@ -1317,8 +1317,8 @@ enum showdb_response SchemaRouterSession::parse_mapping_response(SSRBackend& bre
MXS_ERROR("Table '%s' found on servers '%s' and '%s' for user %s@%s.",
data,
target->name,
duplicate->name,
target->name(),
duplicate->name(),
m_client->user,
m_client->remote);
}
@ -1327,8 +1327,8 @@ enum showdb_response SchemaRouterSession::parse_mapping_response(SSRBackend& bre
/** In conflict situations, use the preferred server */
MXS_INFO("Forcing location of '%s' from '%s' to '%s'",
data,
m_shard.get_location(data)->name,
target->name);
m_shard.get_location(data)->name(),
target->name());
m_shard.replace_location(data, target);
}
}
@ -1341,12 +1341,12 @@ enum showdb_response SchemaRouterSession::parse_mapping_response(SSRBackend& bre
{
n_eof++;
MXS_INFO("SHOW DATABASES fully received from %s.",
bref->backend()->server->name);
bref->backend()->server->name());
}
else
{
MXS_INFO("SHOW DATABASES partially received from %s.",
bref->backend()->server->name);
bref->backend()->server->name());
}
gwbuf_free(buf);
@ -1402,7 +1402,7 @@ void SchemaRouterSession::query_databases()
if (!(*it)->write(clone))
{
MXS_ERROR("Failed to write mapping query to '%s'",
(*it)->backend()->server->name);
(*it)->backend()->server->name());
}
}
}
@ -1441,12 +1441,12 @@ SERVER* SchemaRouterSession::get_shard_target(GWBUF* buffer, uint32_t qtype)
{
for (SSRBackendList::iterator it = m_backends.begin(); it != m_backends.end(); it++)
{
char* srvnm = (*it)->backend()->server->name;
const char* srvnm = (*it)->backend()->server->name();
if (strcmp(srvnm, (char*)buffer->hint->data) == 0)
{
rval = (*it)->backend()->server;
MXS_INFO("Routing hint found (%s)", rval->name);
MXS_INFO("Routing hint found (%s)", rval->name());
}
}
}
@ -1463,7 +1463,7 @@ SERVER* SchemaRouterSession::get_shard_target(GWBUF* buffer, uint32_t qtype)
{
MXS_INFO("Using active database '%s' on '%s'",
m_current_db.c_str(),
rval->name);
rval->name());
}
}
return rval;
@ -1482,7 +1482,7 @@ SERVER* SchemaRouterSession::get_shard_target(GWBUF* buffer, uint32_t qtype)
*
* @return True if proper DCB was found, false otherwise.
*/
bool SchemaRouterSession::get_shard_dcb(DCB** p_dcb, char* name)
bool SchemaRouterSession::get_shard_dcb(DCB** p_dcb, const char* name)
{
bool succp = false;
mxb_assert(p_dcb != NULL && *(p_dcb) == NULL);
@ -1496,7 +1496,7 @@ bool SchemaRouterSession::get_shard_dcb(DCB** p_dcb, char* name)
* the backend state must be RUNNING
*/
if ((*it)->in_use()
&& (strncasecmp(name, b->server->name, PATH_MAX) == 0)
&& (strncasecmp(name, b->server->name(), PATH_MAX) == 0)
&& server_is_usable(b->server))
{
*p_dcb = (*it)->dcb();
@ -1706,15 +1706,15 @@ SERVER* SchemaRouterSession::get_query_target(GWBUF* buffer)
{
MXS_ERROR("Query targets tables on servers '%s' and '%s'. "
"Cross server queries are not supported.",
rval->name,
target->name);
rval->name(),
target->name());
}
else if (rval == NULL)
{
rval = target;
MXS_INFO("Query targets table '%s' on server '%s'",
tables[j],
rval->name);
rval->name());
}
}
}
@ -1754,8 +1754,8 @@ SERVER* SchemaRouterSession::get_ps_target(GWBUF* buffer, uint32_t qtype, qc_que
{
MXS_ERROR("Statement targets tables on servers '%s' and '%s'. "
"Cross server queries are not supported.",
rval->name,
target->name);
rval->name(),
target->name());
}
else if (rval == NULL)
{
@ -1767,7 +1767,7 @@ SERVER* SchemaRouterSession::get_ps_target(GWBUF* buffer, uint32_t qtype, qc_que
if (rval)
{
MXS_INFO("PREPARING NAMED %s ON SERVER %s", stmt, rval->name);
MXS_INFO("PREPARING NAMED %s ON SERVER %s", stmt, rval->name());
m_shard.add_statement(stmt, rval);
}
MXS_FREE(tables);
@ -1777,7 +1777,7 @@ SERVER* SchemaRouterSession::get_ps_target(GWBUF* buffer, uint32_t qtype, qc_que
{
char* stmt = qc_get_prepare_name(buffer);
rval = m_shard.get_statement(stmt);
MXS_INFO("Executing named statement %s on server %s", stmt, rval->name);
MXS_INFO("Executing named statement %s on server %s", stmt, rval->name());
MXS_FREE(stmt);
}
else if (qc_query_is_type(qtype, QUERY_TYPE_DEALLOC_PREPARE))
@ -1786,7 +1786,7 @@ SERVER* SchemaRouterSession::get_ps_target(GWBUF* buffer, uint32_t qtype, qc_que
if ((rval = m_shard.get_statement(stmt)))
{
MXS_INFO("Closing named statement %s on server %s", stmt, rval->name);
MXS_INFO("Closing named statement %s on server %s", stmt, rval->name());
m_shard.remove_statement(stmt);
}
MXS_FREE(stmt);
@ -1801,7 +1801,7 @@ SERVER* SchemaRouterSession::get_ps_target(GWBUF* buffer, uint32_t qtype, qc_que
rval = m_shard.get_location(tables[0]);
MXS_FREE(tables[i]);
}
rval ? MXS_INFO("Prepare statement on server %s", rval->name) :
rval ? MXS_INFO("Prepare statement on server %s", rval->name()) :
MXS_INFO("Prepared statement targets no mapped tables");
MXS_FREE(tables);
}

View File

@ -126,7 +126,7 @@ private:
/** Helper functions */
SERVER* get_shard_target(GWBUF* buffer, uint32_t qtype);
SSRBackend get_bref_from_dcb(DCB* dcb);
bool get_shard_dcb(DCB** dcb, char* name);
bool get_shard_dcb(DCB** dcb, const char* name);
bool have_servers();
bool handle_default_db();
bool ignore_duplicate_database(const char* data);

View File

@ -38,7 +38,7 @@ void Shard::add_statement(std::string stmt, SERVER* target)
void Shard::add_statement(uint32_t id, SERVER* target)
{
MXS_DEBUG("ADDING ID: [%u] server: [%s]", id, target->name);
MXS_DEBUG("ADDING ID: [%u] server: [%s]", id, target->name());
m_binary_map[id] = target;
}
@ -82,11 +82,11 @@ SERVER* Shard::get_location(std::string table)
{
if ((rval && rval != it->second))
{
MXS_DEBUG("There are 2 databases with same name on a different servers: '%s' and '%s'. Connecting to '%s'"
,
rval->name,
it->second->name,
rval->name);
MXS_DEBUG("There are 2 databases with same name on a different servers: '%s' and '%s'. "
"Connecting to '%s'",
rval->name(),
it->second->name(),
rval->name());
break;
}
else