SPI_cursor_open_with_paramlist — set up a cursor using parameters
Portal SPI_cursor_open_with_paramlist(const char *name, SPIPlanPtrplan, ParamListInfoparams, boolread_only)
   SPI_cursor_open_with_paramlist sets up a cursor
   (internally, a portal) that will execute a statement prepared by
   SPI_prepare.
   This function is equivalent to SPI_cursor_open
   except that information about the parameter values to be passed to the
   query is presented differently.  The ParamListInfo
   representation can be convenient for passing down values that are
   already available in that format.  It also supports use of dynamic
   parameter sets via hook functions specified in ParamListInfo.
  
The passed-in parameter data will be copied into the cursor's portal, so it can be freed while the cursor still exists.
const char * name
      name for portal, or NULL to let the system
      select a name
     
SPIPlanPtr plan
      prepared statement (returned by SPI_prepare)
     
ParamListInfo paramsdata structure containing parameter types and values; NULL if none
bool read_onlytrue for read-only execution
   Pointer to portal containing the cursor.  Note there is no error
   return convention; any error will be reported via elog.