[ 
https://issues.apache.org/jira/browse/DERBY-3907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12645298#action_12645298
 ] 

Kristian Waagan commented on DERBY-3907:
----------------------------------------

Thanks a lot, Mike!

I think I know enough to start working on some code now. The first patch(es) 
will be far from complete, but hopefully it can take the issue forwards.
My initial plan is to create two subtasks:
 o add a new version of SQLClob.
 o add capability to update parts of an object to store

The first part hopefully allows me to create tables with the new Clob format, 
without actually storing length information. I`ll just use the existing EOF 
marker and skip the header bytes. As a side effect, running the test suite 
should help me detect the places where the JDBC layer thinks it knows the store 
format.
Maybe I can limit the knowledge about the exact format in the new version of 
SQLClob?

Regarding the second part, I need to look at the example. I think replacing a 
fixed number of bytes should suffice, as Clobs are intended for large objects 
and therefore the header bytes overhead is acceptable. This means the header 
(which is part of the data stream) will take up just as many bytes for a 2 GB 
Clob as for a ~32K one.
I have no intention to provide functionality to replace arbitrary positioned 
bytes, as this "conflicts" with the current LOB implementation and is a large 
undertaking (design and implementation).

Hopefully we can use the functionality added in the second part to improve the 
situation for "lenghtless Blobs" as well, at least in some cases.

> Save useful length information for Clobs in store
> -------------------------------------------------
>
>                 Key: DERBY-3907
>                 URL: https://issues.apache.org/jira/browse/DERBY-3907
>             Project: Derby
>          Issue Type: Improvement
>          Components: JDBC, Store
>    Affects Versions: 10.5.0.0
>            Reporter: Kristian Waagan
>            Assignee: Kristian Waagan
>
> The store should save useful length information for Clobs. This allows the 
> length to be found without decoding the whole data stream.
> The following thread raised the issue on what information to store, and also 
> contains some background information: 
> http://www.nabble.com/Storing-length-information-for-CLOB-on-disk-tp19197535p19197535.html
> The information to store, and the exact format of it, is still to be 
> discussed/determined.
> Currently two bytes are set aside for length information, which is inadequate.

-- 
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