The wording in chapter 14 of JDBC 3 in sections 14.2.4.1 Updating a Row, 14.2.4.2 Deleting a Row, 14.2.4.3 Inserting a Row

The wording was carried unmodified forward to JDBC 4



Andreas Korneliussen (JIRA) wrote:
    [ http://issues.apache.org/jira/browse/DERBY-690?page=comments#action_12368286 ] 

Andreas Korneliussen commented on DERBY-690:
--------------------------------------------

I found the following in the JDBC 2.1 spec:
"
5.8.3 A result set s own changes We have pointed out that the visibility of changes made by others generally depends on a result set s type. A final point that concerns the visibility of changes via an open result set is whether a result set can see its own changes (inserts, updates, and deletes). A JDBC technology application can determine if the changes made by a result set are vis-ible to the result set itself by calling the DatabaseMetaData methods: ownUpdate-sAreVisible, ownDeletesAreVisible, and ownInsertsAreVisible. These methods are needed since this capability can vary between DBMSs and JDBC drivers. One s own updates are visible if an updated column value can be retrieved by calling getXXX() following a call to updateXXX().
"

So the visibility of the ResultSets own changes does not have anything to do with the value in the database, it is the values you set when calling updateXXX().  (The values do not go down to the database until updateRow() is called).  

Has this been changed in JDBC 3 and later ?

  
Add scrollable, updatable, insensitive result sets
--------------------------------------------------

         Key: DERBY-690
         URL: http://issues.apache.org/jira/browse/DERBY-690
     Project: Derby
        Type: New Feature
  Components: JDBC
    Reporter: Dag H. Wanvik
    Assignee: Dag H. Wanvik
    Priority: Minor
 Attachments: DERBY-690-v1.diff, DERBY-690-v1.stat, DERBY-690-v2.diff, DERBY-690-v2.stat, SURChanges-v1.pdf, sur-proposal.txt, writeup-v1.html, writeup-v2.html

JDBC result sets are created with three properties: type, concurrency
and holdability. The type can be one of TYPE_FORWARD_ONLY,
TYPE_SCROLL_INSENSITIVE and TYPE_SCROLL_SENSITIVE. The concurrency can
be one of CONCUR_READ_ONLY and CONCUR_UPDATABLE. The holdability can
be one of HOLD_CURSORS_OVER_COMMIT and CLOSE_CURSORS_AT_COMMIT.
JDBC allows the full cross product of these. SQL 2003 prohibits the
combination {TYPE_SCROLL_INSENSITIVE, CONCUR_UPDATABLE}, but this
combination is supported by some vendors, notably Oracle.
Currently, Derby supports JDBC result sets in a limited
way. Holdability is supported. Furthermore, the following is
supported: 
	   - forward-only, read-only 
	   - forward-only, updatable (update, delete, but not insert)
	     Also, in the network driver, support for some data types
	     conversions is missing.
	   - scroll insensitive, read-only
We (Fernanda and Andreas will cooperate with me on this) propose a
plan to add support for the combination:
	   - scroll insensitive, updatable
for both the embedded driver and the network client driver. 
As a part of this we would also like to add the missing insert
operation to the {forward-only, updatable} result sets (JIRA-100), and
remove the requirement for an explicit "FOR UPDATE" clause in the SQL
query to achieve updatability if CONCUR_UPDATABLE is specified
(JIRA-231).
The full proposal text is uploaded as an attachment, including a proposed
functional specification.
This JIRA will  be used to track sub-issues for this effort. The sub-issues will be linked back to this issue.