What does HRESULT 0x87AF0205 (SQLITE_E_BUSY_SNAPSHOT) mean?

 
Previous Next
SQLITE_E_ABORT_ROLLBACK SQLITE_E_READONLY_CANTLOCK

SQLITE_E_BUSY_SNAPSHOT

SQLITE_E_BUSY_SNAPSHOT is the extended SQLite busy result for a WAL snapshot conflict. A read transaction tried to become a writer after another connection committed changes that made its snapshot obsolete.

What to check

  • Keep read transactions short when they might later write, or begin the transaction with the write intent required by the application.
  • Restart the affected transaction from a fresh snapshot; retrying only the final write is often not sufficient.
  • Review WAL checkpoint and reader lifetime behavior under concurrent workload.
PRAGMA wal_checkpoint(PASSIVE);

SQLite: Result and Error Codes

SQLite: Write-Ahead Logging

SQLite: Set a busy timeout


Looking for a different code? Search another status or error code.