[
https://issues.apache.org/jira/browse/DERBY-4544?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mike Matrigali updated DERBY-4544:
----------------------------------
Assignee: Mike Matrigali (was: Rick Hillegas)
temp assigning to myself to do backports.
> Referencing streaming CLOBs in (some) generated column clauses fails
> --------------------------------------------------------------------
>
> Key: DERBY-4544
> URL: https://issues.apache.org/jira/browse/DERBY-4544
> Project: Derby
> Issue Type: Bug
> Components: SQL
> Affects Versions: 10.5.3.0, 10.6.1.0
> Reporter: Kristian Waagan
> Assignee: Mike Matrigali
> Labels: CLOB, derby_triage10_8
> Fix For: 10.8.1.2, 10.9.0.0
>
> Attachments: Test_4544.java, Test_4544.java, Test_4544.java,
> derby-4544-01-ab-shortCircuitLengthOptimization.diff,
> derby-4544-01-ac-shortCircuitLengthOptimization.diff
>
>
> Referencing a CLOB represented as a stream in generated columns can lead to
> data corruption or that the query fails.
> For instance, with 10.5:
> create table t (id int, myclob clob, clen generated always as
> (length(myclob)));
> # Insert CLOB using the streaming APIs (setCharacterStream).
> The exception 'java.lang.ClassCastException:
> org.apache.derby.iapi.types.ReaderToUTF8Stream cannot be cast to
> org.apache.derby.iapi.types.Resetable'
> On trunk the same query results in data corruption, and this isn't detected
> before the value is read back from store.
> Workaround:
> Don't use the streaming APIs when using CLOBs in generated columns. This
> increases the memory footprint, and may not feasible for large CLOBs.
> FYI, BLOB deals with this by materializing the value, which effectively
> equals to using the workaround mentioned above.
--
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