aboutsummaryrefslogtreecommitdiff
path: root/odb/pgsql/query-dynamic.txx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2012-11-21 13:11:43 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2012-11-21 13:11:43 +0200
commit4d51a8a248bcbe50849b6c7682aaca1aa9ebff98 (patch)
tree968edd20009ec455ed54c072820c9a338eaa1988 /odb/pgsql/query-dynamic.txx
parent2eac10b0aae159bdfc249c67f11b32a65036352d (diff)
Add dynamic multi-database query support
Diffstat (limited to 'odb/pgsql/query-dynamic.txx')
-rw-r--r--odb/pgsql/query-dynamic.txx21
1 files changed, 21 insertions, 0 deletions
diff --git a/odb/pgsql/query-dynamic.txx b/odb/pgsql/query-dynamic.txx
new file mode 100644
index 0000000..d08338c
--- /dev/null
+++ b/odb/pgsql/query-dynamic.txx
@@ -0,0 +1,21 @@
+// file : odb/pgsql/query-dynamic.txx
+// copyright : Copyright (c) 2005-2012 Code Synthesis Tools CC
+// license : GNU GPL v2; see accompanying LICENSE file
+
+namespace odb
+{
+ namespace pgsql
+ {
+ template <typename T, database_type_id ID>
+ details::shared_ptr<query_param>
+ query_param_factory_impl (const void* val, bool by_ref)
+ {
+ const T& v (*static_cast<const T*> (val));
+
+ return details::shared_ptr<query_param> (
+ by_ref
+ ? new (details::shared) query_param_impl<T, ID> (ref_bind<T> (v))
+ : new (details::shared) query_param_impl<T, ID> (val_bind<T> (v)));
+ }
+ }
+}