From d2980310d01601abd215e01a255b8dffcccada29 Mon Sep 17 00:00:00 2001
From: drh <drh@noemail.net>
Date: Sat, 17 Dec 2011 01:31:44 +0000
Subject: [PATCH] Make sure the Salt-1 value in the WAL file is sequentially
 numbered at each checkpoint, as it says it should be in the documentation.

FossilOrigin-Name: 7b63b11b93396079131686abb36c4221354fa50e
---
 manifest      | 14 +++++++-------
 manifest.uuid |  2 +-
 src/wal.c     |  2 +-
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/manifest b/manifest
index d0632ffbc3..1bad8d9e21 100644
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\scode\sfor\sa\stest\sthat\swas\sfailing\sbefore\sthe\spersistent-wal\srelated\schanges\sof\s[9ccc4a1be].
-D 2011-12-16T17:01:04.486
+C Make\ssure\sthe\sSalt-1\svalue\sin\sthe\sWAL\sfile\sis\ssequentially\snumbered\sat\neach\scheckpoint,\sas\sit\ssays\sit\sshould\sbe\sin\sthe\sdocumentation.
+D 2011-12-17T01:31:44.448
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in 5b4a3e12a850b021547e43daf886b25133b44c07
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -250,7 +250,7 @@ F src/vdbemem.c 2fc78b3e0fabcc1eaa23cd79dd2e30e6dcfe1e56
 F src/vdbesort.c 468d43c057063e54da4f1988b38b4f46d60e7790
 F src/vdbetrace.c d6e50e04e1ec498150e519058f617d91b8f5c843
 F src/vtab.c e9318d88feac85be8e27ee783ac8f5397933fc8a
-F src/wal.c 8575f2bdaed48e7ffbea8608b614bb7abd382a54
+F src/wal.c 8f6fd4900934124f6c2701448c13038cbc02a4f4
 F src/wal.h 66b40bd91bc29a5be1c88ddd1f5ade8f3f48728a
 F src/walker.c 3112bb3afe1d85dc52317cb1d752055e9a781f8f
 F src/where.c af623942514571895818b9b7ae11db95ae3b3d88
@@ -984,7 +984,7 @@ F tool/tostr.awk e75472c2f98dd76e06b8c9c1367f4ab07e122d06
 F tool/vdbe-compress.tcl d70ea6d8a19e3571d7ab8c9b75cba86d1173ff0f
 F tool/warnings-clang.sh 9f406d66e750e8ac031c63a9ef3248aaa347ef2a
 F tool/warnings.sh fbc018d67fd7395f440c28f33ef0f94420226381
-P 09ccc4a1be7ba81890f10aac6623dd90dab4f990
-R 28af0dbcab33b710b481512f3ea16256
-U dan
-Z ddd1a9a132526961a13184bc513a99bd
+P 49d21ce50fcf535e470d284ccbb9eb4d4bcfa3a6
+R 4fa928f2229c3510e15bdde794cf4c8f
+U drh
+Z 1119fcc0458452314585b8d9dc3542f8
diff --git a/manifest.uuid b/manifest.uuid
index b4b6e2437b..25ecc50cf5 100644
--- a/manifest.uuid
+++ b/manifest.uuid
@@ -1 +1 @@
-49d21ce50fcf535e470d284ccbb9eb4d4bcfa3a6
\ No newline at end of file
+7b63b11b93396079131686abb36c4221354fa50e
\ No newline at end of file
diff --git a/src/wal.c b/src/wal.c
index 0fae6cbc74..047368406f 100644
--- a/src/wal.c
+++ b/src/wal.c
@@ -2666,7 +2666,7 @@ int sqlite3WalFrames(
     sqlite3Put4byte(&aWalHdr[4], WAL_MAX_VERSION);
     sqlite3Put4byte(&aWalHdr[8], szPage);
     sqlite3Put4byte(&aWalHdr[12], pWal->nCkpt);
-    sqlite3_randomness(8, pWal->hdr.aSalt);
+    if( pWal->nCkpt==0 ) sqlite3_randomness(8, pWal->hdr.aSalt);
     memcpy(&aWalHdr[16], pWal->hdr.aSalt, 8);
     walChecksumBytes(1, aWalHdr, WAL_HDRSIZE-2*4, 0, aCksum);
     sqlite3Put4byte(&aWalHdr[24], aCksum[0]);