db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-2597) Language result sets should not reuse current isolation level across executions
Date Thu, 10 May 2007 14:35:15 GMT

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

Knut Anders Hatlen updated DERBY-2597:
--------------------------------------

    Attachment: derby-2597-3.stat
                derby-2597-3.diff

Attaching derby-2597-3 which fixes the failure in testUpdateResultSetWithIsolation() when
running with the DERBY-827 patch. What the patch does, is:

1) Move the static method UpdateResultSet.decodeLockMode() into DMLWriteResultSet and make
it non-static. This makes it possible to add debug code that checks that it is only called
when the {Update,Delete,Insert}ResultSet has been opened (to prevent calls at ResultSet construction
time).

2) Move UpdateResultSet's call to decodeLockMode() from the constructor to open().

3) Make the NoRowsResultSetImpl class hierarchy maintain an isOpen variable that is set to
true on open and to false on close. Previously, an isClosed variable was used, which was false
until the first call to close(), after which it would be true forever even after the RS was
reopened. This change was necessary to be able to assert that the result set had been opened
in decodeLockMode().

With this patch, I think all result set classes are able to detect isolation level changes
between executions.

Derbyall and suites.All ran cleanly with the patch (except the tests that currently fail in
the Tinderbox). The patch is ready for review. Thanks.

> Language result sets should not reuse current isolation level across executions
> -------------------------------------------------------------------------------
>
>                 Key: DERBY-2597
>                 URL: https://issues.apache.org/jira/browse/DERBY-2597
>             Project: Derby
>          Issue Type: Sub-task
>          Components: Performance, SQL
>    Affects Versions: 10.3.0.0
>            Reporter: Knut Anders Hatlen
>         Assigned To: Knut Anders Hatlen
>         Attachments: derby-2597-1.diff, derby-2597-1.stat, derby-2597-2.diff, derby-2597-3.diff,
derby-2597-3.stat
>
>
> Some of the language result sets cache the current isolation level in their constructors.
To allow reuse of the result sets, they should check the isolation level each time they are
opened. Currently, this affects HashScanResultSet, TableScanResultSet, LastIndexKeyResultSet
and UpdateResultSet (and their sub-classes).

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