Commit 701ea230 authored by unknown's avatar unknown

Fix merge.

parent 2e53f363
...@@ -965,6 +965,7 @@ void init_update_queries(void); ...@@ -965,6 +965,7 @@ void init_update_queries(void);
void free_max_user_conn(void); void free_max_user_conn(void);
pthread_handler_t handle_bootstrap(void *arg); pthread_handler_t handle_bootstrap(void *arg);
bool mysql_execute_command(THD *thd); bool mysql_execute_command(THD *thd);
bool do_command(THD *thd);
bool dispatch_command(enum enum_server_command command, THD *thd, bool dispatch_command(enum enum_server_command command, THD *thd,
char* packet, uint packet_length); char* packet, uint packet_length);
void log_slow_statement(THD *thd); void log_slow_statement(THD *thd);
......
...@@ -973,21 +973,29 @@ void end_connection(THD *thd) ...@@ -973,21 +973,29 @@ void end_connection(THD *thd)
plugin_thdvar_cleanup(thd); plugin_thdvar_cleanup(thd);
if (thd->user_connect) if (thd->user_connect)
decrease_user_connections(thd->user_connect); decrease_user_connections(thd->user_connect);
if (thd->killed ||
net->error && net->vio != 0 && net->report_error)
{
statistic_increment(aborted_threads,&LOCK_status);
}
if (net->error && net->vio != 0 && net->report_error) if (net->error && net->vio != 0 && net->report_error)
{ {
Security_context *sctx= thd->security_ctx;
if (!thd->killed && thd->variables.log_warnings > 1) if (!thd->killed && thd->variables.log_warnings > 1)
{
Security_context *sctx= thd->security_ctx;
sql_print_warning(ER(ER_NEW_ABORTING_CONNECTION), sql_print_warning(ER(ER_NEW_ABORTING_CONNECTION),
thd->thread_id,(thd->db ? thd->db : "unconnected"), thd->thread_id,(thd->db ? thd->db : "unconnected"),
sctx->user ? sctx->user : "unauthenticated", sctx->user ? sctx->user : "unauthenticated",
sctx->host_or_ip, sctx->host_or_ip,
(net->last_errno ? ER(net->last_errno) : (net->last_errno ? ER(net->last_errno) :
ER(ER_UNKNOWN_ERROR))); ER(ER_UNKNOWN_ERROR)));
}
net_send_error(thd, net->last_errno, NullS); net_send_error(thd, net->last_errno, NullS);
statistic_increment(aborted_threads,&LOCK_status);
} }
else if (thd->killed)
statistic_increment(aborted_threads,&LOCK_status);
} }
......
...@@ -86,8 +86,6 @@ const char *xa_state_names[]={ ...@@ -86,8 +86,6 @@ const char *xa_state_names[]={
"NON-EXISTING", "ACTIVE", "IDLE", "PREPARED" "NON-EXISTING", "ACTIVE", "IDLE", "PREPARED"
}; };
static bool do_command(THD *thd);
static void unlock_locked_tables(THD *thd) static void unlock_locked_tables(THD *thd)
{ {
if (thd->locked_tables) if (thd->locked_tables)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment