From c67c06030fb1ac622c96211bffc054a85efe0aa8 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Wed, 20 Mar 2013 13:09:45 +0200 Subject: Add support for maintaining log of database model changes --- odb/semantics/relational/table.cxx | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) (limited to 'odb/semantics/relational/table.cxx') diff --git a/odb/semantics/relational/table.cxx b/odb/semantics/relational/table.cxx index 1c6e784..6d1c3a2 100644 --- a/odb/semantics/relational/table.cxx +++ b/odb/semantics/relational/table.cxx @@ -13,7 +13,7 @@ namespace semantics // table // table:: - table (table const& t, qscope& s, graph& g) + table (table const& t, qscope&, graph& g) : qnameable (t, g), uscope (t, g) { } @@ -56,6 +56,29 @@ namespace semantics s.end_element (); } + // drop_table + // + drop_table:: + drop_table (xml::parser& p, qscope&, graph& g) + : qnameable (p, g) + { + p.content (xml::parser::empty); + } + + drop_table& drop_table:: + clone (qscope& s, graph& g) const + { + return g.new_node (*this, s, g); + } + + void drop_table:: + serialize (xml::serializer& s) const + { + s.start_element (xmlns, "drop-table"); + qnameable::serialize_attributes (s); + s.end_element (); + } + // type info // namespace @@ -67,6 +90,8 @@ namespace semantics qnameable::parser_map_["table"] = &qnameable::parser_impl; qnameable::parser_map_["add-table"] = &qnameable::parser_impl; + qnameable::parser_map_["drop-table"] = + &qnameable::parser_impl; using compiler::type_info; @@ -86,6 +111,14 @@ namespace semantics ti.add_base (typeid (table)); insert (ti); } + + // drop_table + // + { + type_info ti (typeid (drop_table)); + ti.add_base (typeid (qnameable)); + insert (ti); + } } } init_; } -- cgit v1.1