diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2012-12-12 11:26:44 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2012-12-12 11:26:44 +0200 |
commit | a5f24411433aeb61ad015129354a664820affab0 (patch) | |
tree | 25fb5a97c0c070b78c9318f1da3dcbc484785918 /odb/relational/sqlite | |
parent | 2ad2e5500dd075db421a516502c9e522fdc34ee0 (diff) |
Add support for SQL name transformations
Diffstat (limited to 'odb/relational/sqlite')
-rw-r--r-- | odb/relational/sqlite/context.cxx | 2 | ||||
-rw-r--r-- | odb/relational/sqlite/schema.cxx | 11 |
2 files changed, 6 insertions, 7 deletions
diff --git a/odb/relational/sqlite/context.cxx b/odb/relational/sqlite/context.cxx index 5dc3fa8..5e46c77 100644 --- a/odb/relational/sqlite/context.cxx +++ b/odb/relational/sqlite/context.cxx @@ -85,6 +85,8 @@ namespace relational insert_send_auto_id = true; delay_freeing_statement_result = false; need_image_clone = false; + global_index = true; + global_fkey = false; data_->bind_vector_ = "sqlite::bind*"; data_->truncated_vector_ = "bool*"; diff --git a/odb/relational/sqlite/schema.cxx b/odb/relational/sqlite/schema.cxx index 8efef66..1d4b1d2 100644 --- a/odb/relational/sqlite/schema.cxx +++ b/odb/relational/sqlite/schema.cxx @@ -56,14 +56,11 @@ namespace relational virtual string name (sema_rel::index& in) { - // In SQLite, index names are database-global. Make them unique - // by prefixing the index name with table name (preserving the - // database). + // In SQLite, index names can be qualified with the database. // - sema_rel::qname n ( - static_cast<sema_rel::table&> (in.scope ()).name ()); - - n.uname () += "_" + in.name (); + sema_rel::table& t (static_cast<sema_rel::table&> (in.scope ())); + sema_rel::qname n (t.name ().qualifier ()); + n.append (in.name ()); return quote_id (n); } |