ROLLBACK DELTA

Содержание раздела
  1. Синтаксис
  2. Ограничения

Запрос откатывает горячую (открытую) дельту и отменяет все внесенные в ней изменения.

Запрос отменяет следующие операции горячей дельты:

Перед выполнением запроса необходимо определить логическую базу данных, используемую по умолчанию, если она еще не определена.

Запрос не отменяет незавершенные операции записи, запущенные запросами обновления данных.

После выполнения запроса невозможно закрыть дельту, даже если попытка была неуспешной и запрос вернул исключение.

Откат горячей дельты выполняется в следующем порядке:

  1. Останавливаются незавершенные операции записи, запущенные запросами загрузки данных.
    Операции останавливаются асинхронно, поэтому система с заданной периодичностью проверяет, остались ли неостановленные операции. Периодичность проверки регулируется параметром конфигурации DELTA_ROLLBACK_STATUS_CALLS_MS.
  2. Отменяются операции горячей дельты:
    • все завершенные операции,
    • операции, остановленные на шаге 1.
  3. Горячая дельта удаляется из сервисной базы данных. Зарезервированный ранее номер горячей дельты освобождается.

В ответе возвращается:

  • объект ResultSet c одной записью, содержащей номер последней закрытой дельты, при успешном выполнении запроса;
  • исключение при неуспешном выполнении запроса.

После успешного выполнения запроса становится доступно изменение логической схемы данных: создание, удаление и изменение таблиц и представлений.

Система не гарантирует остановку и отмену всех операций за один вызов. Если запрос вернул ошибку Can't rollback delta by datamart <db_name>, это означает, что некоторые операции не были отменены и нужно повторить запрос.

Горячую дельту невозможно откатить или закрыть, пока в ней есть незавершенные операции записи.
Способы обработки таких операций см. в разделе Управление операциями записи. Наличие незавершенных операций записи можно проверить с помощью запроса GET_WRITE_OPERATIONS.

Синтаксис

ROLLBACK DELTA

Ограничения

  • Дельту невозможно откатить, пока в ней есть незавершенные операции записи.
  • Запрос не отменяет незавершенные операции записи, запущенные запросами обновления данных.
  • Запрос не гарантирует остановку и отмену всех операций за один вызов.
  • После выполнения запроса невозможно закрыть дельту, даже если попытка была неуспешной и запрос вернул исключение.