aboutsummaryrefslogtreecommitdiff
path: root/odb
diff options
context:
space:
mode:
authorConstantin Michael <constantin@codesynthesis.com>2011-10-27 12:22:08 +0200
committerConstantin Michael <constantin@codesynthesis.com>2011-10-27 12:22:08 +0200
commita2638eb3a49c8774f64be4986641d5f3971893c4 (patch)
tree6678c753f1c6bf60e288bea0e3c41b1b1ff89741 /odb
parent28b7e2b218d673665fa906d0d1be2d50c8ff2d70 (diff)
Add buffer_type member to integer image_traits to allow derivation of unsigned
Diffstat (limited to 'odb')
-rw-r--r--odb/oracle/query.hxx4
-rw-r--r--odb/oracle/traits.hxx4
2 files changed, 6 insertions, 2 deletions
diff --git a/odb/oracle/query.hxx b/odb/oracle/query.hxx
index c392704..a7bacbe 100644
--- a/odb/oracle/query.hxx
+++ b/odb/oracle/query.hxx
@@ -1191,7 +1191,7 @@ namespace odb
virtual void
bind (bind_type* b)
{
- b->type = bind_type::integer;
+ b->type = image_traits<T, id_int32>::buffer_type;
b->buffer = &image_;
b->capacity = sizeof (image_);
b->size = 0;
@@ -1227,7 +1227,7 @@ namespace odb
virtual void
bind (bind_type* b)
{
- b->type = bind_type::integer;
+ b->type = image_traits<T, id_int64>::buffer_type;
b->buffer = &image_;
b->capacity = sizeof (image_);
b->size = 0;
diff --git a/odb/oracle/traits.hxx b/odb/oracle/traits.hxx
index 7fb8bd02..bcad915 100644
--- a/odb/oracle/traits.hxx
+++ b/odb/oracle/traits.hxx
@@ -103,12 +103,14 @@ namespace odb
template <>
struct int32_image_traits<false>
{
+ static const bind::buffer_type buffer_type = bind::integer;
typedef int image_type;
};
template <>
struct int32_image_traits<true>
{
+ static const bind::buffer_type buffer_type = bind::uinteger;
typedef unsigned int image_type;
};
@@ -125,12 +127,14 @@ namespace odb
template <>
struct int64_image_traits<false>
{
+ static const bind::buffer_type buffer_type = bind::integer;
typedef long long image_type;
};
template <>
struct int64_image_traits<true>
{
+ static const bind::buffer_type buffer_type = bind::uinteger;
typedef unsigned long long image_type;
};