PostgreSQL

PostgreSQL Elephant Logo

SPI_execute_plan

SPI_execute_plan — execute a statement prepared by SPI_prepare

Synopsis

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

Description

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.

Arguments

`SPIPlanPtr +`_`+plan`_

prepared statement (returned by SPI_prepare)

`Datum * +`_`+values`_

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

`const char * +`_`+nulls`_

An 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_only`_

true for read-only execution

`long +`_`+count`_

maximum number of rows to return, or 0 for no limit

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


Prev Up Next

SPI_is_cursor_plan

Home

SPI_execute_plan_with_paramlist

Copyright © 1996-2023 The PostgreSQL Global Development Group