summaryrefslogtreecommitdiff
path: root/sql/handler.cc
diff options
context:
space:
mode:
authorRamil Kalimullin <ramil@mysql.com>2008-10-31 14:02:06 +0400
committerRamil Kalimullin <ramil@mysql.com>2008-10-31 14:02:06 +0400
commitffbf00e6a2e06a1a4788cd3e27041a14ff8a0f3f (patch)
treeb649244c8f1642eb762b42d5a8242dc0efef09de /sql/handler.cc
parentbde82a86f476891a541709d11a51bfc85edfca8e (diff)
parente900d9fc6577ad08abd1ecfae99d873e0c9716c2 (diff)
downloadmariadb-git-ffbf00e6a2e06a1a4788cd3e27041a14ff8a0f3f.tar.gz
Merge
Diffstat (limited to 'sql/handler.cc')
-rw-r--r--sql/handler.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/sql/handler.cc b/sql/handler.cc
index d82b2dd967e..9c70bd1a801 100644
--- a/sql/handler.cc
+++ b/sql/handler.cc
@@ -1278,7 +1278,12 @@ int ha_rollback_trans(THD *thd, bool all)
trans->ha_list= 0;
trans->no_2pc=0;
if (is_real_trans)
- thd->transaction.xid_state.xid.null();
+ {
+ if (thd->transaction_rollback_request)
+ thd->transaction.xid_state.rm_error= thd->main_da.sql_errno();
+ else
+ thd->transaction.xid_state.xid.null();
+ }
if (all)
{
thd->variables.tx_isolation=thd->session_tx_isolation;