SPI_execute_plan
Synopsis
int SPI_execute_plan(SPIPlanPtrplan, Datum *values, const char *nulls, boolread_only, longcount)
Description
SPI_execute_plan
executes a statement prepared bySPI_prepare
or one of its siblings.read_only andcount have the same interpretation as inSPI_execute
.
Arguments
- SPIPlanPtrplan
prepared statement (returned by
SPI_prepare
)- Datum *values
An array of actual parameter values. Must have same length as the statement's number of arguments.
- const char *nulls
An array describing which parameters are null. Must have same length as the statement's number of arguments.
Ifnulls isNULL then
SPI_execute_plan
assumes that no parameters are null. Otherwise, each entry of thenulls array should be' ' if the corresponding parameter value is non-null, or'n' if the corresponding parameter value is null. (In the latter case, the actual value in the correspondingvalues entry doesn't matter.) Note thatnulls is not a text string, just an array: it does not need a'\0' terminator.- boolread_only
true for read-only execution
- longcount
maximum number of rows to return, or0 for no limit
Return Value
The return value is the same as forSPI_execute
, with the following additional possible error (negative) results:
- SPI_ERROR_ARGUMENT
ifplan isNULL or invalid, orcount is less than 0
- SPI_ERROR_PARAM
ifvalues isNULL andplan was prepared with some parameters
SPI_processed andSPI_tuptable are set as inSPI_execute
if successful.