diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2012-03-07 10:21:07 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2012-03-07 10:21:07 +0200 |
commit | 9542fdc4434c3af3eaed91bf10e5b487044d8cc7 (patch) | |
tree | 93a09e5995fee093cc048e585c29c3d88937dbdb /odb/mysql/view-result.txx | |
parent | 6b9ed661b4bf7f1a07ee34fe205d3e0802df535c (diff) |
Use RAII to free select statement results
Diffstat (limited to 'odb/mysql/view-result.txx')
-rw-r--r-- | odb/mysql/view-result.txx | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/odb/mysql/view-result.txx b/odb/mysql/view-result.txx index 6161909..6f1896d 100644 --- a/odb/mysql/view-result.txx +++ b/odb/mysql/view-result.txx @@ -15,6 +15,8 @@ namespace odb view_result_impl<T>:: ~view_result_impl () { + if (!this->end_) + statement_->free_result (); } template <typename T> @@ -60,6 +62,9 @@ namespace odb this->end_ = count_ > statement_->result_size (); else fetch (); + + if (this->end_) + statement_->free_result (); } template <typename T> @@ -132,7 +137,10 @@ namespace odb statement_->cache (); if (count_ >= statement_->result_size ()) + { + statement_->free_result (); this->end_ = true; + } } } |