andygrove opened a new pull request, #7013:
URL: https://github.com/apache/datafusion-comet/pull/7013

   ## Which issue does this PR close?
   
   Part of #6979.
   
   ## Rationale for this change
   
   `PhysicalPlanner::create_plan` builds most operators inline, which makes 
`planner.rs` the most frequently edited file in the native code and a regular 
source of merge conflicts. #6979 proposes finishing the move onto 
`OperatorRegistry`, one operator family per PR. This is the fourth of five PRs 
for its first sub-task, which moves the largest `create_plan` arms.
   
   ## What changes are included in this PR?
   
   Stacked on #7012, so until that merges this PR also contains its commits. 
The change here is the last commit, 09390bc43bc157a46219d2c3e3063c1bc03916c0.
   
   - Move the `HashJoin`, `SortMergeJoin` and `BroadcastNestedLoopJoin` arms of 
`create_plan` into builders in a new `planner/join.rs`.
   - Move the helpers they use along with them: `parse_join_parameters` and 
`JoinParameters`, which build the join keys and filter for all three joins, the 
join-filter column rewriting (`expr_to_columns`, `JoinFilterRewriter` and 
`rewrite_physical_expr`), `strip_timestamp_tz` for sort-merge join keys, and 
the runtime-filter helpers `prepare_probe_for_runtime_filters` and 
`apply_join_dynamic_filter`.
   - Add `OperatorType::BroadcastNestedLoopJoin` and register the three 
builders.
   
   #6979 lists `BroadcastNestedLoopJoin` under its second sub-task. It moves 
here because it shares `parse_join_parameters` with the other two joins.
   
   The moved code is unchanged apart from `self` becoming `planner` in the 
builders and rustfmt reflowing the dedented lines. `git show 
--color-moved=zebra --color-moved-ws=allow-indentation-change` marks almost all 
of the removed lines as moved.
   
   ## How are these changes tested?
   
   This moves code without changing behavior, so it relies on the existing 
tests:
   
   - `cargo fmt --all -- --check`
   - `cargo clippy --color=never --all-targets --workspace -- -D warnings`
   - `cargo test -p datafusion-comet --lib` (874 passed, 5 ignored)
   - `./mvnw test -Dtest=none -Dsuites="org.apache.comet.exec.CometJoinSuite"` 
(84 passed)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to