aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--odb/relational/header.hxx6
-rw-r--r--odb/relational/model.hxx6
-rw-r--r--odb/relational/source.hxx12
3 files changed, 24 insertions, 0 deletions
diff --git a/odb/relational/header.hxx b/odb/relational/header.hxx
index de152ca..0af9109 100644
--- a/odb/relational/header.hxx
+++ b/odb/relational/header.hxx
@@ -153,6 +153,12 @@ namespace relational
}
virtual void
+ traverse_pointer (semantics::data_member&, semantics::class_&)
+ {
+ // We don't want to traverse composite id.
+ }
+
+ virtual void
traverse_composite (semantics::data_member* m, semantics::class_& c)
{
if (object (c_))
diff --git a/odb/relational/model.hxx b/odb/relational/model.hxx
index 3ff5e06..bb83e02 100644
--- a/odb/relational/model.hxx
+++ b/odb/relational/model.hxx
@@ -453,6 +453,12 @@ namespace relational
}
virtual void
+ traverse_pointer (semantics::data_member&, semantics::class_&)
+ {
+ // We don't want to traverse composite id.
+ }
+
+ virtual void
traverse_object (semantics::class_& c)
{
if (context::top_object != &c)
diff --git a/odb/relational/source.hxx b/odb/relational/source.hxx
index ac81bdf..b53b529 100644
--- a/odb/relational/source.hxx
+++ b/odb/relational/source.hxx
@@ -2207,6 +2207,12 @@ namespace relational
}
virtual void
+ traverse_pointer (semantics::data_member&, semantics::class_&)
+ {
+ // We don't want to traverse composite id.
+ }
+
+ virtual void
traverse_composite (semantics::data_member* m, semantics::class_& c)
{
if (object (c_))
@@ -3876,6 +3882,12 @@ namespace relational
}
virtual void
+ traverse_pointer (semantics::data_member&, semantics::class_&)
+ {
+ // We don't want to traverse composite id.
+ }
+
+ virtual void
traverse_composite_wrapper (semantics::data_member* m,
semantics::class_& c,
semantics::type* w)