You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by da...@apache.org on 2014/10/17 23:29:18 UTC

svn commit: r1632673 - in /pig/trunk: ./ contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/ contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/ contrib/piggybank/java/src/main/java/org/apach...

Author: daijy
Date: Fri Oct 17 21:29:17 2014
New Revision: 1632673

URL: http://svn.apache.org/r1632673
Log:
PIG-4184: UDF backward compatibility issue after POStatus.STATUS_NULL refactory

Modified:
    pig/trunk/CHANGES.txt
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/ExtremalTupleByNthField.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/CustomFormatToISO.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/ISOToUnix.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/UnixToISO.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISODaysBetween.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOHoursBetween.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOMinutesBetween.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOMonthsBetween.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOSecondsBetween.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOYearsBetween.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToDay.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToHour.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToMinute.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToMonth.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToSecond.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToWeek.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToYear.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/ABS.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleAbs.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleCopySign.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleGetExponent.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleNextAfter.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleNextup.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleRound.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleSignum.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleUlp.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatAbs.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatCopySign.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatGetExponent.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatMax.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatMin.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatNextAfter.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatNextup.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatRound.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatSignum.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatUlp.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/IntAbs.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/IntMax.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/IntMin.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/LongAbs.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/LongMax.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/LongMin.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/NEXTUP.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/ROUND.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/SCALB.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/SIGNUM.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/ULP.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/copySign.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/getExponent.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/nextAfter.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/HashFNV2.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/RegexExtract.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/RegexExtractAll.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/RegexMatch.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/util/apachelogparser/DateExtractor.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/util/apachelogparser/HostExtractor.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/util/apachelogparser/SearchEngineExtractor.java
    pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/xml/XPath.java
    pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/POUserFunc.java
    pig/trunk/src/org/apache/pig/builtin/ABS.java
    pig/trunk/src/org/apache/pig/builtin/BigDecimalAbs.java
    pig/trunk/src/org/apache/pig/builtin/BigIntegerAbs.java
    pig/trunk/src/org/apache/pig/builtin/DoubleRound.java
    pig/trunk/src/org/apache/pig/builtin/FloatRound.java
    pig/trunk/src/org/apache/pig/builtin/ROUND.java
    pig/trunk/test/org/apache/pig/test/TestUDF.java

Modified: pig/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Fri Oct 17 21:29:17 2014
@@ -94,6 +94,8 @@ OPTIMIZATIONS
  
 BUG FIXES
 
+PIG-4184: UDF backward compatibility issue after POStatus.STATUS_NULL refactory (daijy)
+
 PIG-4238: Property 'pig.job.converted.fetch' should be unset when fetch finishes (lbendig)
 
 PIG-4151: Pig Cannot Write Empty Maps to HBase (daijy)

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/ExtremalTupleByNthField.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/ExtremalTupleByNthField.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/ExtremalTupleByNthField.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/ExtremalTupleByNthField.java Fri Oct 17 21:29:17 2014
@@ -289,6 +289,9 @@ public class ExtremalTupleByNthField ext
 	@SuppressWarnings("unchecked")
 	protected final static Tuple extreme(int pind, int psign, Tuple input,
 			PigProgressable reporter) throws ExecException {
+	    if (input == null || input.size() == 0 || input.get(0) == null) {
+	        return null;
+	    }
 		DataBag values = (DataBag) input.get(0);
 
 		// if we were handed an empty bag, return NULL

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/CustomFormatToISO.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/CustomFormatToISO.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/CustomFormatToISO.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/CustomFormatToISO.java Fri Oct 17 21:29:17 2014
@@ -76,6 +76,9 @@ public class CustomFormatToISO extends E
             return null;
         }
 
+        if (input.get(0) == null || input.get(1) == null) {
+            return null;
+        }
         // Set the time to default or the output is in UTC
         DateTimeZone.setDefault(DateTimeZone.UTC);
 

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/ISOToUnix.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/ISOToUnix.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/ISOToUnix.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/ISOToUnix.java Fri Oct 17 21:29:17 2014
@@ -77,7 +77,7 @@ public class ISOToUnix extends EvalFunc<
     @Override
     public Long exec(Tuple input) throws IOException
     {
-        if (input == null || input.size() < 1) {
+        if (input == null || input.size() < 1 || input.get(0) == null) {
             return null;
         }
         

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/UnixToISO.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/UnixToISO.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/UnixToISO.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/convert/UnixToISO.java Fri Oct 17 21:29:17 2014
@@ -77,7 +77,7 @@ public class UnixToISO extends EvalFunc<
     @Override
     public String exec(Tuple input) throws IOException
     {
-        if (input == null || input.size() < 1) {
+        if (input == null || input.size() < 1 || input.get(0) == null) {
             return null;
         }
         

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISODaysBetween.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISODaysBetween.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISODaysBetween.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISODaysBetween.java Fri Oct 17 21:29:17 2014
@@ -93,6 +93,9 @@ public class ISODaysBetween extends Eval
             return null;
         }
 
+        if (input.get(0) == null || input.get(1) == null) {
+            return null;
+        }
         // Set the time to default or the output is in UTC
         DateTimeZone.setDefault(DateTimeZone.UTC);
 

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOHoursBetween.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOHoursBetween.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOHoursBetween.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOHoursBetween.java Fri Oct 17 21:29:17 2014
@@ -88,7 +88,10 @@ public class ISOHoursBetween extends Eva
         if (input == null || input.size() < 2) {
             return null;
         }
-        
+
+        if (input.get(0) == null || input.get(1) == null) {
+            return null;
+        }
         // Set the time to default or the output is in UTC
         DateTimeZone.setDefault(DateTimeZone.UTC);
 

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOMinutesBetween.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOMinutesBetween.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOMinutesBetween.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOMinutesBetween.java Fri Oct 17 21:29:17 2014
@@ -88,7 +88,10 @@ public class ISOMinutesBetween extends E
         if (input == null || input.size() < 2) {
             return null;
         }
-        
+
+        if (input.get(0) == null || input.get(1) == null) {
+            return null;
+        }
         // Set the time to default or the output is in UTC
         DateTimeZone.setDefault(DateTimeZone.UTC);
 

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOMonthsBetween.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOMonthsBetween.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOMonthsBetween.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOMonthsBetween.java Fri Oct 17 21:29:17 2014
@@ -91,7 +91,10 @@ public class ISOMonthsBetween extends Ev
         if (input == null || input.size() < 2) {
             return null;
         }
-        
+
+        if (input.get(0) == null || input.get(1) == null) {
+            return null;
+        }
         // Set the time to default or the output is in UTC
         DateTimeZone.setDefault(DateTimeZone.UTC);
 

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOSecondsBetween.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOSecondsBetween.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOSecondsBetween.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOSecondsBetween.java Fri Oct 17 21:29:17 2014
@@ -87,7 +87,10 @@ public class ISOSecondsBetween extends E
         if (input == null || input.size() < 2) {
             return null;
         }
-        
+
+        if (input.get(0) == null || input.get(1) == null) {
+            return null;
+        }
         // Set the time to default or the output is in UTC
         DateTimeZone.setDefault(DateTimeZone.UTC);
 

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOYearsBetween.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOYearsBetween.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOYearsBetween.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/diff/ISOYearsBetween.java Fri Oct 17 21:29:17 2014
@@ -88,7 +88,10 @@ public class ISOYearsBetween extends Eva
         if (input == null || input.size() < 2) {
             return null;
         }
-        
+
+        if (input.get(0) == null || input.get(1) == null) {
+            return null;
+        }
         // Set the time to default or the output is in UTC
         DateTimeZone.setDefault(DateTimeZone.UTC);
 

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToDay.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToDay.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToDay.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToDay.java Fri Oct 17 21:29:17 2014
@@ -84,7 +84,7 @@ public class ISOToDay extends EvalFunc<S
     
     @Override
     public String exec(Tuple input) throws IOException {
-        if (input == null || input.size() < 1) {
+        if (input == null || input.size() < 1 || input.get(0) == null) {
             return null;
         }
 

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToHour.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToHour.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToHour.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToHour.java Fri Oct 17 21:29:17 2014
@@ -84,7 +84,7 @@ public class ISOToHour extends EvalFunc<
 
     @Override
     public String exec(Tuple input) throws IOException {
-        if (input == null || input.size() < 1) {
+        if (input == null || input.size() < 1 || input.get(0) == null) {
             return null;
         }        
 

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToMinute.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToMinute.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToMinute.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToMinute.java Fri Oct 17 21:29:17 2014
@@ -84,7 +84,7 @@ public class ISOToMinute extends EvalFun
 
     @Override
     public String exec(Tuple input) throws IOException {
-        if (input == null || input.size() < 1) {
+        if (input == null || input.size() < 1 || input.get(0) == null) {
             return null;
         }
 

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToMonth.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToMonth.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToMonth.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToMonth.java Fri Oct 17 21:29:17 2014
@@ -85,7 +85,7 @@ public class ISOToMonth extends EvalFunc
 
     @Override
     public String exec(Tuple input) throws IOException {
-        if (input == null || input.size() < 1) {
+        if (input == null || input.size() < 1 || input.get(0) == null) {
             return null;
         }
 

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToSecond.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToSecond.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToSecond.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToSecond.java Fri Oct 17 21:29:17 2014
@@ -85,7 +85,7 @@ public class ISOToSecond extends EvalFun
 
     @Override
     public String exec(Tuple input) throws IOException {
-        if (input == null || input.size() < 1) {
+        if (input == null || input.size() < 1 || input.get(0) == null) {
             return null;
         }
 

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToWeek.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToWeek.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToWeek.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToWeek.java Fri Oct 17 21:29:17 2014
@@ -86,7 +86,7 @@ public class ISOToWeek extends EvalFunc<
 
     @Override
     public String exec(Tuple input) throws IOException {
-        if (input == null || input.size() < 1) {
+        if (input == null || input.size() < 1 || input.get(0) == null) {
             return null;
         }
 

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToYear.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToYear.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToYear.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/datetime/truncate/ISOToYear.java Fri Oct 17 21:29:17 2014
@@ -85,7 +85,7 @@ public class ISOToYear extends EvalFunc<
 
     @Override
     public String exec(Tuple input) throws IOException {
-        if (input == null || input.size() < 1) {
+        if (input == null || input.size() < 1 || input.get(0) == null) {
             return null;
         }
 

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/ABS.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/ABS.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/ABS.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/ABS.java Fri Oct 17 21:29:17 2014
@@ -71,7 +71,7 @@ public class ABS extends EvalFunc<Double
 	 * @param output returns a single numeric value, absolute value of the argument
 	 */
 	public Double exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0)
+        if (input == null || input.size() == 0 || input.get(0) == null)
             return null;
 
         Double d;

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleAbs.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleAbs.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleAbs.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleAbs.java Fri Oct 17 21:29:17 2014
@@ -67,7 +67,7 @@ public class DoubleAbs extends EvalFunc<
 	 * @param output returns a single numeric value, absolute value of the argument
 	 */
 	public Double exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0)
+        if (input == null || input.size() == 0 || input.get(0) == null)
             return null;
 
         Double d;

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleCopySign.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleCopySign.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleCopySign.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleCopySign.java Fri Oct 17 21:29:17 2014
@@ -67,6 +67,9 @@ public class DoubleCopySign extends Eval
 	public Double exec(Tuple input) throws IOException {
         if (input == null || input.size() < 2)
             return null;
+        if (input.get(0) == null || input.get(1) == null) {
+            return null;
+        }
 		try{
 			double first =  (Double)input.get(0);
 			double second = (Double)input.get(1);

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleGetExponent.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleGetExponent.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleGetExponent.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleGetExponent.java Fri Oct 17 21:29:17 2014
@@ -62,7 +62,7 @@ public class DoubleGetExponent extends E
 	 * exponent used in the representation of a double
 	 */
 	public Integer exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0)
+        if (input == null || input.size() == 0 || input.get(0) == null)
             return null;
 
         try {

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleNextAfter.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleNextAfter.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleNextAfter.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleNextAfter.java Fri Oct 17 21:29:17 2014
@@ -70,6 +70,12 @@ public class DoubleNextAfter extends Eva
 	 */
 	@Override
 	public Double exec(Tuple input) throws IOException {
+	    if (input == null || input.size() < 2) {
+	        return null;
+	    }
+        if (input.get(0) == null || input.get(1) == null) {
+            return null;
+        }
 		try{
 			double first = (Double)input.get(0);
 			double second = (Double)input.get(0);

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleNextup.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleNextup.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleNextup.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleNextup.java Fri Oct 17 21:29:17 2014
@@ -61,7 +61,7 @@ public class DoubleNextup extends EvalFu
      * @param output returns a single numeric value, nextup value of the argument
      */
     public Double exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0)
+        if (input == null || input.size() == 0 || input.get(0) == null)
             return null;
         Double d;
         try{

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleRound.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleRound.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleRound.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleRound.java Fri Oct 17 21:29:17 2014
@@ -68,7 +68,7 @@ public class DoubleRound extends EvalFun
 	 */
 	@Override
 	public Long exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0)
+        if (input == null || input.size() == 0 || input.get(0) == null)
             return null;
 
         try{

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleSignum.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleSignum.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleSignum.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleSignum.java Fri Oct 17 21:29:17 2014
@@ -62,7 +62,7 @@ public class DoubleSignum extends EvalFu
 	 */
 	@Override
 	public Double exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0)
+        if (input == null || input.size() == 0 || input.get(0) == null)
             return null;
 
         try{

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleUlp.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleUlp.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleUlp.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/DoubleUlp.java Fri Oct 17 21:29:17 2014
@@ -66,7 +66,7 @@ public class DoubleUlp extends EvalFunc<
 	 * the size of an ulp of the argument.
 	 */
 	public Double exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0)
+        if (input == null || input.size() == 0 || input.get(0) == null)
             return null;
 
         try{

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatAbs.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatAbs.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatAbs.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatAbs.java Fri Oct 17 21:29:17 2014
@@ -67,7 +67,7 @@ public class FloatAbs extends EvalFunc<F
 	 * @param output returns a single numeric value, absolute value of the argument
 	 */
 	public Float exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0)
+        if (input == null || input.size() == 0 || input.get(0) == null)
             return null;
 
         Float d;

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatCopySign.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatCopySign.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatCopySign.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatCopySign.java Fri Oct 17 21:29:17 2014
@@ -67,6 +67,9 @@ public class FloatCopySign extends EvalF
 	public Float exec(Tuple input) throws IOException {
         if (input == null || input.size() < 2)
             return null;
+        if (input.get(0) == null || input.get(1) == null) {
+            return null;
+        }
 		try{
 			float first =  (Float)input.get(0);
 			float second = (Float)input.get(1);

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatGetExponent.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatGetExponent.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatGetExponent.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatGetExponent.java Fri Oct 17 21:29:17 2014
@@ -62,7 +62,7 @@ public class FloatGetExponent extends Ev
 	 * exponent used in the representation of a double
 	 */
 	public Integer exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0)
+        if (input == null || input.size() == 0 || input.get(0) == null)
             return null;
 
         try {

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatMax.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatMax.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatMax.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatMax.java Fri Oct 17 21:29:17 2014
@@ -60,9 +60,8 @@ public class FloatMax extends EvalFunc<F
      * @param output returns a single numeric value, which is the smaller of two inputs
      */
     public Float exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0)
+        if (input == null || input.size() < 2)
             return null;
-
         try{
             Float first = (Float)input.get(0);
             Float second = (Float)input.get(1);

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatMin.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatMin.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatMin.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatMin.java Fri Oct 17 21:29:17 2014
@@ -60,9 +60,8 @@ public class FloatMin extends EvalFunc<F
 	 * @param output returns a single numeric value, which is the smaller of two inputs
 	 */
 	public Float exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0)
+        if (input == null || input.size() < 2)
             return null;
-
         try{
             Float first = (Float)input.get(0);
             Float second = (Float)input.get(1);

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatNextAfter.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatNextAfter.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatNextAfter.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatNextAfter.java Fri Oct 17 21:29:17 2014
@@ -70,6 +70,11 @@ public class FloatNextAfter extends Eval
 	 */
 	@Override
 	public Float exec(Tuple input) throws IOException {
+        if (input == null || input.size() < 2)
+            return null;
+        if (input.get(0) == null || input.get(1) == null) {
+            return null;
+        }
 		try{
 			Float first = (Float)input.get(0);
 			Double second = (Double)input.get(0);

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatNextup.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatNextup.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatNextup.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatNextup.java Fri Oct 17 21:29:17 2014
@@ -61,7 +61,7 @@ public class FloatNextup extends EvalFun
      * @param output returns a single numeric value, nextup value of the argument
      */
     public Float exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0)
+        if (input == null || input.size() == 0 || input.get(0) == null)
             return null;
         Float d;
         try{

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatRound.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatRound.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatRound.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatRound.java Fri Oct 17 21:29:17 2014
@@ -68,7 +68,7 @@ public class FloatRound extends EvalFunc
 	 */
 	@Override
 	public Integer exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0)
+        if (input == null || input.size() == 0 || input.get(0) == null)
             return null;
 
         try{

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatSignum.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatSignum.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatSignum.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatSignum.java Fri Oct 17 21:29:17 2014
@@ -62,7 +62,7 @@ public class FloatSignum extends EvalFun
 	 */
 	@Override
 	public Float exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0)
+        if (input == null || input.size() == 0 || input.get(0) == null)
             return null;
 
         try{

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatUlp.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatUlp.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatUlp.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/FloatUlp.java Fri Oct 17 21:29:17 2014
@@ -66,7 +66,7 @@ public class FloatUlp extends EvalFunc<F
 	 * the size of an ulp of the argument.
 	 */
 	public Float exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0)
+        if (input == null || input.size() == 0 || input.get(0) == null)
             return null;
 
         try{

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/IntAbs.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/IntAbs.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/IntAbs.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/IntAbs.java Fri Oct 17 21:29:17 2014
@@ -66,7 +66,7 @@ public class IntAbs extends EvalFunc<Int
 	 * @param output returns a single numeric value, absolute value of the argument
 	 */
 	public Integer exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0)
+        if (input == null || input.size() == 0 || input.get(0) == null)
             return null;
 
         Integer d;

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/IntMax.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/IntMax.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/IntMax.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/IntMax.java Fri Oct 17 21:29:17 2014
@@ -60,7 +60,7 @@ public class IntMax extends EvalFunc<Int
      * @param output returns a single numeric value, which is the smaller of two inputs
      */
     public Integer exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0)
+        if (input == null || input.size() < 2)
             return null;
 
         try{

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/IntMin.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/IntMin.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/IntMin.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/IntMin.java Fri Oct 17 21:29:17 2014
@@ -60,7 +60,7 @@ public class IntMin extends EvalFunc<Int
      * @param output returns a single numeric value, which is the smaller of two inputs
      */
     public Integer exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0)
+        if (input == null || input.size() < 2)
             return null;
 
         try{

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/LongAbs.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/LongAbs.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/LongAbs.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/LongAbs.java Fri Oct 17 21:29:17 2014
@@ -67,7 +67,7 @@ public class LongAbs extends EvalFunc<Lo
 	 * @param output returns a single numeric value, absolute value of the argument
 	 */
 	public Long exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0)
+        if (input == null || input.size() == 0 || input.get(0) == null)
             return null;
 
         Long d;

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/LongMax.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/LongMax.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/LongMax.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/LongMax.java Fri Oct 17 21:29:17 2014
@@ -60,7 +60,7 @@ public class LongMax extends EvalFunc<Lo
      * @param output returns a single numeric value, which is the smaller of two inputs
      */
     public Long exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0)
+        if (input == null || input.size() < 2)
             return null;
 
         try{

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/LongMin.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/LongMin.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/LongMin.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/LongMin.java Fri Oct 17 21:29:17 2014
@@ -60,7 +60,7 @@ public class LongMin extends EvalFunc<Lo
      * @param output returns a single numeric value, which is the smaller of two inputs
      */
     public Long exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0)
+        if (input == null || input.size() < 2)
             return null;
 
         try{

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/NEXTUP.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/NEXTUP.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/NEXTUP.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/NEXTUP.java Fri Oct 17 21:29:17 2014
@@ -65,7 +65,7 @@ public class NEXTUP extends EvalFunc<Dou
      * @param output returns a single numeric value, nextup value of the argument
      */
     public Double exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0)
+        if (input == null || input.size() == 0 || input.get(0) == null)
             return null;
         Double d;
         try{

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/ROUND.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/ROUND.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/ROUND.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/ROUND.java Fri Oct 17 21:29:17 2014
@@ -72,7 +72,7 @@ public class ROUND extends EvalFunc<Long
 	 */
 	@Override
 	public Long exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0)
+        if (input == null || input.size() == 0 || input.get(0) == null)
             return null;
 
         try{

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/SCALB.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/SCALB.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/SCALB.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/SCALB.java Fri Oct 17 21:29:17 2014
@@ -72,7 +72,9 @@ public class SCALB extends EvalFunc<Doub
 	public Double exec(Tuple input) throws IOException {
         if (input == null || input.size() < 2)
             return null;
-
+        if (input.get(0) == null || input.get(1) == null) {
+            return null;
+        }
 		try{
 			Double first = DataType.toDouble(input.get(0));
 			Integer second = DataType.toInteger(input.get(1));

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/SIGNUM.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/SIGNUM.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/SIGNUM.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/SIGNUM.java Fri Oct 17 21:29:17 2014
@@ -66,7 +66,7 @@ public class SIGNUM extends EvalFunc<Dou
 	 */
 	@Override
 	public Double exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0)
+        if (input == null || input.size() == 0 || input.get(0) == null)
             return null;
 
         try{

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/ULP.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/ULP.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/ULP.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/ULP.java Fri Oct 17 21:29:17 2014
@@ -66,7 +66,7 @@ public class ULP extends EvalFunc<Double
 	 * the size of an ulp of the argument.
 	 */
 	public Double exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0)
+        if (input == null || input.size() == 0 || input.get(0) == null)
             return null;
 
         try{

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/copySign.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/copySign.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/copySign.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/copySign.java Fri Oct 17 21:29:17 2014
@@ -70,6 +70,9 @@ public class copySign extends EvalFunc<D
 	public Double exec(Tuple input) throws IOException {
         if (input == null || input.size() < 2)
             return null;
+        if (input.get(0) == null || input.get(1) == null) {
+            return null;
+        }
 		try{
 			double first =  DataType.toDouble(input.get(0));
 			double second = DataType.toDouble(input.get(1));

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/getExponent.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/getExponent.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/getExponent.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/getExponent.java Fri Oct 17 21:29:17 2014
@@ -66,7 +66,7 @@ public class getExponent extends EvalFun
 	 * exponent used in the representation of a double
 	 */
 	public Integer exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0)
+        if (input == null || input.size() == 0 || input.get(0) == null)
             return null;
 
         try {

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/nextAfter.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/nextAfter.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/nextAfter.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/math/nextAfter.java Fri Oct 17 21:29:17 2014
@@ -70,6 +70,12 @@ public class nextAfter extends EvalFunc<
 	 */
 	@Override
 	public Double exec(Tuple input) throws IOException {
+	    if (input == null || input.size() < 2) {
+	        return null;
+	    }
+        if (input.get(0) == null || input.get(1) == null) {
+            return null;
+        }
 		try{
 			double first = DataType.toDouble(input.get(0));
 			double second = DataType.toDouble(input.get(1));

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/HashFNV2.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/HashFNV2.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/HashFNV2.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/HashFNV2.java Fri Oct 17 21:29:17 2014
@@ -34,7 +34,7 @@ public class HashFNV2 extends HashFNV {
             String msg = "HashFNV : Only 2 parameters are allowed.";
             throw new IOException(msg);
         }
-        if (input.get(0)==null)
+        if (input.get(0)==null || input.get(1)==null)
             return null;
         try {
             mMod = (Integer)input.get(1);

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/RegexExtract.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/RegexExtract.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/RegexExtract.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/RegexExtract.java Fri Oct 17 21:29:17 2014
@@ -66,7 +66,7 @@ public class RegexExtract extends EvalFu
             String msg = "RegexExtract : Only 3 parameters are allowed.";
             throw new IOException(msg);
         }
-        if (input.get(0)==null)
+        if (input.get(0)==null || input.get(1)==null || input.get(2)==null)
             return null;
         try {
             if (!input.get(1).equals(mExpression))

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/RegexExtractAll.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/RegexExtractAll.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/RegexExtractAll.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/RegexExtractAll.java Fri Oct 17 21:29:17 2014
@@ -59,7 +59,7 @@ public class RegexExtractAll extends Eva
             throw new IOException(msg);
         }
 
-        if (input.get(0)==null)
+        if (input.get(0)==null||input.get(1)==null)
             return null;
         try {
             if (!input.get(1).equals(mExpression)) {

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/RegexMatch.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/RegexMatch.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/RegexMatch.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/string/RegexMatch.java Fri Oct 17 21:29:17 2014
@@ -56,7 +56,7 @@ public class RegexMatch extends EvalFunc
             String msg = "RegexMatch : Only 2 parameters are allowed.";
             throw new IOException(msg);
         }
-        if (input.get(0)==null)
+        if (input.get(0)==null || input.get(1)==null)
             return null;
         try {
             if (!input.get(1).equals(mExpression))

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/util/apachelogparser/DateExtractor.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/util/apachelogparser/DateExtractor.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/util/apachelogparser/DateExtractor.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/util/apachelogparser/DateExtractor.java Fri Oct 17 21:29:17 2014
@@ -104,7 +104,7 @@ public class DateExtractor extends EvalF
     
     @Override
     public String exec(Tuple input) throws IOException {
-      if (input == null || input.size() == 0)
+      if (input == null || input.size() == 0 || input.get(0) == null)
         return null;
       String str="";
       try{

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/util/apachelogparser/HostExtractor.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/util/apachelogparser/HostExtractor.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/util/apachelogparser/HostExtractor.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/util/apachelogparser/HostExtractor.java Fri Oct 17 21:29:17 2014
@@ -44,7 +44,7 @@ import org.apache.pig.impl.logicalLayer.
 public class HostExtractor extends EvalFunc<String> {
   @Override
   public String exec(Tuple input) throws IOException {
-    if (input == null || input.size() == 0)
+    if (input == null || input.size() == 0 || input.get(0) == null)
       return null;
     String str="";
     try{

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/util/apachelogparser/SearchEngineExtractor.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/util/apachelogparser/SearchEngineExtractor.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/util/apachelogparser/SearchEngineExtractor.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/util/apachelogparser/SearchEngineExtractor.java Fri Oct 17 21:29:17 2014
@@ -389,7 +389,7 @@ public class SearchEngineExtractor exten
 
     @Override
     public String exec(Tuple input) throws IOException {
-      if (input == null || input.size() == 0)
+      if (input == null || input.size() == 0 || input.get(0) == null)
         return null;
       String referer="";
       try{

Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/xml/XPath.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/xml/XPath.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/xml/XPath.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/xml/XPath.java Fri Oct 17 21:29:17 2014
@@ -81,6 +81,9 @@ public class XPath extends EvalFunc<Stri
         try {
 
             final String xml = (String) input.get(0);
+            if (xml == null) {
+                return null;
+            }
             
             if(input.size() > 2)
                 cache = (Boolean) input.get(2);

Modified: pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/POUserFunc.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/POUserFunc.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/POUserFunc.java (original)
+++ pig/trunk/src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/POUserFunc.java Fri Oct 17 21:29:17 2014
@@ -277,27 +277,6 @@ public class POUserFunc extends Expressi
         }
         try {
             if(result.returnStatus == POStatus.STATUS_OK) {
-                Tuple t = (Tuple) result.result;
-
-                // For backward compatibility, we short-circuit tuples whose
-                // size is 1 and field is null. (See PIG-3679)
-                if (t.size() == 1 && t.isNull(0)) {
-                    pigLogger.warn(this, "All the input values are null, skipping the invocation of UDF",
-                            PigWarning.SKIP_UDF_CALL_FOR_NULL);
-                    Schema outputSchema = func.outputSchema(func.getInputSchema());
-                    // If the output schema is tuple (i.e. multiple fields are
-                    // to be returned), we return a tuple where every field is
-                    // null.
-                    if (outputSchema != null && outputSchema.getField(0).type == DataType.TUPLE) {
-                        result.result = tf.newTuple(outputSchema.getField(0).schema.size());
-                    // Otherwise, we simply return null since it can be cast to
-                    // any data type.
-                    } else {
-                        result.result = null;
-                    }
-                    return result;
-                }
-
                 if (isAccumulative()) {
                     if (isAccumStarted()) {
                         if (!haveCheckedIfTerminatingAccumulator) {

Modified: pig/trunk/src/org/apache/pig/builtin/ABS.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/builtin/ABS.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/builtin/ABS.java (original)
+++ pig/trunk/src/org/apache/pig/builtin/ABS.java Fri Oct 17 21:29:17 2014
@@ -42,7 +42,7 @@ public class ABS extends EvalFunc<Double
 	 * @return output returns a single numeric value, absolute value of the argument
 	 */
 	public Double exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0)
+        if (input == null || input.size() == 0 || input.get(0) == null)
             return null;
 
         Double d;

Modified: pig/trunk/src/org/apache/pig/builtin/BigDecimalAbs.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/builtin/BigDecimalAbs.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/builtin/BigDecimalAbs.java (original)
+++ pig/trunk/src/org/apache/pig/builtin/BigDecimalAbs.java Fri Oct 17 21:29:17 2014
@@ -27,6 +27,8 @@ import org.apache.pig.data.Tuple;
 public class BigDecimalAbs extends EvalFunc<BigDecimal> {
     @Override
     public BigDecimal exec(Tuple input) throws IOException {
+        if (input == null || input.size() == 0 || input.get(0) == null)
+            return null;
         return ((BigDecimal)input.get(0)).abs();
     }
 

Modified: pig/trunk/src/org/apache/pig/builtin/BigIntegerAbs.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/builtin/BigIntegerAbs.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/builtin/BigIntegerAbs.java (original)
+++ pig/trunk/src/org/apache/pig/builtin/BigIntegerAbs.java Fri Oct 17 21:29:17 2014
@@ -27,6 +27,8 @@ import org.apache.pig.data.Tuple;
 public class BigIntegerAbs extends EvalFunc<BigInteger> {
     @Override
     public BigInteger exec(Tuple input) throws IOException {
+        if (input == null || input.size() == 0 || input.get(0) == null)
+            return null;
         return ((BigInteger)input.get(0)).abs();
     }
 

Modified: pig/trunk/src/org/apache/pig/builtin/DoubleRound.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/builtin/DoubleRound.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/builtin/DoubleRound.java (original)
+++ pig/trunk/src/org/apache/pig/builtin/DoubleRound.java Fri Oct 17 21:29:17 2014
@@ -37,7 +37,7 @@ public class DoubleRound extends EvalFun
 	 */
 	@Override
 	public Long exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0)
+        if (input == null || input.size() == 0 || input.get(0) == null)
             return null;
 
         try{

Modified: pig/trunk/src/org/apache/pig/builtin/FloatRound.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/builtin/FloatRound.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/builtin/FloatRound.java (original)
+++ pig/trunk/src/org/apache/pig/builtin/FloatRound.java Fri Oct 17 21:29:17 2014
@@ -39,7 +39,7 @@ public class FloatRound extends EvalFunc
 	 */
 	@Override
 	public Integer exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0)
+        if (input == null || input.size() == 0 || input.get(0) == null)
             return null;
 
         try{

Modified: pig/trunk/src/org/apache/pig/builtin/ROUND.java
URL: http://svn.apache.org/viewvc/pig/trunk/src/org/apache/pig/builtin/ROUND.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/src/org/apache/pig/builtin/ROUND.java (original)
+++ pig/trunk/src/org/apache/pig/builtin/ROUND.java Fri Oct 17 21:29:17 2014
@@ -44,7 +44,7 @@ public class ROUND extends EvalFunc<Long
 	 */
 	@Override
 	public Long exec(Tuple input) throws IOException {
-        if (input == null || input.size() == 0)
+        if (input == null || input.size() == 0 || input.get(0) == null)
             return null;
 
         try{

Modified: pig/trunk/test/org/apache/pig/test/TestUDF.java
URL: http://svn.apache.org/viewvc/pig/trunk/test/org/apache/pig/test/TestUDF.java?rev=1632673&r1=1632672&r2=1632673&view=diff
==============================================================================
--- pig/trunk/test/org/apache/pig/test/TestUDF.java (original)
+++ pig/trunk/test/org/apache/pig/test/TestUDF.java Fri Oct 17 21:29:17 2014
@@ -20,6 +20,7 @@ package org.apache.pig.test;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertFalse;
 
 import java.io.File;
 import java.io.FileWriter;
@@ -319,4 +320,31 @@ public class TestUDF {
             return l;
         }
     }
+
+    @Test
+    // See PIG-4184
+    public void testUDFNullInput() throws Exception {
+        PigServer pig = new PigServer(ExecType.LOCAL);
+        File inputFile = Util.createInputFile("tmp", "", 
+                new String[] {"\t", "2\t3"});
+        pig.registerQuery("a = load '"
+                + Util.generateURI(Util.encodeEscape(inputFile.toString()), pig.getPigContext())
+                + "' as (i1:int, i2:int);");
+        pig.registerQuery("b = foreach a generate " + IntToBool.class.getName() + "(i1);");
+
+        Iterator<Tuple> iter = pig.openIterator("b");
+        assertEquals(iter.next().toString(), "(false)");
+        assertEquals(iter.next().toString(), "(true)");
+        assertFalse(iter.hasNext());
+    }
+
+    public static class IntToBool extends EvalFunc<Boolean> {
+        @Override
+        public Boolean exec(Tuple input) throws IOException {
+            if (input == null || input.size() == 0)
+                return null;
+            Integer val = (Integer)input.get(0);
+            return (val == null || val == 0) ? false : true;
+        }
+    }
 }
\ No newline at end of file