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