Portal SPI_cursor_open_with_args(const char *name,
                                 const char *command,
                                 int nargs, Oid *argtypes,
                                 Datum *values, const char *nulls,
                                 bool read_only, int cursorOptions)   SPI_cursor_open_with_args sets up a cursor
   (internally, a portal) that will execute the specified query.
   Most of the parameters have the same meanings as the corresponding
   parameters to SPI_prepare_cursor
   and SPI_cursor_open.
  
   For one-time query execution, this function should be preferred
   over SPI_prepare_cursor followed by
   SPI_cursor_open.
   If the same command is to be executed with many different parameters,
   either method might be faster, depending on the cost of re-planning
   versus the benefit of custom plans.
  
The passed-in parameter data will be copied into the cursor's portal, so it can be freed while the cursor still exists.
name for portal, or NULL to let the system select a name
command string
number of input parameters ($1, $2, etc.)
an array containing the OIDs of the data types of the parameters
an array of actual parameter values
an array describing which parameters are null
      If nulls is NULL then
      SPI_cursor_open_with_args assumes that no
      parameters are null.
     
true for read-only execution
integer bit mask of cursor options; zero produces default behavior