From: drh Date: Sat, 28 Dec 2019 03:55:50 +0000 (+0000) Subject: Fix a faulty assert() associated with query search limiting query plans. X-Git-Tag: version-3.31.0~129 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9a1f2e48534f614638ed86bb3d66b0f2f735d900;p=thirdparty%2Fsqlite.git Fix a faulty assert() associated with query search limiting query plans. FossilOrigin-Name: 0d743585c242ebd898b232f42937a2306752aaed0a6756705e3ef1cf7593aa97 --- diff --git a/manifest b/manifest index 7d9ce31808..6845962ad3 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -C Convert\san\sassert()\sback\sinto\sa\sconditional.\s\sThe\sconditional\swas\sconverted\ninto\san\sassert()\sby\scheck-in\s[6ae4ad6ebee4db88]\s(2009-05-28)\sbecause\swe\swere\nunable\sto\sfind\sa\stest\scase\sfor\sit.\s\sYongheng's\sfuzzer\sjust\snow\nfound\sthat\stest\scase. -D 2019-12-28T02:40:49.716 +C Fix\sa\sfaulty\sassert()\sassociated\swith\squery\ssearch\slimiting\squery\splans. +D 2019-12-28T03:55:50.593 F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1 F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea F LICENSE.md df5091916dbb40e6e9686186587125e1b2ff51f022cc334e886c19a0e9982724 @@ -614,7 +614,7 @@ F src/vxworks.h d2988f4e5a61a4dfe82c6524dd3d6e4f2ce3cdb9 F src/wal.c 15a2845769f51ba132f9cf0b2c7a6887a91fc8437892dbcce9fcdc68b66d60a1 F src/wal.h 606292549f5a7be50b6227bd685fa76e3a4affad71bb8ac5ce4cb5c79f6a176a F src/walker.c a137468bf36c92e64d2275caa80c83902e3a0fc59273591b96c6416d3253d05d -F src/where.c e221a612fbf63266e9fc00914fb6a511024167c16e4938a5b247b0d41ea15610 +F src/where.c 2796f052b577e0c28d9e05e7fcbe30917af4a1263117b36a49d99feb01d5e851 F src/whereInt.h 4a296fd4fa79fdcbc2b5e8c1b898901617655811223e1082b899c23ecb092217 F src/wherecode.c d42d3e0fe93786621b84dec8065e1dc6b324d7c5934df52f141555843b6aef4e F src/whereexpr.c 4b34be1434183e7bb8a05d4bf42bd53ea53021b0b060936fbd12062b4ff6b396 @@ -1853,7 +1853,7 @@ F vsixtest/vsixtest.tcl 6a9a6ab600c25a91a7acc6293828957a386a8a93 F vsixtest/vsixtest.vcxproj.data 2ed517e100c66dc455b492e1a33350c1b20fbcdc F vsixtest/vsixtest.vcxproj.filters 37e51ffedcdb064aad6ff33b6148725226cd608e F vsixtest/vsixtest_TemporaryKey.pfx e5b1b036facdb453873e7084e1cae9102ccc67a0 -P 6afadd3b3a40b0ef29fd14fb24c2a4b9479483e5f8b9125ce02d8daae662207f -R 4b3499031b2124e5f56fb355fbad44a0 +P 4d0b9109f7a5312d4e136395e08b11dad64d746bc106ad44d47675e5b1dcb4ef +R e95563f4007b963558ff78573e278f30 U drh -Z cf16da0339b8c2d85e2898cd693cab42 +Z b10e6aae64694b8f3d461ddceec41120 diff --git a/manifest.uuid b/manifest.uuid index 2c1dd43d79..27ed8f0e56 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -4d0b9109f7a5312d4e136395e08b11dad64d746bc106ad44d47675e5b1dcb4ef \ No newline at end of file +0d743585c242ebd898b232f42937a2306752aaed0a6756705e3ef1cf7593aa97 \ No newline at end of file diff --git a/src/where.c b/src/where.c index d2ff9e3cec..e2c31c64c8 100644 --- a/src/where.c +++ b/src/where.c @@ -3502,7 +3502,8 @@ static int whereLoopAddOr( if( rc==SQLITE_OK ){ rc = whereLoopAddOr(&sSubBuild, mPrereq, mUnusable); } - assert( rc==SQLITE_OK || sCur.n==0 ); + assert( rc==SQLITE_OK || rc==SQLITE_DONE || sCur.n==0 ); + testcase( rc==SQLITE_DONE ); if( sCur.n==0 ){ sSum.n = 0; break;