×
Мы обрабатываем cookies, чтобы сделать наш сайт удобнее и персонализированнее для вас. Подробнее: политика использования «cookies» и «политики конфиденциальности».

Для самостоятельной настройки ознакомьтесь с инструкцией

Дополнительные настройки cookies в браузерах

Файлы cookie автоматически загружаются в ваш браузер при посещении веб-сайта. У вас есть возможность управлять этими файлами. Если Вы не согласны с использованием файлов cookies, запретите их сохранение на своём устройстве, удалите уже имеющиеся файлы cookies через настройки браузера или прекратите использование сайта.

При отключении обработки cookie наш сайт продолжит функционировать, однако будут использоваться исключительно необходимые технические файлы, без которых работа ресурса невозможна.

Инструкция по отключению cookies
Принять
Настроить
Отклонить

ДОКУМЕНТАЦИЯ

Выберите версию, форк и язык для СУБД Digital Q.DataBase, чтобы прочитать или скачать всю документацию.
Техподдержка
Документация
Диасофт
Авторские права © 2016–2025 ООО "Диасофт Экосистема"
Скачать всю документацию:

5.10.1.18. SPI_cursor_open

5.10.1.18. SPI_cursor_open

SPI_cursor_open — создать курсор с помощью оператора, подготовленного с помощью SPI_prepare

Синтаксис

Portal SPI_cursor_open(const char * name, SPIPlanPtr plan,
                       Datum * values, const char * nulls,
                       bool read_only)

Описание

SPI_cursor_open устанавливает курсор (внутренне портал), который будет выполнять оператор, подготовленный SPI_prepare. Параметры имеют те же значения, что и соответствующие параметры для SPI_execute_plan.

Использование курсора вместо прямого выполнения оператора дает два преимущества. Во-первых, строки результата можно извлекать по несколько за раз, что позволяет избежать переполнения памяти для запросов, возвращающих много строк. Во-вторых, портал может существовать дольше текущей функции на языке C (фактически он может существовать до конца текущей транзакции). Возврат имени портала вызывающей стороне функции на языке C предоставляет способ возврата набора строк в качестве результата.

Переданные данные параметров будут скопированы в портал курсора, поэтому их можно освободить, пока курсор всё ещё существует.

Аргументы

const char * name

имя портала или NULL чтобы позволить системе выбрать имя

SPIPlanPtr plan

подготовленное выражение (возвращаемое SPI_prepare)

Datum * values

Массив фактических значений параметров. Должен иметь ту же длину, что и количество аргументов оператора.

const char * nulls

Массив, определяющий, какие параметры имеют значение null. Должен иметь ту же длину, что и количество аргументов оператора.

Если nulls имеет значение NULL то SPI_cursor_open предполагает, что ни один из параметров не равен null. В противном случае каждый элемент массива nulls должен иметь значение ' ' , если соответствующее значение параметра не равно null, или 'n' , если соответствующее значение параметра равно null. (В последнем случае фактическое значение в соответствующем элементе values не имеет значения.) Обратите внимание, что nulls не является текстовой строкой, а представляет собой просто массив: ему не требуется '\0' символ завершения.

bool read_only

true для выполнения в режиме «только чтение»

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

Указатель на портал, содержащий курсор. Обратите внимание, что стандартное соглашение о возврате ошибок отсутствует; о любой ошибке будет сообщено через elog.

Наверх
свяжитесь
с нами
контакты
Для прямой связи с нами вы можете использовать контакты ниже, либо оставить заявку через форму обратной связи, и мы обязательно свяжемся с вами

*поля обязательные к заполнению