From 3fe0021c8acb21cd7319f2a8e7ca06653444cb98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Canna=C3=B2?= Date: Sun, 16 Aug 2015 08:40:49 +0000 Subject: [PATCH] Reset of backend wasn't checking if a transaction was active --- lib/mysql_backend.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/mysql_backend.cpp b/lib/mysql_backend.cpp index 95cf838bf..6b4bfcbe3 100644 --- a/lib/mysql_backend.cpp +++ b/lib/mysql_backend.cpp @@ -21,7 +21,8 @@ MySQL_Backend::~MySQL_Backend() { void MySQL_Backend::reset() { if (server_myds && server_myds->myconn) { - if (server_myds->DSS==STATE_READY && server_myds->myconn->reusable==true && ((server_myds->myprot.prot_status & SERVER_STATUS_IN_TRANS)==0)) { + //if (server_myds->DSS==STATE_READY && server_myds->myconn->reusable==true && ((server_myds->myprot.prot_status & SERVER_STATUS_IN_TRANS)==0)) { + if (server_myds->DSS==STATE_READY && server_myds->myconn->reusable==true && ((server_myds->myconn->IsActiveTransaction()==false))) { server_myds->myconn->last_time_used=server_myds->sess->thread->curtime; server_myds->return_MySQL_Connection_To_Pool(); //MyHGM->push_MyConn_to_pool(server_myds->myconn);