From: drh Date: Mon, 19 Dec 2005 17:37:09 +0000 (+0000) Subject: Backport the fix for ticket #1567 to version 2.8. (CVS 2832) X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fdd4af7e7bc28e3f0a5c5ae6fb02dd566d872cb8;p=thirdparty%2Fsqlite.git Backport the fix for ticket #1567 to version 2.8. (CVS 2832) FossilOrigin-Name: 3f5f358f826be8f9ad2b723a58f4a8a0d9b90ccc --- diff --git a/manifest b/manifest index 3a8f540685..ff699834a0 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Handle\sfailures\sof\sgetcwd()\swithout\ssegfaulting.\s\sTicket\s#1274.\s(CVS\s2491) -D 2005-06-06T15:07:03 +C Backport\sthe\sfix\sfor\sticket\s#1567\sto\sversion\s2.8.\s(CVS\s2832) +D 2005-12-19T17:37:10 F Makefile.in ab7b0d5118e2da97bac66be8684a1034e3500f5a F Makefile.linux-gcc b86a99c493a5bfb402d1d9178dcdc4bd4b32f906 F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd @@ -40,7 +40,7 @@ F src/main.c 7802ab78b2f2e66750be2192b2c1334c99bc10a5 F src/md5.c fe4f9c9c6f71dfc26af8da63e4d04489b1430565 F src/os.c 617db07b13113ec093786b2278767ab46217d140 F src/os.h 250a3789be609adfee5c5aa20137ce8683276f24 -F src/pager.c b246986e5ba31b15aa3cf91d3b9ec2e608aceb8e +F src/pager.c e44cb43e9cd2e7a06818c4f8ff5aa697f7edf8cd F src/pager.h 82332878799280145639a48d88cdb4058925e3f6 F src/parse.y 023720cb8c3bef74e51738bca78335d0dc6d2cfd F src/pragma.c f9c157b0591419d2d3407dac90222020d2a6d822 @@ -191,7 +191,7 @@ F www/sqlite.tcl 3c83b08cf9f18aa2d69453ff441a36c40e431604 F www/tclsqlite.tcl b9271d44dcf147a93c98f8ecf28c927307abd6da F www/vdbe.tcl 9b9095d4495f37697fd1935d10e14c6015e80aa1 F www/whentouse.tcl a8335bce47cc2fddb07f19052cb0cb4d9129a8e4 -P b82c06fdd143fde6678003a0f3fc66e10c21a65b -R 128473a62b22c8a2cfc6d615fe53b280 +P c1bd0a150c2c734b1ef991361f4eb41feb2ec578 +R d2a4e1a345b866bb156afda33953eb31 U drh -Z e17f99ad55fbdd9c4262ff68b1f001b5 +Z bfba7f0e9ad28a90d190865fb6f2989a diff --git a/manifest.uuid b/manifest.uuid index 09dd3b0bd6..788413a1b5 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -c1bd0a150c2c734b1ef991361f4eb41feb2ec578 \ No newline at end of file +3f5f358f826be8f9ad2b723a58f4a8a0d9b90ccc \ No newline at end of file diff --git a/src/pager.c b/src/pager.c index 8b6a154656..4651e90ec4 100644 --- a/src/pager.c +++ b/src/pager.c @@ -18,7 +18,7 @@ ** file simultaneously, or one process from reading the database while ** another is writing. ** -** @(#) $Id: pager.c,v 1.101 2004/02/25 02:20:41 drh Exp $ +** @(#) $Id: pager.c,v 1.101.2.1 2005/12/19 17:37:10 drh Exp $ */ #include "os.h" /* Must be first to enable large file support */ #include "sqliteInt.h" @@ -1929,7 +1929,7 @@ void sqlitepager_dont_write(Pager *pPager, Pgno pgno){ pPg = pager_lookup(pPager, pgno); pPg->alwaysRollback = 1; - if( pPg && pPg->dirty ){ + if( pPg && pPg->dirty && !pPager->ckptInUse ){ if( pPager->dbSize==(int)pPg->pgno && pPager->origDbSizedbSize ){ /* If this pages is the last page in the file and the file has grown ** during the current transaction, then do NOT mark the page as clean.