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

Santhosh Srinivasan commented on PIG-158:
-----------------------------------------

Shravan,


1) The way to solve the typing problem is to type your class and not the 
function. So the Operator is typed with the type of visitor it uses. So 
Operator<V extends PlanVisitor>. LogicalOperator<V extends LOVisitor> extends 
Operator<LOVisitor>. This makes sure that you are extending a particular type 
of the class and solves the problem of having different visit methods for your 
entire class hierarchy.

[Santhosh] Thanks for the excellent suggestion to use the type information in 
the class. I was able to re-write the classes and reduce the LOVisitor 
considerably. The code looks better and more elegant.

+++

5) What I meant to say was for ex. in LOGenerate, if I say generate Count(A) as 
link_count, Count(B) as link_quality, will the schema reflect the aliases 
link_* ? I was not sure because in many places when you create the new 
FieldSchema, you use null for the alias.

[Santhosh]  I have addressed in all the operators where I could infer the 
alias. There are other places where I could not figure out the alias and left 
it at null. This might need some more thinking.

> 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