Re: absolute positioning - Mailing list pgsql-jdbc

From Oliver Jowett
Subject Re: absolute positioning
Date
Msg-id 405E55A2.1040805@opencloud.com
Whole thread Raw
In response to absolute positioning  (Indra Heckenbach <indra@macnica.com>)
Responses Re: absolute positioning  (Indra Heckenbach <indra@macnica.com>)
List pgsql-jdbc
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: Indra Heckenbach
Date:
Subject: selecting cursor based fetch
Next
From: Indra Heckenbach
Date:
Subject: Re: absolute positioning