1
0
mirror of https://github.com/sqlite/sqlite.git synced 2025-08-05 15:55:57 +03:00

Remove unnecessary MemPage initialization resets in the autovacuum ptrmap

processing.

FossilOrigin-Name: 1b36fbb9f05f3a5844e198b489bff36ef6cd908c
This commit is contained in:
drh
2016-12-12 18:12:03 +00:00
parent 5fa3d6ec3b
commit 2a70254f74
3 changed files with 8 additions and 17 deletions

View File

@@ -3296,14 +3296,11 @@ static int setChildPtrmaps(MemPage *pPage){
int nCell; /* Number of cells in page pPage */
int rc; /* Return code */
BtShared *pBt = pPage->pBt;
u8 isInitOrig = pPage->isInit;
Pgno pgno = pPage->pgno;
assert( sqlite3_mutex_held(pPage->pBt->mutex) );
rc = btreeInitPage(pPage);
if( rc!=SQLITE_OK ){
goto set_child_ptrmaps_out;
}
if( rc!=SQLITE_OK ) return rc;
nCell = pPage->nCell;
for(i=0; i<nCell; i++){
@@ -3322,8 +3319,6 @@ static int setChildPtrmaps(MemPage *pPage){
ptrmapPut(pBt, childPgno, PTRMAP_BTREE, pgno, &rc);
}
set_child_ptrmaps_out:
pPage->isInit = isInitOrig;
return rc;
}
@@ -3351,7 +3346,6 @@ static int modifyPagePointer(MemPage *pPage, Pgno iFrom, Pgno iTo, u8 eType){
}
put4byte(pPage->aData, iTo);
}else{
u8 isInitOrig = pPage->isInit;
int i;
int nCell;
int rc;
@@ -3387,8 +3381,6 @@ static int modifyPagePointer(MemPage *pPage, Pgno iFrom, Pgno iTo, u8 eType){
}
put4byte(&pPage->aData[pPage->hdrOffset+8], iTo);
}
pPage->isInit = isInitOrig;
}
return SQLITE_OK;
}