db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Shreyas Kaushik (JIRA)" <derby-...@db.apache.org>
Subject [jira] Commented: (DERBY-276) ResultSet.relative(int row) cannot be called when the cursor is not positioned on a row.
Date Wed, 25 May 2005 08:41:55 GMT
     [ 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


Mime
View raw message