From: danielk1977 Date: Sat, 2 Aug 2008 17:03:31 +0000 (+0000) Subject: Avoid doing IO purely to check assert() constraints. (CVS 5526) X-Git-Tag: version-3.6.10~651 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f328bea9da1231a9f8be8ffb8749d62a2b0056ab;p=thirdparty%2Fsqlite.git Avoid doing IO purely to check assert() constraints. (CVS 5526) FossilOrigin-Name: fb26ae723959390a716f221af93c6c29eec16955 --- diff --git a/manifest b/manifest index 3a456339bc..73252961e4 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Fix\sa\sbug\sintroduced\sby\s(5519)\scausing\sbuilds\swith\sSQLITE_OMIT_VIRTUALTABLE\sto\smalfunction.\s(CVS\s5525) -D 2008-08-02T15:32:40 +C Avoid\sdoing\sIO\spurely\sto\scheck\sassert()\sconstraints.\s(CVS\s5526) +D 2008-08-02T17:03:32 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0 F Makefile.in bbb62eecc851379aef5a48a1bf8787eb13e6ec06 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654 @@ -96,7 +96,7 @@ F src/attach.c a85c14612e7e3410e0c3d2e0241832fa9688bd14 F src/auth.c c8b2ab5c8bad4bd90ed7c294694f48269162c627 F src/bitvec.c 95c86bd18d8fedf0533f5af196192546e10a7e7d F src/btmutex.c 709cad2cdca0afd013f0f612363810e53f59ec53 -F src/btree.c 0be00cb6a5cd130127a06eb5f661cb5e4a9d0259 +F src/btree.c ff5ff00d1780ee1cd5bfbe5fb282f62a99c41466 F src/btree.h 03256ed7ee42b5ecacbe887070b0f8249e7d069d F src/btreeInt.h ab18c7b4980314e9e4b402e5dcde09f3c2545576 F src/build.c 05be60b1edc70bb8b354778facfb0ad5137c679a @@ -617,7 +617,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81 F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff F tool/speedtest8.c 1dbced29de5f59ba2ebf877edcadf171540374d1 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e -P 6e41455f2c7ee57c60578541040631b899e1481f -R 64bcb91d2e65178562a0c2ac681cf755 +P 761e73ceab77f965d58546ecf493f65cf52456fc +R fdf59fb8d6897d3f2b38734b8b43cb6c U danielk1977 -Z 4436b1d6c098cf208dd2f40f4e63d6d7 +Z a95b43c0298b566b87fa8289070bfdc0 diff --git a/manifest.uuid b/manifest.uuid index 85085cff98..1206dec2a3 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -761e73ceab77f965d58546ecf493f65cf52456fc \ No newline at end of file +fb26ae723959390a716f221af93c6c29eec16955 \ No newline at end of file diff --git a/src/btree.c b/src/btree.c index fc20190ce7..09d476b5a9 100644 --- a/src/btree.c +++ b/src/btree.c @@ -9,7 +9,7 @@ ** May you share freely, never taking more than you give. ** ************************************************************************* -** $Id: btree.c,v 1.493 2008/08/01 20:10:08 drh Exp $ +** $Id: btree.c,v 1.494 2008/08/02 17:03:32 danielk1977 Exp $ ** ** This file implements a external (disk-based) database using BTrees. ** See the header comment on "btreeInt.h" for additional information. @@ -4524,6 +4524,7 @@ static int fillInCell( return SQLITE_OK; } + /* ** Change the MemPage.pParent pointer on the page whose number is ** given in the second argument so that MemPage.pParent holds the @@ -4570,11 +4571,12 @@ static int reparentPage( /* If the updatePtrmap flag was clear, assert that the entry in the ** pointer-map is already correct. */ - if( ISAUTOVACUUM ){ + if( ISAUTOVACUUM && sqlite3PagerLookup(pBt->pPager,PTRMAP_PAGENO(pBt,pgno)) ){ u8 eType; Pgno ii; - ptrmapGet(pBt, pgno, &eType, &ii); - assert( ii==pNewParent->pgno && eType==PTRMAP_BTREE ); + int rc; + rc = ptrmapGet(pBt, pgno, &eType, &ii); + assert( rc==SQLITE_OK && ii==pNewParent->pgno && eType==PTRMAP_BTREE ); } #endif