SPI_is_cursor_plan
Name
SPI_is_cursor_plan -- return true if a statement prepared bySPI_prepare
can be used with SPI_cursor_open
Description
SPI_is_cursor_plan
returns
true if a statement prepared by
SPI_prepare
can be passed as an
argument to SPI_cursor_open
, or
false if that is not the case. The
criteria are that the plan represents
one single command and that this command returns tuples to the
caller; for example, SELECT is allowed
unless it contains an INTO clause, and
UPDATE is allowed only if it contains a
RETURNING clause.
Return Value
true or false to indicate if the plan can produce a cursor or not, with SPI_result set to zero. If it is not possible to determine the answer (for example, if the plan is NULL or invalid, or if called when not connected to SPI), then SPI_result is set to a suitable error code and false is returned.