[
https://issues.apache.org/jira/browse/PIG-158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12583896#action_12583896
]
Santhosh Srinivasan commented on PIG-158:
-----------------------------------------
During the course of changing the parser to use the new logical operators, I
encountered the following problem. Since expression operators extend logical
operators, the expression operators require a logical plan to be associated
with . In the logical plan, we will now have expression operators that do not
have any predecessors and thus becoming root nodes. Conceptually, the
expression operators are part of the relational operators and should never be
root nodes in the logical plan.
This leads us back to the original discussion about separation of relational
operators and expression operators. At this point, separation of the two kinds
of operators looks like the right choice, i.e., composition over inheritance.
Implications:
1. Move out the expression operators to Logical Expressions
2. A new visitor to visit the logical expressions
3. The Logical Operator Visitor, LOVisitor will now have an instance of Logical
Expression Visitor (LEVisitor) as a member variable. This will facilitate
visiting expressions that are part of the relational operators. Shravan, has
adopted this approach for the physical operators and expressions.
It would be nice to hear comments/thoughts.
Santhosh
> 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
>
>
> 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.