alter: proscribe space truncate in transaction
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
Loading
Please register or sign in to comment