Supported Versions: Current (14) / 13 / 12 / 11
Development Versions: 15 / devel


SPI_rollback, SPI_rollback_and_chain — abort the current transaction


void SPI_rollback(void)
void SPI_rollback_and_chain(void)


SPI_rollback rolls back the current transaction. It is approximately equivalent to running the SQL command ROLLBACK. After a transaction is rolled back, a new transaction has to be started using SPI_start_transaction before further database actions can be executed.

SPI_rollback_and_chain 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 ROLLBACK AND CHAIN.

These functions can only be executed if the SPI connection has been set as nonatomic in the call to SPI_connect_ext.

Submit correction

If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.