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


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