Experimental features
The Turso engine exposes several opt-in features. BoutiqueDB surfaces them throughTursoOpenOptions and probes them through db.capabilities.
Official feature tokens
The engine recognizes the following tokens in theexperimental_features comma-separated string:
views— materialized views and incremental view maintenance (IVM).custom_types—CREATE TYPEandCREATE DOMAINforSTRICTtables.encryption— at-rest encryption (requires cipher and key).index_method— custom index methods such asUSING ftsandUSING vector.autovacuum— auto-vacuum support.vacuum—VACUUMsemantics beyondVACUUM INTO.attach—ATTACH DATABASEsupport.generated_columns—GENERATED ALWAYS ASvirtual columns.without_rowid—WITHOUT ROWIDtables.multiprocess_wal— cross-process WAL coordination via.tshmsidecar.mvcc_passive_checkpoint— MVCC passive checkpoint behavior.
Enabling in BoutiqueDB
Capability probes
Not every engine build includes every feature.db.capabilities checks support at runtime:
Stability notes
These features are experimental in the upstream engine:- MVCC is under active development; indexes are not supported in MVCC mode.
- Materialized views (IVM) have limited SQL support and may reject complex source queries.
- Encryption at rest is not yet recommended for critical data without independent backups.
- Multi-process WAL requires coordination through the
.tshmsidecar and is only supported on 64-bit Unix and Windows.
Warning: Experimental features may change behavior, produce incorrect results, or panic in edge cases. Enable them only when you need them and test thoroughly.
Default preset
TursoOpenOptions.tursoEnhanced enables views, index_method, generated_columns, vacuum, and without_rowid. This is the recommended starting point for product apps.
For usage examples, see Turso features in Apple apps.
