SPI_execute_plan
SPI_execute_plan — execute a statement prepared by SPI_prepare
Synopsis
int SPI_execute_plan(SPIPlanPtrplan, Datum *values, const char *nulls, boolread_only, longcount)
Description
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. 
Arguments
- 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 - nullsis- NULLthen- SPI_execute_planassumes that no parameters are null. Otherwise, each entry of the- nullsarray 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- valuesentry doesn't matter.) Note that- nullsis not a text string, just an array: it does not need a- '\0'terminator.
- bool- read_only
- truefor read-only execution
- long- count
- maximum number of rows to return, or - 0for no limit
Return Value
 The return value is the same as for SPI_execute, with the following additional possible error (negative) results: 
- SPI_ERROR_ARGUMENT
- if - planis- NULLor invalid, or- countis less than 0
- SPI_ERROR_PARAM
- if - valuesis- NULLand- planwas prepared with some parameters
SPI_processed and SPI_tuptable are set as in SPI_execute if successful. 

