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
commit84356ab0adeb6a603ed8b5633750e8e95bb5b371 (patch)
treeb649244c8f1642eb762b42d5a8242dc0efef09de /sql/handler.cc
parentbba814d0b9dd248a14c25c703542f26fe0d65d4a (diff)
parente030732861d6b4250ef15528b93f5d0ea27a0c81 (diff)
downloadmariadb-git-84356ab0adeb6a603ed8b5633750e8e95bb5b371.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;