Re: OutOfMemory - Mailing list pgsql-jdbc

From Oliver Jowett
Subject Re: OutOfMemory
Date
Msg-id 406BCE3C.90804@opencloud.com
Whole thread Raw
In response to Re: OutOfMemory  (Guido Fiala <guido.fiala@dka-gmbh.de>)
List pgsql-jdbc
Guido Fiala wrote:
> Am Donnerstag, 1. April 2004 09:14 schrieb Oliver Jowett:
> [...]
>
>>>st=conn.createStatement(ResultSet.TYPE_FORWARD_ONLY,ResultSet.CONCUR_READ
>>>_ONLY); st.setFetchSize(1);
>>>            ResultSet rs=st.executeQuery("Select * from tst_fetchsize");
>>>            rs.last();//now we should be at "count"
>>
>>Indeed, here's your problem -- you're not allowed to call last() on a
>>TYPE_FORWARD_ONLY resultset. The driver should throw an exception at
>>this point (but currently doesn't). See the ResultSet.last() javadoc for
>>details.
>
>
> Ok - that's one part, but why does the second part of my testcase not work as
> expected - means fetchsize has no effect ?

This is the part where you use TYPE_SCROLL_SENSITIVE + setFetchsize()
and see the driver pulling the whole resultset into memory at once?

setFetchsize() is a hint. As no-one has implemented cursor-backed
support for scrollable resultsets yet, the driver ignores the hint and
fetches the whole result set anyway.

Patches to improve this behaviour are, of course, welcome :)

-O

pgsql-jdbc by date:

Previous
From: Guido Fiala
Date:
Subject: Re: OutOfMemory
Next
From: Oliver Jowett
Date:
Subject: testGetTimeZone failures using CVS driver