Indra Heckenbach wrote:
> 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.
In response to
pgsql-jdbc by date
|Next:||From: Indra Heckenbach||Date: 2004-03-22 03:01:41|
|Subject: Re: absolute positioning|
|Previous:||From: Indra Heckenbach||Date: 2004-03-22 02:51:41|
|Subject: selecting cursor based fetch|