docs: Add section on MVCC limitations

Document limitations in MVCC pointed out by Jussi.
This commit is contained in:
Pekka Enberg
2025-10-02 11:39:04 +03:00
parent fa6ee6b850
commit 6d06dce2bb

View File

@@ -70,7 +70,6 @@ curl --proto '=https' --tlsv1.2 -LsSf \
https://github.com/tursodatabase/turso/releases/latest/download/turso_cli-installer.sh | sh
```
Or alternatively, on MacOS, you can use Homebrew:
```
brew install turso
@@ -103,6 +102,17 @@ Turso aims towards full SQLite compatibility but has the following limitations:
For more detailed list of SQLite compatibility, please refer to [COMPAT.md](../COMPAT.md).
#### MVCC limitations
The MVCC implementation is experimental and has the following limitations:
* Indexes cannot be created and databases with indexes cannot be used.
* All the data is eagerly loaded from disk to memory on first access so using big databases may take a long time to start, and will consume a lot of memory
* Only `PRAGMA wal_checkpoint(TRUNCATE)` is supported and it blocks both readers and writers
* Many features may not work, work incorrectly, and/or cause a panic.
* Queries may return incorrect results
* If a database is written to using MVCC and then opened again without MVCC, the changes are not visible unless first checkpointed
## The SQL shell
The `tursodb` command provides an interactive SQL shell, similar to `sqlite3`. You can start it in in-memory mode as follows: