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

Suresh Thalamati updated DERBY-2465:
------------------------------------

    Attachment: derby.log
                derby2465_v1.diff

Following the similar code in the SQLBlob data type, I made small changes to
SQLClob.java as in the attached patch to make clob datatype read using 
getCharacterStream(). 

When I ran the tests, lang/TriggerTest Failied with following error:
1) testTypesInActionStatement(org.apache.derbyTesting.functionTests.tests.lang.T
riggerTest)ERROR XSDA7: Restore of a serializable or SQLData object of class , a
ttempted to read more data than was originally stored

I wonder if I am doing something stupid  or just hit a bug ?

> Clob data type should use getCharacterStream() to read a column  data from a 
> VTI instead of getString(). 
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-2465
>                 URL: https://issues.apache.org/jira/browse/DERBY-2465
>             Project: Derby
>          Issue Type: Improvement
>    Affects Versions: 10.3.0.0
>            Reporter: Suresh Thalamati
>         Attachments: derby.log, derby2465_v1.diff
>
>
> Currently clob data is read as String. This can consume lot of memory when 
> lot 
> of rows read from a VTI resultset. I think it would consume less memory if 
> data is read using streams. 
> org.apache.derby.iapi.types.SQLClob.java does not implement
> setValueFromResultSet() that is used by the VTI to read the data, it defaults
> to super class SQLChar.java implementation, which reads the data using 
> getString(). 
> One case I  noticed  the current implementation  uses lot of memory  is  when 
> doing import of clobs(DERBY-378). 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to