[
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)