From 4b286b441e8efa9a34eb0db8227748ebffd91c35 Mon Sep 17 00:00:00 2001 From: Jianxun Zhang Date: Thu, 13 Oct 2016 09:24:21 -0700 Subject: [PATCH] revert ad601c7962 that brings 2% increase of build time. The comment of the change in sqlite fossil project is: "For in-memory databases, it does not matter if pcache entries are marked "clean" or "writable"." Upstream Status: Inappropriate Signed-off-by: Jianxun Zhang --- sqlite3.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/sqlite3.c b/sqlite3.c index ccddfe6..ecae550 100644 --- a/sqlite3.c +++ b/sqlite3.c @@ -13146,7 +13146,7 @@ struct PgHdr { sqlite3_pcache_page *pPage; /* Pcache object page handle */ void *pData; /* Page data */ void *pExtra; /* Extra content */ - PgHdr *pDirty; /* Transient list of dirty sorted by pgno */ + PgHdr *pDirty; /* Transient list of dirty pages */ Pager *pPager; /* The pager this page is part of */ Pgno pgno; /* Page number for this page */ #ifdef SQLITE_CHECK_PAGES @@ -43504,13 +43504,7 @@ bitvec_end: /* #include "sqliteInt.h" */ /* -** A complete page cache is an instance of this structure. Every -** entry in the cache holds a single page of the database file. The -** btree layer only operates on the cached copy of the database pages. -** -** A page cache entry is "clean" if it exactly matches what is currently -** on disk. A page is "dirty" if it has been modified and needs to be -** persisted to disk. +** A complete page cache is an instance of this structure. ** ** pDirty, pDirtyTail, pSynced: ** All dirty pages are linked into the doubly linked list using @@ -48314,7 +48308,7 @@ static int pager_end_transaction(Pager *pPager, int hasMaster, int bCommit){ pPager->pInJournal = 0; pPager->nRec = 0; if( rc==SQLITE_OK ){ - if( pagerFlushOnCommit(pPager, bCommit) ){ + if( MEMDB || pagerFlushOnCommit(pPager, bCommit) ){ sqlite3PcacheCleanAll(pPager->pPCache); }else{ sqlite3PcacheClearWritable(pPager->pPCache); -- 2.7.4