[ https://issues.apache.org/jira/browse/PIG-1399?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12903084#action_12903084 ]
Alan Gates commented on PIG-1399: --------------------------------- Comments # Your extensive comment in the JIRA (https://issues.apache.org/jira/browse/PIG-1399?focusedCommentId=12887923&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_12887923 ) should be in the code, where it will benefit future developers. It should be put in the class comments for LogicalExpressionSimplifier # LogicalExpressionSimplifier is 2000 lines long. It should be broken up to a number of smaller classes. One of the goals of the optimizer redesign was to enable the creation of small, succinct rules. Since much code in here is shared, it may make sense to refactor this into a base class with shared code and implementation classes for each type of transform. # I do not like adding the dnfSplitCounter to LogicalExpression. It would be better to keep this class simple rather than adding members for specific optimizations. The new optimizer has a mechanism to allow annotating nodes in the plan. Will this work for what you need? > Logical Optimizer: Expression optimizor rule > -------------------------------------------- > > Key: PIG-1399 > URL: https://issues.apache.org/jira/browse/PIG-1399 > Project: Pig > Issue Type: Sub-task > Components: impl > Affects Versions: 0.7.0 > Reporter: Daniel Dai > Assignee: Yan Zhou > Fix For: 0.8.0 > > Attachments: PIG-1399.patch, PIG-1399.patch, PIG-1399.patch, > PIG-1399.patch > > > We can optimize expression in several ways: > 1. Constant pre-calculation > Example: > B = filter A by a0 > 5+7; > => B = filter A by a0 > 12; > 2. Boolean expression optimization > Example: > B = filter A by not (not(a0>5) or a>10); > => B = filter A by a0>5 and a<=10; -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.