From b388624d7da7beb3b36b1a9e64ce8e3c9b66a345 Mon Sep 17 00:00:00 2001 From: Scott MacVicar Date: Thu, 27 Nov 2008 08:46:13 +0000 Subject: MFH Update libsqlite to 3.6.6.2 --- NEWS | 2 +- ext/sqlite3/libsqlite/sqlite3.c | 43 ++++++++++++++--------------------------- ext/sqlite3/libsqlite/sqlite3.h | 2 +- 3 files changed, 17 insertions(+), 30 deletions(-) diff --git a/NEWS b/NEWS index f69800da3e..66c08468a4 100644 --- a/NEWS +++ b/NEWS @@ -2,7 +2,7 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 200?, PHP 5.3.0 Alpha 3 - Upgraded bundled PCRE to version 7.8. (Nuno) -- Upgraded bundled sqlite to version 3.6.6.1. (Scott, Ilia) +- Upgraded bundled sqlite to version 3.6.6.2. (Scott, Ilia) - Moved ext/msql to PECL. (Derick, Lukas) diff --git a/ext/sqlite3/libsqlite/sqlite3.c b/ext/sqlite3/libsqlite/sqlite3.c index 20482777e9..6cedac9c30 100644 --- a/ext/sqlite3/libsqlite/sqlite3.c +++ b/ext/sqlite3/libsqlite/sqlite3.c @@ -4,7 +4,7 @@ /****************************************************************************** ** This file is an amalgamation of many separate C source files from SQLite -** version 3.6.6.1. By combining all the individual C code files into this +** version 3.6.6.2. By combining all the individual C code files into this ** single large file, the entire code can be compiled as a one translation ** unit. This allows many compilers to do optimizations that would not be ** possible if the files were compiled separately. Performance improvements @@ -21,7 +21,7 @@ ** is also in a separate file. This file contains only code for the core ** SQLite library. ** -** This amalgamation was generated on 2008-11-22 14:31:32 UTC. +** This amalgamation was generated on 2008-11-26 17:54:40 UTC. */ #define SQLITE_CORE 1 #define SQLITE_AMALGAMATION 1 @@ -564,7 +564,7 @@ extern "C" { ** with the value (X*1000000 + Y*1000 + Z) where X, Y, and Z ** are the major version, minor version, and release number. */ -#define SQLITE_VERSION "3.6.6.1" +#define SQLITE_VERSION "3.6.6.2" #define SQLITE_VERSION_NUMBER 3006006 /* @@ -29789,9 +29789,6 @@ static u32 pager_cksum(Pager *pPager, const u8 *aData){ 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. @@ -29901,7 +29898,9 @@ static int pager_playback_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 @@ -31822,23 +31821,6 @@ SQLITE_PRIVATE int sqlite3PagerBegin(DbPage *pPg, int exFlag){ 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 @@ -31890,7 +31872,7 @@ static int pager_write(PgHdr *pPg){ /* 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; @@ -32797,7 +32779,7 @@ SQLITE_PRIVATE int sqlite3PagerMovepage(Pager *pPager, DbPage *pPg, Pgno pgno, i */ 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 ); } @@ -32819,7 +32801,7 @@ SQLITE_PRIVATE int sqlite3PagerMovepage(Pager *pPager, DbPage *pPg, Pgno pgno, i sqlite3PcacheDrop(pPgOld); } - makeDirty(pPg); + sqlite3PcacheMakeDirty(pPg); pPager->dirtyCache = 1; pPager->dbModified = 1; @@ -32854,7 +32836,7 @@ SQLITE_PRIVATE int sqlite3PagerMovepage(Pager *pPager, DbPage *pPg, Pgno pgno, i pPager->needSync = 1; assert( pPager->noSync==0 && !MEMDB ); pPgHdr->flags |= PGHDR_NEED_SYNC; - makeDirty(pPgHdr); + sqlite3PcacheMakeDirty(pPgHdr); sqlite3PagerUnref(pPgHdr); } @@ -36830,6 +36812,7 @@ SQLITE_PRIVATE void sqlite3BtreeGetTempCursor(BtCursor *pCur, BtCursor *pTempCur for(i=0; i<=pTempCur->iPage; i++){ sqlite3PagerRef(pTempCur->apPage[i]->pDbPage); } + assert( pTempCur->pKey==0 ); } /* @@ -36842,6 +36825,7 @@ SQLITE_PRIVATE void sqlite3BtreeReleaseTempCursor(BtCursor *pCur){ for(i=0; i<=pCur->iPage; i++){ sqlite3PagerUnref(pCur->apPage[i]->pDbPage); } + sqlite3_free(pCur->pKey); } /* @@ -39961,6 +39945,9 @@ SQLITE_PRIVATE int sqlite3BtreeDelete(BtCursor *pCur){ 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 ); diff --git a/ext/sqlite3/libsqlite/sqlite3.h b/ext/sqlite3/libsqlite/sqlite3.h index 800a7d537e..2231419c0d 100644 --- a/ext/sqlite3/libsqlite/sqlite3.h +++ b/ext/sqlite3/libsqlite/sqlite3.h @@ -107,7 +107,7 @@ extern "C" { ** with the value (X*1000000 + Y*1000 + Z) where X, Y, and Z ** are the major version, minor version, and release number. */ -#define SQLITE_VERSION "3.6.6.1" +#define SQLITE_VERSION "3.6.6.2" #define SQLITE_VERSION_NUMBER 3006006 /* -- cgit v1.2.1