[
https://issues.apache.org/jira/browse/HIVE-13807?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jesus Camacho Rodriguez updated HIVE-13807:
-------------------------------------------
Status: Patch Available (was: In Progress)
> Extend metadata provider to pull up predicates through Union
> ------------------------------------------------------------
>
> Key: HIVE-13807
> URL: https://issues.apache.org/jira/browse/HIVE-13807
> Project: Hive
> Issue Type: Sub-task
> Components: CBO
> Affects Versions: 2.1.0
> Reporter: Jesus Camacho Rodriguez
> Assignee: Jesus Camacho Rodriguez
>
> Follow-up of HIVE-13068.
> Currently, when we pull up predicates through Union operation with Calcite
> metadata provider, we just create a single conjunction of pulled up
> predicates.
> E.g. Assume operators _I1, I2, I3_ with predicates {{P1, P2, P3}} that can be
> pulled up through them, respectively.
> For an operation _Union (I1, I2, I3)_ we infer a new predicate {{Pu}}, such
> that {{Pu = P1 OR P2 OR P3}}.
> While this is correct, we miss some chances for simplification e.g. if there
> are common factors in P1, P2, and P3. Further, this inference differs
> slightly from the way that the metadata provider pulls up predicates for
> other operators, thus breaking some assumptions and missing some optimization
> opportunities.
> Ex. ql/src/test/results/clientpositive/input26.q.out
> {noformat}
> explain
> select * from (
> select * from (select * from srcpart a where a.ds = '2008-04-08' and a.hr =
> '11' order by a.key limit 5)pa
> union all
> select * from (select * from srcpart b where b.ds = '2008-04-08' and b.hr =
> '14' limit 5)pb
> )subq
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)