代码之家  ›  专栏  ›  技术社区  ›  Felix

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

  •  5
  • Felix  · 技术社区  · 8 年前

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

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

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

    遗憾的是,文件对此并不十分清楚。

    1 回复  |  直到 8 年前
        1
  •  5
  •   CL.    8 年前

    这个 documentation 说:

    sqlite3\u update\u hook()接口使用第一个参数标识的数据库连接注册回调函数

    数据库连接是本地对象;在这个或另一个过程中,对于任何其他连接,钩子都不会开火。

    推荐文章