You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ct...@apache.org on 2015/07/16 20:43:43 UTC

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)

Repository: hive
Updated Branches:
  refs/heads/branch-1 c6079a587 -> e02f95c64


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/e02f95c6
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/e02f95c6
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/e02f95c6

Branch: refs/heads/branch-1
Commit: e02f95c64c29b736eb6593a4501250baede6105a
Parents: c6079a5
Author: ctang <ct...@gmail.com>
Authored: Thu Jul 16 14:34:28 2015 -0400
Committer: ctang <ct...@gmail.com>
Committed: Thu Jul 16 14:41:34 2015 -0400

----------------------------------------------------------------------
 .../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/e02f95c6/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 d8afd74..d0cff08 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;
   }