]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix a bug in autovacuum introduced by (3839). (CVS 3841)
authordrh <drh@noemail.net>
Fri, 13 Apr 2007 04:01:58 +0000 (04:01 +0000)
committerdrh <drh@noemail.net>
Fri, 13 Apr 2007 04:01:58 +0000 (04:01 +0000)
FossilOrigin-Name: e39efa195a28f1cd7431b0811bd908dc7af3c8b1

manifest
manifest.uuid
src/pager.c

index d90834e888410a020637636a9070b8eecc12c324..f1957e3058990f32a4db6ec1f2a2c959ac9a5167 100644 (file)
--- a/manifest
+++ b/manifest
@@ -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
index ee66bf249ebcdab3b08d1327ba0a29ce78528040..52e8e0649f1b2f9271f2333e0d91779a13046bbb 100644 (file)
@@ -1 +1 @@
-764e7262b93a7a5073128ecd4db265b0c728a701
\ No newline at end of file
+e39efa195a28f1cd7431b0811bd908dc7af3c8b1
\ No newline at end of file
index 478a7014d7d7de7f3e7079f1e838ea2bfa384128..57cf9a63737facf698c74ffb797bf760b5ee0960 100644 (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);