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 * valuesAn array of actual parameter values. Must have same length as the statement's number of arguments.
const char * nullsAn 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_onlytrue 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.