{
  "slug": "sqlite-wal-end-mark",
  "term": "SQLite WAL end mark",
  "aliases": [
    "WAL reader end mark"
  ],
  "definition": "A SQLite WAL end mark is the committed WAL boundary that determines which page versions a read transaction may observe.",
  "note": "The transaction's snapshot does not advance when another connection commits. Ending the transaction and starting another permits a newer view. [sqlite-isolation] Distinguish this logical snapshot boundary from the shared WAL-index read-mark slots and locks used by checkpoint coordination. They are related mechanisms, not interchangeable counters. [sqlite-wal-format] Our complete row oracle checks the retained generation and the newer state after release. [hesela-observation]",
  "status": "shipping",
  "advantages": [],
  "limitations": [
    {
      "text": "An open connection does not itself identify the lifetime or contents of an active read snapshot.",
      "citationIds": [
        "sqlite-isolation"
      ]
    }
  ],
  "related": [
    "write-ahead-log",
    "database-checkpoint",
    "checkpoint-starvation"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "citations": [
    {
      "id": "sqlite-isolation",
      "title": "SQLite: Isolation, WAL snapshots and transaction lifetime",
      "url": "https://www.sqlite.org/isolation.html",
      "accessed": "2026-10-14"
    },
    {
      "id": "sqlite-wal-format",
      "title": "SQLite: WAL-mode File Format, WAL-index header and read marks",
      "url": "https://www.sqlite.org/walformat.html",
      "accessed": "2026-10-14"
    },
    {
      "id": "hesela-readers",
      "title": "SQLite WAL checkpoint starvation: success is not completion",
      "url": "https://hesela.com/analyses/sqlite-wal-checkpoint-starvation/",
      "accessed": "2026-10-14"
    },
    {
      "id": "hesela-observation",
      "title": "Hesela: measured SQLite WAL-reader observations and limits",
      "url": "https://hesela.dev/research/sqlite-wal-readers.json",
      "accessed": "2026-10-14"
    }
  ],
  "updated": "2026-10-14"
}
