summaryrefslogtreecommitdiff
path: root/odb/semantics/relational/elements.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2013-04-26 17:18:12 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2013-04-26 17:18:12 +0200
commit6692558ba588c76f5e61eb7ed9a1040d36cb9ed7 (patch)
tree6f7a29e911713829583bc573e938591383f8486c /odb/semantics/relational/elements.hxx
parent84cb9f184bc24ef7151ab9931b46311b03219b14 (diff)
Add support for extra database info in primary key
Use that to handle Oracle sequence name and SQLite lax auto ids.
Diffstat (limited to 'odb/semantics/relational/elements.hxx')
-rw-r--r--odb/semantics/relational/elements.hxx29
1 files changed, 14 insertions, 15 deletions
diff --git a/odb/semantics/relational/elements.hxx b/odb/semantics/relational/elements.hxx
index 11e7ea8..a0f02a4 100644
--- a/odb/semantics/relational/elements.hxx
+++ b/odb/semantics/relational/elements.hxx
@@ -49,37 +49,28 @@ namespace semantics
class edge: public context
{
public:
- virtual
- ~edge () {}
-
- public:
template <typename X>
bool
is_a () const
{
return dynamic_cast<X const*> (this) != 0;
}
+
+ public:
+ virtual
+ ~edge () {}
};
//
//
class node: public context
{
- public:
- virtual
- ~node () {}
-
// Return name of the node.
//
+ public:
virtual string
kind () const = 0;
- // XML serialization.
- //
- public:
- virtual void
- serialize (xml::serializer&) const = 0;
-
public:
template <typename X>
bool
@@ -88,10 +79,18 @@ namespace semantics
return dynamic_cast<X const*> (this) != 0;
}
+ public:
+ virtual
+ ~node () {}
+
+ // XML serialization.
+ //
+ virtual void
+ serialize (xml::serializer&) const = 0;
+
// Sink functions that allow extensions in the form of one-way
// edges.
//
- public:
void
add_edge_right (edge&) {}