SPI_freetuptable

SPI_freetuptable — libera un conjunto de filas creado por SPI_execute o una función similar

Synopsis

void SPI_freetuptable(SPITupleTable * tuptable)

Descripción

SPI_freetuptable libera un conjunto de filas creado por una función de ejecución de comandos SPI anterior, como SPI_execute. Por lo tanto, esta función a menudo se llama con la variable global SPI_tuptable como argumento.

Esta función es útil si una función C que utiliza SPI necesita ejecutar múltiples comandos y no desea mantener los resultados de los comandos anteriores hasta su finalización. Tenga en cuenta que cualquier conjunto de filas no liberado se liberará de todos modos en SPI_finish. Además, si se inicia una subtransacción y luego se aborta dentro de la ejecución de una función C que utiliza SPI, SPI libera automáticamente cualquier conjunto de filas creado mientras la subtransacción estaba en ejecución.

A partir de PostgreSQL 9.3, SPI_freetuptable contiene lógica de protección para evitar solicitudes de eliminación duplicadas para el mismo conjunto de filas. En versiones anteriores, las eliminaciones duplicadas provocaban caídas (crashes).

Argumentos

SPITupleTable * tuptable

puntero al conjunto de filas a liberar, o NULL para no hacer nada