]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Add assert() statements to help verify the overflow page cache. btree-ovfl-cache
authordrh <>
Fri, 12 Apr 2024 13:05:36 +0000 (13:05 +0000)
committerdrh <>
Fri, 12 Apr 2024 13:05:36 +0000 (13:05 +0000)
FossilOrigin-Name: 0ebc65481f4a3e7974558adea51c620a025bc0e76c0a139e549b56c5abe0cabb

manifest
manifest.uuid
src/btree.c

index 070fa270cd4da805fbe962646c2c1ef46caaa99d..17af6203032ee285efe222945ea3b19326d913ec 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C New\sassert()\sstatements\sto\sverify\sthe\scorrectness\sof\sthe\sBTCF_AtLast\sflag\non\sbtree\scursors.
-D 2024-04-12T12:32:09.806
+C Add\sassert()\sstatements\sto\shelp\sverify\sthe\soverflow\spage\scache.
+D 2024-04-12T13:05:36.039
 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
 F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724
@@ -689,7 +689,7 @@ F src/auth.c 19b7ccacae3dfba23fc6f1d0af68134fa216e9040e53b0681b4715445ea030b4
 F src/backup.c 5c97e8023aab1ce14a42387eb3ae00ba5a0644569e3476f38661fa6f824c3523
 F src/bitvec.c 9eac5f42c11914d5ef00a75605bb205e934f435c579687f985f1f8b0995c8645
 F src/btmutex.c 79a43670447eacc651519a429f6ece9fd638563cf95b469d6891185ddae2b522
-F src/btree.c b489280734e3c085774ecc86a07f5ad5b805d86e2cb28650c3b3e141673993d6
+F src/btree.c 8c2d32661d9b3333b5e2192a9baf0f34aaf50224c7e0130bdb96a1e5dee9009c
 F src/btree.h 55066f513eb095db935169dab1dc2f7c7a747ef223c533f5d4ad4dfed346cbd0
 F src/btreeInt.h 98aadb6dcb77b012cab2574d6a728fad56b337fc946839b9898c4b4c969e30b6
 F src/build.c 02f5b25ca854c83b5015cb02b8c9ab236c60b1795528675aee8a5070e58da52a
@@ -2184,8 +2184,8 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93
 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc
 F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e
 F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0
-P 0cf4d835dae260b01178e94e77be6b8a130f2031e898ef79ceba8df6c2bba58f
-R 3352218b957f71135e62b28b93e477b6
+P 4efecd6167de71500c90b63155eba1b8567c90e9d1e282fbea54130f9ee21813
+R 733b2640d8dc44517728193a890baeff
 U drh
-Z 55f6b761ddb19ac9081b9562cfbe54ea
+Z 6194d89088ab528754e159fb92573073
 # Remove this line to create a well-formed Fossil manifest.
index 01cbdd4cd619a741c54b2e3ae468248f4d01da1a..621be8e4f98221e12f1d6a182ef651ef306a35a3 100644 (file)
@@ -1 +1 @@
-4efecd6167de71500c90b63155eba1b8567c90e9d1e282fbea54130f9ee21813
\ No newline at end of file
+0ebc65481f4a3e7974558adea51c620a025bc0e76c0a139e549b56c5abe0cabb
\ No newline at end of file
index 91c9e4fb57878356afd04076c636eff38502486e..756ec942c322550431421b4b64913489469f4d8c 100644 (file)
@@ -5143,6 +5143,10 @@ static int accessPayload(
       memset(pCur->aOverflow, 0, nOvfl*sizeof(Pgno));
       pCur->curFlags |= BTCF_ValidOvfl;
     }else{
+      /* Sanity check the validity of the overflow page cache */
+      assert( pCur->aOverflow[0]==nextPage || pCur->aOverflow[0]==0 );
+      assert( pCur->aOverflow[0]!=0 || pCur->aOverflow[offset/ovflSize]==0 );
+
       /* If the overflow page-list cache has been allocated and the
       ** entry for the first required overflow page is valid, skip
       ** directly to it.