aboutsummaryrefslogtreecommitdiff
path: root/odb/oracle/object-result.txx
diff options
context:
space:
mode:
Diffstat (limited to 'odb/oracle/object-result.txx')
-rw-r--r--odb/oracle/object-result.txx15
1 files changed, 13 insertions, 2 deletions
diff --git a/odb/oracle/object-result.txx b/odb/oracle/object-result.txx
index 3cf4e3e..6b68fac 100644
--- a/odb/oracle/object-result.txx
+++ b/odb/oracle/object-result.txx
@@ -62,7 +62,13 @@ namespace odb
use_copy_ ? *image_copy_ : statements_.image ());
object_traits::init (obj, i, 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);
// Initialize the id image and binding and load the rest of the object
// (containers, etc).
@@ -208,7 +214,12 @@ 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);
object_traits::callback (db, obj, callback_event::post_load);
}