]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Do not preserve the btreeInitPage() results in PRAGMA integrity_check if
authordrh <drh@noemail.net>
Sat, 4 Jul 2015 11:14:20 +0000 (11:14 +0000)
committerdrh <drh@noemail.net>
Sat, 4 Jul 2015 11:14:20 +0000 (11:14 +0000)
there were cell sizing errors because PRAGMA cell_size_check was turned off
during the btreeInitPage() call.

FossilOrigin-Name: 743bf1f184be316971f2e9c651bcf573bde8654a

manifest
manifest.uuid
src/btree.c

index e4c861b73e0e77f1204d91ff0dc48135e28e5103..786e403a09f3cb398a37ccf45a8c2c88279aff34 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Sync\sup\sMakefile\sclean\stargets\sfor\sFTS5.
-D 2015-07-04T00:04:37.262
+C Do\snot\spreserve\sthe\sbtreeInitPage()\sresults\sin\sPRAGMA\sintegrity_check\sif\nthere\swere\scell\ssizing\serrors\sbecause\sPRAGMA\scell_size_check\swas\sturned\soff\nduring\sthe\sbtreeInitPage()\scall.
+D 2015-07-04T11:14:20.284
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in 017bf0511d1b2dd1db5e16488fbf75a17b526cbc
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -269,7 +269,7 @@ F src/auth.c b56c78ebe40a2110fd361379f7e8162d23f92240
 F src/backup.c 4d9134dc988a87838c06056c89c0e8c4700a0452
 F src/bitvec.c d1f21d7d91690747881f03940584f4cc548c9d3d
 F src/btmutex.c 45a968cc85afed9b5e6cf55bf1f42f8d18107f79
-F src/btree.c 7705ce3e17c2b0cb8d4c3d935b269270d3c2a548
+F src/btree.c 740ab30df845f4a2c2bdb731ed191b4b63b2b2eb
 F src/btree.h 969adc948e89e449220ff0ff724c94bb2a52e9f1
 F src/btreeInt.h 2ad754dd4528baa8d0946a593cc373b890bf859e
 F src/build.c b3f15255d5b16e42dafeaa638fd4f8a47c94ed70
@@ -1364,7 +1364,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh 48bd54594752d5be3337f12c72f28d2080cb630b
 F tool/win/sqlite.vsix deb315d026cc8400325c5863eef847784a219a2f
-P 4e515897af97cb3a4158bcc34318992e8dcee77a
-R 0ed175228476a5c7601d367e38925a77
-U mistachkin
-Z 452e29ca7fd5db2edd7c137285535715
+P 43ead44ef6416d69602e123c3be7a258772837f1
+R a66ab7da98093b47fcf696f0e3baef91
+U drh
+Z 85e64a90850a0b5ecb5f23fb7b4db837
index 1ab45e27376fcf972d21c07e03b8dd1514cbb3f5..6c31177c163b131bcecf4785d50dfc9db2819b44 100644 (file)
@@ -1 +1 @@
-43ead44ef6416d69602e123c3be7a258772837f1
\ No newline at end of file
+743bf1f184be316971f2e9c651bcf573bde8654a
\ No newline at end of file
index 30f24e9129f0c0d11cf39e4ef8420c0dc7f65ea5..f353e8df1fc57faf96941f11cdd2c2196f944014 100644 (file)
@@ -8959,6 +8959,7 @@ static int checkTreePage(
   const char *saved_zPfx = pCheck->zPfx;
   int saved_v1 = pCheck->v1;
   int saved_v2 = pCheck->v2;
+  u8 savedIsInit;
 
   /* Check that the page exists
   */
@@ -8976,6 +8977,7 @@ static int checkTreePage(
 
   /* Clear MemPage.isInit to make sure the corruption detection code in
   ** btreeInitPage() is executed.  */
+  savedIsInit = pPage->isInit;
   pPage->isInit = 0;
   if( (rc = btreeInitPage(pPage))!=0 ){
     assert( rc==SQLITE_CORRUPT );  /* The only possible error from InitPage */
@@ -9168,6 +9170,7 @@ static int checkTreePage(
   }
 
 end_of_check:
+  if( !doCoverageCheck ) pPage->isInit = savedIsInit;
   releasePage(pPage);
   pCheck->zPfx = saved_zPfx;
   pCheck->v1 = saved_v1;