Files
sqlite3/vfs/mvcc/README.md

15 lines
563 B
Markdown
Raw Permalink Normal View History

2025-08-21 18:44:40 +01:00
# Go `mvcc` SQLite VFS
This package implements the **EXPERIMENTAL** `"mvcc"` in-memory SQLite VFS.
It has some benefits over the [`"memdb"`](../memdb/README.md) VFS:
2025-09-10 16:47:54 +01:00
- panics do not corrupt a shared database,
2025-08-21 18:44:40 +01:00
- single-writer not blocked by readers,
- readers never block,
2025-10-01 11:00:13 +01:00
- instant snapshots.
[`mvcc.TestDB`](https://pkg.go.dev/github.com/ncruces/go-sqlite3/vfs/mvcc#TestDB)
is the preferred way to setup an in-memory database for testing
when you intend to leverage snapshots,
e.g. to setup many independent copies of a database,
such as one for each subtest.