apache / apache/beam

Do not convert a join that we cannot support

Open
#18,277 0 comments 0 reactions 0 assignees View on GitHub
dsl good first issue P3 sql sub-task
Dominant language
Java
Stars
8.7k
Forks
4.7k
Avg merge
1d 20h
Merged PRs (30d)
196

Description

The BeamJoinRule matches all LogicalJoin operators. If we make it not match a full join then Calcite should look for a different plan when it converts to BeamLogicalConvention. That is a good step to make sure we can support things and also force the logical optimizer to choose non-full joins.

Imported from Jira [BEAM-4439](https://issues.apache.org/jira/browse/BEAM-4439). Original Jira may contain additional context.
Reported by: kenn.
Subtask of issue #18276

Contributor guide

Open the contributing guide

Research direction

Start with BeamJoinRule and its handling of LogicalJoin operators when converting to BeamLogicalConvention. Check how excluding full joins affects the planner's alternative plans and confirms that unsupported full joins are no longer converted; issue #18276 provides the parent context.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, sql
Domain
databases
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.