aboutsummaryrefslogtreecommitdiff
path: root/odb/mysql/connection.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2011-08-28 16:07:38 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2011-08-28 16:07:38 +0200
commit1c2289c99f86a9f8cccfa87aef981e7c39dd4e9e (patch)
treea8fd33cfacfd85faee29d4dce4c9cfb3e2b2f475 /odb/mysql/connection.cxx
parent4ea19dd03241a940a4194ac3bdea89bf7cca8f42 (diff)
Add support for creating connection from existing handle
This will allow for custom connection establishment and configuration.
Diffstat (limited to 'odb/mysql/connection.cxx')
-rw-r--r--odb/mysql/connection.cxx16
1 files changed, 14 insertions, 2 deletions
diff --git a/odb/mysql/connection.cxx b/odb/mysql/connection.cxx
index f8e88a0..e8c9903 100644
--- a/odb/mysql/connection.cxx
+++ b/odb/mysql/connection.cxx
@@ -26,8 +26,7 @@ namespace odb
db_ (db),
failed_ (false),
handle_ (&mysql_),
- active_ (0),
- statement_cache_ (new statement_cache_type (*this))
+ active_ (0)
{
if (mysql_init (handle_) == 0)
throw bad_alloc ();
@@ -64,6 +63,19 @@ namespace odb
throw database_exception (e, sqlstate, message);
}
+
+ statement_cache_.reset (new statement_cache_type (*this));
+ }
+
+ connection::
+ connection (database_type& db, MYSQL* handle)
+ : odb::connection (db),
+ db_ (db),
+ failed_ (false),
+ handle_ (handle),
+ active_ (0)
+ {
+ statement_cache_.reset (new statement_cache_type (*this));
}
connection::