You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by zs...@apache.org on 2009/10/15 04:25:20 UTC
svn commit: r825377 - in /hadoop/hive/trunk: CHANGES.txt
ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPNegative.java
ql/src/test/queries/clientpositive/udf_negative.q
ql/src/test/results/clientpositive/udf_negative.q.out
Author: zshao
Date: Thu Oct 15 02:25:19 2009
New Revision: 825377
URL: http://svn.apache.org/viewvc?rev=825377&view=rev
Log:
HIVE-876. UDFOPNegative should deal with NULL gracefully. (Ning Zhang via zshao)
Added:
hadoop/hive/trunk/ql/src/test/queries/clientpositive/udf_negative.q
hadoop/hive/trunk/ql/src/test/results/clientpositive/udf_negative.q.out
Modified:
hadoop/hive/trunk/CHANGES.txt
hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPNegative.java
Modified: hadoop/hive/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/CHANGES.txt?rev=825377&r1=825376&r2=825377&view=diff
==============================================================================
--- hadoop/hive/trunk/CHANGES.txt (original)
+++ hadoop/hive/trunk/CHANGES.txt Thu Oct 15 02:25:19 2009
@@ -178,6 +178,9 @@
HIVE-865. Map Join memory leak
(Ning Zhang via namit)
+ HIVE-876. UDFOPNegative should deal with NULL gracefully.
+ (Ning Zhang via zshao)
+
Release 0.4.0 - Unreleased
INCOMPATIBLE CHANGES
Modified: hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPNegative.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPNegative.java?rev=825377&r1=825376&r2=825377&view=diff
==============================================================================
--- hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPNegative.java (original)
+++ hadoop/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFOPNegative.java Thu Oct 15 02:25:19 2009
@@ -28,6 +28,7 @@
import org.apache.hadoop.io.FloatWritable;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.io.NullWritable;
@description(
name = "-",
@@ -42,36 +43,54 @@
@Override
public ByteWritable evaluate(ByteWritable a) {
+ if ( a == null ) {
+ return null;
+ }
byteWritable.set((byte)-a.get());
return byteWritable;
}
@Override
public ShortWritable evaluate(ShortWritable a) {
+ if ( a == null ) {
+ return null;
+ }
shortWritable.set((short)-a.get());
return shortWritable;
}
@Override
public IntWritable evaluate(IntWritable a) {
+ if ( a == null ) {
+ return null;
+ }
intWritable.set(-a.get());
return intWritable;
}
@Override
public LongWritable evaluate(LongWritable a) {
+ if ( a == null ) {
+ return null;
+ }
longWritable.set(-a.get());
return longWritable;
}
@Override
public FloatWritable evaluate(FloatWritable a) {
+ if ( a == null ) {
+ return null;
+ }
floatWritable.set(-a.get());
return floatWritable;
}
@Override
public DoubleWritable evaluate(DoubleWritable a) {
+ if ( a == null ) {
+ return null;
+ }
doubleWritable.set(-a.get());
return doubleWritable;
}
Added: hadoop/hive/trunk/ql/src/test/queries/clientpositive/udf_negative.q
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/test/queries/clientpositive/udf_negative.q?rev=825377&view=auto
==============================================================================
--- hadoop/hive/trunk/ql/src/test/queries/clientpositive/udf_negative.q (added)
+++ hadoop/hive/trunk/ql/src/test/queries/clientpositive/udf_negative.q Thu Oct 15 02:25:19 2009
@@ -0,0 +1,4 @@
+select - null from src limit 1;
+select - cast(null as int) from src limit 1;
+select - cast(null as double) from src limit 1;
+select - cast(null as float) from src limit 1;
Added: hadoop/hive/trunk/ql/src/test/results/clientpositive/udf_negative.q.out
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/ql/src/test/results/clientpositive/udf_negative.q.out?rev=825377&view=auto
==============================================================================
--- hadoop/hive/trunk/ql/src/test/results/clientpositive/udf_negative.q.out (added)
+++ hadoop/hive/trunk/ql/src/test/results/clientpositive/udf_negative.q.out Thu Oct 15 02:25:19 2009
@@ -0,0 +1,36 @@
+PREHOOK: query: select - null from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: file:/data/users/nzhang/work/876/apache-hive/build/ql/tmp/124139801/10000
+POSTHOOK: query: select - null from src limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: file:/data/users/nzhang/work/876/apache-hive/build/ql/tmp/124139801/10000
+NULL
+PREHOOK: query: select - cast(null as int) from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: file:/data/users/nzhang/work/876/apache-hive/build/ql/tmp/714637476/10000
+POSTHOOK: query: select - cast(null as int) from src limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: file:/data/users/nzhang/work/876/apache-hive/build/ql/tmp/714637476/10000
+NULL
+PREHOOK: query: select - cast(null as double) from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: file:/data/users/nzhang/work/876/apache-hive/build/ql/tmp/1915503679/10000
+POSTHOOK: query: select - cast(null as double) from src limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: file:/data/users/nzhang/work/876/apache-hive/build/ql/tmp/1915503679/10000
+NULL
+PREHOOK: query: select - cast(null as float) from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: file:/data/users/nzhang/work/876/apache-hive/build/ql/tmp/1861430940/10000
+POSTHOOK: query: select - cast(null as float) from src limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: file:/data/users/nzhang/work/876/apache-hive/build/ql/tmp/1861430940/10000
+NULL