]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge the latest trunk enhancements and fixes into the bedrock branch via wal2. bedrock
authordrh <>
Fri, 29 May 2026 18:18:03 +0000 (18:18 +0000)
committerdrh <>
Fri, 29 May 2026 18:18:03 +0000 (18:18 +0000)
FossilOrigin-Name: a06796a33c5ae847172a1acf833b06245df1b63b0445c0e2f1db8e9beee10617

17 files changed:
1  2 
ext/session/sqlite3session.c
ext/session/sqlite3session.h
ext/session/test_session.c
main.mk
manifest
manifest.uuid
src/btree.c
src/build.c
src/func.c
src/os_unix.c
src/pager.c
src/parse.y
src/sqlite.h.in
src/sqliteInt.h
src/test1.c
src/vdbe.c
src/vdbeaux.c

Simple merge
Simple merge
Simple merge
diff --cc main.mk
Simple merge
diff --cc manifest
index 3d915b5dda13f995567532ba6bef922e4edcb93e,b7c354049a24426278cb158782a228cc4b597c66..001b065037fe5cf1043d77e59fc3a690308bccf2
+++ b/manifest
@@@ -1,5 -1,5 +1,5 @@@
- C Merge\srecent\strunk\senhancements\sinto\sbedrock\svia\swal2.
- D 2026-04-22T19:51:26.734
 -C Merge\sthe\slatest\strunk\senhancements\sand\sfixes\sinto\sthe\swal2\sbranch.
 -D 2026-05-29T18:08:48.599
++C Merge\sthe\slatest\strunk\senhancements\sand\sfixes\sinto\sthe\sbedrock\sbranch\svia\swal2.
++D 2026-05-29T18:18:03.258
  F .fossil-settings/binary-glob 61195414528fb3ea9693577e1980230d78a1f8b0a54c78cf1b9b24d0a409ed6a x
  F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
  F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
@@@ -551,8 -549,8 +553,8 @@@ F ext/session/sessionC.test 7c9b5e90194
  F ext/session/sessionD.test 470ff917dc849e2eb78142ade63aaabd729d773833cff0ff01bca0eda68a21ce
  F ext/session/sessionE.test b2010949c9d7415306f64e3c2072ddabc4b8250c98478d3c0c4d064bce83111d
  F ext/session/sessionF.test d37ed800881e742c208df443537bf29aa49fd56eac520d0f0c6df3e6320f3401
- F ext/session/sessionG.test 3efe388282d641b65485b5462e67851002cd91a282dc95b685d085eb8efdad0a
+ F ext/session/sessionG.test 64c2b69531aebdb36d5977a5f832d77e4c8bda0c746a6c630adf23660bb1c7c2
 -F ext/session/sessionH.test 71bbff6b1abb2c4ac62b84dee53273c37e0b21e5fde3aed80929403e091ef859
 +F ext/session/sessionH.test 29a5441c3dc0a63fa596d745e64bc6c636e062ae04cd89bc84e32c7d98b1fa9b
  F ext/session/sessionI.test 11e7b6729fc942982a5104a40132f70a2e964d64d60dc5809b8206465af74822
  F ext/session/session_common.tcl a31f537a929a695a852d241c9434f2847cadf329856401921139fbb03a5a7697
  F ext/session/session_gen.test 942a0002df10da53c45b40b581cc3ed25e7ff42bda1e7ba497273dc2887aa8e6
@@@ -578,12 -577,10 +581,12 @@@ F ext/session/sessionrowid.test 85187c2
  F ext/session/sessionsize.test 8fcf4685993c3dbaa46a24183940ab9f5aa9ed0d23e5fb63bfffbdb56134b795
  F ext/session/sessionstat1.test 5e718d5888c0c49bbb33a7a4f816366db85f59f6a4f97544a806421b85dc2dec
  F ext/session/sessionwor.test 6fd9a2256442cebde5b2284936ae9e0d54bde692d0f5fd009ecef8511f4cf3fc
 -F ext/session/sqlite3session.c ce9f2ce2cc6b17f46854788e47016ba9be1b59ca4037728b6c025397b98edb12
 -F ext/session/sqlite3session.h ca7c4422c1514a95056cc8d333217df6b1829d39058126b1de85d10cd62d7a9c
 -F ext/session/test_session.c d3275da24b8d362e3c2b393c00d5248f75f1cd474dadf29d8c4683f75cb52e6d
 +F ext/session/sqlite3changebatch.c d488b42d8fd49fb013a1e9c4535232680dabeb28ae8f9421b65ea0ccc3b430f7
 +F ext/session/sqlite3changebatch.h e72016998c9a22d439ddfd547b69e1ebac810c24
- F ext/session/sqlite3session.c ef834bf1aec4a4694f04c7f559a63d2a27bb201a0c16b0384f47d68602fa3be3
- F ext/session/sqlite3session.h 1d4d0d0d7b2de3dbf3221ecf56e460a955fd256ecc5e5b7cbe0ae870255faefb
- F ext/session/test_session.c d184b3dd38ed86b198ad8b4526db1947bf52703809e0f4a81312bdef2bd6e677
- F ext/wasm/GNUmakefile 68c750f173106d9d63f12c1edf1256c6f4bad9894b155da5db64322f4912de4b
++F ext/session/sqlite3session.c 7ca455b50097030807347a41a982a1f62b56f5eb6469397f39fbdf7884f6da72
++F ext/session/sqlite3session.h 9bb5070afed0c519f9863e4ae66f2ec028e31b4919b2f07921bcc47fe96044a7
++F ext/session/test_session.c 6b1720070add3ebad5e9015eb63ded46fff9c25090800012516fc82d9c6f4506
+ F ext/wasm/GNUmakefile 65feef4ec48e62249f90278c4c08a3fe3c69e2461ff560b61c03cd73606e0949
  F ext/wasm/README-dist.txt f01081a850ce38a56706af6b481e3a7878e24e42b314cfcd4b129f0f8427066a
  F ext/wasm/README.md 2e87804e12c98f1d194b7a06162a88441d33bb443efcfe00dc6565a780d2f259
  F ext/wasm/SQLTester/GNUmakefile e0794f676d55819951bbfae45cc5e8d7818dc460492dc317ce7f0d2eca15caff
@@@ -665,7 -662,7 +668,7 @@@ F ext/wasm/tests/opfs/sahpool/index.htm
  F ext/wasm/tests/opfs/sahpool/sahpool-pausing.js f264925cfc82155de38cecb3d204c36e0f6991460fff0cb7c15079454679a4e2
  F ext/wasm/tests/opfs/sahpool/sahpool-worker.js bd25a43fc2ab2d1bafd8f2854ad3943ef673f7c3be03e95ecf1612ff6e8e2a61
  F magic.txt 5ade0bc977aa135e79e3faaea894d5671b26107cc91e70783aa7dc83f22f3ba0
- F main.mk 26e5aeb5fd358a6035c9f42ea6e06ae3a4637c771bc4aaf7bf43963753f72eb9
 -F main.mk 7717e67d2545d3cdfacd8fc9fb5e48f448a35fa65e85a01db36483bd9ab4040e
++F main.mk 696254a21fd50deb4c6b949cf641233c270458aa1bb143a3ddaa64c44fff3fc2
  F make.bat a136fd0b1c93e89854a86d5f4edcf0386d211e5d5ec2434480f6eea436c7420c
  F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271
  F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504
@@@ -676,38 -673,38 +679,38 @@@ F mptest/multiwrite01.test dab5c5f8f953
  F sqlite.pc.in 42b7bf0d02e08b9e77734a47798d1a55a9e0716b
  F sqlite3.1 1b9c24374a85dfc7eb8fa7c4266ee0db4f9609cceecfc5481cd8307e5af04366
  F sqlite3.pc.in e6dee284fba59ef500092fdc1843df3be8433323a3733c91da96690a50a5b398
- F src/alter.c 7d7ddbdc189f0e0c686e32ee170abdddc95c11f2089e40df4ffcee88f5334826
+ F src/alter.c d7cbe4332a7a2c3a21ab58ee2609efade493f6ae78254613ada0759898629ee3
 -F src/analyze.c 03bcfc083fc0cccaa9ded93604e1d4244ea245c17285d463ef6a60425fcb247d
 +F src/analyze.c ebfe8c9c55e44c5ca2bb885f84b133cde7a37e99ea5e3bf1c2782fb7e34b0882
- F src/attach.c 7cf07d4fa42b9fc8662237c60c40b730326c30aa90ae5fffc0b18b2d726ebf61
- F src/auth.c ebec42df26b34a62b6750d30d9c2c03554a1c522020182476f7729a439fef04f
- F src/backup.c 5c97e8023aab1ce14a42387eb3ae00ba5a0644569e3476f38661fa6f824c3523
+ F src/attach.c c58278c7d2d954785591c4fde81669ec3e4d52f348c453b028a19ae8adf4f338
+ F src/auth.c b5ece4e1edccad082c0332fa0087df225473bae0feea9269f824312201377185
+ F src/backup.c 6ebe22ccbedfcb92423833992130e8d65824be4e6599c3a03f540ab38fc7d13c
 -F src/bitvec.c e242d4496774dfc88fa278177dd23b607dce369ccafb3f61b41638eea2c9b399
 +F src/bitvec.c 1a048c91b2fbccbbc32dcefa757f93216c0f518ed2bc0b4db39947264479ad06
  F src/btmutex.c 30dada73a819a1ef5b7583786370dce1842e12e1ad941e4d05ac29695528daea
- F src/btree.c 9b89ae5769e40985b47b5e6a4db0896e01ebaedd2e2b935027355fde94200c0c
 -F src/btree.c cf1721682bc4d1cd7eb760ad63a9bb1cf9852f9a5c515fc4c55c80519653d763
 -F src/btree.h e823c46d87f63d904d735a24b76146d19f51f04445ea561f71cc3382fd1307f0
 -F src/btreeInt.h 9c0f9ea5c9b5f4dcaea18111d43efe95f2ac276cd86d770dce10fd99ccc93886
 -F src/build.c 866e584cdf40fbc83f530af9fd4d0991582a6fdbd8a9911b7cdbbea5f26a4a9e
 -F src/callback.c 3605bbf02bd7ed46c79cd48346db4a32fc51d67624400539c0532f4eead804ad
++F src/btree.c 04d5148ccd6aae7e01018cd3a78d47d6361715775afd64141032a267767ab9a0
 +F src/btree.h dcda10d5a5d29690dc2739b8d4d416d136760ab1dbe88a2dd417855e1775e37a
 +F src/btreeInt.h c3b8750a8dd8bc9a38840be463e7d23899b9da08276fa442e2bb8efd1052bc48
- F src/build.c b4ea6bb159ef3479dbc83e5e8ca67f6d8e9a2c0c84231efa53d2f4dff5fa8246
++F src/build.c d8c5a96879d235ddc088ebe7c2aa8973b41cbd79de6def1440c5cf03a407d24f
 +F src/callback.c 6987b99f738d9f68fe95ff482cdc10a9bf3df2051319d3d418b7cd22e725825e
  F src/carray.c 3efe3982d5fb323334c29328a4e189ccaef6b95612a6084ad5fa124fd5db1179
  F src/complete.c f216b970ce99c5a657556cf1f17e7ddd494515d3beb63df426bf59ff43bd3d9a
  F src/date.c 61e92f1f7e2e88e1cd91e91dc69eb2b2854e7877254470f9fabd776bfac922b8
- F src/dbpage.c c9ea81c11727f27e02874611e92773e68e2a90a875ef2404b084564c235fd91f
+ F src/dbpage.c c6a9de13b0a01f0bc94a41e16213ab1ecd15ccfe86df7255ced40fda9446257d
  F src/dbstat.c 73362c0df0f40ad5523a6f5501224959d0976757b511299bf892313e79d14f5c
  F src/delete.c 59eeca3fb88c29329afc41bb803ee568b120d9dd7470b5f38ab55cc38390b451
- F src/expr.c 68400681c5f6e41231d2c85abf6bb432aeeb2e36c4abdf90eb7b78551a5ce0f3
+ F src/expr.c d2188a699ded4522f15cf23d4c82da0ad73dcda09cd943982906824ef019947f
  F src/fault.c 460f3e55994363812d9d60844b2a6de88826e007
  F src/fkey.c 931f74cec1dc8038a0217ef340c91ce147dd1bbed08dc40c47ee0ec6edfffb08
- F src/func.c eeff13018adb4123c21909b8d4395e6b6307c1ba87511babb2b9f65875c18ff7
 -F src/func.c e8525e6c5493149680b0ebd3352e7f004ee7283181f24809b603329afe911443
++F src/func.c 716afb645e15f28172ce72093fa3ee6acffc314e90823c04903f82ea7c66a0e8
  F src/global.c a19e4b1ca1335f560e9560e590fc13081e21f670643367f99cb9e8f9dc7d615b
  F src/hash.c 03c8c0f4be9e8bcb6de65aa26d34a61d48a9430747084a69f9469fbb00ea52ca
  F src/hash.h 46b92795a95bfefb210f52f0c316e9d7cdbcdd7e7fcfb0d8be796d3a5767cddf
  F src/hwtime.h 21c2cf1f736e7b97502c3674d0c386db3f06870d6f10d0cf8174e2a4b8cb726e
  F src/in-operator.md 10cd8f4bcd225a32518407c2fb2484089112fd71
- F src/insert.c 77aa90e7ddbebf131c5de504854b5a61c25b11d53580649fb375b23752793651
- F src/json.c 5027b856cd9b621dc9ba66b211e21a440ccdc63cefdefb44c51e7d3ac550d1a4
+ F src/insert.c 8dbc22f6ddcc5f0af3abf11daeb89b1978f00059cda15ebc61251fa7724fc7ee
+ F src/json.c 83122c47ac1c86a3870398e872b1d1afa6439f46fdb92975aa435267771c7ee4
  F src/legacy.c d7874bc885906868cd51e6c2156698f2754f02d9eee1bae2d687323c3ca8e5aa
  F src/loadext.c 78d5b06f18996ffa1203129b28fea043f63a87a4117539678f1d761c30b4ff65
 -F src/main.c 6180079f53ccdd784df2eddc3751f49ea7153c5959bee792b19ad9f4bdbcf437
 +F src/main.c 23801fa412f0d830a901f94f224337e73047fe287d257b3cbbc1bbb5409fa38b
  F src/malloc.c 422f7e0498e1c9ef967f06283b6f2c0b16db6b905d8e06f6dbc8baaa3e4e6c5a
  F src/mem0.c 6a55ebe57c46ca1a7d98da93aaa07f99f1059645
  F src/mem1.c 3bb59158c38e05f6270e761a9f435bf19827a264c13d1631c58b84bdc96d73b2
@@@ -728,33 -725,33 +731,33 @@@ F src/os.h 1ff5ae51d339d0e30d8a9d814f4b
  F src/os_common.h 6c0eb8dd40ef3e12fe585a13e709710267a258e2c8dd1c40b1948a1d14582e06
  F src/os_kv.c e7d96727db5b67e39d590a68cc61c86daf4c093c36c011a09ebfb521182ec28d
  F src/os_setup.h 8efc64eda6a6c2f221387eefc2e7e45fd5a3d5c8337a7a83519ba4fbd2957ae2
- F src/os_unix.c 801ab6cc64d7a2d1a6c63927df25abb926442ed012b35a442fc08459a4dbb4da
- F src/os_win.c 0d553b6e8b92c8eb85e7f1b4a8036fe8638c8b32c9ad8d9d72a861c10f81b4c5
- F src/os_win.h 5e168adf482484327195d10f9c3bce3520f598e04e07ffe62c9c5a8067c1037b
- F src/pager.c e43dac265623ddcca4a6afbbfa710510094605c23d44029b13651e0dcae2396e
 -F src/os_unix.c 83759942d1ea8d59daed50901c123016f845fada74caf3496b8a2537c9a08838
++F src/os_unix.c 31ca9c40498f81b3f030cf270df5fbaa3fb007dcacd005153cae7bd832feb53a
+ F src/os_win.c 8df4b34ec6a08616a7ac33164999524ef773fa359d39ae9ae0e7e1ae4f167440
+ F src/os_win.h c06ccc3a090cf54202ea58981c298817f3309d4c9e4d52ad0a02927346493721
 -F src/pager.c 5d795a66965165995dc332f2eda46dc200c394e4756e3eab23406f5c4ed7403d
 -F src/pager.h fc0c95d27f2aefffcb39b4373b3557e89e1b4b9a36b183cc04d6f22002bf0ad2
 -F src/parse.y d5a3c5b0277a441c38b35071c05e2b61ff5fc918a63309c809f4b6706179c320
++F src/pager.c 7b386062c19215e0566fe5705264168ea4902360f75ab6bc13456184738380f8
 +F src/pager.h dd6ade22dd303a8ca6c34f1ff0f299add7191c1bff65f0289b7fd7c3460f9551
- F src/parse.y 6f02731873adf2ff56a6da86cdb44d80931e3c17ef091f359e0e0af2f940f78f
++F src/parse.y 7ff18f44e0ae1e71902101988621809537bccf9639ecd85ccea082b1b6643f2f
  F src/pcache.c 588cc3c5ccaaadde689ed35ce5c5c891a1f7b1f4d1f56f6cf0143b74d8ee6484
  F src/pcache.h 092b758d2c5e4dabb30eae46d8dfad77c0f70b16bf3ff1943f7a232b0fe0d4ba
 -F src/pcache1.c 131ca0daf4e66b4608d2945ae76d6ed90de3f60539afbd5ef9ec65667a5f2fcd
 +F src/pcache1.c 69b3a3e00e56dd03749af545084f4c823690400e8b12fcefba948f8fd975b84a
  F src/pragma.c 06feccc280ac006b084e5a03a85466aba46aa75bdd7b3cca5a7343e46a0b8875
- F src/prepare.c f6a6e28a281bd1d1da12f47d370a81af46159b40f73bf7fa0b276b664f9c8b7d
- F src/printf.c 50be92de0725e88c8b38978775ab46f9b42d74e21f65045c3423503173eb0566
+ F src/prepare.c 084a037fd3810cb7ffbfc001cd58c0ffac68ba36598a5084b55ea2a090014ebd
+ F src/printf.c 2bc09ee91d69c709528575bbbee2199e16d6a7e68e1508ac7cf998a7289170ca
 -F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c
 +F src/random.c 9bd018738ec450bf35d28050b4b33fa9a6eebf3aaefb1a1cff42dc14a7725673
- F src/resolve.c 928ff887f2a7c64275182060d94d06fdddbe32226c569781cf7e7edc6f58d7fd
+ F src/resolve.c 7e936a09405cb59e2b3e51a3ad23753e4803afc5269c5171a54c9bdd70f4fc50
  F src/rowset.c 8432130e6c344b3401a8874c3cb49fefe6873fec593294de077afea2dce5ec97
 -F src/select.c 4c05cde130f26991b7411d8c6809e0630625e18078742c963a047b4b9cc01d49
 +F src/select.c 6533b3358771537ec332ee5b4b741a963f352b2299e4610bfae77aad0b611fc5
- F src/shell.c.in 68ce578f06cf2fcf6fa17867f9a35a139be1c39fd019be3ab1a7b9e6732e78ea
- F src/sqlite.h.in 9a47c27e2453e97c4cf948d80d1cfa3113cb6134f64eda870b7eeb81f9422abd
+ F src/shell.c.in a04d063955a69449e5bd876956ba14cf69a897eda1f5477862ab6f2bbf0d3852
 -F src/sqlite.h.in 749454ec71c875bc130d399ff9a7e47191d143d1b9d8b4af3839b6028df9eda9
++F src/sqlite.h.in c25d19eecf3be70149c04be323680da4fbde165d8c501e04e25030186cbe6b79
  F src/sqlite3.rc 015537e6ac1eec6c7050e17b616c2ffe6f70fca241835a84a4f0d5937383c479
  F src/sqlite3ext.h 9788c301f95370fa30e808861f1d2e6f022a816ddbe2a4f67486784c1b31db2e
- F src/sqliteInt.h 669133e8d8dc7e87276d6b296cf2c810a28e91e0c9ae517fcc9e37fb90a3a21b
 -F src/sqliteInt.h 5bec8cfdc8346a122b35312452eb6af33fc750a6c901f2c651a2f53eba0b979f
++F src/sqliteInt.h a62e43c60bbb1e4f0bfb0f11d71d8eab8d0703bcecd78d79486e5e174db98112
  F src/sqliteLimit.h c70656b67ab5b96741a8f1c812bdd80c81f2b1c1e443d0cc3ea8c33bb1f1a092
  F src/status.c 7565d63a79aa2f326339a24a0461a60096d0bd2bce711fefb50b5c89335f3592
  F src/table.c 0f141b58a16de7e2fbe81c308379e7279f4c6b50eb08efeec5892794a0ba30d1
  F src/tclsqlite.c 7401c73c917a4d1b380c896a324c8d8eb533a999559d9e339d479596553bebfd
  F src/tclsqlite.h 614b3780a62522bc9f8f2b9fb22689e8009958e7aa77e572d0f3149050af348a
- F src/test1.c 8180efb505fc453149225a8af00257fcaf1c321a9e824d67cf95ca33262cfba8
 -F src/test1.c fe1316579a1778eb96d0bd12807f9dddc5e3984f5950127e2e1718c050cb6304
++F src/test1.c 025cb603f8277eb152467b496d75efff9126b470c256f51557c391cb3973bf3a
  F src/test2.c 2b9ab96bba63a1c369d5769390475259ad210f144a877805f2e32e563f9e93c1
  F src/test3.c 432646f581d8af1bb495e58fc98234380250954f5d5535e507fc785eccc3987a
  F src/test4.c 0ac87fc13cdb334ab3a71823f99b6c32a6bebe5d603cd6a71d84c823d43a25a0
@@@ -805,16 -802,16 +808,16 @@@ F src/threads.c 85d8b9f05f78211c61e3739
  F src/tokenize.c e9d52d9f7374d82dadcd11726bea8a597d43709d6672704f3f0375bf1d726912
  F src/treeview.c feaa59f14db4f7b5aacca9c5ad5aeb562c1f98262c1ffd74371f4186ade91fc5
  F src/trigger.c 4bf3bfb3851d165e4404a9f9e69357345f3f7103378c07e07139fdd8aeb7bd20
 -F src/update.c 3e5e7ff66fa19ebe4d1b113d480639a24cc1175adbefabbd1a948a07f28e37cf
 +F src/update.c e1a8b1876e6f2a1824a6b9f1999a03d5dd50ce250a1bb86ea133e5b4b359488b
  F src/upsert.c 215328c3f91623c520ec8672c44323553f12caeb4f01b1090ebdca99fdf7b4f1
  F src/utf.c 7267c3fb9e2467020507601af3354c2446c61f444387e094c779dccd5ca62165
- F src/util.c 377af5da226519a0f374dc3c6d408c9d303a92943e3ae5986432c7d52e6679a2
+ F src/util.c 98cf12c8ba65623a76c1eb6e6afa98ff40107c9919bf79af42f4bfc70e654232
 -F src/vacuum.c d3d35d8ae893d419ade5fa196d761a83bddcbb62137a1a157ae751ef38b26e82
 -F src/vdbe.c a8ba99604891c2e7779419f00274d7711be3765a9b343f0981c28f30d7dac5f3
 +F src/vacuum.c 09d61b53904979f2c6acb740121fd0d1b5371f962baaaa2dbbe449b5535ff581
- F src/vdbe.c 78a88377d5afa87ec6c4b504a57ecdb611e692451601f9056846e3dd159bc7bf
++F src/vdbe.c 383144666ec04dcb55375acac6635f2264f9dc7c6a5414b898cd6e92f2dafbdf
  F src/vdbe.h 70e862ac8a11b590f8c1eaac17a0078429d42bc4ea3f757a9af0f451dd966a71
  F src/vdbeInt.h c31ba4dc8d280c2b1dc89c6fcee68f2555e3813ab34279552c20b964c0e338b1
  F src/vdbeapi.c 6cdcbe5c7afa754c998e73d2d5d2805556268362914b952811bdfb9c78a37cf1
- F src/vdbeaux.c e4d0735849f5a70778a10015bfaaee0d050033877ebd444c4122c9ab270b74b3
 -F src/vdbeaux.c c09e10e7701357ef998c053b325439a2448534213e8fee11630627a4f327deb4
++F src/vdbeaux.c a13a35c85809f8bbcc19364ffa54be5dadc9ddd1c76eee5482fc3e8273140c33
  F src/vdbeblob.c b3f0640db9642fbdc88bd6ebcc83d6009514cafc98f062f675f2c8d505d82692
  F src/vdbemem.c efacb8f229422d2a4db0ed38e49b7f3897862a98d82b261aa3b43d7a2d98c6da
  F src/vdbesort.c b69220f4ea9ffea5fdef34d968c60305444eea909252a81933b54c296d9cca70
@@@ -822,13 -819,13 +825,13 @@@ F src/vdbetrace.c 49e689f751505839742f4
  F src/vdbevtab.c fc46b9cbd759dc013f0b3724549cc0d71379183c667df3a5988f7e2f1bd485f3
  F src/vtab.c 5437ce986db2f70e639ce8a3fe68dcdfe64b0f1abb14eaebecdabd5e0766cc68
  F src/vxworks.h 9d18819c5235b49c2340a8a4d48195ec5d5afb637b152406de95a9436beeaeab
 -F src/wal.c 6fdaac2cb9a53f47052138a41ed7d102c701c6f98fba87826511c47ad31bf563
 -F src/wal.h 97b8a9903387401377b59507e86b93a148ef1ad4e5ce0f23659a12dcdce56af2
 +F src/wal.c b770732943dc5ac0176b6b7d18a66c33f94267859deefee683e120e141eda486
 +F src/wal.h 4f25678500c97bf59c627fa4ed8b9fc4f5bbb958b2e26cc638e42d13509848c3
  F src/walker.c d5006d6b005e4ea7302ad390957a8d41ed83faa177e412f89bc5600a7462a014
- F src/where.c 7241a71725d8c193ddd9e69a299820fcd755943f3b5ac376a84b2716e2848401
+ F src/where.c 33e4a6558ee69f33d6a4e7069e3a40a55959d14e5653a9a83926e70305d471f3
  F src/whereInt.h 8d94cb116c9e06205c3d5ac87af065fc044f8cf08bfdccd94b6ea1c1308e65da
- F src/wherecode.c 676cb6cb02878643e817d9917a2d3522b83a3736b2cedd3dc8a01d7bb92af6c2
- F src/whereexpr.c e9f7185fba366d9365aa7a97329609e4cf00b3dd0400d069fbaa5187350c17c6
+ F src/wherecode.c 4d573077652f79780d6b50840ab8cbb72053dbb4eb230780dd2a146ab034475d
+ F src/whereexpr.c d111a5cb6147253a54010d883474b6aecc0b3009d352c087ee5295d74697bfef
  F src/window.c c0a38cd32473e8e8e7bc435039f914a36ca42465506dc491c65870c01ddac9fb
  F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2
  F test/affinity2.test 4d7a34d328e58ca2a2d78fd76c27614a41ca7ddf4312ded9c68c04f430b3b47d
@@@ -1713,8 -1699,8 +1717,8 @@@ F test/subquery.test 23087f9b1c15ab9cc5
  F test/subquery2.test ab96ff3fa9c4e3dce0d699f74e61c50250ed4335bc8f400e127707d552a8999e
  F test/subselect.test 0966aa8e720224dbd6a5e769a3ec2a723e332303
  F test/substr.test a673e3763e247e9b5e497a6cacbaf3da2bd8ec8921c0677145c109f2e633f36b
- F test/subtype1.test 96fd2a59bfc845c955b5f339d23b37ef4d50de5f8a04acd1450a68605fa2e3e7
+ F test/subtype1.test 1ca002dbda34c342c2dee7cffac220b77d67edfbffd43124978956747f534a96
 -F test/superlock.test 85256830339a6871ce36a2ef591c3f67716a701b5497788fb2068b90159c2442
 +F test/superlock.test e47035e7fa127642781808ce4121c1e5df89b330f87116327d7f909342826f0e
  F test/swarmvtab.test 250231404fcac88f61a6c147bb0e3a118ed879278cd3ccb0ae2d3a729e1e8e26
  F test/swarmvtab2.test c948cb2fdfc5b01d85e8f6d6504854202dc1a0782ab2a0ed61538f27cbd0aa5c
  F test/swarmvtab3.test 41a3ab47cb7a834d4e5336425103b617410a67bb95d335ef536f887587ece073
@@@ -2240,8 -2222,8 +2245,8 @@@ F tool/warnings-clang.sh bbf6a1e685e534
  F tool/warnings.sh a554d13f6e5cf3760f041b87939e3d616ec6961859c3245e8ef701d1eafc2ca2
  F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
  F tool/winmain.c 00c8fb88e365c9017db14c73d3c78af62194d9644feaf60e220ab0f411f3604c
- P 99901eae6432a53e93eb1664751fea0de9edfaeeb68e5034277805c438f33aa1 28d1d29ad465b150ea705af8352c0e6599b3f42c15474b2ae89e8a2c2b9b097c
- R 93932abc24f81781cd294bb8e84d2938
 -P 28d1d29ad465b150ea705af8352c0e6599b3f42c15474b2ae89e8a2c2b9b097c c7839f7a1749b38f8a36c06d93a7b59095e91ce753e8dd020de273ca8f73a239
 -R da9eb2c8c6fc545fa76a8916647efb64
++P ec9bab4d19caf5fc9fb9984ec444a121a525e336dc26bb25503754ad995d9d07 d8cf1a62aff38de008f9b826c4846b15e37c89dc0f8bb412b79349da4d1580b0
++R b1c14740d405d471d04e87b1600b2bf9
  U drh
- Z 9e36bdb8c5989c748ad7532472d14263
 -Z 81655c913c3efc0b9200f9ede46569c5
++Z 0ac756ce6c13878ee14480ce63416bec
  # Remove this line to create a well-formed Fossil manifest.
diff --cc manifest.uuid
index 14317b007b2102f0444eac7674dd3be23d2f8885,f668496b3a1f519738731a9db67d27af5d85d48d..b7bfd4c0a1fe2f330e91648110835acd03daaffa
@@@ -1,1 -1,1 +1,1 @@@
- ec9bab4d19caf5fc9fb9984ec444a121a525e336dc26bb25503754ad995d9d07
 -d8cf1a62aff38de008f9b826c4846b15e37c89dc0f8bb412b79349da4d1580b0
++a06796a33c5ae847172a1acf833b06245df1b63b0445c0e2f1db8e9beee10617
diff --cc src/btree.c
index 5e6d174cd14a206e1068048f5e1c28efc37f2f13,03fff9b53a731fe2519bfbb3ce76fd004b541cd1..fedf7f5d44f7a3f8c96c34e85fba4fb458a69389
@@@ -5782,9 -5302,14 +5794,17 @@@ static int accessPayload
                (eOp==0 ? PAGER_GET_READONLY : 0)
            );
            if( rc==SQLITE_OK ){
+             if( eOp!=0
+              && (sqlite3PagerPageRefcount(pDbPage)!=1
+                  || NEVER(((MemPage*)sqlite3PagerGetExtra(pDbPage))->isInit))
+              && sqlite3FaultSim(411)==SQLITE_OK
+             ){
+               sqlite3PagerUnref(pDbPage);
+               return SQLITE_CORRUPT_PAGE(pPage);
+             }
 +            setMempageRoot(
 +                (MemPage*)sqlite3PagerGetExtra(pDbPage), pCur->pgnoRoot
 +            );
              aPayload = sqlite3PagerGetData(pDbPage);
              nextPage = get4byte(aPayload);
              rc = copyPayload(&aPayload[offset+4], pBuf, a, eOp, pDbPage);
@@@ -12191,36 -11587,9 +12211,43 @@@ int sqlite3BtreeConnectionCount(Btree *
  }
  #endif
  
 +/*
 +** Access details of recent COMMIT commands. This function allows various
 +** details related to the most recent COMMIT command to be accessed. 
 +** The requested value is always returned via output parameter (*piVal).
 +** The specific value requested is identified by parameter op (see
 +** below).
 +**
 +** SQLITE_OK is returned if successful, or SQLITE_ERROR if the "op" or
 +** "zDb" paramters are unrecognized.
 +*/
 +int sqlite3_commit_status(
 +  sqlite3 *db,                    /* Database handle */
 +  const char *zDb,                /* Name of database - "main" etc. */
 +  int op,                         /* SQLITE_COMMIT_XXX constant */
 +  unsigned int *piVal             /* OUT: Write requested value here */
 +){
 +  int rc = SQLITE_OK;
 +#ifndef SQLITE_OMIT_CONCURRENT
 +  if( op<0 || op>SQLITE_COMMIT_CONFLICT_PGNO ){
 +    rc = SQLITE_ERROR;
 +  }else if( op==SQLITE_COMMIT_FIRSTFRAME || op==SQLITE_COMMIT_NFRAME ){
 +    int iDb = sqlite3FindDbName(db, zDb);
 +    if( iDb<0 ){
 +      rc = SQLITE_ERROR;
 +    }else{
 +      *piVal = db->aDb[iDb].pBt->aCommit[op];
 +    }
 +  }else{
 +    *piVal = db->aCommit[op];
 +  }
 +#endif
 +  return rc;
 +}
++
+ /* Re-enable GCC compiler warnings that were suppressed at the top
+ ** of this source file to prevent annoying false-positives.
+ */
+ #if defined(__GNUC__) && __GNUC__>=11
+ # pragma GCC diagnostic pop
+ #endif
diff --cc src/build.c
Simple merge
diff --cc src/func.c
Simple merge
diff --cc src/os_unix.c
Simple merge
diff --cc src/pager.c
Simple merge
diff --cc src/parse.y
Simple merge
diff --cc src/sqlite.h.in
Simple merge
diff --cc src/sqliteInt.h
Simple merge
diff --cc src/test1.c
Simple merge
diff --cc src/vdbe.c
Simple merge
diff --cc src/vdbeaux.c
Simple merge