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



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

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

现在的问题是:如果进程 A 修改了数据库,是否会调用进程 B 的更新钩子?还是钩子只在同一个进程或同一个连接中工作?

可悲的是,文档对此不是很清楚。

文档说:

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

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

最新更新