summaryrefslogtreecommitdiff
path: root/odb/mysql/source.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2010-09-22 18:40:58 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2010-09-22 18:40:58 +0200
commitdeb66e801114f0da21c4e381a6d9864b9dd779fe (patch)
treec78c461cd1b365d4d7cfebc97d9636368fa03bce /odb/mysql/source.cxx
parentf3822e168d300f0fa8149db00ce52c03632d00ac (diff)
Add database type id as value_traits template argument
Diffstat (limited to 'odb/mysql/source.cxx')
-rw-r--r--odb/mysql/source.cxx26
1 files changed, 22 insertions, 4 deletions
diff --git a/odb/mysql/source.cxx b/odb/mysql/source.cxx
index 5b97651..92933e3 100644
--- a/odb/mysql/source.cxx
+++ b/odb/mysql/source.cxx
@@ -356,7 +356,9 @@ namespace mysql
struct init_image_member: member_base
{
init_image_member (context& c, bool id)
- : member_base (c, id), member_image_type_ (c, id)
+ : member_base (c, id),
+ member_image_type_ (c, id),
+ member_database_type_ (c)
{
}
@@ -365,7 +367,12 @@ namespace mysql
{
type = m.type ().fq_name (m.belongs ().hint ());
image_type = member_image_type_.image_type (m);
- traits = "mysql::value_traits< " + type + ", " + image_type + " >";
+ db_type = member_database_type_.database_type (m);
+
+ traits = "mysql::value_traits< "
+ + type + ", "
+ + image_type + ", "
+ + db_type + " >";
if (id_)
member = "id";
@@ -519,11 +526,13 @@ namespace mysql
private:
string type;
+ string db_type;
string member;
string image_type;
string traits;
member_image_type member_image_type_;
+ member_database_type member_database_type_;
};
//
@@ -531,7 +540,9 @@ namespace mysql
struct init_value_member: member_base
{
init_value_member (context& c)
- : member_base (c, false), member_image_type_ (c, false)
+ : member_base (c, false),
+ member_image_type_ (c, false),
+ member_database_type_ (c)
{
}
@@ -540,7 +551,12 @@ namespace mysql
{
type = m.type ().fq_name (m.belongs ().hint ());
image_type = member_image_type_.image_type (m);
- traits = "mysql::value_traits< " + type + ", " + image_type + " >";
+ db_type = member_database_type_.database_type (m);
+
+ traits = "mysql::value_traits< "
+ + type + ", "
+ + image_type + ", "
+ + db_type + " >";
os << "// " << m.name () << endl
<< "//" << endl;
@@ -647,10 +663,12 @@ namespace mysql
private:
string type;
+ string db_type;
string image_type;
string traits;
member_image_type member_image_type_;
+ member_database_type member_database_type_;
};
//