]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
When multiple constraints need to be evaluated for a row, do any constraints
authordrh <drh@noemail.net>
Mon, 10 Jul 2017 17:00:31 +0000 (17:00 +0000)
committerdrh <drh@noemail.net>
Mon, 10 Jul 2017 17:00:31 +0000 (17:00 +0000)
that involve correlated subqueries last.  Hence, the priority is index-covered
constraints first, correlated subquery constraints last, and all others in
the middle.  This is a
follow-on and improvement to the push-down optimization of check-in [d7bb79ed].

FossilOrigin-Name: c4cb90487f34937605732c3959891075e2aabfb0bd05e55c44565d65867093ea

1  2 
manifest
manifest.uuid

diff --cc manifest
index e4b8deb36346676f095cc2801f93e7fef7ea5ffe,d7121fcc182e826c2442cb98a90b03902859c6eb..5e788445168df2b613a37c48fd3a02a7d8d658a9
+++ b/manifest
@@@ -1,5 -1,5 +1,5 @@@
- C For\ssqlite3TreeView()\sdebugging\soutput,\sshow\sthe\sExpr.flags\sfield\son\nscalar\ssubqueries.
- D 2017-07-10T13:24:58.019
 -C Additional\sdebugging\sNoop-comment\sin\sthe\sconstraint\sgenerator\swhen\nwheretrace\sis\senabled.
 -D 2017-07-10T16:38:14.687
++C When\smultiple\sconstraints\sneed\sto\sbe\sevaluated\sfor\sa\srow,\sdo\sany\sconstraints\nthat\sinvolve\scorrelated\ssubqueries\slast.\s\sHence,\sthe\spriority\sis\sindex-covered\nconstraints\sfirst,\scorrelated\ssubquery\sconstraints\slast,\sand\sall\sothers\sin\nthe\smiddle.\s\sThis\sis\sa\nfollow-on\sand\simprovement\sto\sthe\spush-down\soptimization\sof\scheck-in\s[d7bb79ed].
++D 2017-07-10T17:00:31.898
  F Makefile.in 081e48dfe7f995d57ce1a88ddf4d2917b4349158648a6cd45b42beae30de3a12
  F Makefile.linux-gcc 7bc79876b875010e8c8f9502eb935ca92aa3c434
  F Makefile.msc 20850e3e8d4d4791e0531955852d768eb06f24138214870d543abb1a47346fba
@@@ -1628,7 -1628,7 +1628,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 f27b6370407842e2c175ea4aa9ce018723c57eaac0cccc1f8399bc20f33324be
- R fcaff20edc67c3421a07c8a2f98bc875
 -P 38edc6770e54e456500e77389d42fdf39e9a7ed258a4e1fed3c6dd8fdf4dfcb7
++P dc857a96b00f13ffdf77bc222bc5acbbe14a36ca51e5368b568b3177d1be737a 0ca7474f05e9f27f53f8c71f5a3ff99963ffef9be9c147869e096246d552d6f1
+ R 6bf4c162edf7ff6903aaf314bb0ae2fb
++T +closed 0ca7474f05e9f27f53f8c71f5a3ff99963ffef9be9c147869e096246d552d6f1
  U drh
- Z 4c32d3cf2874c5b6c91c344882e30f5e
 -Z 38d25901c93de0cd7a8af907f32d80a9
++Z acda2b95cccbca8a55a4e5255bd0a430
diff --cc manifest.uuid
index 2957a08a1c624d2c0a8a7c86eb31c7d903c8768d,fea24416b7e8ec569560e782e5944d38b42be702..71dc779008a679f1e6c5daed2e20729dd2b39923
@@@ -1,1 -1,1 +1,1 @@@
- dc857a96b00f13ffdf77bc222bc5acbbe14a36ca51e5368b568b3177d1be737a
 -0ca7474f05e9f27f53f8c71f5a3ff99963ffef9be9c147869e096246d552d6f1
++c4cb90487f34937605732c3959891075e2aabfb0bd05e55c44565d65867093ea