SPI_prepare_cursor#
SPI_prepare_cursor
SPI_prepare_cursor — подготовить оператор без его выполнения
Синтаксис
SPIPlanPtr SPI_prepare_cursor(const char *command
, intnargs
, Oid *argtypes
, intcursorOptions
)
Описание
SPI_prepare_cursor
идентична функции SPI_prepare
, за исключением того, что она также позволяет указать параметр “cursor options” планировщика. Это битовая маска, имеющая значения, указанные в nodes/parsenodes.h
для поля options
структуры DeclareCursorStmt
. Функция SPI_prepare
всегда принимает параметр cursor options равным нулю.
Эта функция теперь устарела в пользу SPI_prepare_extended
.
Аргументы
const char *
command
строка команды
int
nargs
количество входных параметров (
$1
,$2
, и т. д.)Oid *
argtypes
указатель на массив, содержащий OIDы типов данных параметров
int
cursorOptions
целочисленная битовая маска параметров курсора; ноль приводит к использованию поведения по умолчанию
Возвращаемое значение
SPI_prepare_cursor
имеет те же соглашения о возврате, что и SPI_prepare
.
Примечания
Полезные фрагменты для установки в cursorOptions
включают
CURSOR_OPT_SCROLL
,
CURSOR_OPT_NO_SCROLL
,
CURSOR_OPT_FAST_PLAN
,
CURSOR_OPT_GENERIC_PLAN
и
CURSOR_OPT_CUSTOM_PLAN
. Обратите внимание, что
CURSOR_OPT_HOLD
игнорируется.