[ http://issues.apache.org/jira/browse/DERBY-1087?page=all ]
Bernt M. Johnsen resolved DERBY-1087:
-------------------------------------
Fix Version: 10.2.0.0
Resolution: Fixed
Committed revision 406683.
> Updatable result sets behave different depending on the type of query used to
> generate the result set
> -----------------------------------------------------------------------------------------------------
>
> Key: DERBY-1087
> URL: http://issues.apache.org/jira/browse/DERBY-1087
> Project: Derby
> Type: Bug
> Components: JDBC, SQL
> Reporter: Fernanda Pizzorno
> Assignee: Fernanda Pizzorno
> Fix For: 10.2.0.0
> Attachments: derby-1087.diff, derby-1087.stat, derby-1087v2.diff,
> derby-1087v2.stat, derby-1087v3.diff, derby-1087v3.stat
>
> Running the following code with different queries in the first statement
> produces different results.
> Where t1 has two columns: "a" of type int is the primary key, and "b" of type
> varchar(50); and contains 10 rows of data.
> Statement st1 = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY,
> ResultSet.CONCUR_UPDATABLE);
> Statement st2 = conn.createStatement();
>
> ResultSet rs = st1.executeQuery("SELECT a, b FROM t1");
> rs.next();
> rs.next();
> st2.executeUpdate("UPDATE t1 SET a = a + 20 WHERE a = " +
> rs.getInt(1));
> try {
> rs.updateInt(1, rs.getInt(1) + 30);
> rs.updateRow();
> } catch (SQLException se) {
> System.out.println(se.getMessage());
> }
> rs.close();
>
> rs = st2.executeQuery("SELECT a FROM t1");
> while(rs.next()) {
> System.out.println("A = " + rs.getInt(1));
> }
> rs.close();
>
> st2.close();
> st1.close();
> If the first query is "select a, b from t1", the output will be:
> A = 1
> A = 3
> A = 4
> A = 5
> A = 6
> A = 7
> A = 8
> A = 9
> A = 10
> A = 32
> If the first query is "SELECT a, b FROM t1 WHERE a <= 5", the output will be:
> Cursor 'SQLCUR0' is not on a row.
> A = 1
> A = 3
> A = 4
> A = 5
> A = 6
> A = 7
> A = 8
> A = 9
> A = 10
> A = 22
> If the first query is "SELECT a FROM t1", the output will be:
> Cursor 'SQLCUR0' is not on a row.
> A = 1
> A = 3
> A = 4
> A = 5
> A = 6
> A = 7
> A = 8
> A = 9
> A = 10
> A = 22
--
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