diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2012-03-07 10:21:09 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2012-03-07 10:21:09 +0200 |
commit | 19131a419b35e409e6b65fc47ff31f7742ff54f3 (patch) | |
tree | 48a2fc660814062ce114d83e939f16d0ede511e6 /odb/relational/mssql | |
parent | f573927d48a7ceb155cf681e7cbad1e5176b2c0b (diff) |
Use RAII to free select statement results
Diffstat (limited to 'odb/relational/mssql')
-rw-r--r-- | odb/relational/mssql/context.cxx | 1 | ||||
-rw-r--r-- | odb/relational/mssql/source.cxx | 18 |
2 files changed, 1 insertions, 18 deletions
diff --git a/odb/relational/mssql/context.cxx b/odb/relational/mssql/context.cxx index 312cc03..1fddbe9 100644 --- a/odb/relational/mssql/context.cxx +++ b/odb/relational/mssql/context.cxx @@ -84,6 +84,7 @@ namespace relational generate_grow = false; need_alias_as = true; insert_send_auto_id = false; + delay_freeing_statement_result = true; data_->bind_vector_ = "mssql::bind*"; // Populate the C++ type to DB type map. diff --git a/odb/relational/mssql/source.cxx b/odb/relational/mssql/source.cxx index 1b800aa..2d8d41d 100644 --- a/odb/relational/mssql/source.cxx +++ b/odb/relational/mssql/source.cxx @@ -971,24 +971,6 @@ namespace relational } virtual void - 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 - // streaming long data. - // - os << "if (r == select_statement::no_data)" << endl - << "st.free_result ();" - << endl; - } - - 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) |