From e999b1e7295acd8cdb646c2db7db1f5059f10c7d Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 26 Mar 2013 13:03:13 +0200 Subject: Add changelog support for add, drop, and later column --- odb/semantics/relational/table.cxx | 49 ++++++++++++++++++++++++++++++++++---- 1 file changed, 44 insertions(+), 5 deletions(-) (limited to 'odb/semantics/relational/table.cxx') diff --git a/odb/semantics/relational/table.cxx b/odb/semantics/relational/table.cxx index 6d1c3a2..682196c 100644 --- a/odb/semantics/relational/table.cxx +++ b/odb/semantics/relational/table.cxx @@ -79,6 +79,35 @@ namespace semantics s.end_element (); } + // alter_table + // + alter_table:: + alter_table (alter_table const& t, qscope&, graph& g) + : qnameable (t, g), uscope (t, g) + { + } + + alter_table:: + alter_table (xml::parser& p, qscope&, graph& g) + : qnameable (p, g), uscope (p, g) + { + } + + alter_table& alter_table:: + clone (qscope& s, graph& g) const + { + return g.new_node (*this, s, g); + } + + void alter_table:: + serialize (xml::serializer& s) const + { + s.start_element (xmlns, "alter-table"); + qnameable::serialize_attributes (s); + uscope::serialize_content (s); + s.end_element (); + } + // type info // namespace @@ -87,11 +116,12 @@ namespace semantics { init () { - qnameable::parser_map_["table"] = &qnameable::parser_impl; - qnameable::parser_map_["add-table"] = - &qnameable::parser_impl; - qnameable::parser_map_["drop-table"] = - &qnameable::parser_impl; + qnameable::parser_map& m (qnameable::parser_map_); + + m["table"] = &qnameable::parser_impl
; + m["add-table"] = &qnameable::parser_impl; + m["drop-table"] = &qnameable::parser_impl; + m["alter-table"] = &qnameable::parser_impl; using compiler::type_info; @@ -119,6 +149,15 @@ namespace semantics ti.add_base (typeid (qnameable)); insert (ti); } + + // alter_table + // + { + type_info ti (typeid (alter_table)); + ti.add_base (typeid (qnameable)); + ti.add_base (typeid (uscope)); + insert (ti); + } } } init_; } -- cgit v1.1