SPI_prepare_extended

SPI_prepare_extended — подготовить оператор, но пока не выполнять его

Синтаксис

SPIPlanPtr SPI_prepare_extended(const char * command,
                                const SPIPrepareOptions * options)

Описание

SPI_prepare_extended создаёт и возвращает подготовленный оператор для заданной команды, но не выполняет саму команду. Эта функция равнозначна SPI_prepare, но позволяет вызывающему управлять разбором ссылок на внешние параметры, а также другими аспектами разбора и планирования запросов.

Аргументы

const char * command

строка команды

const SPIPrepareOptions * options

структура, содержащая необязательные аргументы

Структуру options всегда следует сначала полностью заполнять нулями, а затем уже задавать необходимые значения. Это гарантирует совместимость с будущими изменениями в коде: при добавлении в эту структуру любых новых полей нулевое значение будет определять старое поведение. Сейчас в options есть такие поля:

ParserSetupHook parserSetup

Функция настройки обработчиков разбора

void * parserSetupArg

аргумент для сквозной передачи в parserSetup

RawParseMode parseMode

режим для простого разбора; RAW_PARSE_DEFAULT (ноль) выбирает поведение по умолчанию

int cursorOptions

битовая маска параметров курсора; 0 выбирает поведение по умолчанию

Возвращаемое значение

SPI_prepare_extended возвращает результат по тем же соглашениям, что и SPI_prepare.