SPI_execute_plan — execute a statement prepared by SPI_prepare
int SPI_execute_plan(SPIPlanPtrplan
, Datum *values
, const char *nulls
, boolread_only
, longcount
)
SPI_execute_plan
executes a statement prepared by SPI_prepare
or one of its siblings. read_only
and count
have the same interpretation as in SPI_execute
.
SPIPlanPtr plan
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.
If nulls
is NULL
then SPI_execute_plan
assumes that no parameters are null. Otherwise, each entry of the nulls
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 corresponding values
entry doesn't matter.) Note that nulls
is not a text string, just an array: it does not need a '\0'
terminator.
bool read_only
true
for read-only execution
long count
maximum number of rows to return, or 0
for no limit
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 invalid, 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.
If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.