From c1b8b6f16e4881e57aa0da67e6f09ad71ee6099d Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Wed, 7 Mar 2012 10:21:07 +0200 Subject: Use RAII to free select statement results --- odb/mssql/object-result.txx | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'odb/mssql/object-result.txx') diff --git a/odb/mssql/object-result.txx b/odb/mssql/object-result.txx index efaeae9..9f6b2d0 100644 --- a/odb/mssql/object-result.txx +++ b/odb/mssql/object-result.txx @@ -31,6 +31,9 @@ namespace odb } delete image_copy_; + + if (!this->end_) + statement_->free_result (); } template @@ -129,7 +132,10 @@ namespace odb } if (statement_->fetch () == select_statement::no_data) + { + statement_->free_result (); this->end_ = true; + } else { cc.callback = &change_callback; @@ -184,6 +190,9 @@ namespace odb cc.callback = 0; } + if (!this->end_) + statement_->free_result (); + delete image_copy_; } @@ -252,7 +261,10 @@ namespace odb } if (statement_->fetch () == select_statement::no_data) + { + statement_->free_result (); this->end_ = true; + } else { cc.callback = &change_callback; -- cgit v1.1