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