Sqlite参考手册
C界面 | C Interface
Write-Ahead Log Commit Hook
void *sqlite3_wal_hook(
sqlite3*,
int(*)(void *,sqlite3*,const char*,int),
void*
);
sqlite3_wal_hook()函数用于注册每次数据以wal模式提交给数据库时调用的回调。
在提交发生后,由SQLite调用该回调,并释放数据库上的关联写锁,以便实现可根据需要读取,写入或检查数据库。
调用时传递给回调函数的第一个参数是注册回调时传递给sqlite3_wal_hook()的第三个参数的副本。第二个是数据库句柄的副本。第三个参数是写入数据库的名称 - “main”或ATTACH-ed数据库的名称。第四个参数是当前在预写日志文件中的页数,包括刚刚提交的页数。
回调函数通常应该返回SQLITE_OK。如果返回错误代码,那么该错误将通过SQLite代码库传播回来,以致导致回调的语句报告错误,尽管提交仍会发生。如果回调返回SQLITE_ROW或SQLITE_DONE,或者它返回的值与任何有效的SQLite错误代码都不相符,则结果是未定义的。
单个数据库句柄一次最多可以注册一个预写日志回调。调用sqlite3_wal_hook()会替换之前注册的预写日志回调。请注意,sqlite3_wal_autocheckpoint()接口和wal_autocheckpoint编译指示都会调用sqlite3_wal_hook(),并会覆盖之前的任何sqlite3_wal_hook()设置。
SQLite is in the Public Domain.
C界面 | C Interface相关

SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来
主页 | https://sqlite.org/ |
源码 | https://www.sqlite.org/src/ |
发布版本 | 3.21.0 |