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 есть такие поля:
ParserSetupHookparserSetupФункция настройки обработчиков разбора
void *parserSetupArgаргумент для сквозной передачи в
parserSetupRawParseModeparseModeрежим для простого разбора;
RAW_PARSE_DEFAULT(ноль) выбирает поведение по умолчаниюintcursorOptionsбитовая маска параметров курсора; 0 выбирает поведение по умолчанию
Возвращаемое значение
SPI_prepare_extended возвращает результат по тем же соглашениям, что и SPI_prepare.