1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-07 02:42:48 +03:00

Fix a recently introduced problem in "permutations.test autovacuum_crash". (CVS 6120)

FossilOrigin-Name: 2cdbb468ed81d35a7e1a580683864de60e103083
This commit is contained in:
danielk1977
2009-01-06 15:20:58 +00:00
parent 04df18dce8
commit f9bce3c54d
3 changed files with 11 additions and 10 deletions

View File

@@ -1,5 +1,5 @@
C Update\spermutations.test\sso\sthat\sit\sdoes\snot\sshow\san\serror\swhen\srunning\nthe\ssinglethread\sand\smultithread\stest\scases\son\sTHREADSAFE=0\sbuilds.\s(CVS\s6119) C Fix\sa\srecently\sintroduced\sproblem\sin\s"permutations.test\sautovacuum_crash".\s(CVS\s6120)
D 2009-01-06T14:50:11 D 2009-01-06T15:20:58
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
F Makefile.in 05461a9b5803d5ad10c79f989801e9fd2cc3e592 F Makefile.in 05461a9b5803d5ad10c79f989801e9fd2cc3e592
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -142,7 +142,7 @@ F src/os_common.h 24525d8b7bce66c374dfc1810a6c9043f3359b60
F src/os_os2.c bed77dc26e3a95ce4a204936b9a1ca6fe612fcc5 F src/os_os2.c bed77dc26e3a95ce4a204936b9a1ca6fe612fcc5
F src/os_unix.c e6eacc7ec735ded605fefcbaf250058baa8feb12 F src/os_unix.c e6eacc7ec735ded605fefcbaf250058baa8feb12
F src/os_win.c 496e3ceb499aedc63622a89ef76f7af2dd902709 F src/os_win.c 496e3ceb499aedc63622a89ef76f7af2dd902709
F src/pager.c e93008f9326701087239c0300547e66d18ddb63c F src/pager.c 06f6e84895e1ce76eab29bd3e05b6d77cfbc46fb
F src/pager.h 0793c5e4faed6c278037eb22b2434b318687d615 F src/pager.h 0793c5e4faed6c278037eb22b2434b318687d615
F src/parse.y 4d0e33a702dc3ea7b69d8ae1914b3fbd32e46057 F src/parse.y 4d0e33a702dc3ea7b69d8ae1914b3fbd32e46057
F src/pcache.c 16dc8da6e6ba6250f8dfd9ee46036db1cbceedc6 F src/pcache.c 16dc8da6e6ba6250f8dfd9ee46036db1cbceedc6
@@ -692,7 +692,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81
F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
P a64f3db0b39af53c8d8f80c242baa8aa4b5bd04e P 301b57b7bac949dd77037ad3175ba87c41c8c843
R 7c4f8eabbf5a60a91f851023ba3b8043 R 9c5a7129ba27247d5da0e5c859ad9f6c
U drh U danielk1977
Z cc04516c576e9544afd34428d80e3ec0 Z 15de7c3b3d2cf4749596d9f77443a212

View File

@@ -1 +1 @@
301b57b7bac949dd77037ad3175ba87c41c8c843 2cdbb468ed81d35a7e1a580683864de60e103083

View File

@@ -18,7 +18,7 @@
** file simultaneously, or one process from reading the database while ** file simultaneously, or one process from reading the database while
** another is writing. ** another is writing.
** **
** @(#) $Id: pager.c,v 1.531 2009/01/06 14:34:35 danielk1977 Exp $ ** @(#) $Id: pager.c,v 1.532 2009/01/06 15:20:58 danielk1977 Exp $
*/ */
#ifndef SQLITE_OMIT_DISKIO #ifndef SQLITE_OMIT_DISKIO
#include "sqliteInt.h" #include "sqliteInt.h"
@@ -2580,7 +2580,7 @@ static int subjournalPage(PgHdr *pPg){
i64 offset = pPager->stmtNRec*(4+pPager->pageSize); i64 offset = pPager->stmtNRec*(4+pPager->pageSize);
char *pData2 = CODEC2(pPager, pData, pPg->pgno, 7); char *pData2 = CODEC2(pPager, pData, pPg->pgno, 7);
PAGERTRACE3("STMT-JOURNAL %d page %d @ %d\n", PAGERID(pPager), pPg->pgno); PAGERTRACE3("STMT-JOURNAL %d page %d\n", PAGERID(pPager), pPg->pgno);
assert( pageInJournal(pPg) || pPg->pgno>pPager->dbOrigSize ); assert( pageInJournal(pPg) || pPg->pgno>pPager->dbOrigSize );
rc = write32bits(pPager->sjfd, offset, pPg->pgno); rc = write32bits(pPager->sjfd, offset, pPg->pgno);
@@ -3860,6 +3860,7 @@ int sqlite3PagerCommitPhaseOne(
Pgno i; Pgno i;
Pgno iSkip = PAGER_MJ_PGNO(pPager); Pgno iSkip = PAGER_MJ_PGNO(pPager);
Pgno dbSize = pPager->dbSize; Pgno dbSize = pPager->dbSize;
pPager->dbSize = pPager->dbOrigSize;
for( i=pPager->dbSize+1; i<=pPager->dbOrigSize; i++ ){ for( i=pPager->dbSize+1; i<=pPager->dbOrigSize; i++ ){
if( !sqlite3BitvecTest(pPager->pInJournal, i) && i!=iSkip ){ if( !sqlite3BitvecTest(pPager->pInJournal, i) && i!=iSkip ){
rc = sqlite3PagerGet(pPager, i, &pPg); rc = sqlite3PagerGet(pPager, i, &pPg);