MXS-1313: Fix updating of server character sets

The server character set is now updated every time a connection is created
with mxs_mysql_real_connect.
This commit is contained in:
Markus Mäkelä 2017-07-07 14:52:15 +03:00
parent 66048cf094
commit f3e98745bd
2 changed files with 11 additions and 6 deletions

View File

@ -166,7 +166,17 @@ MYSQL *mxs_mysql_real_connect(MYSQL *con, SERVER *server, const char *user, cons
mysql_ssl_set(con, listener->ssl_key, listener->ssl_cert, listener->ssl_ca_cert, NULL, NULL);
}
return mysql_real_connect(con, server->name, user, passwd, NULL, server->port, NULL, 0);
MYSQL* mysql = mysql_real_connect(con, server->name, user, passwd, NULL, server->port, NULL, 0);
if (mysql)
{
/** Copy the server charset */
MY_CHARSET_INFO cs_info;
mysql_get_character_set_info(mysql, &cs_info);
server->charset = cs_info.number;
}
return mysql;
}
bool mxs_mysql_trim_quotes(char *s)

View File

@ -517,11 +517,6 @@ static bool check_server_permissions(SERVICE *service, SERVER* server,
return my_errno != ER_ACCESS_DENIED_ERROR;
}
/** Copy the server charset */
MY_CHARSET_INFO cs_info;
mysql_get_character_set_info(mysql, &cs_info);
server->charset = cs_info.number;
if (server->server_string == NULL)
{
const char *server_string = mysql_get_server_info(mysql);