db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dag H. Wanvik (JIRA)" <j...@apache.org>
Subject [jira] Created: (DERBY-4226) Column updatability wrong with explicit FOR UPDATE OF <column-list>
Date Tue, 12 May 2009 18:09:46 GMT
Column updatability wrong with explicit FOR UPDATE OF <column-list>

                 Key: DERBY-4226
                 URL: https://issues.apache.org/jira/browse/DERBY-4226
             Project: Derby
          Issue Type: Bug
          Components: JDBC, SQL
            Reporter: Dag H. Wanvik
            Priority: Minor

The first of the two queries below allow updating column 3 in the result set;

    rs.updateInt(3, <new-value>)

 the second query does saying, giving 42X31 (embedded) and XJ124 (client).
It seems they should have the same updatability for column 3:

SELECT id,a,id from t1 for update
SELECT id,a,id from t1 for update of id

This is the case both for TYPE_FORWARD_ONLY and TYPE_SCROLL_INSENSITIVE result sets.

Both queries allow the first column (first instance of id) to be updated.

In the cases that work, if the rs is scroll insensitive, *both* instances of id are updated
and will show the new value if read back after updateRow has been performed.

It is not obvious, perhaps, if updating column 3 should be allowed (if so, only if column
1 is not updated?)
or, maybe the behavior should be that only the column that is actually updated (in a scrollable
insensitive result set) should be updated, i.e. any other instances would not reflect the
change unless they are themselves updated.

Note that any expressions dependent on the column are *not* recomputed, i.e.

     select id, i+4

will not show a changed value of id+4 in an updatable scrollable result set, if id is updated.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message