[ 
https://issues.apache.org/jira/browse/DERBY-3098?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12532111
 ] 

Øystein Grøvlen commented on DERBY-3098:
----------------------------------------

My testing so far shows that the patch solves the problem for Blob, but it does 
not appear to do so for Clob.

When I run a simple test program that does getClob, it does not seem like 
OverflowInputStream is involved.
I will further investigate where the paths differ, but if anybody has an idea 
why Blob and Clob are handled differently, I welcome any ideas you may have.


> LOB locks are not released after free().
> ----------------------------------------
>
>                 Key: DERBY-3098
>                 URL: https://issues.apache.org/jira/browse/DERBY-3098
>             Project: Derby
>          Issue Type: Bug
>          Components: Store
>    Affects Versions: 10.2.2.0, 10.3.1.4
>         Environment: Any
>            Reporter: Øystein Grøvlen
>            Assignee: Øystein Grøvlen
>         Attachments: derby-3098fix.diff
>
>
> When getBlob/getClob is called on the ResultSet, the current row is
> locked if the JDBC driver does not cache the entire LOB value in
> memory.  This is done to prevent the Blob/Clob object from being
> changed.  Until now, this lock has been held to the end of the
> transaction.
> JDBC4 introduced free() methods for the Blob/Clob class.  The locking
> should be changed so that the locks is releases when the Blob/Clob
> object is freed.

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