Support full outer join - #10947
Conversation
close pingcap#10777 Support full outer join - support full outer join protocol / join kind plumbing - guard unsupported cartesian full outer join cases - make full join output schemas nullable where needed - support full join with non-equal other conditions - fix full join other-condition execution path - add targeted tests and design notes Signed-off-by: xufei <xufeixw@mail.ustc.edu.cn>
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughThis PR adds full outer join support to TiFlash. It maps ChangesFull Outer Join Support
Estimated code review effort: 4 (Complex) | ~75 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
/run-check-issue-triage-complete |
|
/run pull-integration-test |
|
/test pull-unit-test |
|
/test pull-integration-test |
Co-authored-by: xufei <xufei@pingcap.com>
Co-authored-by: xufei <xufei@pingcap.com>
Signed-off-by: xufei <xufeixw@mail.ustc.edu.cn>
What problem does this PR solve?
Issue Number: close #10777
Problem Summary:
Support FULL OUTER JOIN pushdown to TiFlash for equi-join cases.
What is changed and how it works?
This PR adds TiFlash support for FULL OUTER JOIN in the hash join path with non-empty equi join keys. It wires the DAG join type mapping, nullable schema handling, condition validation, and execution paths needed by FULL OUTER JOIN.
Key changes:
ASTTableJoin::Kind::Full.FULL OUTER JOIN + other conditioncorrectness by using row-flagged map behavior so build-side used marks are applied only afterother conditionpasses.Check List
Tests
Side effects
Documentation
Release note
Summary by CodeRabbit
New Features
Bug Fixes
Documentation
Tests