From 16bab3c7af5502f6a32e896a2789cefb7ffcaa72 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 10 Mar 2011 14:39:24 +0200 Subject: Separate auto increment from database type --- odb/relational/mysql/context.cxx | 14 -------------- odb/relational/mysql/context.hxx | 7 ------- odb/relational/mysql/schema.cxx | 16 ++++++++++++++++ 3 files changed, 16 insertions(+), 21 deletions(-) (limited to 'odb/relational/mysql') diff --git a/odb/relational/mysql/context.cxx b/odb/relational/mysql/context.cxx index 90f5766..e241691 100644 --- a/odb/relational/mysql/context.cxx +++ b/odb/relational/mysql/context.cxx @@ -231,20 +231,6 @@ namespace relational // SQL type parsing. // - string context:: - database_type_impl (semantics::type& t, - string const& type, - semantics::context& ctx, - column_type_flags f) - { - string r (::context::database_type_impl (t, type, ctx, f)); - - if (!r.empty () && ctx.count ("auto") && (f & ctf_object_id_ref) == 0) - r += " AUTO_INCREMENT"; - - return r; - } - static sql_type parse_sql_type (semantics::data_member& m, std::string const& sql); diff --git a/odb/relational/mysql/context.hxx b/odb/relational/mysql/context.hxx index 159fe46..60d2905 100644 --- a/odb/relational/mysql/context.hxx +++ b/odb/relational/mysql/context.hxx @@ -95,13 +95,6 @@ namespace relational virtual string quote_id_impl (string const&) const; - protected: - virtual string - database_type_impl (semantics::type&, - string const& type, - semantics::context&, - column_type_flags); - public: virtual ~context (); diff --git a/odb/relational/mysql/schema.cxx b/odb/relational/mysql/schema.cxx index 19569e4..37f3412 100644 --- a/odb/relational/mysql/schema.cxx +++ b/odb/relational/mysql/schema.cxx @@ -37,6 +37,22 @@ namespace relational } }; + struct object_columns: relational::object_columns + { + object_columns (base const& x): base (x) {} + + virtual void + constraints (semantics::data_member& m) + { + base::constraints (m); + + if (m.count ("auto")) + os << " AUTO_INCREMENT"; + } + + }; + entry object_columns_; + struct member_create: relational::member_create, create_common { member_create (base const& x): base (x) {} -- cgit v1.1