summaryrefslogtreecommitdiff
path: root/sql/sql_parse.cc
diff options
context:
space:
mode:
authorOleksandr Byelkin <sanja@mariadb.com>2016-10-12 18:36:22 +0200
committerOleksandr Byelkin <sanja@mariadb.com>2016-12-29 18:24:12 +0100
commitf583e86c0c805e7d3bace4152cf2202ede2466a6 (patch)
tree0e87f1e0a89dc253a902ad696fb0bb83070a16b5 /sql/sql_parse.cc
parentf2fe65106f731df48072a16eea3cda0a903d7fe5 (diff)
downloadmariadb-git-10.2-MDEV-10340.tar.gz
MDEV-10340: support COM_RESET_CONNECTION10.2-MDEV-10340
draft to check with client
Diffstat (limited to 'sql/sql_parse.cc')
-rw-r--r--sql/sql_parse.cc14
1 files changed, 12 insertions, 2 deletions
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index 06387c2b894..49c87b5a065 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -171,8 +171,8 @@ const LEX_STRING command_name[257]={
{ C_STRING_WITH_LEN("Set option") }, //27
{ C_STRING_WITH_LEN("Fetch") }, //28
{ C_STRING_WITH_LEN("Daemon") }, //29
- { 0, 0 }, //30
- { 0, 0 }, //31
+ { C_STRING_WITH_LEN("Unimpl get tid") }, //30
+ { C_STRING_WITH_LEN("Reset connection") },//31
{ 0, 0 }, //32
{ 0, 0 }, //33
{ 0, 0 }, //34
@@ -524,6 +524,7 @@ void init_update_queries(void)
server_command_flags[COM_STMT_EXECUTE]= CF_SKIP_WSREP_CHECK;
server_command_flags[COM_STMT_SEND_LONG_DATA]= CF_SKIP_WSREP_CHECK;
server_command_flags[COM_MULTI]= CF_SKIP_WSREP_CHECK | CF_NO_COM_MULTI;
+ server_command_flags[CF_NO_COM_MULTI]= CF_NO_COM_MULTI;
/* Initialize the sql command flags array. */
memset(sql_command_flags, 0, sizeof(sql_command_flags));
@@ -1670,6 +1671,14 @@ bool dispatch_command(enum enum_server_command command, THD *thd,
break;
}
#endif
+ case COM_RESET_CONNECTION:
+ {
+ thd->status_var.com_other++;
+ thd->change_user();
+ thd->clear_error(); // if errors from rollback
+ my_ok(thd, 0, 0, 0);
+ break;
+ }
case COM_CHANGE_USER:
{
int auth_rc;
@@ -2306,6 +2315,7 @@ com_multi_end:
case COM_TIME: // Impossible from client
case COM_DELAYED_INSERT:
case COM_END:
+ case COM_UNIMPLEMENTED:
default:
my_message(ER_UNKNOWN_COM_ERROR, ER_THD(thd, ER_UNKNOWN_COM_ERROR),
MYF(0));