db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pawel Fronczak (Updated) (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (DERBY-5489) getBinary() returns incorrect data after getObject() call on BLOB column
Date Mon, 31 Oct 2011 23:01:32 GMT

     [ https://issues.apache.org/jira/browse/DERBY-5489?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Pawel Fronczak updated DERBY-5489:

    Attachment: SelectBlobBug.java

I have attached a code snippet reproducing this bug.
It requires the springframework-jdbc library to operate.
The mentioned sequence of getObject / getBytes methods is buried inside the JdbcTemplate.queryForList
		Object obj = rs.getObject(index);
		if (obj instanceof Blob) {
			obj = rs.getBytes(index);

> 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
>    Affects Versions:,
>            Reporter: Pawel Fronczak
>         Attachments: 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: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message