Commit Graph
3 Commits
Author SHA1 Message Date
LeoVasanko b8285e9170 rotation: tests, replay-base cutoff state fix, formatting
- tests/test_rotation.py covers both framers: history split, idempotent
  reopen, no-op cases, aged-out reduction to a single snapshot, internal
  snapshot validation, extension-agnostic rotated naming, and the
  disabled default.
- Fix plan_rotation to seed the cutoff state from the replay base
  snapshot (previously asserted when the base already covered the cutoff).
- docs: snapshots carry the schema version in effect at their position,
  keeping replay/migration behavior identical to the unrotated file.
2026-09-02 16:30:00 +00:00
LeoVasanko 010b690b47 filelock: add replace_content for in-place locked rewrite
Rotation rewrites the database file while holding the exclusive lock;
flock follows the open file description across ftruncate, and on Windows
in-place rewrite avoids share-mode rename restrictions. Also update
rotation doc timestamp format to ISO basic with microseconds.
2026-09-02 16:21:11 +00:00
LeoVasanko 1e43f29eec docs: add database rotation design 2026-09-02 16:14:54 +00:00