Re: absolute positioning - Mailing list pgsql-jdbc

From Indra Heckenbach
Subject Re: absolute positioning
Date
Msg-id 405E5715.5040200@macnica.com
Whole thread Raw
In response to Re: absolute positioning  (Oliver Jowett <oliver@opencloud.com>)
Responses Re: absolute positioning  (Oliver Jowett <oliver@opencloud.com>)
List pgsql-jdbc
Thanks for the info.  So the implementation is functional, but does so
by preventing cursors.  Unfortunately, I am dealing with a large result
set, so I need to use cursors.  I started modifying the jdbc driver.
Any other suggestions?

thanks,
Indra

Oliver Jowett wrote:

> Indra Heckenbach wrote:
>
>> Hi,
>>
>> After reviewing the JDBC API, I thought absolute() was intended to
>> reposition the cursor across the entire result set.  Looking at the
>> pgjdbc implementation though, it appears to be positioning the cursor
>> in the cached results, which may be a subset of all results if
>> setFetchSize() != 0.   I assume the implementation should be doing
>> "FETCH ABSOLUTE pos".  If this is true, comparable methods are also
>> not correctly implemented for this case.  Is this an issue, or am I
>> misinterpreting the API?
>
>
> You need to be using a scrollable resultset for absolute() to be
> available (although it looks like the current driver does not enforce
> this). If a scrollable resultset is requested, the driver disables the
> use of cursors regardless of the current fetchsize, so the "cached"
> resultset is always the complete resultset and there is no problem.
>
> This behaviour is an interim measure until a proper implementation
> that deals with scrollable resultsets and cursors correctly gets done.
> There are some backend issues to sort out first -- some (non-obvious
> set of) queries produce forward-access-only cursors, IIRC.
>
> -O
>


pgsql-jdbc by date:

Previous
From: Oliver Jowett
Date:
Subject: Re: absolute positioning
Next
From: Oliver Jowett
Date:
Subject: Re: absolute positioning