Issue Details (XML | Word | Printable)

Key: DERBY-562
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Sunitha Kambhampati
Reporter: Holger Rehn
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
Derby

Derby incorrectly throws Exception when streaming to BLOB field

Created: 13/Sep/05 07:37 PM   Updated: 12/Oct/05 02:28 AM
Return to search
Component/s: JDBC
Affects Version/s: 10.0.2.0, 10.0.2.1, 10.0.2.2, 10.1.1.0, 10.1.2.1, 10.2.1.6
Fix Version/s: 10.1.2.1, 10.2.1.6

Time Tracking:
Not Specified

File Attachments:
  Size
Text File Licensed for inclusion in ASF works Derby562.diff.txt 2005-09-21 12:24 PM Sunitha Kambhampati 16 kB
Text File Licensed for inclusion in ASF works Derby562.stat.txt 2005-09-21 12:26 PM Sunitha Kambhampati 0.5 kB
Environment: All

Resolution Date: 07/Oct/05 12:05 PM


 Description  « Hide
Derby incorrectly throws an Exception when streaming to a BLOB in case the used InputStream actually could provide more data than I want to write to the BLOB field.

   PreparedStatement statement = connection.prepareStatement( "insert into FOO(ID,DATA) values(?, ?)" );
   statement.setLong( 1, someValue );
   statement.setBinaryStream( 2, someInputStream, amountOfData ); // amountOfData < amount of data readable from someInputStream
   statement.executeUpdate();

executeUpdate() throws an SQLException with detail message: "Input stream held less data than requested length.: java.io.IOException"

In my case this was first caused by writing an internal buffer (byte[]) to the data base through a ByteArrayInputStream while not limiting the ByteArrayInputStream to the useful data within the buffer but setting amountOfData to the number of useful bytes. So the 2 problems are:
1. the error text is definitly incorrect since I provide more data than neccessary, not less
2. in my opinion this shouldn't throw an exception at all (I checked against 4 other DBMS, all of them worked as intended)

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Sunitha Kambhampati made changes - 21/Sep/05 12:24 PM
Field Original Value New Value
Attachment Derby562.diff.txt [ 12314480 ]
Sunitha Kambhampati made changes - 21/Sep/05 12:26 PM
Attachment Derby562.stat.txt [ 12314481 ]
Sunitha Kambhampati made changes - 06/Oct/05 08:27 AM
Fix Version/s 10.1.2.0 [ 12310270 ]
Affects Version/s 10.1.2.0 [ 12310270 ]
Fix Version/s 10.2.0.0 [ 11187 ]
Affects Version/s 10.1.1.1 [ 12310332 ]
Environment All
Affects Version/s 10.2.0.0 [ 11187 ]
Affects Version/s 10.0.2.1 [ 10991 ]
Assignee Sunitha Kambhampati [ skambha ]
Affects Version/s 10.0.2.0 [ 10920 ]
Affects Version/s 10.0.2.2 [ 10992 ]
Sunitha Kambhampati made changes - 06/Oct/05 11:23 AM
Component/s JDBC [ 11407 ]
Sunitha Kambhampati made changes - 07/Oct/05 12:04 PM
Fix Version/s 10.1.1.2 [ 12310353 ]
Sunitha Kambhampati made changes - 07/Oct/05 12:05 PM
Status Open [ 1 ] Resolved [ 5 ]
Resolution Fixed [ 1 ]
Sunitha Kambhampati made changes - 12/Oct/05 02:28 AM
Status Resolved [ 5 ] Closed [ 6 ]