[ http://issues.apache.org/jira/browse/DERBY-1251?page=all ]
Andreas Korneliussen updated DERBY-1251:
----------------------------------------
Attachment: DERBY-1251.diff
DERBY-1251.stat
derbyall_report.txt
Changes to address this bug:
Embedded JDBC driver:
EmbedResultSet.java:
* at the end of updateRow/deleteRow, the rowdata in the resultset is reloaded
from the cursor
Client JDBC driver:
ResultSet.java:
* removed the use of updateRowCalled_
* at the end of updateRowX/deleteRowX, the rowdata is reloaded from the cursor
Tests:
SURTest.java
* 3 testcases added, covering both this issue, and the DERBY-1249.
Note: by reloading the rowdata from the cursor, this fix also fixes issue
DERBY-1249, therefore these tests are part of this fix.
> cancelRowUpdates() affects rows updated with updateRow() in scrollable
> updatable resultsets
> -------------------------------------------------------------------------------------------
>
> Key: DERBY-1251
> URL: http://issues.apache.org/jira/browse/DERBY-1251
> Project: Derby
> Type: Bug
> Components: JDBC, Network Client
> Versions: 10.2.0.0
> Reporter: Andreas Korneliussen
> Assignee: Andreas Korneliussen
> Priority: Minor
> Attachments: DERBY-1251.diff, DERBY-1251.stat, derbyall_report.txt
>
> If an application does the following:
> rs.updateInt(1, newValueCol1);
> rs.updateRow();
> rs.updateInt(2, newValueCol2);
> rs.cancelRowUpdates();
> Then, when calling rs.getInt(1), it will return the old value. Instead it
> should return the new value.
> Workaround: after calling rs.updateRow(), the application could call
> rs.relative(0).
> This problem does not affect forward only resultsets, since after an
> updateRow() they get positoned before the next row, leaving it impossible to
> do anything with the current row.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira