Provided by: postgresql-doc-10_10.23-0ubuntu0.18.04.2_all bug

NAME

       SPI_freetuptable - free a row set created by SPI_execute or a similar function

SYNOPSIS

       void SPI_freetuptable(SPITupleTable * tuptable)

DESCRIPTION

       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.

ARGUMENTS

       SPITupleTable * tuptable
           pointer to row set to free, or NULL to do nothing