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 "Kristian Waagan (JIRA)" <ji...@apache.org> on 2010/05/12 09:40:42 UTC

[jira] Closed: (DERBY-4061) InputStream returned from Blob.getBinaryStream(long, long) terminates the stream by returning 0, should return -1

     [ https://issues.apache.org/jira/browse/DERBY-4061?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kristian Waagan closed DERBY-4061.
----------------------------------


Been resolved for more than a year. Closing.

> InputStream returned from Blob.getBinaryStream(long, long) terminates the stream by returning 0, should return -1
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-4061
>                 URL: https://issues.apache.org/jira/browse/DERBY-4061
>             Project: Derby
>          Issue Type: Bug
>          Components: JDBC
>    Affects Versions: 10.3.3.0, 10.4.2.0, 10.5.1.1
>            Reporter: Trejkaz
>            Assignee: Kristian Waagan
>             Fix For: 10.3.3.1, 10.4.2.1, 10.5.1.1
>
>         Attachments: derby-4061-1a.diff, derby-4061-1b.diff
>
>
> Take the following code to copy a sub-stream from a BLOB:
> Blob blob = rs.getBlob(1);
> InputStream stream = blob.getBinaryStream(1000, 2000);
> try {
>   IOUtils.copy(stream, out);
> } finally {
>   stream.close();
> }
> This will loop forever in IOUtils.copy, as the InputStream is returning 0 at end of stream instead of -1.  It probably should return -1 to comply with the Javadoc for InputStream.
> Notes:
> I have not yet checked Blob.getBinaryStream(), or any of the Clob methods, or the client driver.  So some of these may have a similar issue.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.