ROLLBACK DELTA

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

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

Невозможен откат незавершенных операций обновления данных горячей дельты, а также откат любых операций закрытой дельты.

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

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

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

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

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

Если операция обновления данных зависла, дельту невозможно закрыть или откатить. В этом случае нужно повторить запрос, запустивший проблемную операцию. Действие перезапустит обработку операции, и после ее завершения можно будет откатить или закрыть дельту.

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

Синтаксис

ROLLBACK DELTA