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

Alan Gates commented on PIG-158:
--------------------------------

A comment on Pi's question

>>1) How do you maintain relations between LOs and dependencies in the abstract 
>>graph layer (OperatorPlan) in the same time?<<

An issue we have with the logical plan is some operators have two kinds of 
inputs, relational operator inputs and expression operator inputs.  Take filter 
as an example.  It has a predecessor operator, which will be a relational 
operator (load, foreach, etc.)  It also has an expression operator, it's 
condition.  We have, for the moment, opted to model that as relational operator 
connections are edges in the LogicalPlan, while expression operator connections 
are made explicit in the code.  So, LOFilter has an ExpressionOperator mCond 
member that tracks its conditional, but it relies on LogicalPlan to maintain 
its connection to its predecessor relational operator.

We have to do something like this because classes like filters need to be able 
to keep track of the semantic difference between their different inputs.  We 
could modify it so that expression operator inputs are still tracked in the 
logical plan.  This would make visiting easier, as all connection would be 
modeled in the graph.  Perhaps this is a good idea.  But LOFilter will still 
have to remember which connection is its conditional.  Thoughts?

> Rework logical plan
> -------------------
>
>                 Key: PIG-158
>                 URL: https://issues.apache.org/jira/browse/PIG-158
>             Project: Pig
>          Issue Type: Sub-task
>          Components: impl
>            Reporter: Alan Gates
>            Assignee: Alan Gates
>         Attachments: logical_operators.patch
>
>
> Rework the logical plan in line with 
> http://wiki.apache.org/pig/PigExecutionModel

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