Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-jdbc by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group