aboutsummaryrefslogtreecommitdiff
path: root/odb/oracle/traits.hxx
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
commitb3826d5ff054deeb7ba22aecb242cec2dca2f93a (patch)
tree7af4d7b2742db8c36dda3c97d12a2c40bf4b14b0 /odb/oracle/traits.hxx
parent83374c27062772de95ab12652713bfb2c218ba48 (diff)
Add dynamic multi-database query support
Diffstat (limited to 'odb/oracle/traits.hxx')
-rw-r--r--odb/oracle/traits.hxx22
1 files changed, 16 insertions, 6 deletions
diff --git a/odb/oracle/traits.hxx b/odb/oracle/traits.hxx
index 0f7c635..2cbce04 100644
--- a/odb/oracle/traits.hxx
+++ b/odb/oracle/traits.hxx
@@ -556,7 +556,6 @@ namespace odb
{
public:
typedef const char* value_type;
- typedef const char* query_type;
typedef char* image_type;
static void
@@ -581,34 +580,40 @@ namespace odb
struct LIBODB_ORACLE_EXPORT default_value_traits<const char*, id_string>:
c_string_value_traits
{
+ typedef const char* query_type;
};
template <>
struct LIBODB_ORACLE_EXPORT default_value_traits<const char*, id_nstring>:
c_string_value_traits
{
+ typedef const char* query_type;
};
template <std::size_t N>
struct default_value_traits<char[N], id_string>: c_string_value_traits
{
+ typedef char query_type[N];
};
template <std::size_t N>
struct default_value_traits<const char[N], id_string>:
c_string_value_traits
{
+ typedef const char query_type[N];
};
template <std::size_t N>
struct default_value_traits<char[N], id_nstring>: c_string_value_traits
{
+ typedef char query_type[N];
};
template <std::size_t N>
struct default_value_traits<const char[N], id_nstring>:
c_string_value_traits
{
+ typedef const char query_type[N];
};
// std::vector<char> (buffer) specialization for RAW.
@@ -698,7 +703,7 @@ namespace odb
struct default_value_traits<char[N], id_raw>
{
typedef char* value_type;
- typedef const char* query_type;
+ typedef char query_type[N];
typedef char* image_type;
static void
@@ -729,7 +734,7 @@ namespace odb
struct default_value_traits<unsigned char[N], id_raw>
{
typedef unsigned char* value_type;
- typedef const unsigned char* query_type;
+ typedef unsigned char query_type[N];
typedef char* image_type;
static void
@@ -897,7 +902,6 @@ namespace odb
{
public:
typedef const char* value_type;
- typedef const char* query_type;
typedef lob_callback image_type;
static void
@@ -925,36 +929,42 @@ namespace odb
struct LIBODB_ORACLE_EXPORT default_value_traits<const char*, id_clob>:
c_string_lob_value_traits
{
+ typedef const char* query_type;
};
template <>
struct LIBODB_ORACLE_EXPORT default_value_traits<const char*, id_nclob>:
c_string_lob_value_traits
{
+ typedef const char* query_type;
};
template <std::size_t N>
struct default_value_traits<char[N], id_clob>:
c_string_lob_value_traits
{
+ typedef char query_type[N];
};
template <std::size_t N>
struct default_value_traits<const char[N], id_clob>:
c_string_lob_value_traits
{
+ typedef const char query_type[N];
};
template <std::size_t N>
struct default_value_traits<char[N], id_nclob>:
c_string_lob_value_traits
{
+ typedef char query_type[N];
};
template <std::size_t N>
struct default_value_traits<const char[N], id_nclob>:
c_string_lob_value_traits
{
+ typedef const char query_type[N];
};
// std::vector<char> (buffer) specialization for BLOBs.
@@ -1072,7 +1082,7 @@ namespace odb
{
public:
typedef char* value_type;
- typedef const char* query_type;
+ typedef char query_type[N];
typedef lob_callback image_type;
static void
@@ -1125,7 +1135,7 @@ namespace odb
{
public:
typedef unsigned char* value_type;
- typedef const unsigned char* query_type;
+ typedef unsigned char query_type[N];
typedef lob_callback image_type;
static void