SPI_execute_plan
SPI_execute_plan — выполнить оператор, подготовленный функцией SPI_prepare
Синтаксис
int SPI_execute_plan(SPIPlanPtrplan, Datum *values, const char *nulls, boolread_only, longcount)
Описание
SPI_execute_plan выполняет оператор, подготовленный функцией SPI_prepare или родственными ей. Параметры read_only и count имеют тот же смысл, что и в SPI_execute.
Аргументы
- SPIPlanPtr- plan
- подготовленный оператор (возвращаемый функцией - SPI_prepare)
- Datum *- values
- Массив фактических значений параметров. Его размер должен равняться числу аргументов оператора. 
- const char *- nulls
- Массив, описывающий, в каких параметрах передаётся NULL. Должен иметь размер, равный числу аргументов оператора. - Если в - nullsпередаётся- NULL,- SPI_execute_planсчитает, что ни один из параметров не равен NULL. В противном случае элемент массива- nullsдолжен содержать- ' ', если значение соответствующего параметра не NULL, либо- 'n', если это значение — NULL. (В последнем случае значение, переданное в соответствующем элементе- values, не учитывается.) Заметьте, что- nulls— это не текстовая строка, а просто массив: ноль (- '\0') в конце не нужен.
- bool- read_only
- trueдля режима выполнения «только чтение»
- long- count
- максимальное число строк, которое должно быть возвращено; с - 0ограничения нет
Возвращаемое значение
Возвращаемые значения те же, что и у SPI_execute, со следующими дополнительными вариантами ошибок (отрицательных результатов): 
- SPI_ERROR_ARGUMENT
- Если - planневерный или- NULL, либо- countменьше 0
- SPI_ERROR_PARAM
- Если в - valuesпередан- NULLи- planбыл подготовлен с другими параметрами
Переменные SPI_processed и SPI_tuptable устанавливаются как в SPI_execute, если вызов был успешным.