aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <drh@noemail.net>2013-08-21 22:54:55 +0000
committerdrh <drh@noemail.net>2013-08-21 22:54:55 +0000
commit9d1ab0794e8045b8e9649b7d990c204726777890 (patch)
tree7c54cddb916d5f38212c4b2b63e2c3b91bd8a71d /src
parentcf5ff12105aa5108dba3c00d65b21da05dbaa3db (diff)
downloadsqlite-9d1ab0794e8045b8e9649b7d990c204726777890.tar.gz
sqlite-9d1ab0794e8045b8e9649b7d990c204726777890.zip
Minor performance tweaks to the pager.
FossilOrigin-Name: 9ae1f9ce7ea6beaeddc3711080b3796e05acc4f8
Diffstat (limited to 'src')
-rw-r--r--src/pager.c20
1 files changed, 9 insertions, 11 deletions
diff --git a/src/pager.c b/src/pager.c
index 77a7d86a0..6ccf2d7ce 100644
--- a/src/pager.c
+++ b/src/pager.c
@@ -1022,13 +1022,17 @@ static char *print_pager_state(Pager *p){
** PagerSavepoint.pInSavepoint.
*/
static int subjRequiresPage(PgHdr *pPg){
- Pgno pgno = pPg->pgno;
Pager *pPager = pPg->pPager;
+ PagerSavepoint *p;
+ Pgno pgno;
int i;
- for(i=0; i<pPager->nSavepoint; i++){
- PagerSavepoint *p = &pPager->aSavepoint[i];
- if( p->nOrig>=pgno && 0==sqlite3BitvecTest(p->pInSavepoint, pgno) ){
- return 1;
+ if( pPager->nSavepoint ){
+ pgno = pPg->pgno;
+ for(i=0; i<pPager->nSavepoint; i++){
+ p = &pPager->aSavepoint[i];
+ if( p->nOrig>=pgno && 0==sqlite3BitvecTest(p->pInSavepoint, pgno) ){
+ return 1;
+ }
}
}
return 0;
@@ -2874,12 +2878,6 @@ static int readDbPage(PgHdr *pPg, u32 iFrame){
assert( pPager->eState>=PAGER_READER && !MEMDB );
assert( isOpen(pPager->fd) );
- if( NEVER(!isOpen(pPager->fd)) ){
- assert( pPager->tempFile );
- memset(pPg->pData, 0, pPager->pageSize);
- return SQLITE_OK;
- }
-
#ifndef SQLITE_OMIT_WAL
if( iFrame ){
/* Try to pull the page from the write-ahead log. */