When using client-side transaction retries, the
RELEASE SAVEPOINT cockroach_restart statement commits the transaction.
If statements in the transaction generated any non-retryable errors,
RELEASE SAVEPOINT cockroach_restart is equivalent to
ROLLBACK, which aborts the transaction and discards all updates made by its statements.
Despite committing the transaction, you must still issue a
COMMIT statement to prepare the connection for the next transaction.
SAVEPOINTimplementation only supports the
cockroach_restartsavepoint and does not support all savepoint functionality, such as nested transactions.
No privileges are required to release a savepoint. However, privileges are required for each statement within a transaction.
Commit a Transaction
SAVEPOINT cockroach_restart, commit the transaction with
RELEASE SAVEPOINT cockroach_restart and then prepare the connection for the next transaction with
> 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;