Small. Fast. Reliable.
Choose any three.
*** 11,18 ****
  
  **The Main Problem**
  
  The problem appears when an SQLITE_BUSY error occurs in the middle
! of a multi-statement transaction.  The database file has not been
  damaged at this point, but it is possible that the in-memory cache
  of the database could be inconsistent.  If the cache is left in an
  inconsistent state and the transaction is subsequently committed,
--- 11,19 ----
  
  **The Main Problem**
  
+ The original report of this problem is ticket #2409.
  The problem appears when an SQLITE_BUSY error occurs in the middle
! of an explicit transaction.  The database file has not been
  damaged at this point, but it is possible that the in-memory cache
  of the database could be inconsistent.  If the cache is left in an
  inconsistent state and the transaction is subsequently committed,
***************
*** 21,27 ****
  **How To Avoid The Problem**
  
  1: If you start your transaction using "BEGIN EXCLUSIVE" instead
!    of "BEGIN IMMEDIATE" or just "BEGIN" then it is impossible to
     ever get an SQLITE_BUSY error in the middle of the transaction.
     Hence the problem cannot occur.  On the other hand, you lose
     some concurrency because other processes cannot read the database
--- 22,28 ----
  **How To Avoid The Problem**
  
  1: If you start your transaction using "BEGIN EXCLUSIVE" instead
!    of just "BEGIN" then it is impossible to
     ever get an SQLITE_BUSY error in the middle of the transaction.
     Hence the problem cannot occur.  On the other hand, you lose
     some concurrency because other processes cannot read the database