diff options
Diffstat (limited to 'odb/relational/mysql')
-rw-r--r-- | odb/relational/mysql/source.cxx | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/odb/relational/mysql/source.cxx b/odb/relational/mysql/source.cxx index 02bc74b..8f80a5a 100644 --- a/odb/relational/mysql/source.cxx +++ b/odb/relational/mysql/source.cxx @@ -127,7 +127,7 @@ namespace relational } line_ += column; - line_ += "+0, ' ', "; + line_ += "+0,' ',"; if (!table.empty ()) { @@ -142,6 +142,30 @@ namespace relational }; entry<object_columns> object_columns_; + struct view_columns: relational::view_columns, context + { + view_columns (base const& x): base (x) {} + + virtual void + column (semantics::data_member& m, string const& column) + { + // The same idea as in object_columns. + // + if (column_sql_type (m).type != sql_type::ENUM) + { + base::column (m, column); + return; + } + + line_ += "CONCAT("; + line_ += column; + line_ += "+0,' ',"; + line_ += column; + line_ += ")"; + } + }; + entry<view_columns> view_columns_; + // // bind // |