From: drh Date: Mon, 31 Dec 2018 20:39:37 +0000 (+0000) Subject: Additional steps to help ensure that scalar subqueries are only evaluated X-Git-Tag: version-3.27.0~224 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=f01dae1f3218f6ff16ad3004554ab6bcede33cd8;p=thirdparty%2Fsqlite.git Additional steps to help ensure that scalar subqueries are only evaluated 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 --- f01dae1f3218f6ff16ad3004554ab6bcede33cd8 diff --cc manifest index c50fdb0add,a2a2d2d002..a66d29db97 --- a/manifest +++ 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 2ecc2fe117,ae415af0ab..53c7e8c45e --- a/manifest.uuid +++ b/manifest.uuid @@@ -1,1 -1,1 +1,1 @@@ - f856676c8438dbf52d299e78f6dd6148d929755dc05cdcabafd17d9a86439435 -4fcdc7a2939457e51aab37cab168677cd7f464a9a0aff4f8981e864a30828b3b ++e130319317e761193890ef75787a3c114b61166f518df019697be8e2c820ec54