diff options
Diffstat (limited to 'odb/oracle/traits.hxx')
-rw-r--r-- | odb/oracle/traits.hxx | 22 |
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 |