]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Fix a couple of assert() failures provoked by running with a small default cache...
authordanielk1977 <danielk1977@noemail.net>
Wed, 26 Nov 2008 07:25:52 +0000 (07:25 +0000)
committerdanielk1977 <danielk1977@noemail.net>
Wed, 26 Nov 2008 07:25:52 +0000 (07:25 +0000)
FossilOrigin-Name: 1a66481a37dd9a21673c0ffb3df2be0614fe9f63

manifest
manifest.uuid
src/btree.c
src/pager.c

index 17f1df9df41f3ea0460006c6f5756a7791321c39..b8fe4c5314f9944497f326734a34ee568e6dcdd8 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Move\sthe\sdefinition\sof\sfunction\stransferOwnership()\sin\sos_unix.c\sto\sbelow\sthe\sstatic\sfunctions\sit\scalls.\s(CVS\s5954)
-D 2008-11-25T12:07:41
+C Fix\sa\scouple\sof\sassert()\sfailures\sprovoked\sby\srunning\swith\sa\ssmall\sdefault\scache-size\s(64\spages).\s(CVS\s5955)
+D 2008-11-26T07:25:52
 F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
 F Makefile.in 0aa7bbe3be6acc4045706e3bb3fd0b8f38f4a3b5
 F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
@@ -100,7 +100,7 @@ F src/attach.c 85c6a3d0daf11965b47604190d7cf5597dc88382
 F src/auth.c c8b2ab5c8bad4bd90ed7c294694f48269162c627
 F src/bitvec.c 4300d311b17fb3c1476623fd895a8feac02a0b08
 F src/btmutex.c 63c5cc4ad5715690767ffcb741e185d7bc35ec1a
-F src/btree.c 286ff124897ef55ede6d64c0916050c6e43489b3
+F src/btree.c 950070c67fc0edbed21b5cfae12bcf977f8859f4
 F src/btree.h 179c3ea813780df78a289a8f5130db18e6d4616e
 F src/btreeInt.h 8d21590c97b6a2c00cce1f78ed5dc5756e835108
 F src/build.c a89e901ea24d8ec845286f9a1fbfd14572a7777e
@@ -139,7 +139,7 @@ F src/os_common.h 24525d8b7bce66c374dfc1810a6c9043f3359b60
 F src/os_os2.c cd44723f5a7db824ff24823cddd4269310dc0d29
 F src/os_unix.c add9937ac646b0f5f8dd603053ceb9264d675a60
 F src/os_win.c 3dff41670fb9798a869c636626bb7d6d8b6a45bb
-F src/pager.c e5d12e7adbab0dfcf11412f0492f4dfff9e1dc41
+F src/pager.c 2e9182e181bbd3d758436d9ccce2a3910400dd30
 F src/pager.h a02ef8e6cc7e78b54874166e5ce786c9d4c489bf
 F src/parse.y 2c4758b4c5ead6de8cf7112f5a7cce7561d313fe
 F src/pcache.c f3121a531745b20f5b824201eb63949a7e2959ac
@@ -662,7 +662,7 @@ F tool/speedtest16.c c8a9c793df96db7e4933f0852abb7a03d48f2e81
 F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
 F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
 F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
-P e93cec0a72c7c330e63d38d683f4c8b63e0f8070
-R 8f1844c9450b2e989555a6b43e437908
+P 622cb59791ab9f61c2e5131cb6ece5e75cdc9fae
+R ccf164744ce5645c6babde1974c729ae
 U danielk1977
-Z 33a17fcb7b184ca5395fc92f31848d89
+Z a1b3bbe62c207f2151555f5f0331091f
index 0d999f3d0b230e87335734aa96c2cb17c7fcc96c..4ab1a915a13a488f3f12f74206b0820f96a3cb6e 100644 (file)
@@ -1 +1 @@
-622cb59791ab9f61c2e5131cb6ece5e75cdc9fae
\ No newline at end of file
+1a66481a37dd9a21673c0ffb3df2be0614fe9f63
\ No newline at end of file
index 141bf4d4229dff36df9512fc7950f44e5220de1e..8f8e401f5e691b1d6b50a55046a205685f4de225 100644 (file)
@@ -9,7 +9,7 @@
 **    May you share freely, never taking more than you give.
 **
 *************************************************************************
-** $Id: btree.c,v 1.540 2008/11/21 09:09:02 danielk1977 Exp $
+** $Id: btree.c,v 1.541 2008/11/26 07:25:52 danielk1977 Exp $
 **
 ** This file implements a external (disk-based) database using BTrees.
 ** See the header comment on "btreeInt.h" for additional information.
@@ -6058,7 +6058,9 @@ int sqlite3BtreeDelete(BtCursor *pCur){
         assert( leafCur.aiIdx[leafCur.iPage]==0 );
       }
 
-      if( rc==SQLITE_OK ){
+      if( SQLITE_OK==rc
+       && SQLITE_OK==(rc = sqlite3PagerWrite(pLeafPage->pDbPage)) 
+      ){
         dropCell(pLeafPage, 0, szNext);
         VVA_ONLY( leafCur.pagesShuffled = 0 );
         rc = balance(&leafCur, 0);
index 0ad34250c3c139520979a970346c037b48fd6b5d..8c3c7c7f08ffceb547f7aa326e141f3bdc827e55 100644 (file)
@@ -18,7 +18,7 @@
 ** file simultaneously, or one process from reading the database while
 ** another is writing.
 **
-** @(#) $Id: pager.c,v 1.508 2008/11/21 09:09:02 danielk1977 Exp $
+** @(#) $Id: pager.c,v 1.509 2008/11/26 07:25:52 danielk1977 Exp $
 */
 #ifndef SQLITE_OMIT_DISKIO
 #include "sqliteInt.h"
@@ -4051,7 +4051,7 @@ int sqlite3PagerMovepage(Pager *pPager, DbPage *pPg, Pgno pgno, int isCommit){
   */
   if( (pPg->flags&PGHDR_NEED_SYNC) && !isCommit ){
     needSyncPgno = pPg->pgno;
-    assert( pageInJournal(pPg) || pgno>pPager->origDbSize );
+    assert( pageInJournal(pPg) || pPg->pgno>pPager->origDbSize );
     assert( pPg->flags&PGHDR_DIRTY );
     assert( pPager->needSync );
   }