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, чтобы ничего не делать