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

Mike Matrigali updated DERBY-3907:
----------------------------------


The updating discussion has been a bit confusing.   I am concentrating on the 
store interface to update an object on disk.  I realize there are a number of 
in memory clob update paths, but that is a different issue.  Currently there is 
no way to update "part" of the object in the store
interface, only the whole object.

So without store changes your normal use case for the lengthless updates would 
require the entire clob to be rewritten to disk.  

I think easiest would be to support a new store interface that allowed the 
update of first initial n bytes by an exact same number of bytes.  Currently 
for long clobs the usual case would be that we used all the bytes on the 1st 
page for the fist piece of the linked list, so expanding by any number of bytes 
would be a worst case.  We would log at least the entire "old" portion of the 
row.  If the lengths don't exactly match there is more logging complication.  
So my guess at ease of implementation from easiest to hardest supporting some 
subset of bytes update:
o exact leading number of bytes
o shrinking leading number of bytes
o expanding leading number of bytes
o arbitrary positioned number of bytes

This probably would mean a new log record, and thus need to be careful again 
about hard/softupgrade.  We have done log record updates (or new ones) in derby 
so an example
exists.

> 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