summaryrefslogtreecommitdiff
path: root/odb/relational/sqlite
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2012-12-12 11:26:44 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2012-12-12 11:26:44 +0200
commita5f24411433aeb61ad015129354a664820affab0 (patch)
tree25fb5a97c0c070b78c9318f1da3dcbc484785918 /odb/relational/sqlite
parent2ad2e5500dd075db421a516502c9e522fdc34ee0 (diff)
Add support for SQL name transformations
Diffstat (limited to 'odb/relational/sqlite')
-rw-r--r--odb/relational/sqlite/context.cxx2
-rw-r--r--odb/relational/sqlite/schema.cxx11
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);
}