Fix a bug in autovacuum introduced by (3839). (CVS 3841)

FossilOrigin-Name: e39efa195a28f1cd7431b0811bd908dc7af3c8b1
This commit is contained in:
drh 2007-04-13 04:01:58 +00:00
parent 6558db80c0
commit d215acf1f4
3 changed files with 10 additions and 10 deletions

View File

@ -1,5 +1,5 @@
C Additional\stests\sdesigned\sto\sdetect\sfuture\sperformance\sregressions.\s(CVS\s3840)
D 2007-04-13T03:23:21
C Fix\sa\sbug\sin\sautovacuum\sintroduced\sby\s(3839).\s(CVS\s3841)
D 2007-04-13T04:01:59
F Makefile.in 8cab54f7c9f5af8f22fd97ddf1ecfd1e1860de62
F Makefile.linux-gcc 2d8574d1ba75f129aba2019f0b959db380a90935
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
@ -86,7 +86,7 @@ F src/os_unix.c 426b4c03c304ad78746d65d9ba101e0b72e18e23
F src/os_unix.h 5768d56d28240d3fe4537fac08cc85e4fb52279e
F src/os_win.c e94903c7dc1c0599c8ddce42efa0b6928068ddc5
F src/os_win.h 41a946bea10f61c158ce8645e7646b29d44f122b
F src/pager.c 2a5df21f1fc4acfa51815305892df13c7f90bc76
F src/pager.c 4fb7253edc2377b12f16fa33adffda79f070c1b4
F src/pager.h d652ddf092d2318d00e41f8539760fe8e57c157c
F src/parse.y b6cfbadb6d5b21b5087d30698ee5af0ebb098767
F src/pragma.c 3b992b5b2640d6ae25cef05aa6a42cd1d6c43234
@ -458,7 +458,7 @@ F www/tclsqlite.tcl bb0d1357328a42b1993d78573e587c6dcbc964b9
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
F www/version3.tcl 890248cf7b70e60c383b0e84d77d5132b3ead42b
F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513
P 32bb2d5859906b4fb0f6083eedd7f3a81b9cf5e2
R f21c4290ab1b521d34c9501951f30b4e
P 764e7262b93a7a5073128ecd4db265b0c728a701
R 31c090858c1e13005c3e16c77f0df139
U drh
Z 50dc4d00733590998717efbb4db67cac
Z 533934c267007014330b5ce7d6a0b1a1

View File

@ -1 +1 @@
764e7262b93a7a5073128ecd4db265b0c728a701
e39efa195a28f1cd7431b0811bd908dc7af3c8b1

View File

@ -18,7 +18,7 @@
** file simultaneously, or one process from reading the database while
** another is writing.
**
** @(#) $Id: pager.c,v 1.327 2007/04/13 02:14:30 drh Exp $
** @(#) $Id: pager.c,v 1.328 2007/04/13 04:01:59 drh Exp $
*/
#ifndef SQLITE_OMIT_DISKIO
#include "sqliteInt.h"
@ -3017,9 +3017,9 @@ int sqlite3PagerAcquire(
/* Populate the page with data, either by reading from the database
** file, or by setting the entire page to zero.
*/
if( nMax<(int)pgno || MEMDB || noContent ){
if( nMax<(int)pgno || MEMDB || (noContent && !pPager->alwaysRollback) ){
memset(PGHDR_TO_DATA(pPg), 0, pPager->pageSize);
pPg->needRead = noContent;
pPg->needRead = noContent && !pPager->alwaysRollback;
IOTRACE(("ZERO %p %d\n", pPager, pgno));
}else{
rc = readDbPage(pPager, pPg, pgno);