diff options
-rw-r--r-- | odb/oracle/query.hxx | 4 | ||||
-rw-r--r-- | odb/oracle/traits.hxx | 4 |
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; }; |