[ 
http://issues.apache.org/jira/browse/DERBY-276?page=comments#action_66254 ]
     
Shreyas Kaushik commented on DERBY-276:
---------------------------------------

Javadoc for J2SE 5.0 says...


relative

boolean relative(int rows)
                 throws SQLException

    Moves the cursor a relative number of rows, either positive or negative. 
Attempting to move beyond the first/last row in the result set positions the 
cursor before/after the the first/last row. Calling relative(0) is valid, but 
does not change the cursor position.

    Note: Calling the method relative(1) is identical to calling the method 
next() and calling the method relative(-1) is identical to calling the method 
previous().

    Parameters:
        rows - an int specifying the number of rows to move from the current 
row; a positive number moves the cursor forward; a negative number moves the 
cursor backward 
    Returns:
        true if the cursor is on a row; false otherwise 
    Throws:
        SQLException - if a database access error occurs, there is no current 
row, or the result set type is TYPE_FORWARD_ONLY
    Since:
        1.2



> ResultSet.relative(int row) cannot be called when the cursor is not 
> positioned on a row.
> ----------------------------------------------------------------------------------------
>
>          Key: DERBY-276
>          URL: http://issues.apache.org/jira/browse/DERBY-276
>      Project: Derby
>         Type: Improvement
>   Components: JDBC
>     Reporter: Bernt M. Johnsen
>     Assignee: Bernt M. Johnsen
>     Priority: Minor

>
> If the cursor is not positioned on a row, calling ResultSet.relative() causes 
> the following exception:
> Exception in thread "main" ERROR X0X87: ResultSet.relative(int row) cannot be 
> called when the cursor is not positioned on a row.
>         at 
> org.apache.derby.iapi.error.StandardException.newException(StandardException.java:301)
>         at 
> org.apache.derby.impl.sql.execute.ScrollInsensitiveResultSet.getRelativeRow(ScrollInsensitiveResultSet.java:336)
>         at 
> org.apache.derby.impl.jdbc.EmbedResultSet.movePosition(EmbedResultSet.java:366)
>         at 
> org.apache.derby.impl.jdbc.EmbedResultSet.relative(EmbedResultSet.java:1840)
> However, The 1.4.2 Javadoc says:
> Note: Calling the method relative(1)  is identical to calling the method 
> next() and calling the method relative(-1) is identical to calling the method 
> previous(). (This is confirmed by the JDBC 3.0 spec, ch. 14.2.2)
> Since next() is valid, so should rs.relative(1) (and all other arguments, 
> since a too large value will position the
> cursor after the last row, and a too low value will position it before the 
> first).

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

Reply via email to