Feature/explain spliced subqueries #10298
Conversation
…ately i had to inject a temporary output variable for the Subquery start.
Jenkins error is 100% unrelated to this pr. |
…ture/upgrade-v8 * 'devel' of https://github.com/arangodb/arangodb: updated CHANGELOG upgrade boost to version 1.71.0 (#10299) Feature/explain spliced subqueries (#10298) Revert "Feature/react webpack testing (#8712)" Feature/react webpack testing (#8712) Bug fix/make result ctor noexcept (#10293) micro optimizations for case conversion (#10291) fix error message (#10281) Add Linux to -Werr (#10294)
…ture/smart-join-views-2 * 'devel' of https://github.com/arangodb/arangodb: (24 commits) url-encode and -decode in place (#10301) updated CHANGELOG upgrade boost to version 1.71.0 (#10299) Feature/explain spliced subqueries (#10298) Revert "Feature/react webpack testing (#8712)" Feature/react webpack testing (#8712) Bug fix/make result ctor noexcept (#10293) micro optimizations for case conversion (#10291) fix error message (#10281) Add Linux to -Werr (#10294) make sure error files get built when arangod is built (#10284) reactivate warnings as errors (#10286) remove extra JSON parser (#10282) don't show "NaN" in web interface for cluster RAM usage (#10283) Bug fix/some future massaging (#10285) pacify Valgrind on shutdown use C++17 [[fallthrough]] (#10280) Remove accidentally committed file Try to use gcc 9.2.0 (#10277) Revert "Try to use gcc 9.2.0" ...
…ture/cpp17-clean-up * 'devel' of https://github.com/arangodb/arangodb: make ccache optional (#10310) abort write transactions (#10248) url-encode and -decode in place (#10301) updated CHANGELOG upgrade boost to version 1.71.0 (#10299) Feature/explain spliced subqueries (#10298) Revert "Feature/react webpack testing (#8712)" Feature/react webpack testing (#8712) Bug fix/make result ctor noexcept (#10293) micro optimizations for case conversion (#10291) fix error message (#10281) Add Linux to -Werr (#10294) make sure error files get built when arangod is built (#10284)
…ture/switch-some-scripts-to-python3 * 'devel' of https://github.com/arangodb/arangodb: (26 commits) upgrade vpack library (#10314) avoid string copies in several cases (#10317) Round index estimates when comparing plan, we do not really care for exact equallity, they should only not be off by much (#10312) make ccache optional (#10310) abort write transactions (#10248) url-encode and -decode in place (#10301) updated CHANGELOG upgrade boost to version 1.71.0 (#10299) Feature/explain spliced subqueries (#10298) Revert "Feature/react webpack testing (#8712)" Feature/react webpack testing (#8712) Bug fix/make result ctor noexcept (#10293) micro optimizations for case conversion (#10291) fix error message (#10281) Add Linux to -Werr (#10294) make sure error files get built when arangod is built (#10284) reactivate warnings as errors (#10286) remove extra JSON parser (#10282) don't show "NaN" in web interface for cluster RAM usage (#10283) Bug fix/some future massaging (#10285) ...
Modified Explain to be able to print spliced (optimized) subqueries within the Explain out.
Unfortunately I had to add an additional variable to the Subquery Start Node, this has potential to be dumped again later. The variable has no "Production" semantics.
Jenkins:
http://jenkins01.arangodb.biz:8080/view/PR/job/arangodb-matrix-pr/6816/
Non-spliced subquery:
Spliced subquery:
NOTE:
The estimated cost is different.
The non-optimized code prints cost within subqueries only for one round trip, and exposes only the total mount of executed subqueries to the following nodes
The optimized code prints cost assumptions accumulated for all subquery executions.
Need discussion if we want to adapt this or not.