Details
-
New Feature
-
Status: Closed
-
Major
-
Resolution: Duplicate
-
None
-
None
-
None
Description
Add a flag to JoinRelBase that indicates it should eliminate duplicates on the right-hand side.
This is functionality similar to semi-join operator in relational algebra, and also similar to SemiJoinRel. But:
1. This relational expression has the same row type as the corresponding join whose flag is false. (If it were executed, it would return dummy values (e.g. null or 0) from the fields corresponding to the right-hand input. But in practice its consumer would never ask for these fields.) Having the same row type helps when mixing it in with other join rules.
2. Sub-types of join (e.g. HiveBroadcastJoinRel) would inherit this flag. They might disallow particular values of the flag.
It would be allowed with joinType =
{INNER, LEFT}.
To be decided: If the right input is known not to have duplicates, should the flag be set to true, false, or some other value?
Attachments
Issue Links
- duplicates
-
CALCITE-328 Introduce semi-join-like flag in JoinRelBase
- Open