Очистка версий
Из-за того, что при конкурентной работе нескольких соединений таблица оказывается заполненной версиями одной и той же записи, периодически необходимо производить ее очистку – т.е. освобождение от старых неиспользуемых версий.
Для этого существует специальный административный SQL-запрос:
PURGE TABLE <name> [ALL];
ALL используется в том случае, когда необходимо очистить таблицу от старых записей полностью, вне зависимости от того, есть ли на данный момент активные транзакции. Очистка таблицы с ключом ALL может привести к тому, что активная SERIALIZABLE-транзакция, стартовавшая до очистки таблицы, увидит изменение в наборе данных.
На время очистки таблица блокируется. Транзакции, пытающиеся работать с этой таблицей, будут ждать завершения процесса очистки. Попытка выполнить очистку таблицы, для которой уже запущен процесс очистки, приведет к ошибке: ТАБЛИЦА УЖЕ В ОЧИСТКЕ (8114).