ROLLBACK DELTA
Содержание раздела
Поддерживается в версиях: 6.8 / 6.7 / 6.6 / 6.5 / 6.4 / 6.3 / 6.2 / 6.1 / 6.0 / 5.8 / 5.7 / 5.6 / 5.5 / 5.4 / 5.3 / 5.2 / 5.1 / 5.0.
Запрос откатывает открытую дельту и отменяет внесенные в ней изменения.
После запуска запроса будет невозможно закрыть дельту, даже если запрос вернет ошибку.
Открытую дельту невозможно откатить, пока в ней есть незавершенные операции записи.
Чтобы проверить наличие незавершенных операций записи, выполните GET_WRITE_OPERATIONS. Способы обработки таких операций см. в разделе Управление операциями записи.
Отменяемые операции
Запрос отменяет следующие операции открытой дельты:
- все завершенные операции записи,
- незавершенные операции записи, запущенные запросами загрузки данных.
Запрос не отменяет незавершенные операции, запущенные запросами обновления данных, а также операции записи, выполненные до дельты.
Действия перед запросом
Перед выполнением запроса выберите логическую базу данных, используемую по умолчанию, если она еще не выбрана.
Как работает запрос
Система откатывает открытую дельту в следующем порядке:
- Останавливает незавершенные операции записи, запущенные запросами загрузки данных.
Операции останавливаются асинхронно, поэтому система с заданной периодичностью проверяет, остались ли неостановленные операции. Периодичность проверки регулируется параметром конфигурацииDELTA_ROLLBACK_STATUS_CALLS_MS
. - Отменяет операции открытой дельты:
- все завершенные операции,
- операции, остановленные на шаге 1.
- Удаляет открытую дельту из сервисной базы данных и освобождает номер дельты, зарезервированный ранее. Номера операций записи, выполненных ранее в этой дельте, НЕ освобождаются.
- Удаляет блокировку DDL-операций, действующую в открытой дельте. Изменение логической схемы данных вновь становится доступным.
Синтаксис
ROLLBACK DELTA
Варианты ответа
В ответе возвращается:
- объект ResultSet c одной записью, содержащей номер последней закрытой дельты, при успешном выполнении запроса;
- исключение при неуспешном выполнении запроса.
Ограничения
- Выполнение запроса недоступно, если есть другой незавершенный запрос
ROLLBACK DELTA
или незавершенные операции записи, начатые в откатываемой дельте. - После запуска запроса дельту невозможно закрыть, даже если запрос вернул ошибку.
- Пока запрос выполняется, система блокирует возможность запуска новых операций записи в логической БД.
- Запрос не отменяет незавершенные операции записи, запущенные запросами обновления данных, и любые операции записи, выполненные до дельты.
- При обработке запроса все неактивные датасорсы пропускаются без возврата ошибки. Ошибка возвращается, если не осталось ни одного активного датасорса, подходящего для исполнения запроса.
Пример
USE marketing;
ROLLBACK DELTA;