diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2016-11-27 15:27:00 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2016-11-27 15:27:00 +0200 |
commit | 5d969f916178eb5e223d658dd55f5f2bc9ab526d (patch) | |
tree | 5f4e8235a0e36cced937b7e01b66cce9293529c5 /odb/relational/mysql/context.cxx | |
parent | 4fd2c107242fe9f8e6ba7ded2a789f4de2ccd040 (diff) |
Fix bug in handling section members that require growth
Diffstat (limited to 'odb/relational/mysql/context.cxx')
-rw-r--r-- | odb/relational/mysql/context.cxx | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/odb/relational/mysql/context.cxx b/odb/relational/mysql/context.cxx index 4a5187a..c2f0df1 100644 --- a/odb/relational/mysql/context.cxx +++ b/odb/relational/mysql/context.cxx @@ -215,9 +215,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)); } @@ -287,7 +288,7 @@ namespace relational { bool r (false); has_grow_member mt (r); - mt.traverse (m); + mt.traverse (m, true); return r; } @@ -299,7 +300,7 @@ namespace relational { bool r (false); has_grow_member mt (r, 0, &t, ct, kp); - mt.traverse (m); + mt.traverse (m, true); return r; } |