aboutsummaryrefslogtreecommitdiff
path: root/odb/sqlite/database.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'odb/sqlite/database.cxx')
-rw-r--r--odb/sqlite/database.cxx20
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);
}
}
}