#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.