23 #include <boost/unordered_set.hpp>
38 int xaPrepare(
Session *session,
bool normal_transaction)
40 return doXaPrepare(session, normal_transaction);
43 int xaCommit(
Session *session,
bool normal_transaction)
45 return doXaCommit(session, normal_transaction);
48 int xaRollback(
Session *session,
bool normal_transaction)
50 return doXaRollback(session, normal_transaction);
53 int xaCommitXid(
XID *xid)
55 return doXaCommitXid(xid);
58 int xaRollbackXid(
XID *xid)
60 return doXaRollbackXid(xid);
63 int xaRecover(
XID * append_to,
size_t len)
65 return doXaRecover(append_to, len);
68 uint64_t getCurrentTransactionId(
Session *session)
70 return doGetCurrentTransactionId(session);
73 uint64_t getNewTransactionId(
Session *session)
75 return doGetNewTransactionId(session);
78 typedef ::boost::unordered_set<my_xid> commit_list_set;
83 static int commitOrRollbackXID(
XID *xid,
bool commit);
84 static int recoverAllXids();
85 static int recoverAllXids(
const commit_list_set& commit_list);
94 virtual int doXaCommit(
Session *session,
bool normal_transaction)= 0;
98 virtual int doXaRollback(
Session *session,
bool normal_transaction)= 0;
102 virtual int doXaPrepare(
Session *session,
bool normal_transaction)= 0;
106 virtual int doXaRollbackXid(
XID *xid)= 0;
110 virtual int doXaCommitXid(
XID *xid)= 0;
123 virtual int doXaRecover(
XID * append_to,
size_t len)= 0;
125 virtual uint64_t doGetCurrentTransactionId(
Session *session)= 0;
127 virtual uint64_t doGetNewTransactionId(
Session *session)= 0;