[
https://issues.apache.org/jira/browse/HIVE-30036?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18113912#comment-18113912
]
Thomas Rebele commented on HIVE-30036:
--------------------------------------
In the similar query 48, a prefilter has been [pushed
down|https://github.com/apache/hive/blob/2be30b71b6a112edde13d2ea1a11144b5abf1c04/ql/src/test/results/clientpositive/perf/tpcds30tb/tez/cbo_query48.q.out#L14]
for ss_sales_price, but not for ss_net_profit.
> Prefilter pushdown for range predicates
> ---------------------------------------
>
> Key: HIVE-30036
> URL: https://issues.apache.org/jira/browse/HIVE-30036
> Project: Hive
> Issue Type: Improvement
> Reporter: Thomas Rebele
> Priority: Major
>
> I noticed that in query13.q for most tables a prefilter is extracted from the
> complex {{AND(OR(AND(...), ...), OR(AND(...), ...)}} filter of the
> selectivity. However, for table store_sales [only some IS NULL
> filters|https://github.com/apache/hive/blob/2be30b71b6a112edde13d2ea1a11144b5abf1c04/ql/src/test/results/clientpositive/perf/tpcds30tb/tez/cbo_query13.q.out#L9]
> are extracted, even though it would be possible to combine the predicates on
> ss_sales_price and ss_net_profit to ss_sales_price BETWEEN 50.00 AND 200.00
> and ss_net_profit BETWEEN 50 AND 300. Especially the latter can reduce the
> amount of processed rows.
> I replaced the {{field BETWEEN a_1 AND b_1}} with {{{}field >= a_1 AND field
> <= b_1{}}}, which is not pushed down either. When I remove the upper bound,
> i.e., {{{}field >= a_1{}}}, then the common part {{field >= min(a_1, a_2,
> ...)}} is pushed down as a prefilter.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)