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
.
plan
prepared statement (returned by SPI_prepare
)
values
An array of actual parameter values. Must have same length as the statement's number of arguments.
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.
read_only
true
for read-only execution
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.