]> begriffs open source - ai-pg/blob - full-docs/man3/SPI_commit.3
Convert HTML docs to more streamlined TXT
[ai-pg] / full-docs / man3 / SPI_commit.3
1 '\" t
2 .\"     Title: SPI_commit
3 .\"    Author: The PostgreSQL Global Development Group
4 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
5 .\"      Date: 2025
6 .\"    Manual: PostgreSQL 18.0 Documentation
7 .\"    Source: PostgreSQL 18.0
8 .\"  Language: English
9 .\"
10 .TH "SPI_COMMIT" "3" "2025" "PostgreSQL 18.0" "PostgreSQL 18.0 Documentation"
11 .\" -----------------------------------------------------------------
12 .\" * Define some portability stuff
13 .\" -----------------------------------------------------------------
14 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15 .\" http://bugs.debian.org/507673
16 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
17 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
18 .ie \n(.g .ds Aq \(aq
19 .el       .ds Aq '
20 .\" -----------------------------------------------------------------
21 .\" * set default formatting
22 .\" -----------------------------------------------------------------
23 .\" disable hyphenation
24 .nh
25 .\" disable justification (adjust text to left margin only)
26 .ad l
27 .\" -----------------------------------------------------------------
28 .\" * MAIN CONTENT STARTS HERE *
29 .\" -----------------------------------------------------------------
30 .SH "NAME"
31 SPI_commit, SPI_commit_and_chain \- commit the current transaction
32 .SH "SYNOPSIS"
33 .sp
34 .nf
35 void SPI_commit(void)
36 .fi
37 .sp
38 .nf
39 void SPI_commit_and_chain(void)
40 .fi
41 .SH "DESCRIPTION"
42 .PP
43 \fBSPI_commit\fR
44 commits the current transaction\&. It is approximately equivalent to running the SQL command
45 \fBCOMMIT\fR\&. After the transaction is committed, a new transaction is automatically started using default transaction characteristics, so that the caller can continue using SPI facilities\&. If there is a failure during commit, the current transaction is instead rolled back and a new transaction is started, after which the error is thrown in the usual way\&.
46 .PP
47 \fBSPI_commit_and_chain\fR
48 is the same, but the new transaction is started with the same transaction characteristics as the just finished one, like with the SQL command
49 \fBCOMMIT AND CHAIN\fR\&.
50 .PP
51 These functions can only be executed if the SPI connection has been set as nonatomic in the call to
52 \fBSPI_connect_ext\fR\&.