diff options
Diffstat (limited to 'odb/relational/context.cxx')
-rw-r--r-- | odb/relational/context.cxx | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/odb/relational/context.cxx b/odb/relational/context.cxx index 0ebfbf4..083bfe5 100644 --- a/odb/relational/context.cxx +++ b/odb/relational/context.cxx @@ -83,13 +83,26 @@ namespace relational } string context:: - quote_id_impl (string const& id) const + quote_id_impl (qname const& id) const { string r; - r.reserve (id.size () + 2); - r += '"'; - r += id; - r += '"'; + + bool f (true); + for (qname::iterator i (id.begin ()); i < id.end (); ++i) + { + if (i->empty ()) + continue; + + if (f) + f = false; + else + r += '.'; + + r += '"'; + r += *i; + r += '"'; + } + return r; } } |