db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andreas Korneliussen <Andreas.Kornelius...@Sun.COM>
Subject Re: [jira] Updated: (DERBY-231) "FOR UPDATE" required for updatable result set to work
Date Wed, 09 Nov 2005 09:35:55 GMT
Daniel John Debrunner wrote:
> Andreas Korneliussen wrote:
>>Daniel John Debrunner wrote:
>>>Though maybe the patch does allow positioned updates on 'SELECT * FROM
>>>T' if the JDBC result set is updateable? If that's the case, then some
>>>additional tests should be added.
>>The patch does allow positioned updates on 'SELECT * FROM T' if the
>>concurrency mode is set to CONCUR_UPDATABLE
>>This is tested implicitly by the fact that the JDBC driver uses
>>positioned updates when doing updateRow(). It produces statements like:
>>"update table T set ... where current of SQLCUR0".  Positioned updates
>>is therefore tested in the jdbc/updateableResultSet.java test.
> Implicit testing is not ideal. This means we are testing a user visible
> feature only through a specific implementation. If someone improved the
> JDBC updateable result set implementation to not use positioned updates
> or deletes then unless more testing was added we would have a testing hole.

I have added extra tests to test positioned updates and positioned 
deletes on "SELECT * FROM T".

>> We do also plan to provide more tests as part of providing updatable scrollable resultsets.

I am a bit curious about the statement about improving the JDBC 
updatable result set implementation to not use positioned updates.

Did you mean that an improvement could be to not base JDBC updatable 
resultsets on positioned updates at all, and instead invent another 
mechanism. If so, do you have any specific ideas on this ?

Or were you thinking of just minor improvements, still basing it on 
positioned updates ?

We are thinking of coninuing using positioned updates when doing 
scrollable updatable resultsets - that is why I am asking.

-- Andreas

View raw message