sqlite3_busy_timeout的默认值是多少?

Tom*_*ing 7 sqlite transactions

这似乎应该很容易找到,但我不认为它记录在任何地方.如果我打开一个sqlite连接并开始一个事务而没有通过调用指定超时sqlite3_busy_timeout,那么使用什么默认值?或者这会以某种方式导致未定义的行为?这种方法的文档没有说明.

我的具体用例是与iOS捆绑的版本,但我猜测答案在各个平台上几乎相同.

dtr*_*zjr 7

如果既未设置也sqlite3_busy_timeout()sqlite3_busy_handler()设置且编写器处于活动状态,则立即step()返回SQLITE_BUSY.

注意:在某些情况下SQLITE_IOERR_BLOCKED返回参见:注册回调处理SQLITE_BUSY错误在第二段中说明

如果忙碌的回调NULL,则SQLITE_BUSYSQLITE_IOERR_BLOCKED将返回立即在遇到锁.如果没有忙回调NULL,则可以使用两个参数调用回调.