-C Fix\sframe\soverwriting\sin\swal2\smode.
-D 2017-10-06T13:43:42.775
+C Fix\sa\sbug\sin\srecovering\swal2\smode\sdatabases\sintroduced\sby\sthe\sprevious\scommit.
+D 2017-10-06T14:08:39.369
F Makefile.in 4bc36d913c2e3e2d326d588d72f618ac9788b2fd4b7efda61102611a6495c3ff
F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
F Makefile.msc 6033b51b6aea702ea059f6ab2d47b1d3cef648695f787247dd4fb395fe60673f
F src/vdbetrace.c 48e11ebe040c6b41d146abed2602e3d00d621d7ebe4eb29b0a0f1617fd3c2f6c
F src/vtab.c 0e4885495172e1bdf54b12cce23b395ac74ef5729031f15e1bc1e3e6b360ed1a
F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9
-F src/wal.c 1fdb379a36877a21fa97220bbe075957c024a6d06716db692e1d35145738a5a1
+F src/wal.c 287feccc5c6e886a5d747f5555382280e85a24904d0378940ef3869eb4273571
F src/wal.h b6063e6be1b03389372f3f32240e99b8ab92c32cdd05aa0e31b30a21e4e41654
F src/walker.c 3ccfa8637f95355bff61144e01a615b8ef26f79c312880848da73f03367da1e6
F src/where.c 049522adcf5426f1a8c3ed07be15e1ffa3266afd34e8e7bee64b63e2fbfad0b5
F test/vtab_shared.test 5253bff2355a9a3f014c15337da7e177ab0ef8ad
F test/wal.test 613efec03e517e1775d86b993a54877d2e29a477
F test/wal2.test 6ac39b94a284ebac6efb6be93b0cdfe73ee6083f129555e3144d8a615e9900ef
-F test/wal2rewrite.test 467a66722b3e68b2c5c50f98fb62491c5f5e3f54b1d5728c7f8f1d5afe4976fe
+F test/wal2rewrite.test 6ca6f631ffcf871240beab5f02608913fd075c6d0d31310b026c8383c65c9f9c
F test/wal3.test 2a93004bc0fb2b5c29888964024695bade278ab2
F test/wal4.test 4744e155cd6299c6bd99d3eab1c82f77db9cdb3c
F test/wal5.test 9c11da7aeccd83a46d79a556ad11a18d3cb15aa9
F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 16decc13af908087fb8aa34eeccf43e8da1b8f2e4b808028986d1ef08134c72c
-R 756fa931da3c4e04a97cc0362e6290b7
+P a4b02bc9388226da21b3837a20c6c7eb0d13854dde62b7136e04f4978528dc71
+R 1b4fe3016ef19de5fbb230932d1cf085
U dan
-Z 4ba52753cca3b375d5de2490acf53ff4
+Z bb0f71cc9a0d45c0ef66e315563912f3
-a4b02bc9388226da21b3837a20c6c7eb0d13854dde62b7136e04f4978528dc71
\ No newline at end of file
+9e1502e1b650217efc361732a3dfe686caa2e6352d040c73865f1faf09bf4591
\ No newline at end of file
}else{
iCksumOff = walFrameOffset(pWal->iReCksum-1, szPage) + 16;
}
- rc = sqlite3OsRead(pWal->apWalFd[0], aBuf, sizeof(u32)*2, iCksumOff);
+ rc = sqlite3OsRead(pWalFd, aBuf, sizeof(u32)*2, iCksumOff);
pWal->hdr.aFrameCksum[0] = sqlite3Get4byte(aBuf);
pWal->hdr.aFrameCksum[1] = sqlite3Get4byte(&aBuf[sizeof(u32)]);
pWal->iReCksum = 0;
for(; rc==SQLITE_OK && iRead<=iLast; iRead++){
i64 iOff = walFrameOffset(iRead, szPage);
- rc = sqlite3OsRead(pWal->apWalFd[0], aBuf, szPage+WAL_FRAME_HDRSIZE, iOff);
+ rc = sqlite3OsRead(pWalFd, aBuf, szPage+WAL_FRAME_HDRSIZE, iOff);
if( rc==SQLITE_OK ){
u32 iPgno, nDbSize;
iPgno = sqlite3Get4byte(aBuf);
nDbSize = sqlite3Get4byte(&aBuf[4]);
walEncodeFrame(pWal, iPgno, nDbSize, &aBuf[WAL_FRAME_HDRSIZE], aFrame);
- rc = sqlite3OsWrite(pWal->apWalFd[0], aFrame, sizeof(aFrame), iOff);
+ rc = sqlite3OsWrite(pWalFd, aFrame, sizeof(aFrame), iOff);
}
}
do_test $tn.$i.3 { expr [filesize test.db-wal] < 100000 } 1
do_test $tn.$i.4 { expr [filesize test.db-wal2] < 100000 } 1
- }
+ set sum [db eval {SELECT sum(b), md5sum(c) FROM t1}]
+
+ do_test $tn.$i.5 {
+ foreach f [glob -nocomplain test.db2*] {forcedelete $f}
+ foreach f [glob -nocomplain test.db*] {
+ forcecopy $f [string map {test.db test.db2} $f]
+ }
+
+ sqlite3 db2 test.db2
+ db2 eval {SELECT sum(b), md5sum(c) FROM t1}
+ } $sum
+ db2 close
+ }
}