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

Kristian Waagan updated DERBY-4061:
-----------------------------------

    Attachment: derby-4061-1a.diff

Patch 1a fixes the bug and adds a regression test. I think there is at least 
one more bug in the class, I'll investigate later.
Note that the regression test will cause a hang if the fix is removed.

Patch ready for review.
Running the regression suite.

> 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.4.2.0
>            Reporter: Trejkaz
>            Assignee: Kristian Waagan
>         Attachments: derby-4061-1a.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.

Reply via email to