]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Additional steps to help ensure that scalar subqueries are only evaluated
authordrh <drh@noemail.net>
Mon, 31 Dec 2018 20:39:37 +0000 (20:39 +0000)
committerdrh <drh@noemail.net>
Mon, 31 Dec 2018 20:39:37 +0000 (20:39 +0000)
once even if they are used in multiple places within the query.  This fixes
a performance regression reported on the mailing list and caused by
check-in [531eca6104e41e43] which was a fix for ticket
[787fa716be3a7f650c]. Think of this check-in as an improved fix for
that ticket.

FossilOrigin-Name: e130319317e761193890ef75787a3c114b61166f518df019697be8e2c820ec54

1  2 
manifest
manifest.uuid

diff --cc manifest
index c50fdb0addf0afead2a3825957b921baa9e89d91,a2a2d2d0023823da0b169aab2e522f95030f05c6..a66d29db97fd68e094e5b5039a9020d391fda760
+++ b/manifest
@@@ -1,5 -1,5 +1,5 @@@
- C Small\schanges\sto\sthe\sOP_OpenEphemeral\sopcode\sto\simprove\stestability.
- D 2018-12-31T17:58:05.349
 -C Remove\san\soptimization\sthat\scan\sno\slonger\soccur,\sbeing\ssuperceded\sby\sthe\nsubquery-reuse\soptimization.\s\sPut\san\sassert\sin\splace\sof\sthe\soptimization\nto\sdetect\sif\sthe\sneed\sfor\sthis\soptimization\sever\sreturns.
 -D 2018-12-31T20:13:12.301
++C Additional\ssteps\sto\shelp\sensure\sthat\sscalar\ssubqueries\sare\sonly\sevaluated\nonce\seven\sif\sthey\sare\sused\sin\smultiple\splaces\swithin\sthe\squery.\s\sThis\sfixes\na\sperformance\sregression\sreported\son\sthe\smailing\slist\sand\scaused\sby\ncheck-in\s[531eca6104e41e43]\swhich\swas\sa\sfix\sfor\sticket\n[787fa716be3a7f650c].\sThink\sof\sthis\scheck-in\sas\san\simproved\sfix\sfor\nthat\sticket.
++D 2018-12-31T20:39:37.863
  F .fossil-settings/empty-dirs dbb81e8fc0401ac46a1491ab34a7f2c7c0452f2f06b54ebb845d024ca8283ef1
  F .fossil-settings/ignore-glob 35175cdfcf539b2318cb04a9901442804be81cd677d8b889fcc9149c21f239ea
  F Makefile.in d8b254f8bb81bab43c340d70d17dc3babab40fcc8a348c8255881f780a45fee6
@@@ -1795,7 -1795,7 +1795,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 4678cb1044f0b4dc813e48f3bd0f85240a66e2ecf8763280d66726cc031c93a7
- R 19d15b45d6c2a613a85a1505b62bf5ca
 -P 9fb646f29c05bca5f677a2c7c4f45c36bfe0a0c6a88cb7968b4a0459bdd63bb2
++P f856676c8438dbf52d299e78f6dd6148d929755dc05cdcabafd17d9a86439435 4fcdc7a2939457e51aab37cab168677cd7f464a9a0aff4f8981e864a30828b3b
+ R ec7392f6deec1d23ad92b0971adf7e38
++T +closed 4fcdc7a2939457e51aab37cab168677cd7f464a9a0aff4f8981e864a30828b3b
  U drh
- Z fe2d10d5f399fae02e225088d4349735
 -Z 4914e9d7733cf56aae5640f097ed4039
++Z 5fcc6f0e6119eb4a72b2bef9abdccc87
diff --cc manifest.uuid
index 2ecc2fe117360fde0104622885081d8d5f7df825,ae415af0abc076cdbb3ef74c2713c70a386c02be..53c7e8c45e7251e7fa9400ac8d09268579f13ccb
@@@ -1,1 -1,1 +1,1 @@@
- f856676c8438dbf52d299e78f6dd6148d929755dc05cdcabafd17d9a86439435
 -4fcdc7a2939457e51aab37cab168677cd7f464a9a0aff4f8981e864a30828b3b
++e130319317e761193890ef75787a3c114b61166f518df019697be8e2c820ec54