You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Dag H. Wanvik (JIRA)" <ji...@apache.org> on 2011/02/17 01:14:24 UTC

[jira] Updated: (DERBY-4544) Referencing streaming CLOBs in (some) generated column clauses fails

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

Dag H. Wanvik updated DERBY-4544:
---------------------------------

    Urgency: Low
     Labels: CLOB derby_triage10_8  (was: CLOB)

> 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: Kristian Waagan
>              Labels: CLOB, derby_triage10_8
>
> 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.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira