- publishing free software manuals
PostgreSQL Reference Manual - Volume 2 - Programming Guide
by The PostgreSQL Global Development Group
Paperback (6"x9"), 408 pages
ISBN 0954612035
RRP £19.95 ($34.95)

Sales of this book support the PostgreSQL project! Get a printed copy>>>

13.1.11 SPI_execute_plan


SPI_execute_plan -- execute a plan prepared by SPI_prepare


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


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


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:

if plan is NULL or count is less than 0
if values is NULL and plan was prepared with some parameters

SPI_processed and SPI_tuptable are set as in SPI_execute if successful.


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.

ISBN 0954612035PostgreSQL Reference Manual - Volume 2 - Programming GuideSee the print edition