diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2011-12-22 11:03:29 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2012-01-20 15:43:45 +0200 |
commit | bf122510c89d80380277ab3fb374e647bd3e2ac8 (patch) | |
tree | aa25f22c7c1679ad8e0d3fb5010ffefb988f9dc6 /odb/relational/mssql | |
parent | c81d68fd7c0bf884942bd5108008d9718ae87719 (diff) |
Handle delayed result set freeing in all places
Diffstat (limited to 'odb/relational/mssql')
-rw-r--r-- | odb/relational/mssql/source.cxx | 11 |
1 files changed, 8 insertions, 3 deletions
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) |