diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2015-02-04 17:23:54 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2015-02-04 17:23:54 +0200 |
commit | 8e69f40ab32dc8604b68f360ae30fa961ba036ee (patch) | |
tree | 5448cea6c20f7e6c5cd80ae752b49e1a696bcd6e /odb/common.cxx | |
parent | 36920a538c7b207c0b36b2270108a717479e0ed1 (diff) |
Implement object loading views
See section 10.2 in the manual for details.
Diffstat (limited to 'odb/common.cxx')
-rw-r--r-- | odb/common.cxx | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/odb/common.cxx b/odb/common.cxx index b75d323..ed586c9 100644 --- a/odb/common.cxx +++ b/odb/common.cxx @@ -18,7 +18,8 @@ traverse_simple (semantics::data_member&) void object_members_base:: traverse_pointer (semantics::data_member& m, semantics::class_& c) { - traverse_member (m, utype (*id_member (c))); + if (!view_member (m)) // Not really "as if" pointed-to id member. + traverse_member (m, utype (*id_member (c))); } void object_members_base:: @@ -244,7 +245,8 @@ traverse_column (semantics::data_member&, string const&, bool) void object_columns_base:: traverse_pointer (semantics::data_member& m, semantics::class_& c) { - traverse_member (m, utype (*id_member (c))); + if (!view_member (m)) // Not really "as if" pointed-to id column. + traverse_member (m, utype (*id_member (c))); } void object_columns_base:: |