diff options
author | Seppo Jaakola <seppo.jaakola@codership.com> | 2013-11-26 22:09:14 +0200 |
---|---|---|
committer | Seppo Jaakola <seppo.jaakola@codership.com> | 2013-11-26 22:09:14 +0200 |
commit | 6422d276fa8d1217aa68be1d90c712efa4d71409 (patch) | |
tree | 67bc00215ac0bea9b6c14e51a0018a9d7f0cd886 /sql/transaction.cc | |
parent | 4a11e84414292e852a0968ef871dc90cbd24ae30 (diff) | |
download | mariadb-git-6422d276fa8d1217aa68be1d90c712efa4d71409.tar.gz |
bzr merge -r3895..3903 lp:codership-mysql/5.5
This is just before 5.5.34 merge in wsrep-5.5 branch
Diffstat (limited to 'sql/transaction.cc')
-rw-r--r-- | sql/transaction.cc | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/sql/transaction.cc b/sql/transaction.cc index a9236d97633..5195e456432 100644 --- a/sql/transaction.cc +++ b/sql/transaction.cc @@ -145,6 +145,9 @@ bool trans_begin(THD *thd, uint flags) ~(SERVER_STATUS_IN_TRANS | SERVER_STATUS_IN_TRANS_READONLY); DBUG_PRINT("info", ("clearing SERVER_STATUS_IN_TRANS")); res= test(ha_commit_trans(thd, TRUE)); +#ifdef WITH_WSREP + wsrep_post_commit(thd, TRUE); +#endif /* WITH_WSREP */ } thd->variables.option_bits&= ~(OPTION_BEGIN | OPTION_KEEP_LOG); @@ -226,6 +229,9 @@ bool trans_commit(THD *thd) ~(SERVER_STATUS_IN_TRANS | SERVER_STATUS_IN_TRANS_READONLY); DBUG_PRINT("info", ("clearing SERVER_STATUS_IN_TRANS")); res= ha_commit_trans(thd, TRUE); +#ifdef WITH_WSREP + wsrep_post_commit(thd, TRUE); +#endif /* WITH_WSREP */ /* if res is non-zero, then ha_commit_trans has rolled back the transaction, so the hooks for rollback will be called. @@ -274,6 +280,9 @@ bool trans_commit_implicit(THD *thd) ~(SERVER_STATUS_IN_TRANS | SERVER_STATUS_IN_TRANS_READONLY); DBUG_PRINT("info", ("clearing SERVER_STATUS_IN_TRANS")); res= test(ha_commit_trans(thd, TRUE)); +#ifdef WITH_WSREP + wsrep_post_commit(thd, TRUE); +#endif /* WITH_WSREP */ } thd->variables.option_bits&= ~(OPTION_BEGIN | OPTION_KEEP_LOG); @@ -362,10 +371,14 @@ bool trans_commit_stmt(THD *thd) #endif /* WITH_WSREP */ res= ha_commit_trans(thd, FALSE); if (! thd->in_active_multi_stmt_transaction()) +#ifdef WITH_WSREP { +#endif /* WITH_WSREP */ thd->tx_isolation= (enum_tx_isolation) thd->variables.tx_isolation; - thd->tx_read_only= thd->variables.tx_read_only; +#ifdef WITH_WSREP + wsrep_post_commit(thd, FALSE); } +#endif /* WITH_WSREP */ } /* @@ -781,6 +794,9 @@ bool trans_xa_commit(THD *thd) int r= ha_commit_trans(thd, TRUE); if ((res= test(r))) my_error(r == 1 ? ER_XA_RBROLLBACK : ER_XAER_RMERR, MYF(0)); +#ifdef WITH_WSREP + wsrep_post_commit(thd, TRUE); +#endif /* WITH_WSREP */ } else if (xa_state == XA_PREPARED && thd->lex->xa_opt == XA_NONE) { |