aboutsummaryrefslogtreecommitdiff
path: root/odb/oracle/traits.hxx
diff options
context:
space:
mode:
authorConstantin Michael <constantin@codesynthesis.com>2011-09-27 17:04:14 +0200
committerConstantin Michael <constantin@codesynthesis.com>2011-09-27 17:04:14 +0200
commit2c2e3168e8c9c466c2054b9e99155bc262d98064 (patch)
tree5f475e4d2c464cabc6115811d0eb6ea54903874d /odb/oracle/traits.hxx
parent0abb38c66912f53a7cdf48c697cb3fa7f4aa6cd1 (diff)
Add const char[n] value_traits specialization in addition to char[n]
Diffstat (limited to 'odb/oracle/traits.hxx')
-rw-r--r--odb/oracle/traits.hxx29
1 files changed, 29 insertions, 0 deletions
diff --git a/odb/oracle/traits.hxx b/odb/oracle/traits.hxx
index a05d74f..7eb0ef9 100644
--- a/odb/oracle/traits.hxx
+++ b/odb/oracle/traits.hxx
@@ -474,10 +474,22 @@ namespace odb
};
template <std::size_t n>
+ struct default_value_traits<const char[n], id_string>:
+ c_string_value_traits
+ {
+ };
+
+ template <std::size_t n>
struct default_value_traits<char[n], id_nstring>: c_string_value_traits
{
};
+ template <std::size_t n>
+ struct default_value_traits<const char[n], id_nstring>:
+ c_string_value_traits
+ {
+ };
+
// std::string specialization for LOBs.
//
class string_lob_value_traits
@@ -610,11 +622,22 @@ namespace odb
};
template <std::size_t n>
+ struct default_value_traits<const char[n], id_clob>:
+ c_string_lob_value_traits
+ {
+ };
+
+ template <std::size_t n>
struct default_value_traits<char[n], id_nclob>:
c_string_lob_value_traits
{
};
+ template <std::size_t n>
+ struct default_value_traits<const char[n], id_nclob>:
+ c_string_lob_value_traits
+ {
+ };
// std::vector<char> (buffer) specialization.
//
template <>
@@ -797,6 +820,12 @@ namespace odb
{
static const database_type_id db_type_id = id_string;
};
+
+ template <std::size_t n>
+ struct default_type_traits<const char[n]>
+ {
+ static const database_type_id db_type_id = id_string;
+ };
}
}