mirror of
https://github.com/aljazceru/turso.git
synced 2025-12-30 14:34:22 +01:00
MVCC checkpoints are always TRUNCATE, plus they block all other transactions. This guarantees that never need to let transactions read from the SQLite WAL. In MVCC, the checkpoint procedure is roughly as follows: - Take the blocking_checkpoint_lock - Write everything in the logical log to the pager, and from there commit to the SQLite WAL. - Immediately TRUNCATE checkpoint the WAL into the database file. - Release the blocking_checkpoint_lock.