aboutsummaryrefslogtreecommitdiff
path: root/odb/oracle/view-result.txx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2012-01-12 09:02:40 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2012-01-12 09:02:40 +0200
commitedb5c55e828ad333ce1059b60b6fe97eface5dc4 (patch)
treeadeaee9709478c0498d0cdd20511c095c95e070b /odb/oracle/view-result.txx
parent725d1a2f7952ea47ddaa8c9f056002879d470169 (diff)
Implement callback data re-basing support for LOB result streaming
This is used by the query machinery when a copy of the image has to be made. In this case stream_result() needs to use data from the copy of the image, and not from the image that was bound to the bind array.
Diffstat (limited to 'odb/oracle/view-result.txx')
-rw-r--r--odb/oracle/view-result.txx8
1 files changed, 7 insertions, 1 deletions
diff --git a/odb/oracle/view-result.txx b/odb/oracle/view-result.txx
index 9488e2b..ed9b411 100644
--- a/odb/oracle/view-result.txx
+++ b/odb/oracle/view-result.txx
@@ -52,7 +52,13 @@ namespace odb
use_copy_ ? *image_copy_ : statements_.image (),
db);
- statement_->stream_result ();
+ // If we are using a copy, make sure the callback information for
+ // LOB data also comes from the copy.
+ //
+ statement_->stream_result (
+ use_copy_ ? &statements_.image () : 0,
+ use_copy_ ? image_copy_ : 0);
+
view_traits::callback (db, view, callback_event::post_load);
}