aboutsummaryrefslogtreecommitdiff
path: root/odb/oracle/traits.cxx
diff options
context:
space:
mode:
authorConstantin Michael <constantin@codesynthesis.com>2011-10-14 14:34:51 +0200
committerConstantin Michael <constantin@codesynthesis.com>2011-10-14 14:34:51 +0200
commit25f9d60705e54c77704404a19001dc6711227bef (patch)
treeec0186d86e6e0fb16df1a5954e4a3e305e9d27a1 /odb/oracle/traits.cxx
parentbbac9d4b7e9015811ad3dd3d49024981e7fce73d (diff)
Handle mapping of std::vector<char> to Oracle SQL type RAW by default
Diffstat (limited to 'odb/oracle/traits.cxx')
-rw-r--r--odb/oracle/traits.cxx22
1 files changed, 22 insertions, 0 deletions
diff --git a/odb/oracle/traits.cxx b/odb/oracle/traits.cxx
index a37f440..d358acf 100644
--- a/odb/oracle/traits.cxx
+++ b/odb/oracle/traits.cxx
@@ -56,6 +56,28 @@ namespace odb
}
//
+ // default_value_traits<vector<char>, id_raw>
+ //
+
+ void default_value_traits<vector<char>, id_raw>::
+ set_image (char* b,
+ size_t c,
+ size_t& n,
+ bool& is_null,
+ const value_type& v)
+ {
+ is_null = false;
+ n = v.size ();
+
+ assert (n <= c);
+
+ // std::vector::data() may not be available in older compilers.
+ //
+ if (n != 0)
+ memcpy (b, &v.front (), n);
+ }
+
+ //
// string_lob_value_traits
//