From abb9c2b0b737ed763d9fe35f67a01a8a44c1cf27 Mon Sep 17 00:00:00 2001 From: Brett Meyer Date: Mon, 18 Feb 2013 14:32:14 -0500 Subject: [PATCH] HHH-8018 Reverted back to BLOB_BINDING for extraction until investigated --- .../type/descriptor/sql/BlobTypeDescriptor.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/hibernate-core/src/main/java/org/hibernate/type/descriptor/sql/BlobTypeDescriptor.java b/hibernate-core/src/main/java/org/hibernate/type/descriptor/sql/BlobTypeDescriptor.java index ae804f568b..e23afd2933 100644 --- a/hibernate-core/src/main/java/org/hibernate/type/descriptor/sql/BlobTypeDescriptor.java +++ b/hibernate-core/src/main/java/org/hibernate/type/descriptor/sql/BlobTypeDescriptor.java @@ -81,13 +81,13 @@ public abstract class BlobTypeDescriptor implements SqlTypeDescriptor { @Override protected void doBind(PreparedStatement st, X value, int index, WrapperOptions options) throws SQLException { BlobTypeDescriptor descriptor = BLOB_BINDING; - if ( options.useStreamForLobBinding() ) { - descriptor = STREAM_BINDING; - } - else if ( byte[].class.isInstance( value ) ) { + if ( byte[].class.isInstance( value ) ) { // performance shortcut for binding BLOB data in byte[] format descriptor = PRIMITIVE_ARRAY_BINDING; } + else if ( options.useStreamForLobBinding() ) { + descriptor = STREAM_BINDING; + } descriptor.getBlobBinder( javaTypeDescriptor ).doBind( st, value, index, options ); } }; @@ -115,7 +115,11 @@ public abstract class BlobTypeDescriptor implements SqlTypeDescriptor { }; private static final BlobTypeDescriptor getBinding( WrapperOptions options ) { - return options.useStreamForLobBinding() ? STREAM_BINDING : BLOB_BINDING; + // TODO: STREAM_BINDING causes multiple tests to fail on oracle and + // mssql. The extracted blob is not the same size as what was persisted. + // For now, rely only on BLOB_BINDING. SEe HHH-8018. +// return options.useStreamForLobBinding() ? STREAM_BINDING : BLOB_BINDING; + return BLOB_BINDING; } public static final BlobTypeDescriptor PRIMITIVE_ARRAY_BINDING =