-
Notifications
You must be signed in to change notification settings - Fork 40
App and Library Compatibility Table
Heyang Zhou edited this page Sep 25, 2022
·
6 revisions
Generally, apps and libraries will "just work" with the FUSE mode, and if they dynamically link against libsqlite3.so
, will also work with the Preload mode, unless it does one of the following things:
- Enable WAL mode
- Change the database page size
- Bypass SQLite and access the database file directly
This page documents the compatibility status of mvSQLite with various commonly-used SQLite libraries and apps.
Platform | Library | mvSQLite (Preload) | mvSQLite (FUSE) |
---|---|---|---|
Node.js | Prisma | ❌ (*1) | ✅ |
Node.js | better-sqlite3 | ❌ (*1) | ✅ |
Node.js | node-sqlite3 | ✅ | ✅ |
Rust | rusqlite | ✅ (*2) | ✅ |
Go | go-sqlite3 | ✅ (*3) | ✅ |
LuaJIT | luajit-sqlite | ❌ (*1) | ✅ |
Python3 | sqlite3 | ✅ | ✅ |
*1: Need patch to support dynamically linking libsqlite3
*2: Must not enable the bundled
feature
*3: Need to set the libsqlite3
build tag
Library | App | mvSQLite (Preload) | mvSQLite (FUSE) |
---|---|---|---|
node-sqlite3 | Ghost | ✅ | ✅ |
node-sqlite3 | Outline | ✅ | ✅ |
Prisma | Cusdis | ❌ | ✅ |
go-sqlite3 | Focalboard | ✅ | |
better-sqlite3 | Trilium |
*1: Need patch to support dynamically linking libsqlite3
*2: Need patch to remove pragma journal_mode = wal