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.