438
int2store(buff, static_cast<uint16_t>(sql_errno));
432
int2store(buff,sql_errno);
441
435
/* The first # is to make the client backward compatible */
443
pos= (unsigned char*) strcpy((char*) buff+3, error::convert_to_sqlstate(sql_errno));
444
pos+= strlen(error::convert_to_sqlstate(sql_errno));
437
pos= (unsigned char*) strcpy((char*) buff+3, drizzle_errno_to_sqlstate(sql_errno));
438
pos+= strlen(drizzle_errno_to_sqlstate(sql_errno));
446
440
char *tmp= strncpy((char*)pos, err, DRIZZLE_ERRMSG_SIZE-1);
447
441
tmp+= strlen((char*)pos);
1017
1008
context("port",
1018
1009
po::value<port_constraint>(&port)->default_value(3306),
1019
_("Port number to use for connection or 0 for default to with MySQL "
1010
N_("Port number to use for connection or 0 for default to with MySQL "
1021
1012
context("connect-timeout",
1022
1013
po::value<timeout_constraint>(&connect_timeout)->default_value(10),
1023
_("Connect Timeout."));
1014
N_("Connect Timeout."));
1024
1015
context("read-timeout",
1025
1016
po::value<timeout_constraint>(&read_timeout)->default_value(30),
1026
_("Read Timeout."));
1017
N_("Read Timeout."));
1027
1018
context("write-timeout",
1028
1019
po::value<timeout_constraint>(&write_timeout)->default_value(60),
1029
_("Write Timeout."));
1020
N_("Write Timeout."));
1030
1021
context("retry-count",
1031
1022
po::value<retry_constraint>(&retry_count)->default_value(10),
1023
N_("Retry Count."));
1033
1024
context("buffer-length",
1034
1025
po::value<buffer_constraint>(&buffer_length)->default_value(16384),
1035
_("Buffer length."));
1026
N_("Buffer length."));
1036
1027
context("bind-address",
1037
1028
po::value<string>()->default_value(""),
1038
_("Address to bind to."));
1029
N_("Address to bind to."));
1039
1030
context("max-connections",
1040
1031
po::value<uint32_t>(&ListenMySQLProtocol::mysql_counters->max_connections)->default_value(1000),
1041
_("Maximum simultaneous connections."));
1032
N_("Maximum simultaneous connections."));
1042
1033
context("admin-ip-addresses",
1043
1034
po::value<vector<string> >()->composing()->notifier(&ClientMySQLProtocol::mysql_compose_ip_addresses),
1044
_("A restrictive IP address list for incoming admin connections."));
1035
N_("A restrictive IP address list for incoming admin connections."));
1038
static int mysql_protocol_connection_count_func(drizzle_show_var *var, char *buff)
1040
var->type= SHOW_LONGLONG;
1042
*((uint64_t *)buff)= ListenMySQLProtocol::mysql_counters->connectionCount;
1046
static int mysql_protocol_connected_count_func(drizzle_show_var *var, char *buff)
1048
var->type= SHOW_LONGLONG;
1050
*((uint64_t *)buff)= ListenMySQLProtocol::mysql_counters->connected;
1054
static int mysql_protocol_failed_count_func(drizzle_show_var *var, char *buff)
1056
var->type= SHOW_LONGLONG;
1058
*((uint64_t *)buff)= ListenMySQLProtocol::mysql_counters->failedConnections;
1062
static st_show_var_func_container mysql_protocol_connection_count=
1063
{ &mysql_protocol_connection_count_func };
1065
static st_show_var_func_container mysql_protocol_connected_count=
1066
{ &mysql_protocol_connected_count_func };
1068
static st_show_var_func_container mysql_protocol_failed_count=
1069
{ &mysql_protocol_failed_count_func };
1071
static drizzle_show_var mysql_protocol_status_variables[]= {
1073
(char*) &mysql_protocol_connection_count, SHOW_FUNC},
1075
(char*) &mysql_protocol_connected_count, SHOW_FUNC},
1076
{"Failed_connections",
1077
(char*) &mysql_protocol_failed_count, SHOW_FUNC},
1078
{NULL, NULL, SHOW_LONGLONG}
1081
MysqlProtocolStatus::Generator::Generator(drizzled::Field **fields) :
1082
plugin::TableFunction::Generator(fields)
1084
status_var_ptr= mysql_protocol_status_variables;
1087
bool MysqlProtocolStatus::Generator::populate()
1089
MY_ALIGNED_BYTE_ARRAY(buff_data, SHOW_VAR_FUNC_BUFF_SIZE, int64_t);
1090
char * const buff= (char *) &buff_data;
1091
drizzle_show_var tmp;
1093
if (status_var_ptr->name)
1095
std::ostringstream oss;
1096
string return_value;
1100
push(status_var_ptr->name);
1102
if (status_var_ptr->type == SHOW_FUNC)
1104
((drizzle_show_var_func)((st_show_var_func_container *)status_var_ptr->value)->func)(&tmp, buff);
1110
value= status_var_ptr->value;
1111
type= status_var_ptr->type;
1117
oss << *(uint64_t*) value;
1118
return_value= oss.str();
1123
if (return_value.length())
1047
1135
} /* namespace drizzle_plugin */