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.