You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by cw...@apache.org on 2012/03/07 11:11:04 UTC
svn commit: r1297919 [2/2] - in /hive/trunk: data/files/
ql/src/java/org/apache/hadoop/hive/ql/exec/
ql/src/java/org/apache/hadoop/hive/ql/exec/persistence/
ql/src/java/org/apache/hadoop/hive/ql/optimizer/
ql/src/java/org/apache/hadoop/hive/ql/optimize...
Modified: hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/SerDeUtils.java
URL: http://svn.apache.org/viewvc/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/SerDeUtils.java?rev=1297919&r1=1297918&r2=1297919&view=diff
==============================================================================
--- hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/SerDeUtils.java (original)
+++ hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/SerDeUtils.java Wed Mar 7 10:11:03 2012
@@ -30,6 +30,7 @@ import org.apache.hadoop.hive.serde2.obj
import org.apache.hadoop.hive.serde2.objectinspector.MapObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector;
+import org.apache.hadoop.hive.serde2.objectinspector.StandardStructObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.StructField;
import org.apache.hadoop.hive.serde2.objectinspector.StructObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.UnionObjectInspector;
@@ -372,6 +373,20 @@ public final class SerDeUtils {
}
/**
+ * return false though element is null if nullsafe flag is true for that
+ */
+ public static boolean hasAnyNullObject(List o, StandardStructObjectInspector loi,
+ boolean[] nullSafes) {
+ List<? extends StructField> fields = loi.getAllStructFieldRefs();
+ for (int i = 0; i < o.size();i++) {
+ if ((nullSafes == null || !nullSafes[i])
+ && hasAnyNullObject(o.get(i), fields.get(i).getFieldObjectInspector())) {
+ return true;
+ }
+ }
+ return false;
+ }
+ /**
* True if Object passed is representing null object.
*
* @param o The object