96
99
return new (nothrow) ClientDrizzleProtocol(new_fd, using_mysql41_protocol);
102
drizzled::atomic<uint64_t> ClientDrizzleProtocol::connectionCount;
103
drizzled::atomic<uint64_t> ClientDrizzleProtocol::failedConnections;
104
drizzled::atomic<uint64_t> ClientDrizzleProtocol::connected;
99
106
ClientDrizzleProtocol::ClientDrizzleProtocol(int fd, bool using_mysql41_protocol_arg):
100
107
using_mysql41_protocol(using_mysql41_protocol_arg)
162
170
bool connection_is_valid;
172
connectionCount.increment();
173
connected.increment();
164
175
/* Use "connect_timeout" value during connection phase */
165
176
drizzleclient_net_set_read_timeout(&net, connect_timeout);
166
177
drizzleclient_net_set_write_timeout(&net, connect_timeout);
970
static int drizzle_protocol_connection_count_func(drizzle_show_var *var, char *buff)
972
var->type= SHOW_LONGLONG;
974
*((uint64_t *)buff)= ClientDrizzleProtocol::connectionCount;
978
static int drizzle_protocol_connected_count_func(drizzle_show_var *var, char *buff)
980
var->type= SHOW_LONGLONG;
982
*((uint64_t *)buff)= ClientDrizzleProtocol::connected;
986
static int drizzle_protocol_failed_count_func(drizzle_show_var *var, char *buff)
988
var->type= SHOW_LONGLONG;
990
*((uint64_t *)buff)= ClientDrizzleProtocol::failedConnections;
994
static st_show_var_func_container drizzle_protocol_connection_count=
995
{ &drizzle_protocol_connection_count_func };
997
static st_show_var_func_container drizzle_protocol_connected_count=
998
{ &drizzle_protocol_connected_count_func };
1000
static st_show_var_func_container drizzle_protocol_failed_count=
1001
{ &drizzle_protocol_failed_count_func };
1003
static drizzle_show_var drizzle_protocol_status_variables[]= {
1005
(char*) &drizzle_protocol_connection_count, SHOW_FUNC},
1007
(char*) &drizzle_protocol_connected_count, SHOW_FUNC},
1008
{"Failed_connections",
1009
(char*) &drizzle_protocol_failed_count, SHOW_FUNC},
1010
{NULL, NULL, SHOW_LONGLONG}
1013
DrizzleProtocolStatus::Generator::Generator(drizzled::Field **fields) :
1014
plugin::TableFunction::Generator(fields)
1016
status_var_ptr= drizzle_protocol_status_variables;
1019
bool DrizzleProtocolStatus::Generator::populate()
1021
MY_ALIGNED_BYTE_ARRAY(buff_data, SHOW_VAR_FUNC_BUFF_SIZE, int64_t);
1022
char * const buff= (char *) &buff_data;
1023
drizzle_show_var tmp;
1025
if (status_var_ptr->name)
1027
std::ostringstream oss;
1028
string return_value;
1032
push(status_var_ptr->name);
1034
if (status_var_ptr->type == SHOW_FUNC)
1036
((mysql_show_var_func)((st_show_var_func_container *)status_var_ptr->value)->func)(&tmp, buff);
1042
value= status_var_ptr->value;
1043
type= status_var_ptr->type;
1049
oss << *(uint64_t*) value;
1050
return_value= oss.str();
1055
if (return_value.length())
954
1067
} /* namespace drizzle_protocol */
956
1069
DRIZZLE_PLUGIN(drizzle_protocol::init, drizzle_protocol::sys_variables, drizzle_protocol::init_options);