24 #include <drizzled/plugin/storage_engine.h>
25 #include <drizzled/transaction_services.h>
62 const std::bitset<HTON_BIT_SIZE> &flags_arg= HTON_NO_FLAGS);
64 virtual int startTransaction(
Session *session, start_transaction_option_t options)
67 return doStartTransaction(session, options);
70 virtual void startStatement(
Session *session)
73 doStartStatement(session);
76 virtual int commit(
Session *session,
bool normal_transaction)
78 return doCommit(session, normal_transaction);
81 virtual int rollback(
Session *session,
bool normal_transaction)
83 return doRollback(session, normal_transaction);
88 return doSetSavepoint(session, sp);
93 return doRollbackToSavepoint(session, sp);
98 return doReleaseSavepoint(session, sp);
122 static int notifyStartTransaction(
Session *session, start_transaction_option_t options);
126 static void releaseTemporaryLatches(
Session *session);
133 void setTransactionReadWrite(
Session& session);
152 virtual int doStartTransaction(
Session *session, start_transaction_option_t options)
163 virtual void doStartStatement(
Session *session)
173 virtual void doEndStatement(Session *session)
181 virtual int doSetSavepoint(Session *session, NamedSavepoint &savepoint)= 0;
182 virtual int doRollbackToSavepoint(Session *session, NamedSavepoint &savepoint)= 0;
183 virtual int doReleaseSavepoint(Session *session, NamedSavepoint &savepoint)= 0;
197 virtual int doCommit(Session *session,
bool normal_transaction)= 0;
211 virtual int doRollback(Session *session,
bool normal_transaction)= 0;
212 virtual int doReleaseTemporaryLatches(Session*)
216 virtual int doStartConsistentSnapshot(Session*)