aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;
};