aboutsummaryrefslogtreecommitdiff
path: root/odb/mssql/query-dynamic.txx
blob: 0a0918017aa82b46793c6a4c85b5dcfbd2a526a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// file      : odb/mssql/query-dynamic.txx
// copyright : Copyright (c) 2005-2018 Code Synthesis Tools CC
// 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)));
    }
  }
}