多进程应用程序中的 SQLite 更新挂钩
SQLite update hook in a multi process application
我在多进程场景中使用 sqlite。 sqlite 库是使用线程安全序列化模式编译的 (-DSQLITE_THREADSAFE=1
)。
我想在数据更改和找到 sqlite3_update_hook
时收到通知。每个进程都会注册它自己的更新挂钩,以便收到数据库更改的通知。
现在的问题是:如果A进程修改数据库,是否会调用B进程的update hook?还是 hooks 只在同一个进程或同一个连接中起作用?
遗憾的是,文档对此不是很清楚。
The sqlite3_update_hook() interface registers a callback function with the database connection identified by the first argument
数据库连接是本地对象;钩子不会触发任何其他连接,在这个或另一个过程中。
我在多进程场景中使用 sqlite。 sqlite 库是使用线程安全序列化模式编译的 (-DSQLITE_THREADSAFE=1
)。
我想在数据更改和找到 sqlite3_update_hook
时收到通知。每个进程都会注册它自己的更新挂钩,以便收到数据库更改的通知。
现在的问题是:如果A进程修改数据库,是否会调用B进程的update hook?还是 hooks 只在同一个进程或同一个连接中起作用?
遗憾的是,文档对此不是很清楚。
The sqlite3_update_hook() interface registers a callback function with the database connection identified by the first argument
数据库连接是本地对象;钩子不会触发任何其他连接,在这个或另一个过程中。