fix(query): call walkLogicalPlanTree for inner join/agg plans #1755
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Pull Request checklist
This PR updates
ShardKeyRegexPlanner
andMultiPartitionPlanner
to instead materialize join/aggregation inner plans withwalkLogicalPlanTree
(i.e. instead ofmaterialize
). This allows more than one plan to be returned from the inner plan's materialization; a concatenation plan is no longer required in many cases (most frequently when target-schemas are enabled), and plans can be materialized more optimally.For example, consider the aggregation:
Currently, the plan is materialized as:
After this PR, the plan will instead be materialized with transformers applied directly to the inner plans:
Join behavior is now similar. Consider:
Previously, this query would have been materialized with unnecessary concatenation plans (which artificially inflate a query's
QueryStats
values):Now, it is materialized without the extra concatenations:
Additional Fixes
RemoteExec
plans.