Small. Fast. Reliable.
Choose any three.

SQLite C接口

从Wal文件中恢复快照

int sqlite3_snapshot_recover(sqlite3 * db,const char * zDb);

如果WAL文件在所有数据库连接关闭后仍保留在磁盘上(通过使用SQLITE_FCNTL_PERSIST_WAL 文件控件, 或者因为退出打开数据库的最后一个过程而没有调用sqlite3_close())退出,并且随后在该数据库上打开了一个新连接,并且WAL文件sqlite3_snapshot_open()接口将仅能打开添加到WAL文件中的最后一个事务,即使WAL文件包含其他有效事务也是如此。

此函数尝试扫描与数据库句柄db的数据库zDb关联的WAL文件,并使所有有效快照可用于sqlite3_snapshot_open()。如果数据库上已经存在一个读取事务,或者该数据库不是WAL模式数据库,则会出现错误。

如果成功,则返回SQLITE_OK,否则返回SQLite错误代码。

仅当使用SQLITE_ENABLE_SNAPSHOT选项编译SQLite时,此接口才可用 。

另请参见 对象常量函数的列表