aboutsummaryrefslogtreecommitdiff
path: root/odb/sqlite/object-result.txx
diff options
context:
space:
mode:
Diffstat (limited to 'odb/sqlite/object-result.txx')
-rw-r--r--odb/sqlite/object-result.txx10
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>