Support for MySQL Cluster

Support for MySQL Cluster with ndbcluster monitor and readconnroute
with router_option=ndb
This commit is contained in:
MassimilianoPinto
2014-07-30 09:41:03 +02:00
parent 40546fc689
commit 744892e47c
5 changed files with 12 additions and 4 deletions

View File

@ -417,6 +417,8 @@ char *status = NULL;
strcat(status, "Slave, "); strcat(status, "Slave, ");
if (server->status & SERVER_JOINED) if (server->status & SERVER_JOINED)
strcat(status, "Synced, "); strcat(status, "Synced, ");
if (server->status & SERVER_NDB)
strcat(status, "NDB, ");
if (server->status & SERVER_RUNNING) if (server->status & SERVER_RUNNING)
strcat(status, "Running"); strcat(status, "Running");
else else

View File

@ -145,7 +145,7 @@ typedef struct server {
#define SERVER_IN_MAINT(server) ((server)->status & SERVER_MAINT) #define SERVER_IN_MAINT(server) ((server)->status & SERVER_MAINT)
/** server is not master, slave or joined */ /** server is not master, slave or joined */
#define SERVER_NOT_IN_CLUSTER(s) (((s)->status & (SERVER_MASTER|SERVER_SLAVE|SERVER_JOINED)) == 0) #define SERVER_NOT_IN_CLUSTER(s) (((s)->status & (SERVER_MASTER|SERVER_SLAVE|SERVER_JOINED|SERVER_NDB)) == 0)
#define SERVER_IS_IN_CLUSTER(s) (((s)->status & (SERVER_MASTER|SERVER_SLAVE|SERVER_JOINED|SERVER_NDB)) != 0) #define SERVER_IS_IN_CLUSTER(s) (((s)->status & (SERVER_MASTER|SERVER_SLAVE|SERVER_JOINED|SERVER_NDB)) != 0)

View File

@ -381,10 +381,10 @@ char *server_string;
} }
if (isjoined) { if (isjoined) {
server_set_status(database->server, SERVER_JOINED); server_set_status(database->server, SERVER_NDB);
database->server->depth = 0; database->server->depth = 0;
} else { } else {
server_clear_status(database->server, SERVER_JOINED); server_clear_status(database->server, SERVER_NDB);
database->server->depth = -1; database->server->depth = -1;
} }
} }

View File

@ -831,6 +831,7 @@ static struct {
{ "master", SERVER_MASTER }, { "master", SERVER_MASTER },
{ "slave", SERVER_SLAVE }, { "slave", SERVER_SLAVE },
{ "synced", SERVER_JOINED }, { "synced", SERVER_JOINED },
{ "ndb", SERVER_NDB },
{ "maintenance", SERVER_MAINT }, { "maintenance", SERVER_MAINT },
{ "maint", SERVER_MAINT }, { "maint", SERVER_MAINT },
{ NULL, 0 } { NULL, 0 }

View File

@ -311,6 +311,11 @@ char *weightby;
inst->bitmask |= (SERVER_JOINED); inst->bitmask |= (SERVER_JOINED);
inst->bitvalue |= SERVER_JOINED; inst->bitvalue |= SERVER_JOINED;
} }
else if (!strcasecmp(options[i], "ndb"))
{
inst->bitmask |= (SERVER_NDB);
inst->bitvalue |= SERVER_NDB;
}
else else
{ {
LOGIF(LM, (skygw_log_write( LOGIF(LM, (skygw_log_write(
@ -318,7 +323,7 @@ char *weightby;
"* Warning : Unsupported router " "* Warning : Unsupported router "
"option \'%s\' for readconnroute. " "option \'%s\' for readconnroute. "
"Expected router options are " "Expected router options are "
"[slave|master|synced]", "[slave|master|synced|ndb]",
options[i]))); options[i])));
} }
} }