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
.