Skip to content
Snippets Groups Projects
user avatar
Vladimir Davydov authored
Space truncation is implemented as recreation of a space and all its
indexes. On success the original space is deleted by the commit trigger,
while on failure the new space is deleted by the rollback trigger. The
commit/rollback triggers are always called before commit/rollback engine
methods, which makes space truncation incompatible with transactions:
engine commit/rollback may access a space that have already been deleted
by commit/rollback trigger installed by space truncation, resulting in a
crash. So let's forbid to use space.truncate from a transaction until
triggers are made transaction-friendly.

Closes #2525
50a4a87a
History
Name Last commit Last update