1. Applied changes suggested from Markus.

2. tpmfilter now prints username of the client instead of the hostname
of the target server.
This commit is contained in:
Dong Young Yoon
2016-12-16 02:32:02 -05:00
committed by Markus Mäkelä
parent b0d507bf4c
commit 3e6cbeff19
4 changed files with 7 additions and 6 deletions

View File

@ -131,7 +131,7 @@ typedef struct gwbuf
gwbuf_type_t gwbuf_type; /*< buffer's data type information */ gwbuf_type_t gwbuf_type; /*< buffer's data type information */
HINT *hint; /*< Hint data for this buffer */ HINT *hint; /*< Hint data for this buffer */
BUF_PROPERTY *properties; /*< Buffer properties */ BUF_PROPERTY *properties; /*< Buffer properties */
struct server *server; struct server *server; /*< The target server where the buffer is executed */
} GWBUF; } GWBUF;
/*< /*<

View File

@ -879,6 +879,8 @@ int dcb_read(DCB *dcb,
/* </editor-fold> */ /* </editor-fold> */
/*< Append read data to the gwbuf */ /*< Append read data to the gwbuf */
*head = gwbuf_append(*head, buffer); *head = gwbuf_append(*head, buffer);
/*< Assign the target server for the gwbuf */
buffer->server = dcb->server;
} }
else else
{ {

View File

@ -350,9 +350,9 @@ newSession(FILTER *instance, SESSION *session)
atomic_add(&my_instance->sessions, 1); atomic_add(&my_instance->sessions, 1);
my_session->max_sql_size = default_sql_size; // default max query size of 4k. my_session->max_sql_size = default_sql_size; // default max query size of 4k.
my_session->sql = (char*)MXS_MALLOC(my_session->max_sql_size); my_session->sql = (char*)MXS_CALLOC(my_session->max_sql_size, sizeof(char));
memset(my_session->sql, 0x00, my_session->max_sql_size); memset(my_session->sql, 0x00, my_session->max_sql_size);
my_session->buf = (char*)MXS_MALLOC(buf_size); my_session->buf = (char*)MXS_CALLOC(buf_size, sizeof(char));
my_session->sql_index = 0; my_session->sql_index = 0;
my_session->n_statements = 0; my_session->n_statements = 0;
my_session->total.tv_sec = 0; my_session->total.tv_sec = 0;
@ -519,7 +519,7 @@ routeQuery(FILTER *instance, void *session, GWBUF *queue)
} }
if (new_sql_size > my_session->max_sql_size) if (new_sql_size > my_session->max_sql_size)
{ {
char* new_sql = (char*)MXS_MALLOC(new_sql_size); char* new_sql = (char*)MXS_CALLOC(new_sql_size, sizeof(char));
if (new_sql == NULL) if (new_sql == NULL)
{ {
MXS_ERROR("Memory allocation failure."); MXS_ERROR("Memory allocation failure.");
@ -590,7 +590,7 @@ clientReply(FILTER *instance, void *session, GWBUF *reply)
my_instance->delimiter, my_instance->delimiter,
reply->server->unique_name, reply->server->unique_name,
my_instance->delimiter, my_instance->delimiter,
reply->server->name, my_session->userName,
my_instance->delimiter, my_instance->delimiter,
millis, millis,
my_instance->delimiter, my_instance->delimiter,

View File

@ -895,7 +895,6 @@ gw_read_and_write(DCB *dcb)
if (session_ok_to_route(dcb)) if (session_ok_to_route(dcb))
{ {
gwbuf_set_type(stmt, GWBUF_TYPE_MYSQL); gwbuf_set_type(stmt, GWBUF_TYPE_MYSQL);
stmt->server = dcb->server;
session->service->router->clientReply(session->service->router_instance, session->service->router->clientReply(session->service->router_instance,
session->router_session, session->router_session,
stmt, dcb); stmt, dcb);