MXS-1249: Take mxs_mysql_set_server_version into use

The function should actually be in include/maxscale/protocol/mysql.h
and the implementation in MySQLCommon, but the monitors do not link
to that yet.

All MySQL related should be moved to MySQLCommon and the core
refactored so that no MySQL knowledge is needed there.
This commit is contained in:
Johan Wikman
2017-06-16 14:14:29 +03:00
parent d927f1d3c6
commit c94d9c76fb
4 changed files with 14 additions and 50 deletions

View File

@ -524,8 +524,7 @@ static bool check_server_permissions(SERVICE *service, SERVER* server,
if (server->version_string[0] == 0) if (server->version_string[0] == 0)
{ {
const char *version_string = mysql_get_server_info(mysql); mxs_mysql_set_server_version(mysql, server);
server_set_version_string(server, version_string);
} }
const char *template = "SELECT user, host, %s, Select_priv FROM mysql.user limit 1"; const char *template = "SELECT user, host, %s, Select_priv FROM mysql.user limit 1";
@ -730,8 +729,7 @@ int get_users_from_server(MYSQL *con, SERVER_REF *server_ref, SERVICE *service,
{ {
if (server_ref->server->version_string[0] == 0) if (server_ref->server->version_string[0] == 0)
{ {
const char *version_string = mysql_get_server_info(con); mxs_mysql_set_server_version(con, server_ref->server);
server_set_version_string(server_ref->server, version_string);
} }
char *query = get_new_users_query(server_ref->server->version_string, service->enable_root); char *query = get_new_users_query(server_ref->server->version_string, service->enable_root);

View File

@ -13,31 +13,14 @@
/** /**
* @file galera_mon.c - A MySQL Galera cluster monitor * @file galera_mon.c - A MySQL Galera cluster monitor
*
* @verbatim
* Revision History
*
* Date Who Description
* 22/07/13 Mark Riddoch Initial implementation
* 21/05/14 Massimiliano Pinto Monitor sets a master server that has the lowest value of wsrep_local_index
* 23/05/14 Massimiliano Pinto Added 1 configuration option (setInterval). Interval is printed in diagnostics.
* 03/06/14 Mark Riddoch Add support for maintenance mode
* 24/06/14 Massimiliano Pinto Added depth level 0 for each node
* 30/10/14 Massimiliano Pinto Added disableMasterFailback feature
* 10/11/14 Massimiliano Pinto Added setNetworkTimeout for connect,read,write
* 20/04/15 Guillaume Lefranc Added availableWhenDonor feature
* 22/04/15 Martin Brampton Addition of disableMasterRoleSetting
* 08/05/15 Markus Makela Addition of launchable scripts
* 17/10/15 Martin Brampton Change DCB callback to hangup
*
* @endverbatim
*/ */
#define MXS_MODULE_NAME "galeramon" #define MXS_MODULE_NAME "galeramon"
#include "galeramon.h" #include "galeramon.h"
#include <maxscale/dcb.h>
#include <maxscale/alloc.h> #include <maxscale/alloc.h>
#include <maxscale/dcb.h>
#include <maxscale/mysql_utils.h>
#define DONOR_NODE_NAME_MAX_LEN 60 #define DONOR_NODE_NAME_MAX_LEN 60
#define DONOR_LIST_SET_VAR "SET GLOBAL wsrep_sst_donor = \"" #define DONOR_LIST_SET_VAR "SET GLOBAL wsrep_sst_donor = \""
@ -331,11 +314,8 @@ monitorDatabase(MXS_MONITOR *mon, MXS_MONITOR_SERVERS *database)
server_set_status_nolock(database->server, SERVER_RUNNING); server_set_status_nolock(database->server, SERVER_RUNNING);
/* get server version string */ /* get server version string */
server_string = (char *) mysql_get_server_info(database->con); mxs_mysql_set_server_version(database->con, database->server);
if (server_string) server_string = database->server->server_string;
{
server_set_version_string(database->server, server_string);
}
/* Check if the the Galera FSM shows this node is joined to the cluster */ /* Check if the the Galera FSM shows this node is joined to the cluster */
char *cluster_member = "SHOW STATUS WHERE Variable_name IN" char *cluster_member = "SHOW STATUS WHERE Variable_name IN"

View File

@ -18,10 +18,11 @@
#define MXS_MODULE_NAME "mysqlmon" #define MXS_MODULE_NAME "mysqlmon"
#include "../mysqlmon.h" #include "../mysqlmon.h"
#include <maxscale/dcb.h>
#include <maxscale/modutil.h>
#include <maxscale/alloc.h> #include <maxscale/alloc.h>
#include <maxscale/dcb.h>
#include <maxscale/debug.h> #include <maxscale/debug.h>
#include <maxscale/modutil.h>
#include <maxscale/mysql_utils.h>
#define DEFAULT_JOURNAL_MAX_AGE "28800" #define DEFAULT_JOURNAL_MAX_AGE "28800"
@ -726,11 +727,8 @@ monitorDatabase(MXS_MONITOR *mon, MXS_MONITOR_SERVERS *database)
server_version = mysql_get_server_version(database->con); server_version = mysql_get_server_version(database->con);
/* get server version string */ /* get server version string */
server_string = (char *) mysql_get_server_info(database->con); mxs_mysql_set_server_version(database->con, database->server);
if (server_string) server_string = database->server->server_string;
{
server_set_version_string(database->server, server_string);
}
MYSQL_SERVER_INFO *serv_info = hashtable_fetch(handle->server_info, database->server->unique_name); MYSQL_SERVER_INFO *serv_info = hashtable_fetch(handle->server_info, database->server->unique_name);
ss_dassert(serv_info); ss_dassert(serv_info);

View File

@ -13,22 +13,13 @@
/** /**
* @file ndbcluster_mon.c - A MySQL cluster SQL node monitor * @file ndbcluster_mon.c - A MySQL cluster SQL node monitor
*
* @verbatim
* Revision History
*
* Date Who Description
* 25/07/14 Massimiliano Pinto Initial implementation
* 10/11/14 Massimiliano Pinto Added setNetworkTimeout for connect,read,write
* 08/05/15 Markus Makela Addition of launchable scripts
*
* @endverbatim
*/ */
#define MXS_MODULE_NAME "ndbclustermon" #define MXS_MODULE_NAME "ndbclustermon"
#include "../mysqlmon.h" #include "../mysqlmon.h"
#include <maxscale/alloc.h> #include <maxscale/alloc.h>
#include <maxscale/mysql_utils.h>
static void monitorMain(void *); static void monitorMain(void *);
@ -234,11 +225,8 @@ monitorDatabase(MXS_MONITOR_SERVERS *database, char *defaultUser, char *defaultP
server_set_status_nolock(database->server, SERVER_RUNNING); server_set_status_nolock(database->server, SERVER_RUNNING);
/* get server version string */ /* get server version string */
server_string = (char *) mysql_get_server_info(database->con); mxs_mysql_set_server_version(database->con, database->server);
if (server_string) server_string = database->server->server_string;
{
server_set_version_string(database->server, server_string);
}
/* Check if the the SQL node is able to contact one or more data nodes */ /* Check if the the SQL node is able to contact one or more data nodes */
if (mysql_query(database->con, "SHOW STATUS LIKE 'Ndb_number_of_ready_data_nodes'") == 0 if (mysql_query(database->con, "SHOW STATUS LIKE 'Ndb_number_of_ready_data_nodes'") == 0