多进程应用程序中的 SQLite 更新挂钩

Fel*_*lix 7 sqlite hook multiprocess

我在多进程场景中使用 sqlite。sqlite 库是使用线程安全序列化模式(-DSQLITE_THREADSAFE=1)编译的。

我希望收到有关数据更改和发现的通知sqlite3_update_hook。每个进程都会注册自己的更新挂钩,以便收到数据库更改的通知。

现在的问题是:如果进程A修改了数据库,进程B的update hook会被调用吗?或者钩子只能在同一进程或同一连接中工作吗?

遗憾的是,文档对此并不是很清楚。

CL.*_*CL. 7

文档

sqlite3_update_hook() 接口使用第一个参数标识的数据库连接注册一个回调函数

数据库连接是本地对象;在这个或另一个进程中,钩子不会因任何其他连接而触发。