[ https://issues.apache.org/jira/browse/HIVE-1538?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12965567#action_12965567 ]
Amareshwari Sriramadasu commented on HIVE-1538: ----------------------------------------------- bq. In ExprWalkerProcFactory.java line 291, bq. } else if (!FunctionRegistry.isOpAnd(expr)) { bq. why this is needed? For example, what will happen if it is a OpNot? If it is an opAnd, we determine if its children are final predicates and add them accordingly, so I'm not adding an opAnd to non-final candidates. The exceptional behavior is only for opAnd. opNot is like anyother predicate. bq.In OpProcFactory, why there is a createFilter in ScriptPPD, JoinPPD, and DefaultPPD? There is createFilter for the unpushed predicates because, ScriptPPD does not allow any predicates to be pushed through it; JoinPPD does not allow predicates on some aliases to be pushed; DefaultPPD might have unpushed predicates because they were not candidates (for ex, ExtractOperator does not allow all predicates) . bq. also in OpProcFactory bq.if (!((FilterOperator)op).getConf().getIsSamplingPred()) { bq. can we just look at the parent to see if it is a tso? The method createFilter() always creates filter with samplingPred as false. So right now, we cannot push a filter with sampling predicate, unless we make more changes. May be I should change the comment there. > FilterOperator is applied twice with ppd on. > -------------------------------------------- > > Key: HIVE-1538 > URL: https://issues.apache.org/jira/browse/HIVE-1538 > Project: Hive > Issue Type: Bug > Components: Query Processor > Reporter: Amareshwari Sriramadasu > Assignee: Amareshwari Sriramadasu > Fix For: 0.7.0 > > Attachments: patch-1538.txt > > > With hive.optimize.ppd set to true, FilterOperator is applied twice. And it > seems second operator is always filtering zero rows. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.