描述
此函数会导致任何挂起的数据库操作中止并尽早返回。响应于用户操作(例如按“取消”)或Ctrl-C,通常会调用此函数,用户希望长时间查询操作立即停止。
PB语法
MEHOD Interrupt |
参数
该方法没有参数。
返回值
无返回值。
备注
从与当前运行数据库操作的线程不同的线程调用此函数是安全的。但是在sqlite3_interrupt返回之前关闭或可能关闭的数据库连接调用此函数是不安全的。
如果一个SQL操作在sqlite3_interrupt被调用的时候几乎完成,那么它可能没有机会被中断,可能会继续完成。
中断的SQL操作将返回SQLITE_INTERRUPT。如果中断的SQL操作是显式事务内的INSERT,UPDATE或DELETE,则整个事务将自动回滚。
sqlite3_interrupt(D)调用在数据库连接D上的所有当前正在运行的SQL语句完成之前生效。在sqlite3_interrupt调用之后和运行语句达到零之前启动的任何新SQL语句就像在sqlite3_interrupt调用之前运行一样被中断。在运行语句计数达到零之后启动的新SQL语句不受sqlite3_interrupt的影响。当没有运行的SQL语句时发生的对sqlite3_interrupt(D)的调用是无操作的,并且对sqlite3_interrupt调用返回后启动的SQL语句没有影响。
如果数据库连接在sqlite3_interrupt运行时关闭,则可能会发生不好的事情。