]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Merge the latest trunk enhancements into the wal2 branch.
authordrh <>
Sat, 15 Mar 2025 20:28:42 +0000 (20:28 +0000)
committerdrh <>
Sat, 15 Mar 2025 20:28:42 +0000 (20:28 +0000)
FossilOrigin-Name: c8d8f613ed0d7639a8b859e8c7fa7da21bd1221a605c5da6a8fe041f7c9a3f5e

1  2 
main.mk
manifest
manifest.uuid
src/vdbe.c
src/vdbeaux.c
src/wal.c
test/tester.tcl

diff --cc main.mk
Simple merge
diff --cc manifest
index af57fa66b9876bdc1309c1d086770b0eae97ca5a,3abd0f8344e0c2e09e03fbdc6d331f7fea2f1388..ad8cf6691c683ae3339af177a41b7944a7c6eab7
+++ b/manifest
@@@ -1,11 -1,11 +1,11 @@@
 -C Make\suse\sof\sthe\sC99\sflexible\sarray\sfeature,\swhen\savailable,\sso\sthat\nthe\s-fsanitize=bounds-strict\soption\scan\sbe\sused,\swhen\savailable.\n[forum:/forumpost/311dbf9a1cadfae6|Forum\sthread\s311dbf9a1c].
 -D 2025-03-15T19:55:19.890
 +C Merge\sthe\slatest\strunk\senhancements\sinto\sthe\swal2\sbranch.
- D 2025-03-03T15:57:12.884
++D 2025-03-15T20:28:42.705
  F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
  F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
  F LICENSE.md e108e1e69ae8e8a59e93c455654b8ac9356a11720d3345df2a4743e9590fb20d
- F Makefile.in 4ff9b301b59c66ef9d11c8d133cc62e09173bad4abc7d5eb801e45d5527f8fe6
+ F Makefile.in 2788f5a3c36e26817707003170871936d44f46c5b45f8cbefe07c9f1a51a8988
  F Makefile.linux-generic bd3e3cacd369821a6241d4ea1967395c962dfe3057e38cb0a435cee0e8b789d0
 -F Makefile.msc ef04498c7e227a0f459b105bb4952f26cc985d1d6340a367e62d5a79c4689dfb
 +F Makefile.msc e21d24292743154ff41a1fa7d8b7d5fb5005581af89231d3197395bb7654953e
  F README.md a953c0cffd6e4f2501a306c00ee2b6e1e6630c25031e094629307fe99dd003d1
  F VERSION 001dea55eb8304ec9130b6b44a32d3fc349f279d45a7e224fc0730c3cb8e2372
  F art/icon-243x273.gif 9750b734f82fdb3dc43127753d5e6fbf3b62c9f4e136c2fbf573b2f57ea87af5
@@@ -707,7 -705,7 +707,7 @@@ F ext/wasm/tests/opfs/sahpool/sahpool-p
  F ext/wasm/tests/opfs/sahpool/sahpool-worker.js bd25a43fc2ab2d1bafd8f2854ad3943ef673f7c3be03e95ecf1612ff6e8e2a61
  F ext/wasm/wasmfs.make 68999f5bd8c489239592d59a420f8c627c99169bbd6fa16a404751f757b9f702
  F magic.txt 5ade0bc977aa135e79e3faaea894d5671b26107cc91e70783aa7dc83f22f3ba0
- F main.mk 713e7e0fcae7561d7f2b10bf3370838109e7695210a4d744a53e46add70f2296
 -F main.mk e15a567c0bcc1aed49d53944c92a30705e77d21be087cbc0f7359cf1bddb31c8
++F main.mk e422aadc477bf446b13f92472f10c609567449796d551ed85237df8586a76dc8
  F mptest/config01.test 3c6adcbc50b991866855f1977ff172eb6d901271
  F mptest/config02.test 4415dfe36c48785f751e16e32c20b077c28ae504
  F mptest/crash01.test 61e61469e257df0850df4293d7d4d6c2af301421
@@@ -724,10 -722,10 +724,10 @@@ F src/auth.c 54ab9c6c5803b47c0d45b76ce2
  F src/backup.c 5c97e8023aab1ce14a42387eb3ae00ba5a0644569e3476f38661fa6f824c3523
  F src/bitvec.c 782cc29b42b47e7ec6348eb0aaf9ffe60063f498387e7249f458d445af4b53e9
  F src/btmutex.c 30dada73a819a1ef5b7583786370dce1842e12e1ad941e4d05ac29695528daea
 -F src/btree.c 00fcee37947641f48d4b529d96143e74d056b7afa8f26d61292c90ee59c056b2
 +F src/btree.c d1ca761240cb8db94f71d977aa83c80e07b589ca0f52cbf122b73fb032dcdf6c
  F src/btree.h 18e5e7b2124c23426a283523e5f31a4bff029131b795bb82391f9d2f3136fc50
  F src/btreeInt.h 9c0f9ea5c9b5f4dcaea18111d43efe95f2ac276cd86d770dce10fd99ccc93886
- F src/build.c 20793695ef64d2d0c147501e37f344f828f09f16d346a987b516316186030996
+ F src/build.c 3fe9b9d0f411cc2139a2d5ffa1c9b555417f89332f4dbf7f8e311c2e69e40c81
  F src/callback.c acae8c8dddda41ee85cfdf19b926eefe830f371069f8aadca3aa39adf5b1c859
  F src/complete.c a3634ab1e687055cd002e11b8f43eb75c17da23e
  F src/date.c 9db4d604e699a73e10b8e85a44db074a1f04c0591a77e2abfd77703f50dce1e9
@@@ -776,8 -774,8 +776,8 @@@ F src/pager.h fc0c95d27f2aefffcb39b4373
  F src/parse.y e426d7323311554c75b0aebc426d0fe3c88d9777ffefed236f343ad9e661dc4c
  F src/pcache.c 588cc3c5ccaaadde689ed35ce5c5c891a1f7b1f4d1f56f6cf0143b74d8ee6484
  F src/pcache.h 1497ce1b823cf00094bb0cf3bac37b345937e6f910890c626b16512316d3abf5
- F src/pcache1.c 78d4935e510f7bed0fdd1a3f742c0e663b36a795f9dc7411161dc22bdae1245e
+ F src/pcache1.c 131ca0daf4e66b4608d2945ae76d6ed90de3f60539afbd5ef9ec65667a5f2fcd
 -F src/pragma.c 30b535d0a66348df844ee36f890617b4cf45e9a22dcbc47ec3ca92909c50aaf1
 +F src/pragma.c c6dbc66743689d2a7a8073a49ee0440df939fca8e1c5ab38c8ea5a0d8c0a2a85
  F src/prepare.c 1832be043fce7d489959aae6f994c452d023914714c4d5457beaed51c0f3d126
  F src/printf.c 33fc0d7643c848a098afdcb6e1db6de12379d47084b1cd0912cfce1d09345e44
  F src/random.c 606b00941a1d7dd09c381d3279a058d771f406c5213c9932bbd93d5587be4b9c
@@@ -851,25 -849,25 +851,25 @@@ F src/update.c 3e5e7ff66fa19ebe4d1b113d
  F src/upsert.c 215328c3f91623c520ec8672c44323553f12caeb4f01b1090ebdca99fdf7b4f1
  F src/utf.c d4d55ca95106a2029ec1cdbd2497a34e69ea1d338f1a9d80ef15ebf4ff01690d
  F src/util.c 36fb1150062957280777655976f3f9a75db236cb8207a0770ceae8d5ec17fcd3
- F src/vacuum.c b763b6457bd058d2072ef9364832351fd8d11e8abf70cbb349657360f7d55c40
- F src/vdbe.c 147291ebfc5eafea14666a34f191026a20531a93c35dc564535db5346973dd47
- F src/vdbe.h 3d26d5c7660c5c7bd33ffb0d8784615072d8b23c81f8110870efe2631136bc89
- F src/vdbeInt.h 078b1c15b26587b54c1c1879d0d2f4dec812b9de4c337fed9faf73fbcc3bf091
- F src/vdbeapi.c cb8eb9e41a16f5fa3ce5b8f3910edfbba336d10156cfb7a79f92cf7bf443977b
- F src/vdbeaux.c 5b3bc53ee0b16a9cc701cf775f5c2313404f8dc35255388cb82dee5926464c65
- F src/vdbeblob.c 9166b6eb7054e5da82e35255892fb1ed551355a4716452539e8e3ac14f25fbe3
+ F src/vacuum.c fbfc3e074c865d2b5b10b8a65a3783275b80c152653590690747a102bb6cc770
 -F src/vdbe.c b5deed01000b3970cfca089dc531cf9342afd96d00cc8b4ad26d303f088116ee
++F src/vdbe.c 178d59240ce92e53b178e50b5270491fb4a14e4f9809296dfaf893b0b625ebc9
+ F src/vdbe.h 31eddcffc1d14c76c2a20fe4e137e1ee43d44f370896fae14a067052801a3625
+ F src/vdbeInt.h 5446f60e89b2aa7cdf3ab0ec4e7b01b8732cd9d52d9092a0b8b1bf700768f784
+ F src/vdbeapi.c a9ad72afed9aaec2acdde4daa5caa2f342b298f8c8859704143f6e3b78cb9966
 -F src/vdbeaux.c 72a1c99d9300a5e0adff2c708074ac1355a619664301db474a48e147418fba05
++F src/vdbeaux.c fc45bf49e6aa5168e77f3b5c4b500feab14ea995d3e444cb4ae557d8404ca251
+ F src/vdbeblob.c b1b4032cac46b41e44b957c4d00aee9851f862dfd85ecb68116ba49884b03dfd
  F src/vdbemem.c 571ae3116dbf840a62c4aaa6bc09d577dfef8ad4d3978cf37275bb5f9653217b
- F src/vdbesort.c f7ce6eb4c0e8b0273329d2f43b8b6e5ebe8f2d853fc323d5787dada702ea0b66
+ F src/vdbesort.c 49e366d0216c782eba287bf602384e4330d2526a22f1275492d2785ce103c79b
  F src/vdbetrace.c fe0bc29ebd4e02c8bc5c1945f1d2e6be5927ec12c06d89b03ef2a4def34bf823
  F src/vdbevtab.c fc46b9cbd759dc013f0b3724549cc0d71379183c667df3a5988f7e2f1bd485f3
  F src/vtab.c 828221bdbeaaa6d62126ee6d07fd4ec0d09dcaea846f87ad01944d8b7e548859
  F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9
- F src/wal.c f313d6bf9178a8cd5bf8dc17e4e1538908a5331b18392d24a09405144456b256
 -F src/wal.c 554a6b1afaaecb98cb47bb598bccf1374c9d3b624e5c4c3c4eb2ad364cc579f8
 -F src/wal.h ba252daaa94f889f4b2c17c027e823d9be47ce39da1d3799886bbd51f0490452
++F src/wal.c 4b6721e96599fcd2ac239a8af05e883b78a6c4702a504e901c52b81c8fa44305
 +F src/wal.h 97b8a9903387401377b59507e86b93a148ef1ad4e5ce0f23659a12dcdce56af2
  F src/walker.c d5006d6b005e4ea7302ad390957a8d41ed83faa177e412f89bc5600a7462a014
- F src/where.c 12cca5dfbe96e2589f951c43c0720fc58e52611787c37d85a0d9c10376202e8b
- F src/whereInt.h d20cddddb1d61b18d5cb1fcfa9b77fbeebbc4afe44d996e603452a23b3009ee1
- F src/wherecode.c 5baa06f0daae7d38aca1d4814030b82ad4f127fe6bad18f0644776a474f6088b
+ F src/where.c e80177e452b4e436abc6ece0cb0249631000434f2a7425cc1df709015fce74ad
+ F src/whereInt.h ecdbfb5551cf394f04ec7f0bc7ad963146d80eee3071405ac29aa84950128b8e
+ F src/wherecode.c 0d3de258d7922aede028841c6e0060633c50be26737c92cc62ce8be280535430
  F src/whereexpr.c 2415c8eee5ff89a8b709d7d83d71c1ff986cd720d0520057e1d8a5371339012a
  F src/window.c d01227141f622f24fbe36ca105fbe6ef023f9fd98f1ccd65da95f88886565db5
  F test/8_3_names.test ebbb5cd36741350040fd28b432ceadf495be25b2
@@@ -1558,9 -1556,9 +1558,9 @@@ F test/quote.test 7b01b2a261bc26d9821ae
  F test/randexpr1.tcl 40dec52119ed3a2b8b2a773bce24b63a3a746459
  F test/randexpr1.test eda062a97e60f9c38ae8d806b03b0ddf23d796df
  F test/rbu.test 168573d353cd0fd10196b87b0caa322c144ef736
 -F test/rdonly.test 64e2696c322e3538df0b1ed624e21f9a23ed9ff8
 +F test/rdonly.test 21e99ee237265d0cf95a0c84b50c784e834acaa4ef05d92a27b262626a656682
  F test/readonly.test 69a7ccec846cad2e000b3539d56360d02f327061dc5e41f7f9a3e01f19719952
- F test/recover.test a163a156ea9f2beea63fa83c4dcd8dea6e57b8a569fc647155e3d2754eaac1b5
+ F test/recover.test c76d05f33f0271fba0f0752170e03b0ab5952dc61dcea7ab3ba40df03c4c42de
  F test/regexp1.test 8f2a8bc1569666e29a4cee6c1a666cd224eb6d50e2470d1dc1df995170f3e0f1
  F test/regexp2.test 55ed41da802b0e284ac7e2fe944be3948f93ff25abbca0361a609acfed1368b5
  F test/reindex.test cd9d6021729910ece82267b4f5e1b5ac2911a7566c43b43c176a6a4732e2118d
@@@ -1731,7 -1729,7 +1731,7 @@@ F test/temptable.test d2c9b87a54147161b
  F test/temptable2.test 76821347810ecc88203e6ef0dd6897b6036ac788e9dd3e6b04fd4d1631311a16
  F test/temptable3.test d11a0974e52b347e45ee54ef1923c91ed91e4637
  F test/temptrigger.test 38f0ca479b1822d3117069e014daabcaacefffcc
- F test/tester.tcl 779d5a928fa7b5d7ac0f8d91182b0d0ea5f06dba8ac7baab4add0268b3864058
 -F test/tester.tcl 2244752d5dd5135c03370fa09fec3d02c87440521ca600c09c635b1c2cded9ef
++F test/tester.tcl c0f60f9da4ddaf845d16c2bebefd165f38ae88f6b7acd86459d3052f9d409404
  F test/testrunner.tcl 0ffa67806e75aa2c186c63d7d00b16bb45adb91ed6560461fda6dbe3e18c885e x
  F test/testrunner_data.tcl 6d7e7824bb36278ea65c33f7da6dd3ca101fc7d6f7a765b807dce0aa68c52521
  F test/thread001.test a0985c117eab62c0c65526e9fa5d1360dd1cac5b03bde223902763274ce21899
@@@ -2227,8 -2213,9 +2227,8 @@@ F tool/version-info.c 3b36468a90faf1bbd
  F tool/warnings-clang.sh bbf6a1e685e534c92ec2bfba5b1745f34fb6f0bc2a362850723a9ee87c1b31a7
  F tool/warnings.sh 49a486c5069de041aedcbde4de178293e0463ae9918ecad7539eedf0ec77a139
  F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
- P bd4651659548bfa523dd99f0c771b7d3c9f5dc41d0412f4f939710c4f4c6e17d 0554c00f32b7cc81d35340080df10ea6d66c9ff07fe749ea76cc523a4149b5c8
- R d31d7d7a1ed496dcb860da185f0ad20b
 -P 2dd5b6895a3b23c2b9cbf0c1c1e802faf8f2b41ef60819eea25d609755266e64 f101c46cf83e532fd33034abccba496bf395ef10c161af003211614d6581d5eb
 -R cffcee5ac5b13fdb08ee088881970bf2
 -T +closed f101c46cf83e532fd33034abccba496bf395ef10c161af003211614d6581d5eb
++P 6baea938f0230f8b81b33373f948857fc44c2b3788bf8d4ee6e863b045632b82 d4307a0d43f42e96ec06ad2c1d8d0f5c8ecae759bae8231b1998633089809f49
++R 4a0c7dd88b1cecaa7e38a98abab95534
  U drh
- Z 02b9e19d9faab8c2596faf30f552d8da
 -Z 5f005a89032955065b39a2e143d5c279
++Z 66a02fd85f85dabea41fe0f85e5b0331
  # Remove this line to create a well-formed Fossil manifest.
diff --cc manifest.uuid
index c41caea496e028d3a9ee9f8f326c4e19aa8b5c3d,d6e3fced3adfabaa4b8569c315b816750f10d9ff..da00cecb830defc535178edb5700acb87e815178
@@@ -1,1 -1,1 +1,1 @@@
- 6baea938f0230f8b81b33373f948857fc44c2b3788bf8d4ee6e863b045632b82
 -d4307a0d43f42e96ec06ad2c1d8d0f5c8ecae759bae8231b1998633089809f49
++c8d8f613ed0d7639a8b859e8c7fa7da21bd1221a605c5da6a8fe041f7c9a3f5e
diff --cc src/vdbe.c
Simple merge
diff --cc src/vdbeaux.c
Simple merge
diff --cc src/wal.c
index d251a1724cc4af41f1de06c4853726efa6753f71,7f091a48cfcd1a77990f24209ae0ff91d10f5e00..7d33a54c90c81ba0ce28332bdc63c486a19dce7b
+++ b/src/wal.c
@@@ -2452,19 -1959,12 +2456,18 @@@ static int walIteratorInit
    /* This routine only runs while holding the checkpoint lock. And
    ** it only runs if there is actually content in the log (mxFrame>0).
    */
 -  assert( pWal->ckptLock && pWal->hdr.mxFrame>0 );
 -  iLast = pWal->hdr.mxFrame;
 +  iLast = walidxGetMxFrame(&pWal->hdr, iWal);
 +  assert( pWal->ckptLock && iLast>0 );
 +
 +  if( iMode==2 ){
 +    iLastSeg = walFramePage2(iWal, iLast);
 +  }else{
 +    iLastSeg = walFramePage(iLast);
 +  }
 +  nSegment = 1 + (iLastSeg/iMode);
  
    /* Allocate space for the WalIterator object. */
-   nByte = sizeof(WalIterator)
-         + (nSegment-1)*sizeof(struct WalSegment)
 -  nSegment = walFramePage(iLast) + 1;
+   nByte = SZ_WALITERATOR(nSegment)
          + iLast*sizeof(ht_slot);
    p = (WalIterator *)sqlite3_malloc64(nByte
        + sizeof(ht_slot) * (iLast>HASHTABLE_NPAGE?HASHTABLE_NPAGE:iLast)
diff --cc test/tester.tcl
Simple merge