Zoltan Haindrich created HIVE-20296:
---------------------------------------
Summary: Improve HivePointLookupOptimizerRule to be able to
extract from more sophisticated contexts
Key: HIVE-20296
URL: https://issues.apache.org/jira/browse/HIVE-20296
Project: Hive
Issue Type: Improvement
Components: Logical Optimizer
Reporter: Zoltan Haindrich
Assignee: Zoltan Haindrich
Currently it could handle conditions in the form:
{code}
( ( a=1 && b=1 && ... ) || (a=2 && b=2 && ...) || ... )
{code}
If there is some noise somewhere in the or like:
{code}
( x=18 || ( a=1 && b=1 && ... ) || (a=2 && b=2 && ...) || ... )
{code}
it stops processing.
https://github.com/apache/hive/blob/2cabb8da150b8fb980223fbd6c2c93b842ca3ee5/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HivePointLookupOptimizerRule.java#L238
HIVE-19097 right now unwinds some ors which can't be packed back; like query15
https://github.com/apache/hive/blob/2cabb8da150b8fb980223fbd6c2c93b842ca3ee5/ql/src/test/queries/clientpositive/perf/query15.q#L14
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)