Re: absolute positioning

From: Oliver Jowett <oliver(at)opencloud(dot)com>
To: Indra Heckenbach <indra(at)macnica(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: absolute positioning
Date: 2004-03-22 02:55:30
Message-ID: 405E55A2.1040805@opencloud.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Indra Heckenbach 2004-03-22 03:01:41 Re: absolute positioning
Previous Message Indra Heckenbach 2004-03-22 02:51:41 selecting cursor based fetch