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

Cheolsoo Park commented on PIG-4128:
------------------------------------

[~daijy], I want to say thank you for this patch. One of common mistakes that I 
see is that partition column is long type, and user specifies a filter 
expression like {{<long_parttion_column> == <integer>}}. The partition used to 
be not pushed down in this case because Pig inserts a cast expression into the 
filer expression, and this was always confusing to users. But with your patch, 
this filter expression just works.

> New logical optimizer rule: ConstantCalculator
> ----------------------------------------------
>
>                 Key: PIG-4128
>                 URL: https://issues.apache.org/jira/browse/PIG-4128
>             Project: Pig
>          Issue Type: New Feature
>          Components: impl
>            Reporter: Daniel Dai
>            Assignee: Daniel Dai
>             Fix For: 0.14.0
>
>         Attachments: PIG-4128-1.patch, PIG-4128-2.patch, PIG-4128-3.patch
>
>
> Pig used to have a LogicExpressionSimplifier to simplify expression which 
> also calculates constant expression. The optimizer rule is buggy and we 
> disable it by default in PIG-2316.
> However, we do need this feature especially in partition/predicate push down, 
> since both does not deal with complex constant expression, we'd like to 
> replace the expression with constant before the actual push down. Yes, user 
> may manually do the calculation and rewrite the query, but even rewrite is 
> sometimes not possible. Consider the case user want to push a datetime 
> predicate, user have to write a ToDate udf since Pig does not have datetime 
> constant.
> In this Jira, I provide a new rule: ConstantCalculator, which is much simpler 
> and much less error prone, to replace LogicExpressionSimplifier.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to