-C Version\s3.6.6.1\s(CVS\s5948)
-D 2008-11-22T15:51:28
+C Port\scheck-ins\s(5955)\sand\s(5956)\sinto\sthe\s3.6.6\sbranch.\s(CVS\s5958)
+D 2008-11-26T14:55:02
F Makefile.arm-wince-mingw32ce-gcc fcd5e9cd67fe88836360bb4f9ef4cb7f8e2fb5a0
F Makefile.in 0aa7bbe3be6acc4045706e3bb3fd0b8f38f4a3b5
F Makefile.linux-gcc d53183f4aa6a9192d249731c90dbdffbd2c68654
F src/auth.c c8b2ab5c8bad4bd90ed7c294694f48269162c627
F src/bitvec.c 4300d311b17fb3c1476623fd895a8feac02a0b08
F src/btmutex.c 63c5cc4ad5715690767ffcb741e185d7bc35ec1a
-F src/btree.c adfb7974429f79f188fabcdb26145fca3a7d04ed
+F src/btree.c 1c46824970b85ddb109ef10eac2c60a180fe2361
F src/btree.h 179c3ea813780df78a289a8f5130db18e6d4616e
F src/btreeInt.h 8d21590c97b6a2c00cce1f78ed5dc5756e835108
F src/build.c a89e901ea24d8ec845286f9a1fbfd14572a7777e
F src/os_os2.c d12285d66df674c42f6f544a6f7c21bf1a954ee1
F src/os_unix.c 03c76b5269361adcd68cf9d6713181922535ac6e
F src/os_win.c 3dff41670fb9798a869c636626bb7d6d8b6a45bb
-F src/pager.c db12a8333e54e7bbf62dc621ada5507adb3a6493
+F src/pager.c 6d02bb9971f8a72c2f60d20f58fc4fbdc82cf712
F src/pager.h a02ef8e6cc7e78b54874166e5ce786c9d4c489bf
F src/parse.y 2c4758b4c5ead6de8cf7112f5a7cce7561d313fe
F src/pcache.c f3121a531745b20f5b824201eb63949a7e2959ac
F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
F tool/speedtest8.c 2902c46588c40b55661e471d7a86e4dd71a18224
F tool/speedtest8inst1.c 293327bc76823f473684d589a8160bde1f52c14e
-P 15d88edf7671822c57238c3f85adf0b40b13e3e2
-R d2ce2d5b91c1f6ae4cf2c6a18038f9fd
+P c2266aa094411346a73ab704c03ec919d6e5f46d
+R 65908bf0f7e4063753dc41ba9f6bf80f
U drh
-Z d6e85c23f6cca1b4a3eb502f6411e7b2
+Z dbd5920c29fe1819cc573c7f21db398f
-c2266aa094411346a73ab704c03ec919d6e5f46d
\ No newline at end of file
+8c0edbef7e0f6393349c0157659434bf8498ad88
\ No newline at end of file
** May you share freely, never taking more than you give.
**
*************************************************************************
-** $Id: btree.c,v 1.539.2.1 2008/11/22 14:07:49 drh Exp $
+** $Id: btree.c,v 1.539.2.2 2008/11/26 14:55:02 drh Exp $
**
** This file implements a external (disk-based) database using BTrees.
** See the header comment on "btreeInt.h" for additional information.
for(i=0; i<=pTempCur->iPage; i++){
sqlite3PagerRef(pTempCur->apPage[i]->pDbPage);
}
+ assert( pTempCur->pKey==0 );
}
/*
for(i=0; i<=pCur->iPage; i++){
sqlite3PagerUnref(pCur->apPage[i]->pDbPage);
}
+ sqlite3_free(pCur->pKey);
}
/*
assert( leafCur.aiIdx[leafCur.iPage]==0 );
}
+ if( rc==SQLITE_OK ){
+ rc = sqlite3PagerWrite(pLeafPage->pDbPage);
+ }
if( rc==SQLITE_OK ){
dropCell(pLeafPage, 0, szNext);
VVA_ONLY( leafCur.pagesShuffled = 0 );
** file simultaneously, or one process from reading the database while
** another is writing.
**
-** @(#) $Id: pager.c,v 1.506 2008/11/19 18:30:29 drh Exp $
+** @(#) $Id: pager.c,v 1.506.2.1 2008/11/26 14:55:02 drh Exp $
*/
#ifndef SQLITE_OMIT_DISKIO
#include "sqliteInt.h"
return cksum;
}
-/* Forward declaration */
-static void makeClean(PgHdr*);
-
/*
** Read a single page from the journal file opened on file descriptor
** jfd. Playback this one page.
if( pPager->xReiniter ){
pPager->xReiniter(pPg);
}
- if( isMainJrnl ) makeClean(pPg);
+ if( isMainJrnl ){
+ sqlite3PcacheMakeClean(pPg);
+ }
#ifdef SQLITE_CHECK_PAGES
pPg->pageHash = pager_pagehash(pPg);
#endif
return rc;
}
-/*
-** Make a page dirty. Set its dirty flag and add it to the dirty
-** page list.
-*/
-static void makeDirty(PgHdr *pPg){
- sqlite3PcacheMakeDirty(pPg);
-}
-
-/*
-** Make a page clean. Clear its dirty bit and remove it from the
-** dirty page list.
-*/
-static void makeClean(PgHdr *pPg){
- sqlite3PcacheMakeClean(pPg);
-}
-
-
/*
** Mark a data page as writeable. The page is written into the journal
** if it is not there already. This routine must be called before making
/* Mark the page as dirty. If the page has already been written
** to the journal then we can return right away.
*/
- makeDirty(pPg);
+ sqlite3PcacheMakeDirty(pPg);
if( pageInJournal(pPg) && (pageInStatement(pPg) || pPager->stmtInUse==0) ){
pPager->dirtyCache = 1;
pPager->dbModified = 1;
*/
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 );
}
sqlite3PcacheDrop(pPgOld);
}
- makeDirty(pPg);
+ sqlite3PcacheMakeDirty(pPg);
pPager->dirtyCache = 1;
pPager->dbModified = 1;
pPager->needSync = 1;
assert( pPager->noSync==0 && !MEMDB );
pPgHdr->flags |= PGHDR_NEED_SYNC;
- makeDirty(pPgHdr);
+ sqlite3PcacheMakeDirty(pPgHdr);
sqlite3PagerUnref(pPgHdr);
}