summaryrefslogtreecommitdiff
path: root/libodb-mssql/odb/mssql/query-dynamic.txx
diff options
context:
space:
mode:
Diffstat (limited to 'libodb-mssql/odb/mssql/query-dynamic.txx')
-rw-r--r--libodb-mssql/odb/mssql/query-dynamic.txx25
1 files changed, 25 insertions, 0 deletions
diff --git a/libodb-mssql/odb/mssql/query-dynamic.txx b/libodb-mssql/odb/mssql/query-dynamic.txx
new file mode 100644
index 0000000..8683c0f
--- /dev/null
+++ b/libodb-mssql/odb/mssql/query-dynamic.txx
@@ -0,0 +1,25 @@
+// file : odb/mssql/query-dynamic.txx
+// license : ODB NCUEL; see accompanying LICENSE file
+
+namespace odb
+{
+ namespace mssql
+ {
+ template <typename T, database_type_id ID>
+ details::shared_ptr<query_param>
+ query_param_factory_impl (const void* val,
+ const query_column_base& qc,
+ bool by_ref)
+ {
+ const T& v (*static_cast<const T*> (val));
+
+ unsigned short p (qc.prec ());
+ unsigned short s (qc.scale ());
+
+ return details::shared_ptr<query_param> (
+ by_ref
+ ? new (details::shared) query_param_impl<T, ID> (ref_bind<T> (v, p, s))
+ : new (details::shared) query_param_impl<T, ID> (val_bind<T> (v, p, s)));
+ }
+ }
+}