diff --git a/lib/mysql_connection.cpp b/lib/mysql_connection.cpp index d58423ee1..fe8d05397 100644 --- a/lib/mysql_connection.cpp +++ b/lib/mysql_connection.cpp @@ -256,6 +256,16 @@ MySQL_Connection::~MySQL_Connection() { // always decrease the counter if (ret_mysql) __sync_fetch_and_sub(&MyHGM->status.server_connections_connected,1); + if (query.stmt_result) { + if (query.stmt_result->handle) { + query.stmt_result->handle->status = MYSQL_STATUS_READY; // avoid calling mthd_my_skip_result() + } + } + if (mysql_result) { + if (mysql_result->handle) { + mysql_result->handle->status = MYSQL_STATUS_READY; // avoid calling mthd_my_skip_result() + } + } async_free_result(); close_mysql(); // this take care of closing mysql connection mysql=NULL; diff --git a/test/set_parser_test/setparsertest b/test/set_parser_test/setparsertest new file mode 100755 index 000000000..8c80f70d4 Binary files /dev/null and b/test/set_parser_test/setparsertest differ