You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Fernanda Pizzorno (JIRA)" <de...@db.apache.org> on 2005/08/18 16:41:54 UTC

[jira] Created: (DERBY-517) RecordSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.

RecordSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.
----------------------------------------------------------------------------------------------------------------------------------------------------

         Key: DERBY-517
         URL: http://issues.apache.org/jira/browse/DERBY-517
     Project: Derby
        Type: Bug
  Components: Network Client  
    Reporter: Fernanda Pizzorno
 Assigned to: Fernanda Pizzorno 


RecordSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.

The embedded driver shows the behaviour described in the JDBC 3.0 specification, returning false and postitioning in either before first or after last. While the client/server driver returns true and incrementing/decrementing the current row by "rows" and not setting the position to either before first of after last.

I have run a test with a result set with 10 rows, where I positioned in row 5 and moved +20 and - 20 using relative(int rows). With the embedded driver the method returned false, the current row was set to 0 and isAfterLast() and isBeforeFirst() returned true (for +20 and -20 respectively). With the client/server driver the method returned true, the current row was set to 25 and -15 (for +20 and -20 respectively) and isAfterLast() and isBeforeFirst() returned false.

I have also run a test as the first one but running next() 5 times instead of absolute(5) for postitioning in row 5, and then relative(20) produced the expected results with the client/server driver.

-- 
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


Re: [jira] Updated: (DERBY-517) ResultSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.

Posted by "Bernt M. Johnsen" <Be...@Sun.COM>.
>>>>>>>>>>>> Fernanda Pizzorno (JIRA) wrote (2005-11-18 16:00:45):
>      [ http://issues.apache.org/jira/browse/DERBY-517?page=all ]
> 
> Fernanda Pizzorno updated DERBY-517:
> ------------------------------------
> 
>     Attachment: DERBY-517.diff
>                 DERBY-517.stat

DERBY-517.stat says:

?      java/testing/org/apache/derbyTesting/functionTests/master/DerbyNetClient/scrollCursors2.out

have you forgotten to do svn add?

> 
> This patch changes the behaviour of relative(int) in the client driver so that when positioning outside a resultset it will return false and depending on whether the position is before the first row or after the last row, isAfterLast() or isBeforeFirst will return true. It also enables the test "lang/scrollCursors2.java" for the client driver.
> 
> When running the test "lang/scrollCursors2.java" for the client driver I realized that Statement.setMaxRows() did not behave as expected for the client driver, so this patch also addresses this issue. The test has also been extended so that it will run one of the tests with different combinations of maxRows and fetchSize.
> 
> I have run derbyall successfully, except for store/encryptionKey.sql that failed, but I don't think it was related to my patch.
> 
> Can someone please review the patch?
> 
> > ResultSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.
> > ----------------------------------------------------------------------------------------------------------------------------------------------------
> >
> >          Key: DERBY-517
> >          URL: http://issues.apache.org/jira/browse/DERBY-517
> >      Project: Derby
> >         Type: Bug
> >   Components: Network Client
> >     Reporter: Fernanda Pizzorno
> >     Assignee: Fernanda Pizzorno
> >  Attachments: DERBY-517.diff, DERBY-517.stat
> >
> > RecordSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.
> > The embedded driver shows the behaviour described in the JDBC 3.0 specification, returning false and postitioning in either before first or after last. While the client/server driver returns true and incrementing/decrementing the current row by "rows" and not setting the position to either before first of after last.
> > I have run a test with a result set with 10 rows, where I positioned in row 5 and moved +20 and - 20 using relative(int rows). With the embedded driver the method returned false, the current row was set to 0 and isAfterLast() and isBeforeFirst() returned true (for +20 and -20 respectively). With the client/server driver the method returned true, the current row was set to 25 and -15 (for +20 and -20 respectively) and isAfterLast() and isBeforeFirst() returned false.
> > I have also run a test as the first one but running next() 5 times instead of absolute(5) for postitioning in row 5, and then relative(20) produced the expected results with the client/server driver.
> 
> -- 
> 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, 
Sun Microsystems, Trondheim, Norway

Re: [jira] Updated: (DERBY-517) ResultSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.

Posted by "Bernt M. Johnsen" <Be...@Sun.COM>.
Reviewed and found sound. I'll committ.

>>>>>>>>>>>> Fernanda Pizzorno (JIRA) wrote (2005-11-21 13:32:44):
>      [ http://issues.apache.org/jira/browse/DERBY-517?page=all ]
> 
> Fernanda Pizzorno updated DERBY-517:
> ------------------------------------
> 
>     Attachment: DERBY-517-2.diff
>                 DERBY-517-2.stat
> 
> I seems like I had forgotten a "svn add", sorry :).
> 
> > ResultSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.
> > ----------------------------------------------------------------------------------------------------------------------------------------------------
> >
> >          Key: DERBY-517
> >          URL: http://issues.apache.org/jira/browse/DERBY-517
> >      Project: Derby
> >         Type: Bug
> >   Components: Network Client
> >     Reporter: Fernanda Pizzorno
> >     Assignee: Fernanda Pizzorno
> >  Attachments: DERBY-517-2.diff, DERBY-517-2.stat, DERBY-517.diff, DERBY-517.stat
> >
> > RecordSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.
> > The embedded driver shows the behaviour described in the JDBC 3.0 specification, returning false and postitioning in either before first or after last. While the client/server driver returns true and incrementing/decrementing the current row by "rows" and not setting the position to either before first of after last.
> > I have run a test with a result set with 10 rows, where I positioned in row 5 and moved +20 and - 20 using relative(int rows). With the embedded driver the method returned false, the current row was set to 0 and isAfterLast() and isBeforeFirst() returned true (for +20 and -20 respectively). With the client/server driver the method returned true, the current row was set to 25 and -15 (for +20 and -20 respectively) and isAfterLast() and isBeforeFirst() returned false.
> > I have also run a test as the first one but running next() 5 times instead of absolute(5) for postitioning in row 5, and then relative(20) produced the expected results with the client/server driver.
> 
> -- 
> 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, 
Sun Microsystems, Trondheim, Norway

[jira] Updated: (DERBY-517) ResultSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.

Posted by "Fernanda Pizzorno (JIRA)" <de...@db.apache.org>.
     [ http://issues.apache.org/jira/browse/DERBY-517?page=all ]

Fernanda Pizzorno updated DERBY-517:
------------------------------------

    Attachment:     (was: DERBY-517.diff)

> ResultSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.
> ----------------------------------------------------------------------------------------------------------------------------------------------------
>
>          Key: DERBY-517
>          URL: http://issues.apache.org/jira/browse/DERBY-517
>      Project: Derby
>         Type: Bug
>   Components: Network Client
>     Reporter: Fernanda Pizzorno
>     Assignee: Fernanda Pizzorno
>  Attachments: DERBY-517-2.diff, DERBY-517-2.stat, DERBY-517.stat
>
> RecordSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.
> The embedded driver shows the behaviour described in the JDBC 3.0 specification, returning false and postitioning in either before first or after last. While the client/server driver returns true and incrementing/decrementing the current row by "rows" and not setting the position to either before first of after last.
> I have run a test with a result set with 10 rows, where I positioned in row 5 and moved +20 and - 20 using relative(int rows). With the embedded driver the method returned false, the current row was set to 0 and isAfterLast() and isBeforeFirst() returned true (for +20 and -20 respectively). With the client/server driver the method returned true, the current row was set to 25 and -15 (for +20 and -20 respectively) and isAfterLast() and isBeforeFirst() returned false.
> I have also run a test as the first one but running next() 5 times instead of absolute(5) for postitioning in row 5, and then relative(20) produced the expected results with the client/server driver.

-- 
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


[jira] Resolved: (DERBY-517) ResultSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.

Posted by "Bernt M. Johnsen (JIRA)" <de...@db.apache.org>.
     [ http://issues.apache.org/jira/browse/DERBY-517?page=all ]
     
Bernt M. Johnsen resolved DERBY-517:
------------------------------------

    Fix Version: 10.2.0.0
     Resolution: Fixed

> ResultSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.
> ----------------------------------------------------------------------------------------------------------------------------------------------------
>
>          Key: DERBY-517
>          URL: http://issues.apache.org/jira/browse/DERBY-517
>      Project: Derby
>         Type: Bug
>   Components: Network Client
>     Reporter: Fernanda Pizzorno
>     Assignee: Fernanda Pizzorno
>      Fix For: 10.2.0.0
>  Attachments: DERBY-517-2.diff, DERBY-517-2.stat
>
> RecordSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.
> The embedded driver shows the behaviour described in the JDBC 3.0 specification, returning false and postitioning in either before first or after last. While the client/server driver returns true and incrementing/decrementing the current row by "rows" and not setting the position to either before first of after last.
> I have run a test with a result set with 10 rows, where I positioned in row 5 and moved +20 and - 20 using relative(int rows). With the embedded driver the method returned false, the current row was set to 0 and isAfterLast() and isBeforeFirst() returned true (for +20 and -20 respectively). With the client/server driver the method returned true, the current row was set to 25 and -15 (for +20 and -20 respectively) and isAfterLast() and isBeforeFirst() returned false.
> I have also run a test as the first one but running next() 5 times instead of absolute(5) for postitioning in row 5, and then relative(20) produced the expected results with the client/server driver.

-- 
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


[jira] Updated: (DERBY-517) ResultSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.

Posted by "Fernanda Pizzorno (JIRA)" <de...@db.apache.org>.
     [ http://issues.apache.org/jira/browse/DERBY-517?page=all ]

Fernanda Pizzorno updated DERBY-517:
------------------------------------

    Summary: ResultSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.  (was: RecordSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.)

> ResultSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.
> ----------------------------------------------------------------------------------------------------------------------------------------------------
>
>          Key: DERBY-517
>          URL: http://issues.apache.org/jira/browse/DERBY-517
>      Project: Derby
>         Type: Bug
>   Components: Network Client
>     Reporter: Fernanda Pizzorno
>     Assignee: Fernanda Pizzorno

>
> RecordSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.
> The embedded driver shows the behaviour described in the JDBC 3.0 specification, returning false and postitioning in either before first or after last. While the client/server driver returns true and incrementing/decrementing the current row by "rows" and not setting the position to either before first of after last.
> I have run a test with a result set with 10 rows, where I positioned in row 5 and moved +20 and - 20 using relative(int rows). With the embedded driver the method returned false, the current row was set to 0 and isAfterLast() and isBeforeFirst() returned true (for +20 and -20 respectively). With the client/server driver the method returned true, the current row was set to 25 and -15 (for +20 and -20 respectively) and isAfterLast() and isBeforeFirst() returned false.
> I have also run a test as the first one but running next() 5 times instead of absolute(5) for postitioning in row 5, and then relative(20) produced the expected results with the client/server driver.

-- 
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


[jira] Updated: (DERBY-517) ResultSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.

Posted by "Fernanda Pizzorno (JIRA)" <de...@db.apache.org>.
     [ http://issues.apache.org/jira/browse/DERBY-517?page=all ]

Fernanda Pizzorno updated DERBY-517:
------------------------------------

    Attachment: testPositionLastPrev.java

There is also another problem that has been fixed by this patch. When positioning with rs.afterLast() and moving backwards (using rs.previous()) the client driver would only access fetchSize rows and not all rows in the result set. The attached repro case (testPositionLastPrev.java) shows this behaviour. 

* Output of testPositionLastPrev.java before patch:

Show all rows.
Forward - Row: 1: Testing 1
Forward - Row: 2: Testing 2
Forward - Row: 3: Testing 3
Forward - Row: 4: Testing 4
Forward - Row: 5: Testing 5
Forward - Row: 6: Testing 6
Forward - Row: 7: Testing 7
Forward - Row: 8: Testing 8
Forward - Row: 9: Testing 9
Forward - Row: 10: Testing 10

Position after the last row and show all rows backwards.
Backward - Row: 5: Testing 5
Backward - Row: 4: Testing 4
Backward - Row: 3: Testing 3
Backward - Row: 2: Testing 2
Backward - Row: 1: Testing 1

* Output after patch:

Show all rows.
Forward - Row: 1: Testing 1
Forward - Row: 2: Testing 2
Forward - Row: 3: Testing 3
Forward - Row: 4: Testing 4
Forward - Row: 5: Testing 5
Forward - Row: 6: Testing 6
Forward - Row: 7: Testing 7
Forward - Row: 8: Testing 8
Forward - Row: 9: Testing 9
Forward - Row: 10: Testing 10

Position after the last row and show all rows backwards.
Backward - Row: 10: Testing 10
Backward - Row: 9: Testing 9
Backward - Row: 8: Testing 8
Backward - Row: 7: Testing 7
Backward - Row: 6: Testing 6
Backward - Row: 5: Testing 5
Backward - Row: 4: Testing 4
Backward - Row: 3: Testing 3
Backward - Row: 2: Testing 2
Backward - Row: 1: Testing 1


> ResultSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.
> ----------------------------------------------------------------------------------------------------------------------------------------------------
>
>          Key: DERBY-517
>          URL: http://issues.apache.org/jira/browse/DERBY-517
>      Project: Derby
>         Type: Bug
>   Components: Network Client
>     Reporter: Fernanda Pizzorno
>     Assignee: Fernanda Pizzorno
>      Fix For: 10.2.0.0
>  Attachments: DERBY-517-2.diff, DERBY-517-2.stat, testPositionLastPrev.java
>
> RecordSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.
> The embedded driver shows the behaviour described in the JDBC 3.0 specification, returning false and postitioning in either before first or after last. While the client/server driver returns true and incrementing/decrementing the current row by "rows" and not setting the position to either before first of after last.
> I have run a test with a result set with 10 rows, where I positioned in row 5 and moved +20 and - 20 using relative(int rows). With the embedded driver the method returned false, the current row was set to 0 and isAfterLast() and isBeforeFirst() returned true (for +20 and -20 respectively). With the client/server driver the method returned true, the current row was set to 25 and -15 (for +20 and -20 respectively) and isAfterLast() and isBeforeFirst() returned false.
> I have also run a test as the first one but running next() 5 times instead of absolute(5) for postitioning in row 5, and then relative(20) produced the expected results with the client/server driver.

-- 
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


[jira] Updated: (DERBY-517) ResultSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.

Posted by "Fernanda Pizzorno (JIRA)" <de...@db.apache.org>.
     [ http://issues.apache.org/jira/browse/DERBY-517?page=all ]

Fernanda Pizzorno updated DERBY-517:
------------------------------------

    Attachment:     (was: DERBY-517.stat)

> ResultSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.
> ----------------------------------------------------------------------------------------------------------------------------------------------------
>
>          Key: DERBY-517
>          URL: http://issues.apache.org/jira/browse/DERBY-517
>      Project: Derby
>         Type: Bug
>   Components: Network Client
>     Reporter: Fernanda Pizzorno
>     Assignee: Fernanda Pizzorno
>  Attachments: DERBY-517-2.diff, DERBY-517-2.stat
>
> RecordSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.
> The embedded driver shows the behaviour described in the JDBC 3.0 specification, returning false and postitioning in either before first or after last. While the client/server driver returns true and incrementing/decrementing the current row by "rows" and not setting the position to either before first of after last.
> I have run a test with a result set with 10 rows, where I positioned in row 5 and moved +20 and - 20 using relative(int rows). With the embedded driver the method returned false, the current row was set to 0 and isAfterLast() and isBeforeFirst() returned true (for +20 and -20 respectively). With the client/server driver the method returned true, the current row was set to 25 and -15 (for +20 and -20 respectively) and isAfterLast() and isBeforeFirst() returned false.
> I have also run a test as the first one but running next() 5 times instead of absolute(5) for postitioning in row 5, and then relative(20) produced the expected results with the client/server driver.

-- 
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


[jira] Updated: (DERBY-517) ResultSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.

Posted by "Fernanda Pizzorno (JIRA)" <de...@db.apache.org>.
     [ http://issues.apache.org/jira/browse/DERBY-517?page=all ]

Fernanda Pizzorno updated DERBY-517:
------------------------------------

    Attachment: DERBY-517-2.diff
                DERBY-517-2.stat

I seems like I had forgotten a "svn add", sorry :).

> ResultSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.
> ----------------------------------------------------------------------------------------------------------------------------------------------------
>
>          Key: DERBY-517
>          URL: http://issues.apache.org/jira/browse/DERBY-517
>      Project: Derby
>         Type: Bug
>   Components: Network Client
>     Reporter: Fernanda Pizzorno
>     Assignee: Fernanda Pizzorno
>  Attachments: DERBY-517-2.diff, DERBY-517-2.stat, DERBY-517.diff, DERBY-517.stat
>
> RecordSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.
> The embedded driver shows the behaviour described in the JDBC 3.0 specification, returning false and postitioning in either before first or after last. While the client/server driver returns true and incrementing/decrementing the current row by "rows" and not setting the position to either before first of after last.
> I have run a test with a result set with 10 rows, where I positioned in row 5 and moved +20 and - 20 using relative(int rows). With the embedded driver the method returned false, the current row was set to 0 and isAfterLast() and isBeforeFirst() returned true (for +20 and -20 respectively). With the client/server driver the method returned true, the current row was set to 25 and -15 (for +20 and -20 respectively) and isAfterLast() and isBeforeFirst() returned false.
> I have also run a test as the first one but running next() 5 times instead of absolute(5) for postitioning in row 5, and then relative(20) produced the expected results with the client/server driver.

-- 
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


[jira] Closed: (DERBY-517) ResultSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.

Posted by "Fernanda Pizzorno (JIRA)" <de...@db.apache.org>.
     [ http://issues.apache.org/jira/browse/DERBY-517?page=all ]
     
Fernanda Pizzorno closed DERBY-517:
-----------------------------------


> ResultSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.
> ----------------------------------------------------------------------------------------------------------------------------------------------------
>
>          Key: DERBY-517
>          URL: http://issues.apache.org/jira/browse/DERBY-517
>      Project: Derby
>         Type: Bug
>   Components: Network Client
>     Reporter: Fernanda Pizzorno
>     Assignee: Fernanda Pizzorno
>      Fix For: 10.2.0.0
>  Attachments: DERBY-517-2.diff, DERBY-517-2.stat, testPositionLastPrev.java
>
> RecordSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.
> The embedded driver shows the behaviour described in the JDBC 3.0 specification, returning false and postitioning in either before first or after last. While the client/server driver returns true and incrementing/decrementing the current row by "rows" and not setting the position to either before first of after last.
> I have run a test with a result set with 10 rows, where I positioned in row 5 and moved +20 and - 20 using relative(int rows). With the embedded driver the method returned false, the current row was set to 0 and isAfterLast() and isBeforeFirst() returned true (for +20 and -20 respectively). With the client/server driver the method returned true, the current row was set to 25 and -15 (for +20 and -20 respectively) and isAfterLast() and isBeforeFirst() returned false.
> I have also run a test as the first one but running next() 5 times instead of absolute(5) for postitioning in row 5, and then relative(20) produced the expected results with the client/server driver.

-- 
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


[jira] Updated: (DERBY-517) ResultSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.

Posted by "Fernanda Pizzorno (JIRA)" <de...@db.apache.org>.
     [ http://issues.apache.org/jira/browse/DERBY-517?page=all ]

Fernanda Pizzorno updated DERBY-517:
------------------------------------

    Attachment: DERBY-517.diff
                DERBY-517.stat

This patch changes the behaviour of relative(int) in the client driver so that when positioning outside a resultset it will return false and depending on whether the position is before the first row or after the last row, isAfterLast() or isBeforeFirst will return true. It also enables the test "lang/scrollCursors2.java" for the client driver.

When running the test "lang/scrollCursors2.java" for the client driver I realized that Statement.setMaxRows() did not behave as expected for the client driver, so this patch also addresses this issue. The test has also been extended so that it will run one of the tests with different combinations of maxRows and fetchSize.

I have run derbyall successfully, except for store/encryptionKey.sql that failed, but I don't think it was related to my patch.

Can someone please review the patch?

> ResultSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.
> ----------------------------------------------------------------------------------------------------------------------------------------------------
>
>          Key: DERBY-517
>          URL: http://issues.apache.org/jira/browse/DERBY-517
>      Project: Derby
>         Type: Bug
>   Components: Network Client
>     Reporter: Fernanda Pizzorno
>     Assignee: Fernanda Pizzorno
>  Attachments: DERBY-517.diff, DERBY-517.stat
>
> RecordSet - relative(int rows) behaves different in embedded and client/server mode when the positioning before the first row or after the last row.
> The embedded driver shows the behaviour described in the JDBC 3.0 specification, returning false and postitioning in either before first or after last. While the client/server driver returns true and incrementing/decrementing the current row by "rows" and not setting the position to either before first of after last.
> I have run a test with a result set with 10 rows, where I positioned in row 5 and moved +20 and - 20 using relative(int rows). With the embedded driver the method returned false, the current row was set to 0 and isAfterLast() and isBeforeFirst() returned true (for +20 and -20 respectively). With the client/server driver the method returned true, the current row was set to 25 and -15 (for +20 and -20 respectively) and isAfterLast() and isBeforeFirst() returned false.
> I have also run a test as the first one but running next() 5 times instead of absolute(5) for postitioning in row 5, and then relative(20) produced the expected results with the client/server driver.

-- 
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