]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Evaluate WHERE clause terms that reference only the index before evaluating
authordrh <drh@noemail.net>
Sat, 29 Apr 2017 15:27:04 +0000 (15:27 +0000)
committerdrh <drh@noemail.net>
Sat, 29 Apr 2017 15:27:04 +0000 (15:27 +0000)
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

1  2 
manifest
manifest.uuid

diff --cc manifest
index 8c73ad3567176a024dab51a462cd1a26b9478806,6cc1fccff643d3fbf41cc7517b67af5bf056bc70..bf8f046722dd57b9cb6269c0ec92d4158988e4f6
+++ 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 44877c7f80c23bec73b9867be0f35c0aea47faf4,2939f423e1ae47e15c1ad6786134a16543c5d925..a1924259628ac6b8a76b5b57125e4cdeb7c1e4cd
@@@ -1,1 -1,1 +1,1 @@@
- 2d0b64316d66a362f5891ceb71a1fd8e4607732274b09b0a8472b97eef68ebc2
 -91dfb61a1a25763bb0b5c1e353a9d584bc6de3f6eb445f54202ffe7f6fee6e8d
++d7bb79ed3a40419d143fbe35c310e51fe7b384a22f082a61ad788671d2d33ee0