You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by vi...@apache.org on 2015/10/21 23:22:53 UTC
[2/2] hive git commit: HIVE-11216: UDF GenericUDFMapKeys throws NPE
when a null map value is passed in (Yibing Shi via Chaoyu Tang,
reviewed by Szehon Ho
HIVE-11216: UDF GenericUDFMapKeys throws NPE when a null map value is passed in (Yibing Shi via Chaoyu Tang, reviewed by Szehon Ho
Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/6acd7e8a
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/6acd7e8a
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/6acd7e8a
Branch: refs/heads/branch-1.0
Commit: 6acd7e8a96d8b4164d1a08864ba9e08e14da7f70
Parents: b8c5794
Author: ctang <ct...@gmail.com>
Authored: Thu Jul 16 14:34:28 2015 -0400
Committer: vikram <vi...@hortonworks.com>
Committed: Wed Oct 21 14:19:28 2015 -0700
----------------------------------------------------------------------
.../apache/hadoop/hive/ql/udf/generic/GenericUDFMapKeys.java | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hive/blob/6acd7e8a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFMapKeys.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFMapKeys.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFMapKeys.java
index 1d4bcef..b3c8962 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFMapKeys.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFMapKeys.java
@@ -19,6 +19,7 @@
package org.apache.hadoop.hive.ql.udf.generic;
import java.util.ArrayList;
+import java.util.Map;
import org.apache.hadoop.hive.ql.exec.Description;
import org.apache.hadoop.hive.ql.exec.UDFArgumentException;
@@ -61,7 +62,10 @@ public class GenericUDFMapKeys extends GenericUDF {
public Object evaluate(DeferredObject[] arguments) throws HiveException {
retArray.clear();
Object mapObj = arguments[0].get();
- retArray.addAll(mapOI.getMap(mapObj).keySet());
+ Map<?,?> mapVal = mapOI.getMap(mapObj);
+ if (mapVal != null) {
+ retArray.addAll(mapVal.keySet());
+ }
return retArray;
}