Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Result Set FORWARD_ONLY

65 views
Skip to first unread message

Jeffrey Melloy

unread,
Sep 22, 2005, 9:34:57 PM9/22/05
to
I'm having trouble setting the result set to anything but FORWARD_ONLY.

If I do this:

pstmt = conn.prepareStatement("select name, name from amz.product_detail_items order by name");
rs = pstmt.executeQuery();
rs.setFetchDirection(ResultSet.TYPE_SCROLL_INSENSITIVE);

I get:

org.postgresql.util.PSQLException: Invalid fetch direction constant: 1,004.

I get the same error if I set it on the pstmt object before executing the query.

Using version 311 of the JDBC driver and 8.0.2.

Thanks,
Jeff

Oliver Jowett

unread,
Sep 22, 2005, 10:04:45 PM9/22/05
to
Jeffrey Melloy wrote:

> pstmt = conn.prepareStatement("select name, name from
> amz.product_detail_items order by name");
> rs = pstmt.executeQuery();
> rs.setFetchDirection(ResultSet.TYPE_SCROLL_INSENSITIVE);
>
> I get:
>
> org.postgresql.util.PSQLException: Invalid fetch direction constant: 1,004.

The driver is working correctly here.

You can only set the resultset type when creating the statement, like so:

> pstmt = conn.prepareStatement("select name, name from amz.product_detail_items order by name", ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);

ResultSet.setFetchDirection() is used to hint to the driver about the
expected order of resultset use, not to set the resultset type. It
expects one of ResultSet.FETCH_FORWARD, ResultSet.FETCH_REVERSE, or
ResultSet.FETCH_UNKNOWN. The driver is (correctly) complaining that
you're giving it some other value.

The java.sql javadoc covers all this.

-O

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
choose an index scan if your joining column's datatypes do not
match

0 new messages