Re: SPI cursor functions - Mailing list pgsql-hackers

From Tom Lane
Subject Re: SPI cursor functions
Date
Msg-id 7698.1224896237@sss.pgh.pa.us
Whole thread Raw
In response to SPI cursor functions  ("Tim Keitt" <tkeitt@keittlab.org>)
Responses Re: SPI cursor functions
List pgsql-hackers
"Tim Keitt" <tkeitt@keittlab.org> writes:
> The docs for FETCH indicate you can fetch from the current row using
> FORWARD 0, but

>     SPI_scroll_cursor_fetch(someportal, FETCH_FORWARD, 0);

> fails for me. Is there a way to emulate FETCH FORWARD 0 with SPI?

Fails how?  AFAICS that calls the same code that the SQL-level
FETCH command would.

You do realize that "FORWARD 0" means to re-fetch the current row,
ie the most recently fetched row?  There isn't any current row in
the initial state of a cursor.

> Also, I noticed that
>    SPI_scroll_cursor_move(someportal, FETCH_BACKWARD, 1);
> sets SPI_processed to 0, not 1. Is that the intended behavior?

Well, it is if you don't have any row to move backward to ...
        regards, tom lane


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Handling NULL records in plpgsql
Next
From: David E. Wheeler
Date:
Subject: ERROR: cache lookup failed for function 0