Aman Sinha created IMPALA-10008:
-----------------------------------
Summary: Optimize planning and code generation to leverage
non-nullable slots
Key: IMPALA-10008
URL: https://issues.apache.org/jira/browse/IMPALA-10008
Project: IMPALA
Issue Type: Improvement
Affects Versions: Impala 3.4.0
Reporter: Aman Sinha
The nullability property of a column/slot should be leveraged to improve both
planning and code generation. During planning, a few different optimizations
could be done. One example is: for predicates like 'a1 IS NOT DISTINCT FROM
a2', if both a1 and a2 are non-nullable, then this predicate can be converted
to an equality predicate. During runtime, this will avoid extra null checks
in the hash join's build and probe side which would normally have been done on
the presumption that the data could have nulls. The generated code has null
checks in various places (for any SlotRef expr) which could be simplified and
hence reduce overhead.
In general, the propagation of nullability property in the plan would make
processing of other predicates ( IS NULL, IS NOT NULL) and expressions (e.g
NULLIF) much more efficient.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)