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