diff options
Diffstat (limited to 'odb/sqlite/object-result.txx')
-rw-r--r-- | odb/sqlite/object-result.txx | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/odb/sqlite/object-result.txx b/odb/sqlite/object-result.txx index a6b4e50..39dcdd7 100644 --- a/odb/sqlite/object-result.txx +++ b/odb/sqlite/object-result.txx @@ -21,6 +21,8 @@ namespace odb object_result_impl<T>:: ~object_result_impl () { + if (!this->end_) + statement_->free_result (); } template <typename T> @@ -88,7 +90,10 @@ namespace odb this->current (pointer_type ()); if (!statement_->next ()) + { + statement_->free_result (); this->end_ = true; + } } template <typename T> @@ -147,6 +152,8 @@ namespace odb object_result_impl_no_id<T>:: ~object_result_impl_no_id () { + if (!this->end_) + statement_->free_result (); } template <typename T> @@ -208,7 +215,10 @@ namespace odb this->current (pointer_type ()); if (!statement_->next ()) + { + statement_->free_result (); this->end_ = true; + } } template <typename T> |