starrocks icon indicating copy to clipboard operation
starrocks copied to clipboard

[Enhancement] support insert local exchange in parttern exchange->join

Open stdpain opened this issue 1 year ago • 4 comments

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

stdpain avatar Oct 17 '24 07:10 stdpain

[Java-Extensions Incremental Coverage Report]

:white_check_mark: pass : 0 / 0 (0%)

github-actions[bot] avatar Oct 18 '24 08:10 github-actions[bot]

[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% []

github-actions[bot] avatar Oct 18 '24 08:10 github-actions[bot]

[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]

github-actions[bot] avatar Oct 18 '24 08:10 github-actions[bot]

@Mergifyio backport branch-3.3

github-actions[bot] avatar Oct 23 '24 11:10 github-actions[bot]

@Mergifyio backport branch-3.2

github-actions[bot] avatar Oct 23 '24 11:10 github-actions[bot]

backport branch-3.3

✅ Backports have been created

mergify[bot] avatar Oct 23 '24 11:10 mergify[bot]

backport branch-3.2

✅ Backports have been created

mergify[bot] avatar Oct 23 '24 11:10 mergify[bot]