Thread: Forcing use of cursor for large result sets

Forcing use of cursor for large result sets

From
"Brian G. Huber"
Date:
Hello all -
 
I am attempting to force the use of a cursor for a resultset.  I have tried both forward-only and scrollable statements and am setting fetch size to 100 with a call to setFechSize(100) on the statement.  However, I do not think a cursor is being used because the entire result set is trying to cache, resulting in an outofMemoryError.  I am using pg74.213.jdbc3.jar with 7.4.2.
 
Any advice appreciated... Thanks-
BGH

Re: Forcing use of cursor for large result sets

From
Kris Jurka
Date:

On Sun, 6 Jun 2004, Brian G. Huber wrote:

> Hello all -
>
> I am attempting to force the use of a cursor for a resultset.  I have
> tried both forward-only and scrollable statements and am setting fetch
> size to 100 with a call to setFechSize(100) on the statement.  However,
> I do not think a cursor is being used because the entire result set is
> trying to cache, resulting in an outofMemoryError.  I am using
> pg74.213.jdbc3.jar with 7.4.2.
>

Two additional restrictions in the current driver are that you must be in
a transaction by setting setAutoCommit(false) and that the query in
question be a single sql statement.  The single statement test is a bit
naive, so a semi-colon in the query string will make it think it is a
multi-statement query.

Kris Jurka