diff options
author | drh <> | 2025-06-20 13:12:55 +0000 |
---|---|---|
committer | drh <> | 2025-06-20 13:12:55 +0000 |
commit | b68d63158aa865267a01af792d6641f20f73ddfa (patch) | |
tree | 3aefad94a7af4dd36ea01c5d6858579598a56045 /src | |
parent | 59de42763fa944cd4ae20c0a09426331bfeac5bb (diff) | |
download | sqlite-b68d63158aa865267a01af792d6641f20f73ddfa.tar.gz sqlite-b68d63158aa865267a01af792d6641f20f73ddfa.zip |
Enhance sqlite3BtreeSetPageSize() so that it detects early if no changes
are needed and exists with SQLITE_OK.
FossilOrigin-Name: c978aed3b6f82b3d9d2e0ca0283c611351bca5e5496e86a9d5d0731ebcd27c84
Diffstat (limited to 'src')
-rw-r--r-- | src/btree.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/btree.c b/src/btree.c index 111acbafc..bc2bc5183 100644 --- a/src/btree.c +++ b/src/btree.c @@ -3074,6 +3074,10 @@ int sqlite3BtreeSetPageSize(Btree *p, int pageSize, int nReserve, int iFix){ sqlite3BtreeEnter(p); pBt->nReserveWanted = (u8)nReserve; x = pBt->pageSize - pBt->usableSize; + if( x==nReserve && (pageSize==0 || pageSize==pBt->pageSize) ){ + sqlite3BtreeLeave(p); + return SQLITE_OK; + } if( nReserve<x ) nReserve = x; if( pBt->btsFlags & BTS_PAGESIZE_FIXED ){ sqlite3BtreeLeave(p); |