From ef7dd01920a4a28ba3c4aad3abe69bd43beee9fa Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 27 Jan 2012 12:31:52 +0200 Subject: Make container schema override object schema --- odb/common.cxx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'odb/common.cxx') diff --git a/odb/common.cxx b/odb/common.cxx index fe77b2c..6880964 100644 --- a/odb/common.cxx +++ b/odb/common.cxx @@ -119,6 +119,7 @@ traverse (semantics::class_& c) if (table_prefix_.level == 0) { + table_prefix_.schema = schema (c.scope ()); table_prefix_.prefix = table_name (c); table_prefix_.prefix += "_"; table_prefix_.level = 1; @@ -134,6 +135,7 @@ traverse (semantics::class_& c) { table_prefix_.level = 0; table_prefix_.prefix.clear (); + table_prefix_.schema.clear (); } } else @@ -239,8 +241,13 @@ append (semantics::data_member& m, table_prefix& tp) p = n.qualifier (); else { - p = tp.prefix.qualifier (); - p.append (n.qualifier ()); + if (n.qualified ()) + { + p = tp.schema; + p.append (n.qualifier ()); + } + else + p = tp.prefix.qualifier (); } p.append (tp.level <= 1 ? ctx.options.table_prefix () : tp.prefix.uname ()); -- cgit v1.1