SPI_freetuptable — free a row set created by
SPI_execute or a similar function
void SPI_freetuptable(SPITupleTable *
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
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
pointer to row set to free, or NULL to do nothing
If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.