diff options
Diffstat (limited to 'odb/sqlite/transaction-impl.cxx')
-rw-r--r-- | odb/sqlite/transaction-impl.cxx | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/odb/sqlite/transaction-impl.cxx b/odb/sqlite/transaction-impl.cxx index 36d6c2b..41254a1 100644 --- a/odb/sqlite/transaction-impl.cxx +++ b/odb/sqlite/transaction-impl.cxx @@ -14,10 +14,29 @@ namespace odb namespace sqlite { transaction_impl:: - transaction_impl (database_type& db) + transaction_impl (database_type& db, lock l) : odb::transaction_impl (db), connection_ (db.connection ()) { - connection_->statement_cache ().begin_statement ().execute (); + statement_cache& c (connection_->statement_cache ()); + + switch (l) + { + case deferred: + { + c.begin_statement ().execute (); + break; + } + case immediate: + { + c.begin_immediate_statement ().execute (); + break; + } + case exclusive: + { + c.begin_exclusive_statement ().execute (); + break; + } + } } transaction_impl:: |