void sqlite3_interrupt(sqlite3*); int sqlite3_is_interrupted(sqlite3*);
Эта функция заставляет любую отложенную операцию по базе данных прерываться и возвращаться. Это, как правило, вызывают в ответ на пользовательское действие, такое как нажим "Cancel" или Ctrl-C, где пользователь хочет, чтобы долгая операция по запросу немедленно остановилась.
Безопасно вызвать это из потока, отличающегося от потока, который в настоящее время управляет операцией по базе данных. Но небезопасно вызвать это с соединением с базой данных, которое закрывается или могло бы закрыться прежде возврата sqlite3_interrupt().
Если операция SQL почти закончена в то время, когда вызвана sqlite3_interrupt(), она может и не прерваться.
Операция SQL, которая прервана, возвратит SQLITE_INTERRUPT. Если прерванной операцией SQL будет INSERT, UPDATE или DELETE в явной транзакции, то вся транзакция будет отменена до прежнего уровня автоматически.
sqlite3_is_interrupted(D) может использоваться, чтобы определить, является ли прерывание в настоящее время активным для соединения с базой данных D. Это возвращает 1, если прерывание в настоящее время активен или 0 иначе.