Improve transaction tracking fix
The previous fix can be implemented with less changes to actual code.
This commit is contained in:
@ -1450,10 +1450,8 @@ static int route_by_statement(SESSION* session, uint64_t capabilities, GWBUF** p
|
||||
{
|
||||
if (type & QUERY_TYPE_DISABLE_AUTOCOMMIT)
|
||||
{
|
||||
/** Autocommit is disabled, a transaction will
|
||||
* always be open */
|
||||
session_set_autocommit(session, false);
|
||||
session_set_trx_state(session, SESSION_TRX_ACTIVE);
|
||||
session_set_trx_state(session, SESSION_TRX_INACTIVE);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1476,13 +1474,7 @@ static int route_by_statement(SESSION* session, uint64_t capabilities, GWBUF** p
|
||||
}
|
||||
else if ((type & QUERY_TYPE_COMMIT) || (type & QUERY_TYPE_ROLLBACK))
|
||||
{
|
||||
if (session_is_autocommit(session) ||
|
||||
(type & QUERY_TYPE_ENABLE_AUTOCOMMIT))
|
||||
{
|
||||
/** Autocommit is either on or being enabled
|
||||
* and both of these cause an implicit commit */
|
||||
session_set_trx_state(session, SESSION_TRX_INACTIVE);
|
||||
}
|
||||
session_set_trx_state(session, SESSION_TRX_INACTIVE);
|
||||
|
||||
if (type & QUERY_TYPE_ENABLE_AUTOCOMMIT)
|
||||
{
|
||||
|
Reference in New Issue
Block a user