aboutsummaryrefslogtreecommitdiff
path: root/odb/oracle/statement.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'odb/oracle/statement.cxx')
-rw-r--r--odb/oracle/statement.cxx25
1 files changed, 12 insertions, 13 deletions
diff --git a/odb/oracle/statement.cxx b/odb/oracle/statement.cxx
index af70aca..ff02f06 100644
--- a/odb/oracle/statement.cxx
+++ b/odb/oracle/statement.cxx
@@ -80,13 +80,13 @@ namespace odb
if (*b.indicator != -1)
{
chunk_position pos;
- if (!(*b.callback.param) (&b.callback_context,
- reinterpret_cast<ub4*> (b.size),
- const_cast<const void**> (buffer),
- size,
- &pos,
- b.buffer,
- b.capacity))
+ if (!(*b.callback->param) (b.context->param,
+ reinterpret_cast<ub4*> (b.size),
+ const_cast<const void**> (buffer),
+ size,
+ &pos,
+ b.buffer,
+ b.capacity))
return OCI_ERROR;
switch (pos)
@@ -350,8 +350,7 @@ namespace odb
if ((b->type == bind::blob ||
b->type == bind::clob ||
b->type == bind::nclob) &&
- *b->indicator != -1 &&
- b->callback.result != 0)
+ *b->indicator != -1 && b->callback->result != 0)
{
// If b->capacity is 0, we will be stuck in an infinite loop.
//
@@ -404,10 +403,10 @@ namespace odb
// OCI generates and ORA-24343 error when an error code is
// returned from a user callback. We simulate this.
//
- if (!(*b->callback.result) (b->callback_context,
- b->buffer,
- static_cast<ub4> (read),
- cp))
+ if (!(*b->callback->result) (b->context->result,
+ b->buffer,
+ static_cast<ub4> (read),
+ cp))
throw database_exception (24343, "user defined callback error");
} while (r == OCI_NEED_DATA);