SPI_freetuptable — free a row set created by SPI_execute or a similar
function
void SPI_freetuptable(SPITupleTable * tuptable) SPI_freetuptable frees a row set created by a
prior SPI command execution function, such as
SPI_execute. Therefore, this function is often called
with the global variable SPI_tuptable as
argument.
This function is useful if a SPI procedure needs to execute
multiple commands and does not want to keep the results of earlier
commands around until it ends. Note that any unfreed row sets will
be freed anyway at SPI_finish.
Also, if a subtransaction is started and then aborted within execution
of a SPI procedure, SPI automatically frees any row sets created while
the subtransaction was running.
Beginning in PostgreSQL 9.3,
SPI_freetuptable contains guard logic to protect
against duplicate deletion requests for the same row set. In previous
releases, duplicate deletions would lead to crashes.
SPITupleTable * tuptablepointer to row set to free, or NULL to do nothing