diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2012-08-01 11:16:20 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2012-08-01 11:16:20 +0200 |
commit | 4cde011f27cd406804f05aa8fd1d28ed91a26738 (patch) | |
tree | dc202095520894044a93e1ea5b8a9c30e84e4e25 /odb/relational/common.cxx | |
parent | 4fcb4ae749b3cf40f24ab1b9ddeb58b3ae0600f7 (diff) |
Add support for empty column names in composite value types
Diffstat (limited to 'odb/relational/common.cxx')
-rw-r--r-- | odb/relational/common.cxx | 47 |
1 files changed, 27 insertions, 20 deletions
diff --git a/odb/relational/common.cxx b/odb/relational/common.cxx index 1e1009d..3916184 100644 --- a/odb/relational/common.cxx +++ b/odb/relational/common.cxx @@ -42,20 +42,23 @@ namespace relational // public name. // string alias; - - if (composite_wrapper (utype ((*id_member (c))))) { - string p (column_prefix (m, key_prefix_, default_name_)); + string n; + + if (composite_wrapper (utype (*id_member (c)))) + { + n = column_prefix (m, key_prefix_, default_name_); - if (p.empty ()) - p = public_name_db (m); + if (n.empty ()) + n = public_name_db (m); + else + n.resize (n.size () - 1); // Remove trailing underscore. + } else - p.resize (p.size () - 1); // Remove trailing underscore. + n = column_name (m, key_prefix_, default_name_); - alias = column_prefix_ + p; + alias = compose_name (column_prefix_, n); } - else - alias = column_prefix_ + column_name (m, key_prefix_, default_name_); generate (alias, c); } @@ -219,20 +222,23 @@ namespace relational // public name. // string alias; - - if (composite_wrapper (utype ((*id_member (c))))) { - string p (column_prefix (m, key_prefix_, default_name_)); + string n; + + if (composite_wrapper (utype (*id_member (c)))) + { + n = column_prefix (m, key_prefix_, default_name_); - if (p.empty ()) - p = public_name_db (m); + if (n.empty ()) + n = public_name_db (m); + else + n.resize (n.size () - 1); // Remove trailing underscore. + } else - p.resize (p.size () - 1); // Remove trailing underscore. + n = column_name (m, key_prefix_, default_name_); - alias = column_prefix_ + p; + alias = compose_name (column_prefix_, n); } - else - alias = column_prefix_ + column_name (m, key_prefix_, default_name_); string tag (escape (alias + "_alias_tag")); string const& fq_name (class_fq_name (c)); @@ -489,8 +495,9 @@ namespace relational // Simple id. // string type (t.fq_name (hint)); - string column (column_prefix_ + - column_name (m, key_prefix_, default_name_)); + string column ( + compose_name ( + column_prefix_, column_name (m, key_prefix_, default_name_))); // For pointer_query_columns generate normal column mapping. // |