summaryrefslogtreecommitdiffstats
path: root/doc/src/sgml/man3/SPI_freetuptable.3
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/sgml/man3/SPI_freetuptable.3')
-rw-r--r--doc/src/sgml/man3/SPI_freetuptable.358
1 files changed, 58 insertions, 0 deletions
diff --git a/doc/src/sgml/man3/SPI_freetuptable.3 b/doc/src/sgml/man3/SPI_freetuptable.3
new file mode 100644
index 0000000..4fcc8aa
--- /dev/null
+++ b/doc/src/sgml/man3/SPI_freetuptable.3
@@ -0,0 +1,58 @@
+'\" t
+.\" Title: SPI_freetuptable
+.\" Author: The PostgreSQL Global Development Group
+.\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/>
+.\" Date: 2021
+.\" Manual: PostgreSQL 13.4 Documentation
+.\" Source: PostgreSQL 13.4
+.\" Language: English
+.\"
+.TH "SPI_FREETUPTABLE" "3" "2021" "PostgreSQL 13.4" "PostgreSQL 13.4 Documentation"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+SPI_freetuptable \- free a row set created by \fBSPI_execute\fR or a similar function
+.SH "SYNOPSIS"
+.sp
+.nf
+void SPI_freetuptable(SPITupleTable * \fItuptable\fR)
+.fi
+.SH "DESCRIPTION"
+.PP
+\fBSPI_freetuptable\fR
+frees a row set created by a prior SPI command execution function, such as
+\fBSPI_execute\fR\&. Therefore, this function is often called with the global variable
+\fISPI_tuptable\fR
+as argument\&.
+.PP
+This function is useful if an SPI\-using C function 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
+\fBSPI_finish\fR\&. Also, if a subtransaction is started and then aborted within execution of an SPI\-using C function, SPI automatically frees any row sets created while the subtransaction was running\&.
+.PP
+Beginning in
+PostgreSQL
+9\&.3,
+\fBSPI_freetuptable\fR
+contains guard logic to protect against duplicate deletion requests for the same row set\&. In previous releases, duplicate deletions would lead to crashes\&.
+.SH "ARGUMENTS"
+.PP
+SPITupleTable * \fItuptable\fR
+.RS 4
+pointer to row set to free, or NULL to do nothing
+.RE