From deb66e801114f0da21c4e381a6d9864b9dd779fe Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Wed, 22 Sep 2010 18:40:58 +0200 Subject: Add database type id as value_traits template argument --- odb/mysql/source.cxx | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) (limited to 'odb/mysql/source.cxx') 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_; }; // -- cgit v1.1