SPI_freetuptable#

SPI_freetuptable

SPI_freetuptable

SPI_freetuptable — освобождает набор строк, созданный функцией SPI_execute или аналогичной функцией

Синтаксис

void SPI_freetuptable(SPITupleTable * tuptable)

Описание

SPI_freetuptable освобождает набор строк, созданный предыдущей функцией выполнения команды SPI, такой как SPI_execute. Поэтому эта функция часто вызывается с глобальной переменной SPI_tuptable в качестве аргумента.

Эта функция полезна, если C-функция, использующая SPI, должна выполнить несколько команд и не хочет сохранять результаты ранее выполненных команд до завершения. Обратите внимание, что любые неосвобожденные наборы строк будут освобождены в любом случае при вызове SPI_finish. Кроме того, если подтранзакция запущена, а затем отменена во время выполнения C-функции, использующей SPI, SPI автоматически освобождает любые наборы строк, созданные во время выполнения подтранзакции.

Начиная с PostgreSQL 9.3, функция SPI_freetuptable содержит защитную логику для предотвращения повторных запросов на удаление одного и того же набора строк. В предыдущих версиях повторные удаления могли приводить к сбоям.

Аргументы

SPITupleTable * tuptable

указатель на набор строк для освобождения или NULL, чтобы ничего не делать