db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andreas Korneliussen (JIRA)" <derby-...@db.apache.org>
Subject [jira] Created: (DERBY-1249) cursor operation conflict incorrectly handled in scrollable updatable resultsets
Date Mon, 24 Apr 2006 14:07:06 GMT
cursor operation conflict incorrectly handled in scrollable updatable resultsets

         Key: DERBY-1249
         URL: http://issues.apache.org/jira/browse/DERBY-1249
     Project: Derby
        Type: Bug

  Components: JDBC, Network Client  
    Reporter: Andreas Korneliussen
 Assigned to: Andreas Korneliussen 
    Priority: Minor

In a scroll insensitive updatable resultset: 

When using updateRow() or deleteRow() to update the current row, and the row has been deleted
by another committed transaction or by another statement in its own transaction, the ResultSet
fails to fully detect that there has been a conflict, and that the row has not been updated.
 The ResultSet get a warning (CURSOR_OPERATION_CONFLICT), however the following methods get
unexpected results:
ResultSet.rowUpdated(): returns true. Instead it should return false, since the updateRow()
updated 0 rows, and the row has not been updated by the resultset.
ResultSet.getXXX(..): returns the new value set by updateXXX(..), however 0 rows were updated,
and getXXX(..) should return the old value.
ResultSet.rowDeleted(): returns true (after a deleteRow() which deleted 0 rows). It should
return false, since the row was not deleted by the resultset itself, and insensitive resultsets
do not detect changes made by others.

A fix for this bug could be to use the updatecount, and cancel the row updates if it is 0.

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see:

View raw message