From: drh Date: Sat, 29 Apr 2017 15:27:04 +0000 (+0000) Subject: Evaluate WHERE clause terms that reference only the index before evaluating X-Git-Tag: version-3.19.0~34 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bc43995f99d3f15aa3cb056068ee7e6b7ca40029;p=thirdparty%2Fsqlite.git Evaluate WHERE clause terms that reference only the index before evaluating terms that require the table, and thereby avoid seeking the table row if index terms are false. This is called the "push-down" optimization in the MySQL world, we are told. FossilOrigin-Name: d7bb79ed3a40419d143fbe35c310e51fe7b384a22f082a61ad788671d2d33ee0 --- bc43995f99d3f15aa3cb056068ee7e6b7ca40029 diff --cc manifest index 8c73ad3567,6cc1fccff6..bf8f046722 --- a/manifest +++ b/manifest @@@ -1,5 -1,5 +1,5 @@@ - C Add\snew\stest\sfile\scachespill.test. - D 2017-04-26T17:21:33.779 -C Minor\ssize\sand\sperformance\simprovements\sto\sthe\spush-down\soptimization. -D 2017-04-29T14:56:55.202 ++C Evaluate\sWHERE\sclause\sterms\sthat\sreference\sonly\sthe\sindex\sbefore\sevaluating\nterms\sthat\srequire\sthe\stable,\sand\sthereby\savoid\sseeking\sthe\stable\srow\sif\nindex\sterms\sare\sfalse.\nThis\sis\scalled\sthe\s"push-down"\soptimization\sin\sthe\sMySQL\sworld,\swe\sare\stold. ++D 2017-04-29T15:27:04.896 F Makefile.in 1cc758ce3374a32425e4d130c2fe7b026b20de5b8843243de75f087c0a2661fb F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434 F Makefile.msc 6a8c838220f7c00820e1fc0ac1bccaaa8e5676067e1dbfa1bafa7a4ffecf8ae6 @@@ -1576,7 -1577,7 +1577,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 63d9ca5c7392e1efe3330689fe750310a952287e843b3242178724e8561fae0e - R c4490df1c59aee5f8635e7285ee6a7e5 - U dan - Z 2b0ae6051b3e0017c3cacc8dc5ffb6e4 -P afe68f0a8060dc5c92cb1fb32a9f22bd36140cd2c0bb5b6cea853e169c5ed444 ++P 2d0b64316d66a362f5891ceb71a1fd8e4607732274b09b0a8472b97eef68ebc2 91dfb61a1a25763bb0b5c1e353a9d584bc6de3f6eb445f54202ffe7f6fee6e8d + R d3fbd82e46a4092d676255e41f20df5b ++T +closed 91dfb61a1a25763bb0b5c1e353a9d584bc6de3f6eb445f54202ffe7f6fee6e8d + U drh -Z bf8e798698af6ed2b80cadbc03ebd2b9 ++Z d8af2da2fe4450264227719b4f172b61 diff --cc manifest.uuid index 44877c7f80,2939f423e1..a192425962 --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - 2d0b64316d66a362f5891ceb71a1fd8e4607732274b09b0a8472b97eef68ebc2 -91dfb61a1a25763bb0b5c1e353a9d584bc6de3f6eb445f54202ffe7f6fee6e8d ++d7bb79ed3a40419d143fbe35c310e51fe7b384a22f082a61ad788671d2d33ee0