Add caching of store stream length in StoreStreamClob, if appropriate
---------------------------------------------------------------------

                 Key: DERBY-2822
                 URL: https://issues.apache.org/jira/browse/DERBY-2822
             Project: Derby
          Issue Type: Improvement
          Components: JDBC
    Affects Versions: 10.3.0.0
            Reporter: Kristian Waagan
            Priority: Minor


Currently StoreStreamClob reads the whole Clob stream, including decoding it, 
to find the length of it. It also does this the second time the length is asked 
for.
StoreStreamClob is the internal Clob representation for Clobs that are 
read-only. As soon as the user updates the Clob, it is transferred to a 
modifiable Clob representation.

It should be determined if it is safe to cache the length (both in bytes and in 
characters) of the store stream to improve the performance and reduce the load 
on Derby for certain Clob operations.
To do this, the locking mechanism used for Clobs must be analyzed.

If you have obtained a Clob object, is there a lock in place that stops others 
from changing the content?
For all isolation levels?
What about scrollable result sets?
Can the streamed content from store be changed under us, and thus invalidate a 
cached length?

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