57
54
* kill two_phase_commit member. Use an HTON flag if
58
55
* absolutely needed to keep.
60
class DRIZZLED_API TransactionalStorageEngine :public StorageEngine
57
class DRIZZLED_API TransactionalStorageEngine : public StorageEngine
62
59
friend class SEAPITester;
64
TransactionalStorageEngine(const std::string name_arg,
61
TransactionalStorageEngine(const std::string &name_arg,
65
62
const std::bitset<HTON_BIT_SIZE> &flags_arg= HTON_NO_FLAGS);
67
virtual ~TransactionalStorageEngine();
69
64
virtual int startTransaction(Session *session, start_transaction_option_t options)
71
TransactionServices &transaction_services= TransactionServices::singleton();
72
transaction_services.registerResourceForTransaction(*session, this, this);
66
TransactionServices::registerResourceForTransaction(*session, this, this);
73
67
return doStartTransaction(session, options);
76
70
virtual void startStatement(Session *session)
78
TransactionServices &transaction_services= TransactionServices::singleton();
79
transaction_services.registerResourceForStatement(*session, this, this);
72
TransactionServices::registerResourceForStatement(*session, this, this);
80
73
doStartStatement(session);
131
124
* @todo Kill this one entirely. It's implementation, not interface...
133
static int releaseTemporaryLatches(Session *session);
126
static void releaseTemporaryLatches(Session *session);
135
128
/* Class Methods for operating on plugin */
136
129
static bool addPlugin(plugin::TransactionalStorageEngine *engine);
216
209
* and 'real commit' mean the same event.
218
211
virtual int doRollback(Session *session, bool normal_transaction)= 0;
219
virtual int doReleaseTemporaryLatches(Session *session)
212
virtual int doReleaseTemporaryLatches(Session*)
224
virtual int doStartConsistentSnapshot(Session *session)
216
virtual int doStartConsistentSnapshot(Session*)