]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Enhance sqlite3BtreeSetPageSize() so that it detects early if no changes
authordrh <>
Fri, 20 Jun 2025 13:12:55 +0000 (13:12 +0000)
committerdrh <>
Fri, 20 Jun 2025 13:12:55 +0000 (13:12 +0000)
are needed and exists with SQLITE_OK.

FossilOrigin-Name: c978aed3b6f82b3d9d2e0ca0283c611351bca5e5496e86a9d5d0731ebcd27c84

manifest
manifest.uuid
src/btree.c

index 0cfd16f3994c902a1f24a7c276551287b230e549..1135ec004ab54754ce6e3ac9c39fb39bd91f0a7d 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Fix\san\sout-of-order\slocal\svariable\sdeclaration\sin\sext/misc/fileio.c.
-D 2025-06-19T20:19:12.323
+C Enhance\ssqlite3BtreeSetPageSize()\sso\sthat\sit\sdetects\searly\sif\sno\schanges\nare\sneeded\sand\sexists\swith\sSQLITE_OK.
+D 2025-06-20T13:12:55.485
 F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
@@ -726,7 +726,7 @@ F src/auth.c 54ab9c6c5803b47c0d45b76ce27eff22a03b4b1f767c5945a3a4eb13aa4c78dc
 F src/backup.c 5c97e8023aab1ce14a42387eb3ae00ba5a0644569e3476f38661fa6f824c3523
 F src/bitvec.c e242d4496774dfc88fa278177dd23b607dce369ccafb3f61b41638eea2c9b399
 F src/btmutex.c 30dada73a819a1ef5b7583786370dce1842e12e1ad941e4d05ac29695528daea
-F src/btree.c eb61daaf42aabf93e23fb497693041f162d62b168db03c834eee922af2cb04ef
+F src/btree.c c7d229ada0e5a2263fe0dd9f327a01fe63d1a180a351cacefdbcce7fcad96730
 F src/btree.h 18e5e7b2124c23426a283523e5f31a4bff029131b795bb82391f9d2f3136fc50
 F src/btreeInt.h 9c0f9ea5c9b5f4dcaea18111d43efe95f2ac276cd86d770dce10fd99ccc93886
 F src/build.c 67c1db4c5e89a8519fe9b6dafc287f6bc3627696b5b8536dc5e06db570d8c05f
@@ -2208,8 +2208,8 @@ F tool/version-info.c 3b36468a90faf1bbd59c65fd0eb66522d9f941eedd364fabccd7227350
 F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
 F tool/warnings.sh 1ad0169b022b280bcaaf94a7fa231591be96b514230ab5c98fbf15cd7df842dd
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P e553fb538ec1527457e2927edf9127dccf268a8a3b5918d4fb0d066ad9676094
-R 7c79e8bb36e976ad19d5d71631841b0f
+P a88bb75288a06492a04ab1278e8a2101a74f4ba712d328b4c73e86ac01cb946d
+R cb90f0004c740d9c6313d27671232669
 U drh
-Z 197b4e4613cf3b0c0dc5630b8413a15b
+Z be2bda8b98ca78f843ae2248ce47a153
 # Remove this line to create a well-formed Fossil manifest.
index 1f41e8bf5a6c941ca95544809be3b4ec4b0cc990..f651970e3a376c6d3bb427b01a565fd91d60d964 100644 (file)
@@ -1 +1 @@
-a88bb75288a06492a04ab1278e8a2101a74f4ba712d328b4c73e86ac01cb946d
+c978aed3b6f82b3d9d2e0ca0283c611351bca5e5496e86a9d5d0731ebcd27c84
index 111acbafc60dffb1bc0d076264606f9df5fa04b9..bc2bc5183d58b692f865a6db959e2fcf26c29c67 100644 (file)
@@ -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);