db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Øystein Grøvlen (JIRA) <j...@apache.org>
Subject [jira] Updated: (DERBY-3098) LOB locks are not released after free().
Date Mon, 15 Oct 2007 13:08:50 GMT

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

Øystein Grøvlen updated DERBY-3098:
-----------------------------------

    Fix Version/s: 10.4.0.0

Committed patch, derby-3098fix+tests.diff, as revision 584777.  
Junit All and derbyall ran without errors.

M      java/engine/org/apache/derby/impl/jdbc/EmbedClob.java
Only initialize storeStream once.

M      java/engine/org/apache/derby/impl/store/raw/data/OverflowInputStream.java
Do not lock for entire duration anymore, but until corresponding
BaseContainerHandle has been closed.  Also, make sure that locking
only happens once.

M      java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/BlobTest.java
Add tests to test locking of Blob after free() for different isolation
levels.  Also, moved code from setUp that is only relevant to one test
case to that specific test case.

M      java/testing/org/apache/derbyTesting/functionTests/tests/jdbc4/ClobTest.java
Add tests to test locking of Blob after free() for different isolation
levels.  Also, moved code from setUp that is only relevant to one test
case to that specific test case.

M      java/testing/org/apache/derbyTesting/functionTests/tests/jdbcapi/BlobClob4BlobTest.java
Test that locks on Blob/Clob are released when transaction commits.

> 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
>             Fix For: 10.4.0.0
>
>         Attachments: derby-3098fix+tests.diff, 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.


Mime
View raw message