#include <xa_resource_manager.h>
Public Types | |
typedef ::boost::unordered_set < my_xid > | commit_list_set |
Public Member Functions | |
int | xaPrepare (Session *session, bool normal_transaction) |
int | xaCommit (Session *session, bool normal_transaction) |
int | xaRollback (Session *session, bool normal_transaction) |
int | xaCommitXid (XID *xid) |
int | xaRollbackXid (XID *xid) |
int | xaRecover (XID *append_to, size_t len) |
uint64_t | getCurrentTransactionId (Session *session) |
uint64_t | getNewTransactionId (Session *session) |
Static Public Member Functions | |
static int | commitOrRollbackXID (XID *xid, bool commit) |
static int | recoverAllXids () |
static int | recoverAllXids (const commit_list_set &commit_list) |
static bool | addPlugin (plugin::XaResourceManager *manager) |
static void | removePlugin (plugin::XaResourceManager *manager) |
Private Member Functions | |
virtual int | doXaCommit (Session *session, bool normal_transaction)=0 |
virtual int | doXaRollback (Session *session, bool normal_transaction)=0 |
virtual int | doXaPrepare (Session *session, bool normal_transaction)=0 |
virtual int | doXaRollbackXid (XID *xid)=0 |
virtual int | doXaCommitXid (XID *xid)=0 |
virtual int | doXaRecover (XID *append_to, size_t len)=0 |
virtual uint64_t | doGetCurrentTransactionId (Session *session)=0 |
virtual uint64_t | doGetNewTransactionId (Session *session)=0 |
An abstract interface class which exposes the participation of implementing classes in distributed transactions in the XA protocol.
Definition at line 39 of file xa_resource_manager.h.
int drizzled::plugin::XaResourceManager::commitOrRollbackXID | ( | XID * | xid, |
bool | commit | ||
) | [static] |
The below static class methods wrap the interaction of the vector of registered XA storage engines.
Definition at line 46 of file xa_resource_manager.cc.
virtual int drizzled::plugin::XaResourceManager::doXaCommit | ( | Session * | session, |
bool | normal_transaction | ||
) | [private, pure virtual] |
Does the COMMIT stage of the two-phase commit.
virtual int drizzled::plugin::XaResourceManager::doXaCommitXid | ( | XID * | xid | ) | [private, pure virtual] |
Commits a transaction identified by a XID.
virtual int drizzled::plugin::XaResourceManager::doXaPrepare | ( | Session * | session, |
bool | normal_transaction | ||
) | [private, pure virtual] |
Does the PREPARE stage of the two-phase commit.
virtual int drizzled::plugin::XaResourceManager::doXaRecover | ( | XID * | append_to, |
size_t | len | ||
) | [private, pure virtual] |
Notifies the transaction manager of any transactions which had been marked prepared but not committed at crash time or that have been heurtistically completed by the storage engine.
[out] | Reference | to a vector of XIDs to add to |
Returns | the number of transactions left to recover for this engine. |
virtual int drizzled::plugin::XaResourceManager::doXaRollback | ( | Session * | session, |
bool | normal_transaction | ||
) | [private, pure virtual] |
Does the ROLLBACK stage of the two-phase commit.
virtual int drizzled::plugin::XaResourceManager::doXaRollbackXid | ( | XID * | xid | ) | [private, pure virtual] |
Rolls back a transaction identified by a XID.