aboutsummaryrefslogtreecommitdiff
path: root/odb/sqlite/statement-cache.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/statement-cache.cxx
parent2fe2c22fa340e4854a69a1c17d94f8e58ba68ad4 (diff)
Add support for starting immediate and exclusive transactions
Diffstat (limited to 'odb/sqlite/statement-cache.cxx')
-rw-r--r--odb/sqlite/statement-cache.cxx22
1 files changed, 19 insertions, 3 deletions
diff --git a/odb/sqlite/statement-cache.cxx b/odb/sqlite/statement-cache.cxx
index 383a78e..ba7b56c 100644
--- a/odb/sqlite/statement-cache.cxx
+++ b/odb/sqlite/statement-cache.cxx
@@ -17,13 +17,29 @@ namespace odb
// String lengths below include '\0', as per SQLite manual
// suggestions.
//
- begin_ (new (shared) simple_statement (conn, "BEGIN", 6)),
- commit_ (new (shared) simple_statement (conn, "COMMIT", 7)),
- rollback_ (new (shared) simple_statement (conn, "ROLLBACK", 9))
+ begin_ (new (shared) simple_statement (conn_, "BEGIN", 6)),
+ commit_ (new (shared) simple_statement (conn_, "COMMIT", 7)),
+ rollback_ (new (shared) simple_statement (conn_, "ROLLBACK", 9))
{
rollback_->cached (true);
commit_->cached (true);
begin_->cached (true);
}
+
+ void statement_cache::
+ begin_immediate_statement_ () const
+ {
+ begin_immediate_.reset (
+ new (shared) simple_statement (conn_, "BEGIN IMMEDIATE", 16));
+ begin_immediate_->cached (true);
+ }
+
+ void statement_cache::
+ begin_exclusive_statement_ () const
+ {
+ begin_exclusive_.reset (
+ new (shared) simple_statement (conn_, "BEGIN EXCLUSIVE", 16));
+ begin_exclusive_->cached (true);
+ }
}
}