Tarantool CE/EE Documentation portal logo
Support
Updated at July 17, 2026   02:08 PM

box.savepoint()

box.savepoint()

Return a descriptor of a savepoint (type = table), which can be used later by box.rollback_to_savepoint(savepoint). Savepoints can only be created while a transaction is active, and they are destroyed when a transaction ends.

Returns

savepoint table

Return type

Lua object

Returns

error if the savepoint cannot be set in absence of active transaction.

Possible errors: error if for some reason memory cannot be allocated.

Example

-- Insert test data --box.space.bands:insert { 1, 'Roxette', 1986 }box.space.bands:insert { 2, 'Scorpions', 1965 }box.space.bands:insert { 3, 'Ace of Base', 1987 }-- Rollback the transaction to a savepoint --box.begin()box.space.bands:insert { 4, 'The Beatles', 1960 }save1 = box.savepoint()box.space.bands:replace { 1, 'Pink Floyd', 1965 }box.rollback_to_savepoint(save1)box.commit()