From: drh Date: Wed, 13 Sep 2017 00:33:36 +0000 (+0000) Subject: Improvements to PRAGMA integrity_check for better detection of malformed X-Git-Tag: version-3.21.0~92 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d33bcb8a3caf04b512a3ae784f9ea96ead9ff8ec;p=thirdparty%2Fsqlite.git Improvements to PRAGMA integrity_check for better detection of malformed records. Integrity_check now avoids returning SQLITE_CORRUPT on a corrupt record. Also includes microoptimizations that I stumbled over while working on integrity_check. FossilOrigin-Name: 8525c30c1d6676e51b9d9c642450aae3722c129edafdbc39b8435fcfe09b1817 --- d33bcb8a3caf04b512a3ae784f9ea96ead9ff8ec diff --cc manifest index 1e54213d5a,2141adaa03..11fb3c0076 --- a/manifest +++ b/manifest @@@ -1,5 -1,5 +1,5 @@@ - C Fix\stest\sscript\scomment.\s\sNo\schanges\sto\scode. - D 2017-09-13T00:01:26.395 -C PRAGMA\sintegrity_check\sreturns\sSQLITE_OK\seven\sif\sit\sencounters\scorruption\nwhile\sscanning\sindexes. -D 2017-09-13T00:13:05.025 ++C Improvements\sto\sPRAGMA\sintegrity_check\sfor\sbetter\sdetection\sof\smalformed\nrecords.\s\sIntegrity_check\snow\savoids\sreturning\sSQLITE_CORRUPT\son\sa\scorrupt\nrecord.\s\sAlso\sincludes\smicrooptimizations\sthat\sI\sstumbled\sover\swhile\sworking\non\sintegrity_check. ++D 2017-09-13T00:33:36.268 F Makefile.in c644bbe8ebe4aae82ad6783eae6b6beea4c727b99ff97568b847ced5e2ac7afb F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc 6a7a74bf60ad395098c0bd175ab054cd65ef85d7f034198d52bcc4d9e5fb4c6b @@@ -523,9 -523,9 +523,9 @@@ F src/treeview.c 2ee4a5dada213d5ab08a74 F src/trigger.c 48e0f7ed6749ce4d50a695e09e20ce9cf84ecabf2691852c965a51e0b620eccc F src/update.c 5404be9e840717323a69209190cdbc9d0d34adaedaaf1d1a1069babf2c4171c0 F src/utf.c 810fbfebe12359f10bc2a011520a6e10879ab2a163bcb26c74768eab82ea62a5 -F src/util.c 773843506ce694714bc96fe67c30c37015f90ef515d0e70f1f8d5c9c24088152 +F src/util.c ece10cb34b4a62cbb3aab8d711b67e93a2765e0b81d0f72458cb801a3ac60703 F src/vacuum.c 90839322fd5f00df9617eb21b68beda9b6e2a2937576b0d65985e4aeb1c53739 - F src/vdbe.c 82fc4553a0986a06bdd0d2b03a424e159bba5c74802fabb2841aa6cd27ccd962 + F src/vdbe.c 0a0ef7f0759ee4c3ed5ff0c6e9641216d4b31ebb0fea9a7b5a9c4a86ce875ff3 F src/vdbe.h d50cadf12bcf9fb99117ef392ce1ea283aa429270481426b6e8b0280c101fd97 F src/vdbeInt.h 1fe00770144c12c4913128f35262d11527ef3284561baaab59b947a41c08d0d9 F src/vdbeapi.c 9c670ca0dcc1cd86373aa353b747b26fe531ca5cd4331690c611d1f03842e2a1 @@@ -1096,7 -1095,7 +1096,7 @@@ F test/pcache.test c8acbedd3b6fd0f9a7ca F test/pcache2.test af7f3deb1a819f77a6d0d81534e97d1cf62cd442 F test/percentile.test 4243af26b8f3f4555abe166f723715a1f74c77ff F test/permutations.test d911c9ba49088d22054a05dc73743f677872a92ac89288bcdeafa0ebf3f9c531 - F test/pragma.test 277488e8098e55eef32cf3188513269035cccf5a1804d505db7ac4c725fa52a5 -F test/pragma.test 21b5a5c2e44121bb88a009b784b52c4e45b9d726c13963b1f6c38869970e0c95 ++F test/pragma.test c31b5e98998c160a4c85b1e04f590655c67f2daa7f73854640cd120610e3ac15 F test/pragma2.test e5d5c176360c321344249354c0c16aec46214c9f F test/pragma3.test 14c12bc5352b1e100e0b6b44f371053a81ccf8ed F test/pragma4.test 6e85b6eab8e61ffc9c7db59d842276674e8e3264 @@@ -1653,7 -1652,7 +1653,8 @@@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a9 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 - P 3a2793aa65727cbbf8c4678d478cf8fb02350f19ff98201934a984727368d64d - R 1b5d97330475c133bb2adcba21536957 - U mistachkin - Z e62aad7ac8dd39a60ddf24398d01019c -P 99b9140c795c0c17c4e9d2547477c9dac056edfd443f2b2bd70edecd43c49ab7 -R a246d27aca858c3472ea60336e5e6182 ++P a5a1949259a26c3330d7b1dcf38a8dd2e9b2c3af8d52f937e8537df138c9a55a 81f62e99f27dedf3dc10fa1593c4cd9fc158680867206aee853e503a0cc8df71 ++R fccb8367f74d1b5d089bf2ff62c634d9 ++T +closed 81f62e99f27dedf3dc10fa1593c4cd9fc158680867206aee853e503a0cc8df71 + U drh -Z 6a3c45b7e13d2d307b1bb08e00187e8b ++Z 70196bf0d2abbf2ab0f5b4a6633369ee diff --cc manifest.uuid index 8af7c330d1,4b4a5e69ad..b2d34d0136 --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - a5a1949259a26c3330d7b1dcf38a8dd2e9b2c3af8d52f937e8537df138c9a55a -81f62e99f27dedf3dc10fa1593c4cd9fc158680867206aee853e503a0cc8df71 ++8525c30c1d6676e51b9d9c642450aae3722c129edafdbc39b8435fcfe09b1817