SPI_execute_plan
Name
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.