diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2011-03-24 14:02:16 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2011-03-24 14:02:16 +0200 |
commit | 7939f7972cf22ee9a74518978e4f7d4d77535e09 (patch) | |
tree | b211e2f455ef717482370fc262a63a5f7bfeb77f /odb/sqlite/object-statements.hxx | |
parent | 01e70d9a1d49bcb126adc45f85168aa7c9cbad19 (diff) |
Add support for clearing connection from active and uncached statements
Diffstat (limited to 'odb/sqlite/object-statements.hxx')
-rw-r--r-- | odb/sqlite/object-statements.hxx | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/odb/sqlite/object-statements.hxx b/odb/sqlite/object-statements.hxx index 68fd04e..3ab627d 100644 --- a/odb/sqlite/object-statements.hxx +++ b/odb/sqlite/object-statements.hxx @@ -246,10 +246,14 @@ namespace odb persist_statement () { if (persist_ == 0) + { persist_.reset ( new (details::shared) persist_statement_type ( conn_, object_traits::persist_statement, in_image_binding_)); + persist_->cached (true); + } + return *persist_; } @@ -257,6 +261,7 @@ namespace odb find_statement () { if (find_ == 0) + { find_.reset ( new (details::shared) find_statement_type ( conn_, @@ -264,6 +269,9 @@ namespace odb id_image_binding_, out_image_binding_)); + find_->cached (true); + } + return *find_; } @@ -271,6 +279,7 @@ namespace odb update_statement () { if (update_ == 0) + { update_.reset ( new (details::shared) update_statement_type ( conn_, @@ -278,6 +287,9 @@ namespace odb id_image_binding_, in_image_binding_)); + update_->cached (true); + } + return *update_; } @@ -285,12 +297,16 @@ namespace odb erase_statement () { if (erase_ == 0) + { erase_.reset ( new (details::shared) erase_statement_type ( conn_, object_traits::erase_statement, id_image_binding_)); + erase_->cached (true); + } + return *erase_; } |