aboutsummaryrefslogtreecommitdiff
path: root/odb/relational/mysql/header.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-02-04 17:23:54 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-02-04 17:23:54 +0200
commit8e69f40ab32dc8604b68f360ae30fa961ba036ee (patch)
tree5448cea6c20f7e6c5cd80ae752b49e1a696bcd6e /odb/relational/mysql/header.cxx
parent36920a538c7b207c0b36b2270108a717479e0ed1 (diff)
Implement object loading views
See section 10.2 in the manual for details.
Diffstat (limited to 'odb/relational/mysql/header.cxx')
-rw-r--r--odb/relational/mysql/header.cxx42
1 files changed, 6 insertions, 36 deletions
diff --git a/odb/relational/mysql/header.cxx b/odb/relational/mysql/header.cxx
index bffb46d..189f005 100644
--- a/odb/relational/mysql/header.cxx
+++ b/odb/relational/mysql/header.cxx
@@ -15,39 +15,14 @@ namespace relational
{
namespace relational = relational::header;
- struct image_member: relational::image_member, member_base
+ struct image_member: relational::image_member_impl<sql_type>,
+ member_base
{
image_member (base const& x)
- : member_base::base (x), // virtual base
- base (x),
- member_base (x),
- member_image_type_ (base::type_override_,
- base::fq_type_override_,
- base::key_prefix_)
- {
- }
-
- virtual bool
- pre (member_info& mi)
- {
- if (container (mi))
- return false;
-
- image_type = member_image_type_.image_type (mi.m);
-
- if (var_override_.empty ())
- os << "// " << mi.m.name () << endl
- << "//" << endl;
-
- return true;
- }
-
- virtual void
- traverse_composite (member_info& mi)
- {
- os << image_type << " " << mi.var << "value;"
- << endl;
- }
+ : member_base::base (x), // virtual base
+ member_base::base_impl (x), // virtual base
+ base_impl (x),
+ member_base (x) {}
virtual void
traverse_integer (member_info& mi)
@@ -155,11 +130,6 @@ namespace relational
<< "my_bool " << mi.var << "null;"
<< endl;
}
-
- private:
- string image_type;
-
- member_image_type member_image_type_;
};
entry<image_member> image_member_;
}