starrocks
starrocks copied to clipboard
[Enhancement] support insert local exchange in parttern exchange->join
Why I'm doing:
set hash_join_interpolate_passthrough=true;
mysql> select count(lo_orderkey),count(y.k) from lineorder l right join ( select s_suppkey
from supplier where s_suppkey < 2 ) r on l.lo_orderkey % 2 = r.s_suppkey left join [
shuffl
+--------------------+------------+
| count(lo_orderkey) | count(y.k) |
+--------------------+------------+
| 300035459 | 12 |
+--------------------+------------+
1 row in set (4.01 sec)
set hash_join_interpolate_passthrough=false;
mysql> select count(lo_orderkey),count(y.k) from lineorder l right join ( select s_suppkey
from supplier where s_suppkey < 2 ) r on l.lo_orderkey % 2 = r.s_suppkey left join [shuffle]( select "1" k union all select "1" k ) y on y.k=lo_orderkey;
+--------------------+------------+
| count(lo_orderkey) | count(y.k) |
+--------------------+------------+
| 300035459 | 12 |
+--------------------+------------+
1 row in set (18.71 sec)
What I'm doing:
Fixes #issue
What type of PR is this:
- [ ] BugFix
- [ ] Feature
- [x] Enhancement
- [ ] Refactor
- [ ] UT
- [ ] Doc
- [ ] Tool
Does this PR entail a change in behavior?
- [ ] Yes, this PR will result in a change in behavior.
- [x] No, this PR will not result in a change in behavior.
If yes, please specify the type of change:
- [ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
- [ ] Parameter changes: default values, similar parameters but with different default values
- [ ] Policy changes: use new policy to replace old one, functionality automatically enabled
- [ ] Feature removed
- [ ] Miscellaneous: upgrade & downgrade compatibility, etc.
Checklist:
- [x] I have added test cases for my bug fix or my new feature
- [ ] This pr needs user documentation (for new or modified features or behaviors)
- [ ] I have added documentation for my new feature or new function
- [ ] This is a backport pr
Bugfix cherry-pick branch check:
- [x] I have checked the version labels which the pr will be auto-backported to the target branch
- [x] 3.3
- [x] 3.2
- [ ] 3.1
- [ ] 3.0
- [ ] 2.5
Quality Gate passed
Issues
2 New issues
0 Accepted issues
Measures
0 Security Hotspots
0.0% Coverage on New Code
0.0% Duplication on New Code
[Java-Extensions Incremental Coverage Report]
:white_check_mark: pass : 0 / 0 (0%)
[FE Incremental Coverage Report]
:white_check_mark: pass : 10 / 11 (90.91%)
file detail
| path | covered_line | new_line | coverage | not_covered_line_detail | |
|---|---|---|---|---|---|
| :large_blue_circle: | com/starrocks/planner/NestLoopJoinNode.java | 2 | 3 | 66.67% | [131] |
| :large_blue_circle: | com/starrocks/sql/optimizer/rule/tree/JoinLocalShuffleRule.java | 4 | 4 | 100.00% | [] |
| :large_blue_circle: | com/starrocks/sql/plan/PlanFragmentBuilder.java | 1 | 1 | 100.00% | [] |
| :large_blue_circle: | com/starrocks/sql/optimizer/operator/physical/PhysicalJoinOperator.java | 3 | 3 | 100.00% | [] |
[BE Incremental Coverage Report]
:x: fail : 3 / 5 (60.00%)
file detail
| path | covered_line | new_line | coverage | not_covered_line_detail | |
|---|---|---|---|---|---|
| :large_blue_circle: | be/src/exec/cross_join_node.cpp | 3 | 5 | 60.00% | [627, 628] |
@Mergifyio backport branch-3.3
@Mergifyio backport branch-3.2
backport branch-3.3
✅ Backports have been created
- #52249 [Enhancement] support insert local exchange in parttern exchange->join (backport #52021) has been created for branch
branch-3.3
backport branch-3.2
✅ Backports have been created
- #52250 [Enhancement] support insert local exchange in parttern exchange->join (backport #52021) has been created for branch
branch-3.2