mirror of
https://github.com/ncruces/go-sqlite3.git
synced 2026-01-12 05:59:14 +00:00
507e4da17b342f5f841acd344137e6f245ac4283
Go bindings to SQLite using Wazero
⚠️ DO NOT USE with data you care about. ⚠️
This is very much a WIP.
TODO:
- build SQLite using
zig cc --target=wasm32-wasi :memory:databases- use
test_demovfs.cfor file databases - come up with a simple, nice API:
- idiomatic Go, close to the C SQLite API:
database/sqldrivers can come later, if ever
- implement own VFS to sidestep WASI syscalls:
- locking will be a pain point:
- WASM has no threads
- concurrency is achieved by instantiating the module repeatedly
- file access needs to be synchronized, both in-process and out-of-process
- out-of-process should be compatible with SQLite on Windows/Unix
- locking will be a pain point:
- benchmark to see if this is usefull at all:
Languages
Go
89.9%
C
5.2%
WebAssembly
3.5%
Shell
1.4%