ERASE_WRITE_OPERATION

Содержание раздела
  1. Отмена операции при отключенном восстановлении состояния ноды
  2. Синтаксис
  3. Варианты ответа
  4. Ограничения
  5. Примеры

Поддерживается в версиях:  6.10 / 6.9 / 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.

Запрос отменяет незавершенную операцию записи. Можно отменить операцию любого вида:

Операцию можно отменить, только если целевые СУБД и их коннекторы (если коннекторы участвовали в операции) доступны.

Чтобы отменить операцию обновления данных, которая продолжает исполняться в СУБД, вместо выполнения ERASE_WRITE_OPERATION повторите запрос обновления данных, добавив в него ключевое слово RETRY.

Отмена операции при отключенном восстановлении состояния ноды

Если параметр конфигурации AUTO_RESTORE_STATE имеет значение false, нода не восстанавливает свое состояние после перезапуска. В частности это означает, что нода не возобновляет незавершенные операции загрузки данных, начатые до перезапуска.

Чтобы после перезапуска ноды отменить операцию записи, начатую до перезапуска ноды, на любой из активных нод выполните RESUME_WRITE_OPERATION, а затем — ERASE_WRITE_OPERATION.

Синтаксис

ERASE_WRITE_OPERATION(sys_cn[, db_name][, force])

Параметры:

sys_cn

Номер операции записи. Номера незавершенных операций можно получить с помощью запроса GET_WRITE_OPERATIONS.

db_name

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

force

Флаг, определяющий режим отмены операции. Возможные значения:

  • false (по умолчанию) — отмена операции в обычном режиме. Используйте этот режим по умолчанию;
  • true — отмена операции в принудительном режиме без гарантий остановки операции. Используйте этот режим для отмены операции загрузки, если ее не удалось отменить в обычном режиме и она перестала исполняться (например, прервалась или завершилась) в СУБД.

Перед выполнением ERASE_WRITE_OPERATION с флагом force, имеющим значение true, убедитесь, что операция не продолжает исполняться в СУБД.

Варианты ответа

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

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

Ограничения

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

Примеры

Отмена операции в указанной логической БД

-- без флага принудительной отмены
ERASE_WRITE_OPERATION(10, marketing);

-- с флагом принудительной отмены
ERASE_WRITE_OPERATION(10, marketing, true);

Отмена операции в логической БД, выбранной по умолчанию:

-- выбор логической базы данных marketing в качестве базы данных по умолчанию
USE marketing;

-- отмена операции в логической БД marketing
ERASE_WRITE_OPERATION(10);