SPI_cursor_open_with_args
Синтаксис
Portal SPI_cursor_open_with_args(const char *name, const char *command, int nargs, Oid *argtypes, Datum *values, const char *nulls, bool read_only, int cursorOptions)
Описание
SPI_cursor_open_with_args
открывает курсор (внутри называемый порталом) для выполнения заданного запроса. Большинство параметров имеют тот же смысл, что и соответствующие параметры функций SPI_prepare_cursor
и SPI_cursor_open
.
Для разового выполнения запроса эту функцию следует предпочесть SPI_prepare_cursor
с последующей SPI_cursor_open
. Если же одна и та же команда должна выполняться с самыми разными параметрами, какой вариант окажется быстрее, будет зависеть от стоимости повторного планирования и выигрыша от выбора специализированных планов.
Переданные значения параметров копируются в портал курсора, так что их можно освободить и во время существования курсора.
Аргументы
- const char * name
имя портала, либо NULL, чтобы имя выбрала система
- const char * command
строка команды
- int nargs
число входных параметров ($1, $2 и т. д.)
- Oid * argtypes
массив размера nargs, содержащий OID типов параметров
- Datum * values
массив размера nargs, содержащий фактические значения параметров
- const char * nulls
массив размера nargs, описывающий, в каких параметрах передаётся NULL
Если в nulls передаётся NULL,
SPI_cursor_open_with_args
считает, что ни один из параметров не равен NULL. В противном случае, элемент массива nulls должен содержать ' ', если значение соответствующего параметра не NULL, либо 'n', если это значение — NULL. (В последнем случае значение, переданное в соответствующем элементе values, не учитывается.) Заметьте, что nulls — это не текстовая строка, а просто массив: ноль ('\0') в конце не нужен.- bool read_only
true для режима выполнения «только чтение»
- int cursorOptions
битовая маска параметров курсора; 0 выбирает поведение по умолчанию
Возвращаемое значение
Указатель на портал, содержащий курсор. Заметьте, что соглашение о возврате ошибок отсутствует; все ошибки выдаются через elog
.
Пред. | Начало | След. |
SPI_cursor_open | Уровень выше | SPI_cursor_open_with_paramlist |