aboutsummaryrefslogtreecommitdiff
path: root/odb/sqlite/database.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2011-03-29 14:43:47 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2011-03-29 14:43:47 +0200
commit83aede3c9e27a8370c71dbde3549905c60524702 (patch)
treef6e9f617a1e9183b67e6597d1a5179db6ac874c1 /odb/sqlite/database.cxx
parent2fe2c22fa340e4854a69a1c17d94f8e58ba68ad4 (diff)
Add support for starting immediate and exclusive transactions
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);
}
}
}