diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2012-11-21 13:11:43 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2012-11-21 13:11:43 +0200 |
commit | b3826d5ff054deeb7ba22aecb242cec2dca2f93a (patch) | |
tree | 7af4d7b2742db8c36dda3c97d12a2c40bf4b14b0 /odb/oracle/query-dynamic.txx | |
parent | 83374c27062772de95ab12652713bfb2c218ba48 (diff) |
Add dynamic multi-database query support
Diffstat (limited to 'odb/oracle/query-dynamic.txx')
-rw-r--r-- | odb/oracle/query-dynamic.txx | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/odb/oracle/query-dynamic.txx b/odb/oracle/query-dynamic.txx new file mode 100644 index 0000000..7daebc4 --- /dev/null +++ b/odb/oracle/query-dynamic.txx @@ -0,0 +1,26 @@ +// file : odb/oracle/query-dynamic.txx +// copyright : Copyright (c) 2005-2012 Code Synthesis Tools CC +// license : ODB NCUEL; see accompanying LICENSE file + +namespace odb +{ + namespace oracle + { + 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 ()); + 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))); + } + } +} |