MXS-1506: Clean up various functions

Reduced variable scopes and removed unused code.
This commit is contained in:
Markus Mäkelä
2018-04-06 10:36:53 +03:00
parent 23bc8b6db6
commit c8d25f293f
5 changed files with 14 additions and 45 deletions

View File

@ -59,22 +59,19 @@ using namespace maxscale;
*/
static bool rwsplit_process_router_options(Config& config, char **options)
{
int i;
char *value;
select_criteria_t c;
if (options == NULL)
{
return true;
}
MXS_WARNING("Router options for readwritesplit are deprecated.");
bool success = true;
for (i = 0; options[i]; i++)
for (int i = 0; options[i]; i++)
{
if ((value = strchr(options[i], '=')) == NULL)
char* value = strchr(options[i], '=');
if (value == NULL)
{
MXS_ERROR("Unsupported router option \"%s\" for readwritesplit router.", options[i]);
success = false;
@ -85,7 +82,7 @@ static bool rwsplit_process_router_options(Config& config, char **options)
value++;
if (strcmp(options[i], "slave_selection_criteria") == 0)
{
c = GET_SELECT_CRITERIA(value);
select_criteria_t c = GET_SELECT_CRITERIA(value);
ss_dassert(c == LEAST_GLOBAL_CONNECTIONS ||
c == LEAST_ROUTER_CONNECTIONS || c == LEAST_BEHIND_MASTER ||
c == LEAST_CURRENT_OPERATIONS || c == UNDEFINED_CRITERIA);
@ -155,7 +152,7 @@ static bool rwsplit_process_router_options(Config& config, char **options)
success = false;
}
}
} /*< for */
}
return success;
}

View File

@ -10,7 +10,8 @@ namespace maxscale
RWBackend::RWBackend(SERVER_REF* ref):
mxs::Backend(ref),
m_reply_state(REPLY_STATE_DONE),
m_large_packet(false)
m_large_packet(false),
m_command(0)
{
}

View File

@ -121,31 +121,6 @@ bool RWSplitSession::handle_target_is_all(route_target_t route_target, GWBUF *qu
return result;
}
/*
* Probably MySQL specific because of modutil function
*/
/**
* @brief Write an error message to the log for closed session
*
* This happens if a request is received for a session that is already
* closing down.
*
* @param querybuf Query buffer containing packet
*/
void closed_session_reply(GWBUF *querybuf)
{
uint8_t* data = GWBUF_DATA(querybuf);
if (GWBUF_LENGTH(querybuf) >= 5 && !MYSQL_IS_COM_QUIT(data))
{
/* Note that most modutil functions are MySQL specific */
char *query_str = modutil_get_query(querybuf);
MXS_ERROR("Can't route %s:\"%s\" to backend server. Router is closed.",
STRPACKETTYPE(data[4]), query_str ? query_str : "(empty)");
MXS_FREE(query_str);
}
}
/**
* @brief Send an error message to the client telling that the server is in read only mode
*

View File

@ -312,7 +312,7 @@ bool RWSplit::select_connect_backend_servers(MXS_SESSION *session,
/** Check slave selection criteria and set compare function */
select_criteria_t select_criteria = config().slave_selection_criteria;
int (*cmpfun)(const SRWBackend&, const SRWBackend&) = criteria_cmpfun[select_criteria];
auto cmpfun = criteria_cmpfun[select_criteria];
ss_dassert(cmpfun);
if (MXS_LOG_PRIORITY_IS_ENABLED(LOG_INFO))

View File

@ -222,9 +222,6 @@ bool RWSplitSession::route_stored_query()
GWBUF* RWSplitSession::discard_master_wait_gtid_result(GWBUF *buffer)
{
uint8_t header_and_command[MYSQL_HEADER_LEN + 1];
uint8_t packet_len = 0;
uint8_t offset = 0;
mxs_mysql_cmd_t com;
gwbuf_copy_data(buffer, 0, MYSQL_HEADER_LEN + 1, header_and_command);
/* ignore error packet */
@ -236,7 +233,7 @@ GWBUF* RWSplitSession::discard_master_wait_gtid_result(GWBUF *buffer)
/* this packet must be an ok packet now */
ss_dassert(MYSQL_GET_COMMAND(header_and_command) == MYSQL_REPLY_OK);
packet_len = MYSQL_GET_PAYLOAD_LEN(header_and_command) + MYSQL_HEADER_LEN;
uint8_t packet_len = MYSQL_GET_PAYLOAD_LEN(header_and_command) + MYSQL_HEADER_LEN;
m_wait_gtid_state = EXPECTING_REAL_RESULT;
m_next_seq = 1;
@ -284,14 +281,14 @@ SRWBackend& RWSplitSession::get_backend_from_dcb(DCB *dcb)
*/
void RWSplitSession::correct_packet_sequence(GWBUF *buffer)
{
uint8_t header[3];
uint32_t offset = 0;
uint32_t packet_len = 0;
if (m_wait_gtid_state == EXPECTING_REAL_RESULT)
{
uint8_t header[3];
uint32_t offset = 0;
while (gwbuf_copy_data(buffer, offset, 3, header) == 3)
{
packet_len = MYSQL_GET_PAYLOAD_LEN(header) + MYSQL_HEADER_LEN;
uint32_t packet_len = MYSQL_GET_PAYLOAD_LEN(header) + MYSQL_HEADER_LEN;
uint8_t *seq = gwbuf_byte_pointer(buffer, offset + MYSQL_SEQ_OFFSET);
*seq = m_next_seq;
m_next_seq++;
@ -647,7 +644,6 @@ bool RWSplitSession::handle_error_new_connection(DCB *backend_dcb, GWBUF *errmsg
route_stored_query();
}
int max_nslaves = m_router->max_slave_count();
bool succp;
/**
* Try to get replacement slave or at least the minimum