[
https://issues.apache.org/jira/browse/DERBY-5489?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kathey Marsden updated DERBY-5489:
----------------------------------
Labels: derby_backport_reject_10_8 derby_triage10_9 (was: derby_triage10_9)
> getBinary() returns incorrect data after getObject() call on BLOB column
> ------------------------------------------------------------------------
>
> Key: DERBY-5489
> URL: https://issues.apache.org/jira/browse/DERBY-5489
> Project: Derby
> Issue Type: Bug
> Components: JDBC
> Affects Versions: 10.7.1.1, 10.8.2.2
> Reporter: Pawel Fronczak
> Assignee: Kristian Waagan
> Labels: derby_backport_reject_10_8, derby_triage10_9
> Fix For: 10.9.1.0
>
> Attachments: derby-5489-1a-test.diff, derby-5489-1b-test.diff,
> derby-5489-2a-fixes.diff, derby-5489-2b-fixes.diff, releaseNote.html,
> repro.diff, SelectBlobBug.java
>
>
> When ResultSet.getObject(int) is called on a BLOB column, the correct
> EmbedBlob object is returned. But if afterwards the ResultSet.getBytes(int)
> is called on the same row, the returned array contains invalid data - it is
> offset by 3 bytes and its size is incorrect.
> The problem only occurs when the stored BLOB is large enough to be internally
> represented by stream and not by array of bytes (at least ~32KiB).
> It seems that the getObject method shifts the stream position and therefore
> the getBytes method starts to read the data after the third byte, thus
> incorrectly calculating its length.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira