aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2010-05-25 15:53:31 +0000
committerdrh <drh@noemail.net>2010-05-25 15:53:31 +0000
commit51b21b169ac0336e69ee9f8f95f3ac18ef97a567 (patch)
tree93609cfeef0b2ae47e879e15cbe4d6579c22b43d /src
parentfa408ada0a742a62f3215b5c763ab9cdb92057a3 (diff)
downloadsqlite-51b21b169ac0336e69ee9f8f95f3ac18ef97a567.tar.gz
sqlite-51b21b169ac0336e69ee9f8f95f3ac18ef97a567.zip
Updated header comments in wal.c. No functional code changes.
FossilOrigin-Name: 687632a6b3a0aeb006c1eda5c27d5489f08c230e
Diffstat (limited to 'src')
-rw-r--r--src/wal.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/wal.c b/src/wal.c
index 7c4543eb5..1f983edcc 100644
--- a/src/wal.c
+++ b/src/wal.c
@@ -68,6 +68,15 @@
** The checksum is computed using 32-bit big-endian integers if the
** magic number in the first 4 bytes of the WAL is 0x377f0683 and it
** is computed using little-endian if the magic number is 0x377f0682.
+** The checksum values are always stored in the frame header in a
+** big-endian format regardless of which byte order is used to compute
+** the checksum. The checksum is computed by interpreting the input as
+** an even number of unsigned 32-bit integers: x[0] through x[N]. The
+**
+** for i from 0 to n-1 step 2:
+** s0 += x[i] + s1;
+** s1 += x[i+1] + s0;
+** endfor
**
** On a checkpoint, the WAL is first VFS.xSync-ed, then valid content of the
** WAL is transferred into the database, then the database is VFS.xSync-ed.