ERASE_WRITE_OPERATION
Содержание раздела
Поддерживается в версиях: 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);