Outer Join post-5.0 Improvements
- Dominant language
- C
- Stars
- 12.8k
- Forks
- 794
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 31
Description
Citus 5.0 has partial support for outer join queries. We'd now like to refactor and expand on this feature's scope.
- Design unified join order planner (high priority)
- Implement unified join order planner (high priority)
- Generate replacement for prunable outer join (e.g. join with empty table)
- Do not push down filters on outer join output in re-partition joins
- Create bucket(s) for non-matching values in single-repartition outer joins
- Integration with subqueries
Contributor guide
Research direction
Start by reading the existing Citus 5.0 outer-join support and the join-order planner entry points. Trace each listed area—unified planning, pruning, filter pushdown, non-matching buckets, and subqueries—to determine the affected components. Done requires a design and implementation covering the full scope, with validation for each outer-join case.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, postgresql
- Domain
- databases, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100