You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2015/05/12 20:34:49 UTC

hive git commit: HIVE-10325 : Remove ExprNodeNullEvaluator (Ashutosh Chauhan via Gopal V)

Repository: hive
Updated Branches:
  refs/heads/master 154c662da -> e4d4e00b5


HIVE-10325 : Remove ExprNodeNullEvaluator (Ashutosh Chauhan via Gopal V)

Signed-off-by: Ashutosh Chauhan <ha...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/e4d4e00b
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/e4d4e00b
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/e4d4e00b

Branch: refs/heads/master
Commit: e4d4e00b513bd49ed6971dd9444a63be257eacbb
Parents: 154c662
Author: Ashutosh Chauhan <ha...@apache.org>
Authored: Tue Apr 14 13:46:50 2015 -0700
Committer: Ashutosh Chauhan <ha...@apache.org>
Committed: Tue May 12 11:33:20 2015 -0700

----------------------------------------------------------------------
 .../hive/ql/exec/ExprNodeEvaluatorFactory.java  | 11 +++--
 .../ql/exec/ExprNodeGenericFuncEvaluator.java   |  3 +-
 .../hive/ql/exec/ExprNodeNullEvaluator.java     | 47 --------------------
 .../hive/ql/plan/ExprNodeConstantDesc.java      |  1 -
 4 files changed, 9 insertions(+), 53 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/e4d4e00b/ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeEvaluatorFactory.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeEvaluatorFactory.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeEvaluatorFactory.java
index ff0ddc8..a149571 100755
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeEvaluatorFactory.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeEvaluatorFactory.java
@@ -28,6 +28,8 @@ import org.apache.hadoop.hive.ql.plan.ExprNodeDesc;
 import org.apache.hadoop.hive.ql.plan.ExprNodeFieldDesc;
 import org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc;
 import org.apache.hadoop.hive.ql.plan.ExprNodeNullDesc;
+import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoFactory;
+import org.apache.hadoop.io.NullWritable;
 
 /**
  * ExprNodeEvaluatorFactory.
@@ -57,7 +59,8 @@ public final class ExprNodeEvaluatorFactory {
     }
     // Null node, a constant node with value NULL and no type information
     if (desc instanceof ExprNodeNullDesc) {
-      return new ExprNodeNullEvaluator((ExprNodeNullDesc) desc);
+      return new ExprNodeConstantEvaluator(new ExprNodeConstantDesc(TypeInfoFactory
+          .getPrimitiveTypeInfoFromPrimitiveWritable(NullWritable.class), null));
     }
 
     throw new RuntimeException(
@@ -114,14 +117,14 @@ public final class ExprNodeEvaluatorFactory {
 
   private static class EvaluatorContext {
 
-    private final Map<ExprNodeDesc.ExprNodeDescEqualityWrapper, ExprNodeEvaluator> cached = 
+    private final Map<ExprNodeDesc.ExprNodeDescEqualityWrapper, ExprNodeEvaluator> cached =
         new HashMap<ExprNodeDesc.ExprNodeDescEqualityWrapper, ExprNodeEvaluator>();
 
     private boolean hasReference;
 
     public ExprNodeEvaluator getEvaluated(ExprNodeEvaluator eval) {
-      ExprNodeDesc.ExprNodeDescEqualityWrapper key = 
-          new ExprNodeDesc.ExprNodeDescEqualityWrapper(eval.expr); 
+      ExprNodeDesc.ExprNodeDescEqualityWrapper key =
+          new ExprNodeDesc.ExprNodeDescEqualityWrapper(eval.expr);
       ExprNodeEvaluator prev = cached.get(key);
       if (prev == null) {
         cached.put(key, eval);

http://git-wip-us.apache.org/repos/asf/hive/blob/e4d4e00b/ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeGenericFuncEvaluator.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeGenericFuncEvaluator.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeGenericFuncEvaluator.java
index b695bef..b09b706 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeGenericFuncEvaluator.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeGenericFuncEvaluator.java
@@ -78,9 +78,10 @@ public class ExprNodeGenericFuncEvaluator extends ExprNodeEvaluator<ExprNodeGene
     }
 
     public boolean needsPrepare() {
-      return !(eval instanceof ExprNodeConstantEvaluator || eval instanceof ExprNodeNullEvaluator);
+      return !(eval instanceof ExprNodeConstantEvaluator);
     }
 
+    @Override
     public Object get() throws HiveException {
       if (!evaluated) {
         obj = eval.evaluate(rowObject, version);

http://git-wip-us.apache.org/repos/asf/hive/blob/e4d4e00b/ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeNullEvaluator.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeNullEvaluator.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeNullEvaluator.java
deleted file mode 100644
index 3aaf17c..0000000
--- a/ql/src/java/org/apache/hadoop/hive/ql/exec/ExprNodeNullEvaluator.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.hadoop.hive.ql.exec;
-
-import org.apache.hadoop.hive.ql.metadata.HiveException;
-import org.apache.hadoop.hive.ql.plan.ExprNodeNullDesc;
-import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
-import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
-
-// This function will not be used currently, since the function expressions
-// change the void to the first matching argument
-/**
- * ExprNodeNullEvaluator.
- *
- */
-public class ExprNodeNullEvaluator extends ExprNodeEvaluator<ExprNodeNullDesc> {
-
-  public ExprNodeNullEvaluator(ExprNodeNullDesc expr) {
-    super(expr);
-  }
-
-  @Override
-  public ObjectInspector initialize(ObjectInspector rowInspector) throws HiveException {
-    return outputOI = PrimitiveObjectInspectorFactory.writableVoidObjectInspector;
-  }
-
-  @Override
-  protected Object _evaluate(Object row, int version) throws HiveException {
-    return null;
-  }
-}

http://git-wip-us.apache.org/repos/asf/hive/blob/e4d4e00b/ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeConstantDesc.java
----------------------------------------------------------------------
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeConstantDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeConstantDesc.java
index b15df0f..89a175e 100755
--- a/ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeConstantDesc.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/ExprNodeConstantDesc.java
@@ -84,7 +84,6 @@ public class ExprNodeConstantDesc extends ExprNodeDesc implements Serializable {
   @Override
   public ConstantObjectInspector getWritableObjectInspector() {
     PrimitiveTypeInfo pti = (PrimitiveTypeInfo) getTypeInfo();
-    PrimitiveCategory pc = pti.getPrimitiveCategory();
     // Convert from Java to Writable
     Object writableValue = PrimitiveObjectInspectorFactory
         .getPrimitiveJavaObjectInspector(pti).getPrimitiveWritableObject(