SPI_execute_plan

Name

SPI_execute_plan -- execute a plan prepared by SPI_prepare

Synopsis

int SPI_execute_plan(void * plan , Datum * values , const char * nulls , bool read_only , long count )

Description

SPI_execute_plan executes a plan prepared by SPI_prepare . read_only and count have the same interpretation as in SPI_execute .

Arguments

void * plan

execution plan (returned by SPI_prepare )

Datum * values

An array of actual parameter values. Must have same length as the plan's number of arguments.

const char * nulls

An array describing which parameters are null. Must have same length as the plan's number of arguments. n indicates a null value (entry in values will be ignored); a space indicates a nonnull value (entry in values is valid).

If nulls is NULL then SPI_execute_plan assumes that no parameters are null.

bool read_only

true for read-only execution

long count

maximum number of rows to process or return

Return Value

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 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.

Notes

If one of the objects (a table, function, etc.) referenced by the prepared plan is dropped during the session then the result of SPI_execute_plan for this plan will be unpredictable.