You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Sunitha Kambhampati (JIRA)" <de...@db.apache.org> on 2005/10/07 05:05:51 UTC
[jira] Resolved: (DERBY-562) Derby incorrectly throws Exception when streaming to BLOB field
[ http://issues.apache.org/jira/browse/DERBY-562?page=all ]
Sunitha Kambhampati resolved DERBY-562:
---------------------------------------
Resolution: Fixed
> Derby incorrectly throws Exception when streaming to BLOB field
> ---------------------------------------------------------------
>
> Key: DERBY-562
> URL: http://issues.apache.org/jira/browse/DERBY-562
> Project: Derby
> Type: Bug
> Components: JDBC
> Versions: 10.1.1.0, 10.0.2.0, 10.0.2.1, 10.2.0.0, 10.1.2.0, 10.1.1.1, 10.0.2.2
> Environment: All
> Reporter: Holger Rehn
> Assignee: Sunitha Kambhampati
> Fix For: 10.2.0.0, 10.1.2.0, 10.1.1.2
> Attachments: Derby562.diff.txt, Derby562.stat.txt
>
> 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)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira