Ok. I'll test & commit it.

>>>>>>>>>>>> Andreas Korneliussen (JIRA) wrote (2006-05-11 15:19:05):
>     [ 
> http://issues.apache.org/jira/browse/DERBY-1087?page=comments#action_12379084 
> ] 
> 
> Andreas Korneliussen commented on DERBY-1087:
> ---------------------------------------------
> 
> Great, then I do not have any issues w.r.t this patch, and (again) recommend 
> it being committed.
> 
> > 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
> >  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
> 

-- 
Bernt Marius Johnsen, Database Technology Group, 
Staff Engineer, Technical Lead Derby/Java DB
Sun Microsystems, Trondheim, Norway

Attachment: pgpuAZeRe8mtE.pgp
Description: PGP signature

Reply via email to