diff options
-rw-r--r-- | odb/transaction.hxx | 8 | ||||
-rw-r--r-- | odb/transaction.ixx | 9 |
2 files changed, 17 insertions, 0 deletions
diff --git a/odb/transaction.hxx b/odb/transaction.hxx index e80b21d..7abb502 100644 --- a/odb/transaction.hxx +++ b/odb/transaction.hxx @@ -31,6 +31,11 @@ namespace odb explicit transaction (transaction_impl*, bool make_current = true); + // Create a finalized transaction instance which can later be initialized + // with reset(). + // + transaction (); + // Unless the transaction has already been finalized (explicitly // committed or rolled back), the destructor will roll it back. // @@ -60,6 +65,9 @@ namespace odb connection_type& connection (); + bool + finalized () const {return finalized_;} + public: // Return true if there is a transaction in effect. // diff --git a/odb/transaction.ixx b/odb/transaction.ixx index 445478b..33d107b 100644 --- a/odb/transaction.ixx +++ b/odb/transaction.ixx @@ -7,6 +7,15 @@ namespace odb { inline transaction:: + transaction () + : finalized_ (true), + impl_ (0), + free_callback_ (max_callback_count), + callback_count_ (0) + { + } + + inline transaction:: transaction (transaction_impl* impl, bool make_current) : finalized_ (true), impl_ (0), |