int sqlite3_wal_autocheckpoint(sqlite3 *db, int N);
该 sqlite3_wal_autocheckpoint(D,N) 函数是 sqlite3_wal_hook() 函数的包装器,它会导致数据库连接 D 上的任何数据库在提交事务后自动 检查点,前提是 预写日志 文件中存在 N 个或更多帧。将 nFrame 参数传递为零或负值将完全禁用自动检查点。
此函数注册的回调将替换使用 sqlite3_wal_hook() 注册的任何现有回调。同样,使用 sqlite3_wal_hook() 注册回调将禁用此函数配置的自动检查点机制。
可以使用 wal_autocheckpoint pragma 从 SQL 调用此接口。
通过此机制启动的检查点为 PASSIVE。
每个新的 数据库连接 默认情况下都启用了自动检查点,阈值为 1000 或 SQLITE_DEFAULT_WAL_AUTOCHECKPOINT 页。仅当发现默认设置对于特定应用程序不是最佳时,才需要使用此接口。