Author: hashutosh
Date: Fri Jan 16 16:58:35 2015
New Revision: 1652458

URL: http://svn.apache.org/r1652458
Log:
HIVE-9377 : UDF in_file() in WHERE predicate causes NPE. (Mithun Radhakrishnan 
via Ashutosh Chauhan)

Modified:
    
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFInFile.java

Modified: 
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFInFile.java
URL: 
http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFInFile.java?rev=1652458&r1=1652457&r2=1652458&view=diff
==============================================================================
--- 
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFInFile.java
 (original)
+++ 
hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFInFile.java
 Fri Jan 16 16:58:35 2015
@@ -140,6 +140,17 @@ public class GenericUDFInFile extends Ge
   }
 
   @Override
+  public void copyToNewInstance(Object newInstance) throws 
UDFArgumentException {
+    super.copyToNewInstance(newInstance); // Asserts the class invariant. 
(Same types.)
+    GenericUDFInFile that = (GenericUDFInFile)newInstance;
+    if (that != this) {
+      that.set = (this.set == null ? null : (HashSet<String>)this.set.clone());
+      that.strObjectInspector = this.strObjectInspector;
+      that.fileObjectInspector = this.fileObjectInspector;
+    }
+  }
+
+  @Override
   public String getDisplayString(String[] children) {
     assert (children.length == 2);
     return "in_file(" + children[0] + ", " + children[1] + ")";


Reply via email to