n1ro°
RU

Ошибки · Решение

SQLite SQLITE_INTERRUPT (9): операция была прервана

Запрос не завершился по внешней команде отмены, а не из-за повреждения базы.

Редакция N1RO · Проверено

Короткий ответ

SQLITE_INTERRUPT (9) означает, что выполняемая операция остановлена вызовом `sqlite3_interrupt()`. Сверьте код с официальной поддержкой производителя и выполните только безопасные шаги.

Что означает ошибка

Запрос не завершился по внешней команде отмены, а не из-за повреждения базы.

Возможные причины

  • Приложение отменило долгий запрос по timeout/cancel.
  • Другой поток вызвал sqlite3_interrupt на той же connection.
  • UI/user cancellation намеренно остановила вычисление.

Что проверить

  • Сопоставьте ошибку со временем cancel/timeout события в приложении.
  • Проверьте, какая connection была передана в sqlite3_interrupt.
  • Убедитесь, что cancellation не срабатывает из-за слишком короткого deadline.

Безопасные шаги

  1. Если отмена штатная, обработайте SQLITE_INTERRUPT как контролируемый outcome.
  2. Исправьте ошибочный cancel path, если прерывается не тот запрос.
  3. Для реально долгого SQL оптимизируйте plan вместо бесконечного увеличения timeout.

Только безопасные обратимые действия. Опасные шаги — только по официальной инструкции и с пониманием рисков.

Когда нужен сервис

  • Если interrupt появляется без явного cancel, разработчику нужно трассировать владельца connection и все вызовы sqlite3_interrupt.

Похожие ошибки

  • /errors/sqlite-busy-5/
  • /errors/sqlite-locked-6/
  • /errors/sqlite-readonly-8/

Что учитывать

Точная причина зависит от версии ПО/прошивки, полного текста ошибки и контекста. Официальная инструкция имеет приоритет.

Официальный источник

Расшифровка сверена с официальными страницами поддержки из источников ниже. Редакция N1RO не диагностировала ваш конкретный случай.