The COMMIT
statement commits the current transaction or, when using advanced client-side transaction retries, clears the connection to allow new transactions to begin.
When using advanced client-side transaction retries, statements issued after SAVEPOINT
are committed when RELEASE SAVEPOINT
is issued instead of COMMIT
. However, you must still issue a COMMIT
statement to clear the connection for the next transaction.
For non-retryable transactions, if statements in the transaction generated any errors, COMMIT
is equivalent to ROLLBACK
, which aborts the transaction and discards all updates made by its statements.
Synopsis
> BEGIN;
> SAVEPOINT cockroach_restart;
> UPDATE products SET inventory = 0 WHERE sku = '8675309';
> INSERT INTO orders (customer, sku, status) VALUES (1001, '8675309', 'new');
> RELEASE SAVEPOINT cockroach_restart;
> COMMIT;
Automatically retried transactions
If you are using transactions that CockroachDB will automatically retry (i.e., all statements sent in a single batch), commit the transaction with COMMIT
.
> BEGIN; UPDATE products SET inventory = 100 WHERE = '8675309'; UPDATE products SET inventory = 100 WHERE = '8675310'; COMMIT;