From bf122510c89d80380277ab3fb374e647bd3e2ac8 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 22 Dec 2011 11:03:29 +0200 Subject: Handle delayed result set freeing in all places --- odb/relational/mssql/source.cxx | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'odb/relational/mssql/source.cxx') diff --git a/odb/relational/mssql/source.cxx b/odb/relational/mssql/source.cxx index 629f823..c1236b8 100644 --- a/odb/relational/mssql/source.cxx +++ b/odb/relational/mssql/source.cxx @@ -1279,12 +1279,11 @@ namespace relational virtual void init_value_extra () { - os << "sts.find_statement ().stream_result ();" - << "sts.find_statement ().free_result ();"; + os << "sts.find_statement ().stream_result ();"; } virtual void - free_statement_result () + free_statement_result_immediate () { // Only free the result if there are no rows. Otherwise we // need to keep the result alive until after we are done @@ -1296,6 +1295,12 @@ namespace relational } virtual void + free_statement_result_delayed () + { + os << "sts.find_statement ().free_result ();"; + } + + virtual void persist_statement_extra (type& c, relational::query_parameters&, persist_position p) -- cgit v1.1