SPI_execute_plan -- execute a plan prepared by SPI_prepare
Synopsis
int SPI_execute_plan(void * plan, Datum * values, const char * nulls,
bool read_only, long count)
Description
SPI_execute_plan executes a plan prepared by
SPI_prepare. read_only and
count have the same interpretation as in
SPI_execute.
Arguments
void * plan
execution plan (returned by SPI_prepare)
Datum * values
An array of actual parameter values. Must have same length as the
plan's number of arguments.
const char * nulls
An array describing which parameters are null. Must have same length as
the plan's number of arguments.
n indicates a null value (entry in
values will be ignored); a space indicates a
nonnull value (entry in values is valid).
If nulls is NULL then
SPI_execute_plan assumes that no parameters are
null.
bool read_only
true for read-only execution
long count
maximum number of rows to process or return
Return Value
The return value is the same as for SPI_execute,
with the following additional possible error (negative) results:
SPI_ERROR_ARGUMENT
if plan is NULL or
count is less than 0
SPI_ERROR_PARAM
if values is NULL and
plan was prepared with some parameters
SPI_processed and
SPI_tuptable are set as in
SPI_execute if successful.
Notes
If one of the objects (a table, function, etc.) referenced by the
prepared plan is dropped during the session then the result of
SPI_execute_plan for this plan will be unpredictable.