From 3405fff26a02b5bee51686c5d22200be320b87d8 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Wed, 7 Mar 2012 10:21:08 +0200 Subject: Use RAII to free select statement results --- odb/pgsql/object-result.txx | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'odb/pgsql/object-result.txx') diff --git a/odb/pgsql/object-result.txx b/odb/pgsql/object-result.txx index 3a20e2d..c5334cc 100644 --- a/odb/pgsql/object-result.txx +++ b/odb/pgsql/object-result.txx @@ -20,6 +20,8 @@ namespace odb object_result_impl:: ~object_result_impl () { + if (!this->end_) + statement_->free_result (); } template @@ -87,7 +89,10 @@ namespace odb this->current (pointer_type ()); if (!statement_->next ()) + { + statement_->free_result (); this->end_ = true; + } } template @@ -146,6 +151,8 @@ namespace odb object_result_impl_no_id:: ~object_result_impl_no_id () { + if (!this->end_) + statement_->free_result (); } template @@ -207,7 +214,10 @@ namespace odb this->current (pointer_type ()); if (!statement_->next ()) + { + statement_->free_result (); this->end_ = true; + } } template -- cgit v1.1