[ 
https://issues.apache.org/jira/browse/PIG-118?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alan Gates reassigned PIG-118:
------------------------------

    Assignee: Pi Song

> UNION/CROSS/JOIN operations should not allow 1 operand
> ------------------------------------------------------
>
>                 Key: PIG-118
>                 URL: https://issues.apache.org/jira/browse/PIG-118
>             Project: Pig
>          Issue Type: Bug
>          Components: impl
>    Affects Versions: 0.0.0
>            Reporter: Pi Song
>            Assignee: Pi Song
>             Fix For: 0.1.0
>
>         Attachments: pig_1operand.patch
>
>
> At the moment UNION/CROSS/JOIN allow 1 operand.
> You can write:-
> {noformat}
> b = UNION a ;
> c = CROSS b ;
> d = JOIN c BY $0 ;
> {noformat}
> Possibly UNION with 1 operand might be needed for implementing Sigma-styled 
> union (Ui=1..n An)  but for CROSS/JOIN I think nobody would do such operation.
> By simply replacing "*" with "+" in the parser tree should fix this problem. 
> Should this be fixed?
> {noformat}
> LogicalOperator CrossClause() : {LogicalOperator op; ArrayList<OperatorKey> 
> inputs = new ArrayList<OperatorKey>();}
> {
>       (
>       op = NestedExpr() { inputs.add(op.getOperatorKey()); }
>       ("," op = NestedExpr() { inputs.add(op.getOperatorKey()); })*
>       )
>       {return rewriteCross(inputs);}
> }
> LogicalOperator JoinClause() : {CogroupInput gi; ArrayList<CogroupInput> gis 
> = new ArrayList<CogroupInput>();}
> {
>       (gi = GroupItem() { gis.add(gi); }
>       ("," gi = GroupItem() { gis.add(gi); })*)
>       {return rewriteJoin(gis);}
> }
> LogicalOperator UnionClause() : {LogicalOperator op; ArrayList<OperatorKey> 
> inputs = new ArrayList<OperatorKey>();}
> {
>       (op = NestedExpr() { inputs.add(op.getOperatorKey()); }
>       ("," op = NestedExpr() { inputs.add(op.getOperatorKey()); })*)
>       {return new LOUnion(opTable, scope, getNextId(), inputs);}
> }
> {noformat}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to