Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
Semi-join is an important logical relational expression but many query sources (e.g. SqlToRelTranslator) do not generate them. This rule would create SemiJoinRel if it sees a join that aggregates its right input on the join key; a project on top is necessary to be sure that columns from the right side of the join are not being used.
Also, add class JoinInfo and a method on JoinRelBase 'public JoinInfo analyzeCondition()', to make it easier to analyze whether join conditions are equi-joins.
Attachments
Issue Links
- is duplicated by
-
CALCITE-330 Add a rule that converts join-on-aggregate to semi-join
- Closed
- relates to
-
CALCITE-328 Introduce semi-join-like flag in JoinRelBase
- Open