db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sunitha Kambhampati (JIRA)" <derby-...@db.apache.org>
Subject [jira] Updated: (DERBY-562) Derby incorrectly throws Exception when streaming to BLOB field
Date Wed, 05 Oct 2005 23:27:57 GMT
     [ http://issues.apache.org/jira/browse/DERBY-562?page=all ]

Sunitha Kambhampati updated DERBY-562:
--------------------------------------

    Fix Version: 10.2.0.0
                 10.1.2.0
        Version: 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  (was: )
      Assign To: Sunitha Kambhampati

updating fixin information.

> 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
>     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
>  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


Mime
View raw message