EPIC: Implement/investigate other join types
- Dominant language
- Rust
- Stars
- 9.3k
- Forks
- 2.4k
- Avg merge
- 3d 7h
- Merged PRs (30d)
- 344
Description
### Is your feature request related to a problem or challenge?
From http://btw2017.informatik.uni-stuttgart.de/slidesandpapers/F1-10-37/paper_web.pdf
There is this useful overview of join types used by HyPer:
We can investigate the following:
- [ ] Single https://github.com/apache/datafusion/issues/16425
- [ ] Group https://github.com/apache/datafusion/issues/13243
- [x] Right Mark https://github.com/apache/datafusion/issues/13138
### Describe the solution you'd like
Implement these types and use them in the planner to improve performance on TPC-H and TPC-DS queries
### Describe alternatives you've considered
_No response_
### Additional context
_No response_
Contributor guide
Research direction
Start by reading the linked Single issue (16425) and Group issue (13243), then inspect the planner area responsible for join selection. Done means the remaining join types are implemented and used by the planner, with performance evaluated on TPC-H and TPC-DS queries.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust, sql
- Domain
- backend-api-design, databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100