diff options
author | drh <> | 2023-04-07 13:21:20 +0000 |
---|---|---|
committer | drh <> | 2023-04-07 13:21:20 +0000 |
commit | b39f037ca58bba4643e47552efe3c7092092d46f (patch) | |
tree | fdd11e67ed280ba3363e31090bb49064cc30e92b /src | |
parent | 50dc8d972086dfbbc3ef3c7f664d58b5c44c4ac8 (diff) | |
download | sqlite-b39f037ca58bba4643e47552efe3c7092092d46f.tar.gz sqlite-b39f037ca58bba4643e47552efe3c7092092d46f.zip |
Small performance improvement in freeSpace().
FossilOrigin-Name: 8dc5292ee592f16451441e33ad0800ba10a21ecd63f1f9926d6915a59a1552d3
Diffstat (limited to 'src')
-rw-r--r-- | src/btree.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/btree.c b/src/btree.c index 86ff2b466..bf8220398 100644 --- a/src/btree.c +++ b/src/btree.c @@ -1919,6 +1919,11 @@ static int freeSpace(MemPage *pPage, u16 iStart, u16 iSize){ } pTmp = &data[hdr+5]; x = get2byte(pTmp); + if( pPage->pBt->btsFlags & BTS_FAST_SECURE ){ + /* Overwrite deleted information with zeros when the secure_delete + ** option is enabled */ + memset(&data[iStart], 0, iSize); + } if( iStart<=x ){ /* The new freeblock is at the beginning of the cell content area, ** so just extend the cell content area rather than create another @@ -1930,14 +1935,9 @@ static int freeSpace(MemPage *pPage, u16 iStart, u16 iSize){ }else{ /* Insert the new freeblock into the freelist */ put2byte(&data[iPtr], iStart); + put2byte(&data[iStart], iFreeBlk); + put2byte(&data[iStart+2], iSize); } - if( pPage->pBt->btsFlags & BTS_FAST_SECURE ){ - /* Overwrite deleted information with zeros when the secure_delete - ** option is enabled */ - memset(&data[iStart], 0, iSize); - } - put2byte(&data[iStart], iFreeBlk); - put2byte(&data[iStart+2], iSize); pPage->nFree += iOrigSize; return SQLITE_OK; } |