SPI_freetuptable — libère une série de lignes créée par SPI_execute
ou une
fonction semblable
void SPI_freetuptable(SPITupleTable * tuptable
)
SPI_freetuptable
libère une série de lignes créée
auparavant par une fonction d'exécution de commandes SPI, tel que
SPI_execute
. Par conséquent, cette fonction est souvent appelée
avec la variable globale SPI_tupletable
comme
argument.
Cette fonction est utile si une procédure SPI a besoin d'exécuter
de multiples commandes et ne veut pas garder les résultats de commandes
précédentes en mémoire jusqu'à sa fin. Notez que toute série de lignes non
libérées est libérée quand même lors de SPI_finish
.
De plus, si une sous-transaction est commencée puis annulée lors de l'exécution
d'une procédure SPI, SPI libère automatiquement tous les ensembles de lignes
créés lors de l'exécution de la sous-transaction.
À partir de PostgreSQL 9.3,
SPI_freetuptable
contient la logique de sécurité pour
protéger contre les demandes dupliquées de suppression à partir du même
ensemble de lignes. Avec les versions précédentes, les suppressions
dupliquées auraient amenées à des crashs.
SPITupleTable * tuptable
pointeur vers la série de lignes à libérer, ou NULL pour ne rien faire