diff options
Diffstat (limited to 'odb/relational/sqlite')
-rw-r--r-- | odb/relational/sqlite/common.cxx | 4 | ||||
-rw-r--r-- | odb/relational/sqlite/context.cxx | 9 |
2 files changed, 7 insertions, 6 deletions
diff --git a/odb/relational/sqlite/common.cxx b/odb/relational/sqlite/common.cxx index 4ab8968..f884e83 100644 --- a/odb/relational/sqlite/common.cxx +++ b/odb/relational/sqlite/common.cxx @@ -85,7 +85,7 @@ namespace relational image_type (semantics::data_member& m) { type_.clear (); - member_base::traverse (m); + member_base::traverse (m, true); return type_; } @@ -148,7 +148,7 @@ namespace relational database_type_id (type& m) { type_id_.clear (); - member_base::traverse (m); + member_base::traverse (m, true); return type_id_; } diff --git a/odb/relational/sqlite/context.cxx b/odb/relational/sqlite/context.cxx index a959477..2088d96 100644 --- a/odb/relational/sqlite/context.cxx +++ b/odb/relational/sqlite/context.cxx @@ -178,9 +178,10 @@ namespace relational pre (member_info& mi) { // If we have a key prefix (container), then it can't be in a - // section (while mi.m can). + // section (while mi.m can). The same for top-level -- if we got + // called, then we shouldn't ignore it. // - return !key_prefix_.empty () || + return !key_prefix_.empty () || top_level_ || (section_ == 0 && !separate_load (mi.m)) || (section_ != 0 && *section_ == section (mi.m)); } @@ -226,7 +227,7 @@ namespace relational { bool r (false); has_grow_member mt (r); - mt.traverse (m); + mt.traverse (m, true); return r; } @@ -238,7 +239,7 @@ namespace relational { bool r (false); has_grow_member mt (r, 0, &t, ct, kp); - mt.traverse (m); + mt.traverse (m, true); return r; } |