Transactions | Ignite Documentation

Ignite Summit 2023— Watch on demand — Register now!

Edit

Transactions

Important
Support for SQL transactions is currently in the beta stage. For production use, consider key-value transactions.

Ignite supports the following statements that allow users to start, commit, or rollback a transaction.

BEGIN [TRANSACTION]

COMMIT [TRANSACTION]

ROLLBACK [TRANSACTION]
  • The BEGIN statement begins a new transaction.

  • COMMIT commits the current transaction.

  • ROLLBACK rolls back the current transaction.

Note
DDL statements are not supported inside transactions.

Description

The BEGIN, COMMIT and ROLLBACK commands allow you to manage SQL Transactions. A transaction is a sequence of SQL operations that starts with the BEGIN statement and ends with the COMMIT statement. Either all of the operations in a transaction succeed or they all fail.

The ROLLBACK [TRANSACTION] statement undoes all updates made since the last time a COMMIT or ROLLBACK command was issued.

Example

Add a person and update the city population by 1 in a single transaction and commit it.

BEGIN;

INSERT INTO Person (id, name, city_id) VALUES (1, 'John Doe', 3);

UPDATE City SET population = population + 1 WHERE id = 3;

COMMIT;

Add a person, update the city population and then roll back changes instead of committing them.

BEGIN;

INSERT INTO Person (id, name, city_id) VALUES (1, 'John Doe', 3);

UPDATE City SET population = population + 1 WHERE id = 3;

ROLLBACK;