[ 
https://issues.apache.org/jira/browse/PIG-290?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12612205#action_12612205
 ] 

Santhosh Srinivasan commented on PIG-290:
-----------------------------------------

I should have explained better on my previous comment. The ordering of the 
nodes in the getPredecessor and getSuccessor calls are preserved as long as the 
nodes are not moved around using the disconnect, connect and insertBetween 
calls. I have fixed the insertBetween calls to preserve the right order.

If the original order was A->C and A->D if a new node B was inserted between A 
and C, then previously you would end up with A->D and then A-B->C. Now you will 
have A->B->C and A->D, thus preserving the order for the getPredecessor and 
getSuccessor calls.

> LOCross output schema is not right
> ----------------------------------
>
>                 Key: PIG-290
>                 URL: https://issues.apache.org/jira/browse/PIG-290
>             Project: Pig
>          Issue Type: Bug
>          Components: impl
>    Affects Versions: types_branch
>            Reporter: Pi Song
>            Assignee: Santhosh Srinivasan
>         Attachments: insert_between.patch
>
>
> From the schema generation code:-
> {noformat}
>         List<LogicalOperator> inputs = mPlan.getPredecessors(this);
>             for (LogicalOperator op : inputs) {
>                     // Create schema here
>             }
> {noformat}
> The output schema is generated based on inputs determined in the logical 
> plan. However,  mPlan.getPredecessors() doesn't always preserve the right 
> order  (A x B and B x A result in different schemas). I suggest maintaining 
> mInputs variable in LOCross (as it used to be) to resolve this issue.

-- 
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