SQLite

Check-in [9927ce4210]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Updates to the VFS SHM locking documentation.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 9927ce421090ac20285cf05768b38e1f91826a68
User & Date: drh 2010-05-06 19:04:49.000
Context
2010-05-06
19:20
Changes to support SQLITE_OMIT_WAL. (check-in: 32a8501d78 user: shaneh tags: trunk)
19:04
Updates to the VFS SHM locking documentation. (check-in: 9927ce4210 user: drh tags: trunk)
18:48
Instead of transitioning to RECOVER state from CHECKPOINT when a recovery is required, perform the recovery while holding the CHECKPOINT lock. (check-in: bb0b6021e7 user: dan tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to doc/vfs-shm.txt.
111
112
113
114
115
116
117
118
119
120
121
122
123
(11j)  READ_FULL          RECOVER         RECOVER
(11k)  WRITE              READ            READ
(11l)  PENDING            UNLOCK          UNLOCK
(11m)  PENDING            CHECKPOINT      CHECKPOINT
(11n)  CHECKPOINT         UNLOCK          UNLOCK
(11o)  RECOVER            READ            READ

These 17 transitions are all that needs to be supported.  The lock
manager implementation can assert that fact.  The other 25 possible
transitions among the 7 locking states will never occur.

The rules above are sufficient for correctness.  For maximum concurrency,
the following additional considerations apply:







|
|

<
<
<
111
112
113
114
115
116
117
118
119
120



(11j)  READ_FULL          RECOVER         RECOVER
(11k)  WRITE              READ            READ
(11l)  PENDING            UNLOCK          UNLOCK
(11m)  PENDING            CHECKPOINT      CHECKPOINT
(11n)  CHECKPOINT         UNLOCK          UNLOCK
(11o)  RECOVER            READ            READ

These 15 transitions are all that needs to be supported.  The lock
manager implementation can assert that fact.  The other 27 possible
transitions among the 7 locking states will never occur.