aboutsummaryrefslogtreecommitdiff
path: root/odb/mysql
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2010-08-19 17:05:24 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2010-08-19 17:05:24 +0200
commit2b02d443ab344bc02dfc2891fb1a57c6520c393f (patch)
tree3bff59757b0ef986d70c67def93d689fb18a5b66 /odb/mysql
parent33cd64535d2307a2e7884ee0796e1aae42937aaf (diff)
Use type names as specified in the header that we compile
Diffstat (limited to 'odb/mysql')
-rw-r--r--odb/mysql/common.cxx5
-rw-r--r--odb/mysql/header.cxx16
-rw-r--r--odb/mysql/source.cxx4
3 files changed, 14 insertions, 11 deletions
diff --git a/odb/mysql/common.cxx b/odb/mysql/common.cxx
index 011e510..d294527 100644
--- a/odb/mysql/common.cxx
+++ b/odb/mysql/common.cxx
@@ -198,7 +198,10 @@ namespace mysql
void query_column::
pre (type& m)
{
- type_ = "mysql::value_traits< " + m.type ().fq_name () + " >::value_type";
+ type_ = "mysql::value_traits< "
+ + m.type ().fq_name (m.belongs ().hint ())
+ + " >::value_type";
+
name_ = escape (public_name (m));
if (decl_)
diff --git a/odb/mysql/header.cxx b/odb/mysql/header.cxx
index 237cb85..bdb98a4 100644
--- a/odb/mysql/header.cxx
+++ b/odb/mysql/header.cxx
@@ -216,12 +216,6 @@ namespace mysql
string const& type (c.fq_name ());
- // Find the id member and type.
- //
- id_member_.traverse (c);
- semantics::data_member& id (*id_member_.member ());
- semantics::type& id_type (id.type ());
-
member_count_.traverse (c);
size_t column_count (member_count_.count ());
@@ -241,8 +235,14 @@ namespace mysql
// id_type
//
- os << "typedef " << id_type.fq_name () << " id_type;"
- << endl;
+ {
+ id_member_.traverse (c);
+ semantics::data_member& id (*id_member_.member ());
+
+ os << "typedef " << id.type ().fq_name (id.belongs ().hint ()) <<
+ " id_type;"
+ << endl;
+ }
// image_type
//
diff --git a/odb/mysql/source.cxx b/odb/mysql/source.cxx
index 9cf69b1..1a9e6c8 100644
--- a/odb/mysql/source.cxx
+++ b/odb/mysql/source.cxx
@@ -353,7 +353,7 @@ namespace mysql
virtual void
pre (type& m)
{
- type = m.type ().fq_name ();
+ type = m.type ().fq_name (m.belongs ().hint ());
if (id_)
member = "id";
@@ -516,7 +516,7 @@ namespace mysql
virtual void
pre (type& m)
{
- type = m.type ().fq_name ();
+ type = m.type ().fq_name (m.belongs ().hint ());
os << "// " << m.name () << endl
<< "//" << endl;