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

Shravan Matthur Narayanamurthy commented on PIG-158:
----------------------------------------------------

Somehow, I think I am missing the point. I still don't see the difference 
between instantiating a new visitor because all we still have is access to w 
and currentWalker in this design and the same is available in the other design 
where we have the current visitor and the newly instantiated visitor. The 
difference I see is that the traversal logic is separated out of the visitor as 
a walker and composed into the visitor, which seems to be the right thing to 
do. Other than that I don't see any difference. I must be missing something.

In the old design, we would do something like this in the LOVisitor for filter:

public void visit(LOFilter f)
{
 ExprPlanVisitor epv = new ExprPlanVisitor(f.getExprPlan());
 epv.visit();
}

Even here, we have access to epv and the current visitor. Can someone please 
tell me what can't be done in this case that can be in the visitor/walker?

> 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, logical_operators_rev_1.patch, 
> logical_operators_rev_2.patch, logical_operators_rev_3.patch, 
> visitorWalker.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