在 JavaScript 中创建 sqlite3_vfs

(这些文档正在🚧建设中🚧.)

另请参阅:JS 中的 C 结构体

完全在 JavaScript 中创建自定义sqlite3_vfs实现,以及混合 C/JS VFS 都是可能的。该OPFS VFS是前者的一个例子,而该键值 VFS是后者的一个例子:它有一个纯 C 实现,并且三个方法被 JavaScript 实现替换以替换存储后端。

本文档的目的是不是解释如何创建自定义 VFS,因为这在SQLite 项目的文档中进行了广泛的介绍,而是涵盖了提供的实用程序代码,以帮助将 JS 和 C 结合起来用于此目的。

这些文档在很大程度上是 TODO,但完整的示例可以在OPFS VFS 的实现代码中找到,但需要注意的是,该代码“相当复杂”,因为它必须在异步 OPFS API之上实现一个同步 sqlite3_vfs 包装器,这需要大量的 JavaScript 特技。

额外的sqlite3_vfs方法

sqlite3_vfs类继承自核心C 结构类型,并通过...扩展了层次结构。

registerVfs()

sqlite3_vfs registerVfs(asDefault=false)

使用sqlite3_vfs_register()注册此sqlite3_vfs实例。此对象必须已正确填充。如果第一个参数为真,则 VFS 注册为默认 VFS,否则不会。

成功时,返回此对象。在错误时抛出异常。