diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2010-12-07 11:03:33 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2010-12-07 11:03:33 +0200 |
commit | 5789a4f7c5cee94df29e37fd1c2f7c1d9e883002 (patch) | |
tree | 19b50e5ad738865692a0d1f077cbac24673d48fa /odb/common.cxx | |
parent | 2b460af3796203056f0a8a75017601e6e45e2906 (diff) |
Allow inheritance from transient bases for object and composite value types
Diffstat (limited to 'odb/common.cxx')
-rw-r--r-- | odb/common.cxx | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/odb/common.cxx b/odb/common.cxx index 1c1b067..6dccbc1 100644 --- a/odb/common.cxx +++ b/odb/common.cxx @@ -37,6 +37,11 @@ traverse_composite (semantics::data_member& m, semantics::class_& c) void object_members_base:: traverse (semantics::class_& c) { + // Ignore transient bases. + // + if (!(c.count ("object") || context::comp_value (c))) + return; + if (build_table_prefix_ && c.count ("object")) { table_prefix_.prefix = ctx_->table_name (c); @@ -166,6 +171,11 @@ traverse_composite (semantics::data_member& m, void object_columns_base:: traverse (semantics::class_& c) { + // Ignore transient bases. + // + if (!(c.count ("object") || context::comp_value (c))) + return; + inherits (c); names (c); } |