diff options
Diffstat (limited to 'odb/sqlite/database.cxx')
-rw-r--r-- | odb/sqlite/database.cxx | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/odb/sqlite/database.cxx b/odb/sqlite/database.cxx index 176c392..912ec97 100644 --- a/odb/sqlite/database.cxx +++ b/odb/sqlite/database.cxx @@ -97,7 +97,25 @@ namespace odb if (transaction::has_current ()) throw already_in_transaction (); - return new transaction_impl (*this); + return new transaction_impl (*this, transaction_impl::deferred); + } + + transaction_impl* database:: + begin_immediate () + { + if (transaction::has_current ()) + throw already_in_transaction (); + + return new transaction_impl (*this, transaction_impl::immediate); + } + + transaction_impl* database:: + begin_exclusive () + { + if (transaction::has_current ()) + throw already_in_transaction (); + + return new transaction_impl (*this, transaction_impl::exclusive); } } } |