有谁知道在 SQLite 3(使用 C 或 PHP)中注册“持久”UDF 或类似的方法?我知道我可以使用 C 或 PHP API 将 UDF 注册为回调函数,但只要应用程序对数据库的句柄,该函数就会存在。
在 MySQL 中,我可以通过类似“CREATE FUNCTION my_udf RETURNS INTEGER SONAME 'shared_lib_ contains_my_udf.so'”来实现这一点。
我需要这个的原因是,当“应用程序 B”使用调用我的 UDF 的触发器插入、更新或删除数据时,应该通知“应用程序 A”。操作数据库的应用程序是一个 PHP Web 应用程序。因此,如果我不能使 UDF 持久化,我必须为每个 Web 请求注册 UDF - 如果应用程序为每个 Web 请求打开多个连接,我什至必须在每个请求中多次注册 UDF . 这可能意味着必须在许多地方更改应用程序,而我真的想避免这种情况。
如果这是不可能的,有没有人有不同的解决方案?