diff options
Diffstat (limited to 'odb/tracer/transaction-impl.cxx')
-rw-r--r-- | odb/tracer/transaction-impl.cxx | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/odb/tracer/transaction-impl.cxx b/odb/tracer/transaction-impl.cxx index 2069568..bf272b3 100644 --- a/odb/tracer/transaction-impl.cxx +++ b/odb/tracer/transaction-impl.cxx @@ -17,12 +17,17 @@ namespace odb namespace tracer { transaction_impl:: + transaction_impl (database_type& db) + : odb::transaction_impl (db), finalized_ (false) + { + } + + transaction_impl:: transaction_impl (connection_ptr c) : odb::transaction_impl (c->database (), *c), finalized_ (false), connection_ (c) { - cout << "begin transaction" << endl; } transaction_impl:: @@ -33,6 +38,20 @@ namespace odb } void transaction_impl:: + start () + { + // Grab a connection if we don't already have one. + // + if (connection_ == 0) + { + connection_ = static_cast<database_type&> (database_).connection (); + odb::transaction_impl::connection_ = connection_.get (); + } + + cout << "begin transaction" << endl; + } + + void transaction_impl:: commit () { cout << "commit transaction" << endl; |