summaryrefslogtreecommitdiff
path: root/odb/common.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2010-12-07 11:03:33 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2010-12-07 11:03:33 +0200
commit5789a4f7c5cee94df29e37fd1c2f7c1d9e883002 (patch)
tree19b50e5ad738865692a0d1f077cbac24673d48fa /odb/common.cxx
parent2b460af3796203056f0a8a75017601e6e45e2906 (diff)
Allow inheritance from transient bases for object and composite value types
Diffstat (limited to 'odb/common.cxx')
-rw-r--r--odb/common.cxx10
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);
}