|
Committed derby-2597-1.diff with revision 535860.
Attaching patch which adds a JUnit fixture which tests whether an UpdateResultSet is able to detect changes in isolation level between executions. The test passes on trunk, but fails when the patch for
Committed derby-2597-2.diff with revision 536613.
Attaching derby-2597-3 which fixes the failure in testUpdateResultSetWithIsolation() when running with the
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. Committed derby-2597-3 with revision 537128.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
With this patch, ResultSetsFromPreparedStatementTest runs cleanly even with the
DERBY-827patch applied.Derbyall and suites.All ran cleanly on Solaris 10, Java 1.6.