How tursodatabase/turso works
Turso is an in-process SQLite-compatible SQL database with a virtual-machine execution core, language bindings, and documented experimental Postgres and synchronization capabilities. The principal workflow is a client submitting SQL through a frontend or binding; the core translates and executes it against database storage, then returns rows or status. The graph also shows MVCC, extensions, synchronization, and CLI access. README claims inform unsampled capabilities; source excerpts are partial, so uncertain internal wiring is omitted.
Main entry points: connection.rs Database connection · execute.rs VDBE execution · pager.rs Pager and storage · database_sync_engine.rs Database sync
Components 19
Client interfaces
- Interactive CLI
cli/app.rs - Language bindings
bindings - C API
bindings/c/src/lib.rs - Postgres frontend
postgres
SQL engine
- Database connection
core/connection.rs - SQL dialects
core/dialect/mod.rs - Translate and plan
core/translate/mod.rs - VDBE execution
core/vdbe/execute.rs
Storage and sync
- MVCC concurrency
core/mvcc/mod.rs - Pager and storage
core/storage/pager.rs - Database sync
sync/engine/src/database_sync_engine.rs
Database features
- SQL functions
core/functions/mod.rs - Vector operations
core/vector/mod.rs - Full-text search
core/index_method/fts/mod.rs - Incremental views
core/incremental/mod.rs - Change capture
core/cdc.rs - Extensions
extensions
Other components
- Application
- Remote sync service
Connections 21
- Application → Language bindings: uses API
- Application → Interactive CLI: runs SQL
- Application → Postgres frontend: sends SQL
- Language bindings → Database connection: submits SQL
- C API → Database connection: calls database
- Interactive CLI → Database connection: queries
- Postgres frontend → Database connection: fronts database
- Database connection → SQL dialects: selects dialect
- Database connection → Translate and plan: translates SQL
- Translate and plan → VDBE execution: emits bytecode
- VDBE execution → Pager and storage: reads and writes
- VDBE execution → SQL functions: invokes functions
- VDBE execution → Vector operations: executes operations
- VDBE execution → Full-text search: queries indexes
- Database connection → MVCC concurrency: coordinates transactions
- MVCC concurrency → Pager and storage: persists changes
- Database connection → Change capture: tracks changes
- Incremental views → Pager and storage: persists state
- Extensions → Database connection: adds capabilities
- Database sync → Pager and storage: synchronizes pages
- Database sync → Remote sync service: exchanges changes