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