diff options
Diffstat (limited to 'odb/mysql/common.hxx')
-rw-r--r-- | odb/mysql/common.hxx | 65 |
1 files changed, 59 insertions, 6 deletions
diff --git a/odb/mysql/common.hxx b/odb/mysql/common.hxx index f1d81d9..0e0962f 100644 --- a/odb/mysql/common.hxx +++ b/odb/mysql/common.hxx @@ -52,13 +52,20 @@ namespace mysql } virtual void - traverse_short_string (type&, sql_type const&) + traverse_string (type&, sql_type const&) { } virtual void - traverse_long_string (type&, sql_type const&) + traverse_short_string (type& t, sql_type const& st) { + traverse_string (t, st); + } + + virtual void + traverse_long_string (type& t, sql_type const& st) + { + traverse_string (t, st); } virtual void @@ -81,6 +88,41 @@ namespace mysql string var; }; + struct member_image_type: member_base + { + member_image_type (context&, bool id); + + string + image_type (type&); + + virtual void + traverse_integer (type&, sql_type const&); + + virtual void + traverse_float (type&, sql_type const&); + + virtual void + traverse_decimal (type&, sql_type const&); + + virtual void + traverse_date_time (type&, sql_type const&); + + virtual void + traverse_string (type&, sql_type const&); + + virtual void + traverse_bit (type&, sql_type const&); + + virtual void + traverse_enum (type&, sql_type const&); + + virtual void + traverse_set (type&, sql_type const&); + + private: + string type_; + }; + struct has_grow_member: member_base { has_grow_member (context& c) @@ -95,12 +137,24 @@ namespace mysql } virtual void + traverse_decimal (type&, sql_type const& t) + { + r_ = true; + } + + virtual void traverse_long_string (type&, sql_type const& t) { r_ = true; } virtual void + traverse_short_string (type&, sql_type const& t) + { + r_ = true; // @@ Short string optimization disabled. + } + + virtual void traverse_enum (type&, sql_type const&) { r_ = true; @@ -137,10 +191,7 @@ namespace mysql traverse_date_time (type&, sql_type const&); virtual void - traverse_short_string (type&, sql_type const&); - - virtual void - traverse_long_string (type&, sql_type const&); + traverse_string (type&, sql_type const&); virtual void traverse_bit (type&, sql_type const&); @@ -158,6 +209,8 @@ namespace mysql string table_; string column_; bool decl_; + + member_image_type member_image_type_; }; } |