[
https://issues.apache.org/jira/browse/HIVE-9322?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14329418#comment-14329418
]
Mithun Radhakrishnan commented on HIVE-9322:
--------------------------------------------
@[~ashutoshc]: You're right about the deja vu. :]
https://issues.apache.org/jira/browse/HIVE-6389?focusedCommentId=13917716&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13917716
(The problem in HIVE-6389 was that we were returning -1, when the data was
NULL, even if it wasn't an integer-map. We discussed the data vs key null-check
as an aside.)
At the moment, the semantics aren't uniform across OIs. {{LazyBinaryMapOI}} and
{{DeepParquetHiveMapOI}} already guard against null-keys, while the others
don't. Wouldn't uniformity be best? In light of your performance concern,
should we consider removing the null-checks in all MapOIs?
I don't think we're changing semantics of what can be stored in a Map because
I'd expect an NPE when writing a null-key (although I might be mistaken). We're
only guarding against non-deterministic behaviour for stuff like:
{code:sql}
SELECT map_column[ string_column ] FROM my_table;
{code}
... in cases where {{string_column IS NULL}}.
> Make null-checks consistent for MapObjectInspector subclasses.
> --------------------------------------------------------------
>
> Key: HIVE-9322
> URL: https://issues.apache.org/jira/browse/HIVE-9322
> Project: Hive
> Issue Type: Bug
> Components: Serializers/Deserializers
> Affects Versions: 0.14.0
> Reporter: Mithun Radhakrishnan
> Assignee: Mithun Radhakrishnan
> Priority: Minor
> Attachments: HIVE-9322.1.patch
>
>
> {{LazyBinaryMapObjectInspector}}, {{DeepParquetHiveMapInspector}}, etc. check
> both the map-column value and the map-key for null, before dereferencing
> them. {{OrcMapObjectInspector}} and {{LazyMapObjectInspector}} do not.
> This patch brings them all in sync. Might not be a real problem, unless (for
> example) the lookup key is itself a (possibly null) value from another column.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)