From 534da0d899b11f6ca1fac161ea8901a62e5c07dc Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Wed, 14 Aug 2013 15:16:09 +0200 Subject: Add support for object sections Sections are an optimization mechanism that allows the partitioning of data members of a persistent class into groups that can be separately loaded and/or updated. --- odb/sqlite/database.hxx | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'odb/sqlite/database.hxx') diff --git a/odb/sqlite/database.hxx b/odb/sqlite/database.hxx index 0471b64..6039f23 100644 --- a/odb/sqlite/database.hxx +++ b/odb/sqlite/database.hxx @@ -147,6 +147,12 @@ namespace odb void load (const typename object_traits::id_type& id, T& object); + // Load (or reload, if it is already loaded) a section of an object. + // + template + void + load (T& object, section&); + // Reload an object. // template @@ -217,6 +223,14 @@ namespace odb void update (const typename object_traits::pointer_type& obj_ptr); + // Update a section of an object. Throws the section_not_loaded + // exception if the section is not loaded. Note also that this + // function does not clear the changed flag if it is set. + // + template + void + update (const T& object, const section&); + // Make the object transient. Throw object_not_persistent if not // found. // -- cgit v1.1