diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2021-04-29 09:05:42 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2021-04-30 12:25:45 +0200 |
commit | 64f60cfa94d730ea5d6a9e7bc22a8d706f73d53c (patch) | |
tree | 1de8d43fa0da0ca9005c459461a8c303e74322ba /odb/sqlite/connection.ixx | |
parent | fa3f14db14671b4c37c400880d097b17aa12b824 (diff) |
Add support for SQLite ATTACH DATABASE functionality
Diffstat (limited to 'odb/sqlite/connection.ixx')
-rw-r--r-- | odb/sqlite/connection.ixx | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/odb/sqlite/connection.ixx b/odb/sqlite/connection.ixx index 69739b7..c0e49b9 100644 --- a/odb/sqlite/connection.ixx +++ b/odb/sqlite/connection.ixx @@ -37,6 +37,36 @@ namespace odb return static_cast<connection_factory&> (factory_).database (); } + inline connection& connection:: + main_connection () + { + return handle_ != 0 + ? *this + : *static_cast<attached_connection_factory&> (factory_).main_connection_; + } + + inline connection_ptr connection:: + main_connection (const connection_ptr& c) + { + return c->handle_ != 0 + ? c + : static_cast<attached_connection_factory&> (c->factory_).main_connection_; + } + + inline sqlite3* connection:: + handle () + { + return handle_ != 0 + ? handle_ + : static_cast<attached_connection_factory&> (factory_).main_connection_->handle_; + } + + inline connection_factory& connection:: + factory () + { + return static_cast<connection_factory&> (factory_); + } + template <typename T> inline prepared_query<T> connection:: prepare_query (const char* n, const char* q) |