You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@impala.apache.org by "Aman Sinha (Jira)" <ji...@apache.org> on 2020/07/24 22:34:00 UTC
[jira] [Created] (IMPALA-10008) Optimize planning and code
generation to leverage non-nullable slots
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)