aboutsummaryrefslogtreecommitdiff
path: root/odb/oracle/database.ixx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2013-08-14 15:16:09 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2013-08-14 15:16:09 +0200
commit1d287936950aa96a7b4a12b0d05633f257ab2c90 (patch)
tree08bd263cffb771dedcb016b5c6aa2ac7d5ea1471 /odb/oracle/database.ixx
parenta786d2278d538cf8d2e7f91f7c55b3c6e091b015 (diff)
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.
Diffstat (limited to 'odb/oracle/database.ixx')
-rw-r--r--odb/oracle/database.ixx14
1 files changed, 14 insertions, 0 deletions
diff --git a/odb/oracle/database.ixx b/odb/oracle/database.ixx
index 562f24f..8f46e7a 100644
--- a/odb/oracle/database.ixx
+++ b/odb/oracle/database.ixx
@@ -108,6 +108,13 @@ namespace odb
}
template <typename T>
+ inline void database::
+ load (T& obj, section& s)
+ {
+ return load_<T, id_oracle> (obj, s);
+ }
+
+ template <typename T>
inline typename object_traits<T>::pointer_type database::
find (const typename object_traits<T>::id_type& id)
{
@@ -249,6 +256,13 @@ namespace odb
template <typename T>
inline void database::
+ update (const T& obj, const section& s)
+ {
+ update_<T, id_oracle> (obj, s);
+ }
+
+ template <typename T>
+ inline void database::
erase (const typename object_traits<T>::id_type& id)
{
return erase_<T, id_oracle> (id);