From fb12544461cf4ea5fb331d726c96152c9389f995 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Wed, 2 Nov 2011 09:35:02 +0200 Subject: Optimize load_id(), load() sequence for SQLite and PostgreSQL In these databases both of these functions load the data into the object image. If there is no chance of image overwrite between these calls, then we don't need to load the image the second time. --- odb/sqlite/object-result.hxx | 2 +- odb/sqlite/object-result.txx | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'odb/sqlite') diff --git a/odb/sqlite/object-result.hxx b/odb/sqlite/object-result.hxx index fb7865c..6953787 100644 --- a/odb/sqlite/object-result.hxx +++ b/odb/sqlite/object-result.hxx @@ -43,7 +43,7 @@ namespace odb object_statements&); virtual void - load (object_type&); + load (object_type&, bool fetch); virtual id_type load_id (); diff --git a/odb/sqlite/object-result.txx b/odb/sqlite/object-result.txx index dc258cc..f400fe4 100644 --- a/odb/sqlite/object-result.txx +++ b/odb/sqlite/object-result.txx @@ -35,9 +35,10 @@ namespace odb template void object_result_impl:: - load (object_type& obj) + load (object_type& obj, bool fetch) { - load_image (); + if (fetch) + load_image (); // This is a top-level call so the statements cannot be locked. // -- cgit v1.1