From 7f6c64f2211d37db76a97fbc79a4b5492302ef2f Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Wed, 27 Oct 2010 17:36:59 +0200 Subject: Implement support for composite value types New test: common/composite. --- odb/mysql/inline.cxx | 44 +++++++++++++++++++++----------------------- 1 file changed, 21 insertions(+), 23 deletions(-) (limited to 'odb/mysql/inline.cxx') diff --git a/odb/mysql/inline.cxx b/odb/mysql/inline.cxx index 2527e1f..47766e2 100644 --- a/odb/mysql/inline.cxx +++ b/odb/mysql/inline.cxx @@ -23,9 +23,15 @@ namespace mysql if (c.file () != unit.file ()) return; - if (!c.count ("object")) - return; + if (c.count ("object")) + traverse_object (c); + else if (comp_value (c)) + traverse_value (c); + } + virtual void + traverse_object (type& c) + { string const& type (c.fq_name ()); string traits ("access::object_traits< " + type + " >"); @@ -33,14 +39,6 @@ namespace mysql t.traverse (c); semantics::data_member& id (*t.member ()); - bool has_grow; - { - has_grow_member m (*this); - traversal::names n (m); - names (c, n); - has_grow = m.result (); - } - os << "// " << c.name () << endl << "//" << endl << endl; @@ -79,20 +77,20 @@ namespace mysql << "{" << "return obj." << id.name () << ";" << endl << "}"; + } - // grow () - // - if (!has_grow) - { - // The dummy implementation is needed for result_impl. - // - os << "inline" << endl - << "bool " << traits << "::" << endl - << "grow (image_type&, my_bool*)" - << "{" - << "return false;" - << "}"; - } + virtual void + traverse_value (type&) + { + /* + string const& type (c.fq_name ()); + string traits ("access::composite_value_traits< " + type + " >"); + + os << "// " << c.name () << endl + << "//" << endl + << endl; + + */ } }; } -- cgit v1.1