Julian Hyde created OPTIQ-329:
---------------------------------

             Summary: Three-quarter-join: Add flag to JoinRelBase that 
indicates it should eliminate duplicates on right
                 Key: OPTIQ-329
                 URL: https://issues.apache.org/jira/browse/OPTIQ-329
             Project: Optiq
          Issue Type: New Feature
            Reporter: Julian Hyde
            Assignee: Julian Hyde


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?



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to