You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pig.apache.org by "Yan Zhou (JIRA)" <ji...@apache.org> on 2010/07/13 20:25:53 UTC

[jira] Commented: (PIG-1399) Logical Optimizer: Expression optimizor rule

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

Yan Zhou commented on PIG-1399:
-------------------------------

A couple of additional scenarios to be simplified:

5.  equality
Example:
B = filter A by (a0 > 5 and a0 > 5);
=> B = filter A by a0 > 5;


6. complementary OR
Example:
B = filter A by (a0 > 5 OR a0 <= 5);
=> the filtering is removed

Note that by themselves they both look straightforward and may have little value. But used after other simplification rules, it could simplify the end results further but could be not obviously applicable at first place.

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