diff options
Diffstat (limited to 'odb/mssql/object-result.txx')
-rw-r--r-- | odb/mssql/object-result.txx | 12 |
1 files changed, 12 insertions, 0 deletions
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 <typename T> @@ -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; |