aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordrh <>2025-06-20 13:12:55 +0000
committerdrh <>2025-06-20 13:12:55 +0000
commitb68d63158aa865267a01af792d6641f20f73ddfa (patch)
tree3aefad94a7af4dd36ea01c5d6858579598a56045 /src
parent59de42763fa944cd4ae20c0a09426331bfeac5bb (diff)
downloadsqlite-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.c4
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);