Embedded returns wrong results when selecting a blob column twice and using
getBinaryStream()
---------------------------------------------------------------------------------------------
Key: DERBY-3646
URL: https://issues.apache.org/jira/browse/DERBY-3646
Project: Derby
Issue Type: Bug
Components: JDBC
Affects Versions: 10.4.1.3, 10.3.2.2, 10.5.0.0
Reporter: Kathey Marsden
Attachments: DoubleSelect.java
The attached program DoubleSelect selects a blob column twice and tries to
access the blob column with getBinaryStream.
With embedded the output is:
4 5 6 7 8 9 10 11 12 13
14 15 16 17 18 19 20 21 22 23
I am done
Two things seem to be happening with embedded.
1) Both getBinaryStream() calls are returning the same stream.
2) The second getBinaryStream() call throws away 4 bytes.
With client the output is:
Exception in thread "main" java.io.IOException: The object is already
closed.
at
org.apache.derby.client.am.CloseFilterInputStream.read(CloseFilterInputStream.java:50)
at DoubleSelect.printNextTen(DoubleSelect.java:53)
at DoubleSelect.main(DoubleSelect.java:43)
0 1 2 3 4 5 6 7 8 9
So with client it looks like the second getBinaryStream() call closes
the first stream but then returns the right result for the second stream.
Perhaps embedded should behave the same as client or perhaps the query should
just work. Regardless embedded should not return wrong results.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.