'\" t .\" Title: SPI_rollback .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 2021 .\" Manual: PostgreSQL 14.1 Documentation .\" Source: PostgreSQL 14.1 .\" Language: English .\" .TH "SPI_ROLLBACK" "3" "2021" "PostgreSQL 14.1" "PostgreSQL 14.1 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_rollback, SPI_rollback_and_chain \- abort the current transaction .SH "SYNOPSIS" .sp .nf void SPI_rollback(void) .fi .sp .nf void SPI_rollback_and_chain(void) .fi .SH "DESCRIPTION" .PP \fBSPI_rollback\fR rolls back the current transaction\&. It is approximately equivalent to running the SQL command \fBROLLBACK\fR\&. After a transaction is rolled back, a new transaction has to be started using \fBSPI_start_transaction\fR before further database actions can be executed\&. .PP \fBSPI_rollback_and_chain\fR is the same, but a new transaction is immediately started with the same transaction characteristics as the just finished one, like with the SQL command \fBROLLBACK AND CHAIN\fR\&. .PP These functions can only be executed if the SPI connection has been set as nonatomic in the call to \fBSPI_connect_ext\fR\&.