FAQ
Author: hashutosh
Date: Thu Apr 16 01:13:00 2015
New Revision: 1673986

URL: http://svn.apache.org/r1673986
Log:
HIVE-9645 : Constant folding case NULL equality (Ashutosh Chauhan via Gopal V)

Modified:
     hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizationContext.java
     hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/ConstantVectorExpression.java
     hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcFactory.java
     hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/stats/annotation/StatsRulesProcFactory.java
     hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDF.java
     hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFAddMonths.java
     hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFArray.java
     hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFCbrt.java
     hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFDecode.java
     hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFFactorial.java
     hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFLastDay.java
     hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFLevenshtein.java
     hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFMap.java
     hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFNextDay.java
     hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFSoundex.java
     hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java
     hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFLevenshtein.java
     hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFNextDay.java
     hive/trunk/ql/src/test/queries/clientpositive/optimize_nullscan.q
     hive/trunk/ql/src/test/results/clientnegative/udf_add_months_error_1.q.out
     hive/trunk/ql/src/test/results/clientnegative/udf_last_day_error_1.q.out
     hive/trunk/ql/src/test/results/clientnegative/udf_next_day_error_1.q.out
     hive/trunk/ql/src/test/results/clientnegative/udf_next_day_error_2.q.out
     hive/trunk/ql/src/test/results/clientpositive/annotate_stats_select.q.out
     hive/trunk/ql/src/test/results/clientpositive/decimal_udf.q.out
     hive/trunk/ql/src/test/results/clientpositive/input8.q.out
     hive/trunk/ql/src/test/results/clientpositive/input9.q.out
     hive/trunk/ql/src/test/results/clientpositive/load_dyn_part14.q.out
     hive/trunk/ql/src/test/results/clientpositive/num_op_type_conv.q.out
     hive/trunk/ql/src/test/results/clientpositive/optimize_nullscan.q.out
     hive/trunk/ql/src/test/results/clientpositive/ppd_constant_expr.q.out
     hive/trunk/ql/src/test/results/clientpositive/spark/auto_join8.q.out
     hive/trunk/ql/src/test/results/clientpositive/spark/join8.q.out
     hive/trunk/ql/src/test/results/clientpositive/spark/load_dyn_part14.q.out
     hive/trunk/ql/src/test/results/clientpositive/spark/optimize_nullscan.q.out
     hive/trunk/ql/src/test/results/clientpositive/spark/vector_elt.q.out
     hive/trunk/ql/src/test/results/clientpositive/tez/optimize_nullscan.q.out
     hive/trunk/ql/src/test/results/clientpositive/tez/vector_coalesce.q.out
     hive/trunk/ql/src/test/results/clientpositive/tez/vector_decimal_udf.q.out
     hive/trunk/ql/src/test/results/clientpositive/tez/vector_elt.q.out
     hive/trunk/ql/src/test/results/clientpositive/udf4.q.out
     hive/trunk/ql/src/test/results/clientpositive/udf6.q.out
     hive/trunk/ql/src/test/results/clientpositive/udf7.q.out
     hive/trunk/ql/src/test/results/clientpositive/udf_case.q.out
     hive/trunk/ql/src/test/results/clientpositive/udf_coalesce.q.out
     hive/trunk/ql/src/test/results/clientpositive/udf_elt.q.out
     hive/trunk/ql/src/test/results/clientpositive/udf_greatest.q.out
     hive/trunk/ql/src/test/results/clientpositive/udf_hour.q.out
     hive/trunk/ql/src/test/results/clientpositive/udf_if.q.out
     hive/trunk/ql/src/test/results/clientpositive/udf_instr.q.out
     hive/trunk/ql/src/test/results/clientpositive/udf_isnull_isnotnull.q.out
     hive/trunk/ql/src/test/results/clientpositive/udf_least.q.out
     hive/trunk/ql/src/test/results/clientpositive/udf_locate.q.out
     hive/trunk/ql/src/test/results/clientpositive/udf_minute.q.out
     hive/trunk/ql/src/test/results/clientpositive/udf_nvl.q.out
     hive/trunk/ql/src/test/results/clientpositive/udf_parse_url.q.out
     hive/trunk/ql/src/test/results/clientpositive/udf_second.q.out
     hive/trunk/ql/src/test/results/clientpositive/udf_size.q.out
     hive/trunk/ql/src/test/results/clientpositive/udf_trunc.q.out
     hive/trunk/ql/src/test/results/clientpositive/udf_when.q.out
     hive/trunk/ql/src/test/results/clientpositive/vector_coalesce.q.out
     hive/trunk/ql/src/test/results/clientpositive/vector_decimal_udf.q.out
     hive/trunk/ql/src/test/results/clientpositive/vector_elt.q.out

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizationContext.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizationContext.java?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizationContext.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizationContext.java Thu Apr 16 01:13:00 2015
@@ -280,7 +280,7 @@ public class VectorizationContext {
        throw new HiveException("Null column name");
      }
      if (!projectionColumnMap.containsKey(name)) {
- throw new HiveException(String.format("The column %s is not in the vectorization context column map %s.",
+ throw new HiveException(String.format("The column %s is not in the vectorization context column map %s.",
                   name, projectionColumnMap.toString()));
      }
      return projectionColumnMap.get(name);
@@ -1022,7 +1022,7 @@ public class VectorizationContext {
              arguments[i] = colIndex;
          } else if (child instanceof ExprNodeConstantDesc) {
            Object scalarValue = getVectorTypeScalarValue((ExprNodeConstantDesc) child);
- arguments[i] = scalarValue;
+ arguments[i] = (null == scalarValue) ? getConstantVectorExpression(null, child.getTypeInfo(), childrenMode) : scalarValue;
          } else {
            throw new HiveException("Cannot handle expression type: " + child.getClass().getSimpleName());
          }
@@ -1337,10 +1337,10 @@ public class VectorizationContext {
      HiveDecimal rawDecimal;
      switch (ptinfo.getPrimitiveCategory()) {
      case FLOAT:
- rawDecimal = HiveDecimal.create(String.valueOf((Float) scalar));
+ rawDecimal = HiveDecimal.create(String.valueOf(scalar));
        break;
      case DOUBLE:
- rawDecimal = HiveDecimal.create(String.valueOf((Double) scalar));
+ rawDecimal = HiveDecimal.create(String.valueOf(scalar));
        break;
      case BYTE:
        rawDecimal = HiveDecimal.create((Byte) scalar);
@@ -1504,7 +1504,7 @@ public class VectorizationContext {
        return createVectorExpression(CastStringGroupToChar.class, childExpr, Mode.PROJECTION, returnType);
      }

- /*
+ /*
       * Timestamp, float, and double types are handled by the legacy code path. See isLegacyPathUDF.
       */

@@ -1852,7 +1852,7 @@ public class VectorizationContext {
          return 0;
        }
      } else if (decimalTypePattern.matcher(constDesc.getTypeString()).matches()) {
- return (HiveDecimal) constDesc.getValue();
+ return constDesc.getValue();
      } else {
        return constDesc.getValue();
      }
@@ -1992,7 +1992,7 @@ public class VectorizationContext {
        return "None";
      }
    }
-
+
    static String getUndecoratedName(String hiveTypeName) {
      VectorExpressionDescriptor.ArgumentType argType = VectorExpressionDescriptor.ArgumentType.fromHiveTypeName(hiveTypeName);
      switch (argType) {
@@ -2021,7 +2021,7 @@ public class VectorizationContext {
    }

    // TODO: When we support vectorized STRUCTs and can handle more in the reduce-side (MERGEPARTIAL):
- // TODO: Write reduce-side versions of AVG. Currently, only map-side (HASH) versions are in table.
+ // TODO: Write reduce-side versions of AVG. Currently, only map-side (HASH) versions are in table.
    // TODO: And, investigate if different reduce-side versions are needed for var* and std*, or if map-side aggregate can be used.. Right now they are conservatively
    // marked map-side (HASH).
    static ArrayList<AggregateDefinition> aggregatesDefinition = new ArrayList<AggregateDefinition>() {{
@@ -2135,6 +2135,7 @@ public class VectorizationContext {
      return map;
    }

+ @Override
    public String toString() {
      StringBuilder sb = new StringBuilder(32);
      sb.append("Context name ").append(contextName).append(", level " + level + ", ");

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/ConstantVectorExpression.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/ConstantVectorExpression.java?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/ConstantVectorExpression.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/ConstantVectorExpression.java Thu Apr 16 01:13:00 2015
@@ -18,13 +18,10 @@

  package org.apache.hadoop.hive.ql.exec.vector.expressions;

-import java.util.Arrays;
-
  import org.apache.hadoop.hive.common.type.HiveDecimal;
  import org.apache.hadoop.hive.common.type.HiveChar;
  import org.apache.hadoop.hive.common.type.HiveVarchar;
  import org.apache.hadoop.hive.ql.exec.vector.*;
-import org.apache.hadoop.hive.serde2.typeinfo.DecimalTypeInfo;

  /**
   * Constant is represented as a vector with repeating values.

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcFactory.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcFactory.java?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcFactory.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcFactory.java Thu Apr 16 01:13:00 2015
@@ -488,9 +488,8 @@ public final class ConstantPropagateProc
              ObjectInspectorUtils.getConstantObjectInspector(constant.getWritableObjectInspector(),
                  writableValue);
        } else if (desc instanceof ExprNodeNullDesc) {
-
- // FIXME: add null support.
- return null;
+ argois[i] = desc.getWritableObjectInspector();
+ arguments[i] = new DeferredJavaObject(((ExprNodeNullDesc) desc).getValue());
        } else if (desc instanceof ExprNodeGenericFuncDesc) {
          ExprNodeDesc evaluatedFn = foldExpr((ExprNodeGenericFuncDesc)desc);
          if (null == evaluatedFn || !(evaluatedFn instanceof ExprNodeConstantDesc)) {
@@ -511,6 +510,10 @@ public final class ConstantPropagateProc
        Object o = udf.evaluate(arguments);
        LOG.debug(udf.getClass().getName() + "(" + exprs + ")=" + o);
        if (o == null) {
+ if (oi instanceof PrimitiveObjectInspector) {
+
+ return new ExprNodeConstantDesc(((PrimitiveObjectInspector) oi).getTypeInfo(), o);
+ }
          return new ExprNodeNullDesc();
        }
        Class<?> clz = o.getClass();
@@ -604,6 +607,10 @@ public final class ConstantPropagateProc
            LOG.warn("Filter expression " + condn + " holds false!");
          }
        }
+ if (newCondn instanceof ExprNodeNullDesc || (newCondn instanceof ExprNodeConstantDesc && ((ExprNodeConstantDesc)newCondn).getValue() == null)) {
+ // where null is same as where false
+ newCondn = new ExprNodeConstantDesc(Boolean.FALSE);
+ }
        LOG.debug("New filter FIL[" + op.getIdentifier() + "] conditions:" + newCondn.getExprString());

        // merge it with the downstream col list

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/stats/annotation/StatsRulesProcFactory.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/stats/annotation/StatsRulesProcFactory.java?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/stats/annotation/StatsRulesProcFactory.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/optimizer/stats/annotation/StatsRulesProcFactory.java Thu Apr 16 01:13:00 2015
@@ -352,7 +352,7 @@ public class StatsRulesProcFactory {

          // special case for handling false constants
          ExprNodeConstantDesc encd = (ExprNodeConstantDesc) pred;
- if (encd.getValue().equals(false)) {
+ if (Boolean.FALSE.equals(encd.getValue())) {
            return 0;
          } else {
            return stats.getNumRows();
@@ -383,7 +383,7 @@ public class StatsRulesProcFactory {
              return numRows - newNumRows;
            } else if (leaf instanceof ExprNodeConstantDesc) {
              ExprNodeConstantDesc encd = (ExprNodeConstantDesc) leaf;
- if (encd.getValue().equals(true)) {
+ if (Boolean.TRUE.equals(encd.getValue())) {
                return 0;
              } else {
                return numRows;

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDF.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDF.java?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDF.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDF.java Thu Apr 16 01:13:00 2015
@@ -82,7 +82,7 @@ public abstract class GenericUDF impleme
     * Object reference.
     */
    public static class DeferredJavaObject implements DeferredObject {
- private Object value;
+ private final Object value;

      public DeferredJavaObject(Object value) {
        this.value = value;
@@ -208,6 +208,7 @@ public abstract class GenericUDF impleme
     * Close GenericUDF.
     * This is only called in runtime of MapRedTask.
     */
+ @Override
    public void close() throws IOException {
    }

@@ -314,7 +315,7 @@ public abstract class GenericUDF impleme
      PrimitiveCategory inputType = inOi.getPrimitiveCategory();

      Converter converter = ObjectInspectorConverters.getConverter(
- (PrimitiveObjectInspector) arguments[i],
+ arguments[i],
          PrimitiveObjectInspectorFactory.writableStringObjectInspector);
      converters[i] = converter;
      inputTypes[i] = inputType;
@@ -328,6 +329,7 @@ public abstract class GenericUDF impleme
      case BYTE:
      case SHORT:
      case INT:
+ case VOID:
        break;
      default:
        throw new UDFArgumentTypeException(i, getFuncName() + " only takes INT/SHORT/BYTE types as "
@@ -335,7 +337,7 @@ public abstract class GenericUDF impleme
      }

      Converter converter = ObjectInspectorConverters.getConverter(
- (PrimitiveObjectInspector) arguments[i],
+ arguments[i],
          PrimitiveObjectInspectorFactory.writableIntObjectInspector);
      converters[i] = converter;
      inputTypes[i] = inputType;
@@ -358,7 +360,7 @@ public abstract class GenericUDF impleme
      }

      Converter converter = ObjectInspectorConverters.getConverter(
- (PrimitiveObjectInspector) arguments[i],
+ arguments[i],
          PrimitiveObjectInspectorFactory.writableIntObjectInspector);
      converters[i] = converter;
      inputTypes[i] = inputType;
@@ -369,7 +371,7 @@ public abstract class GenericUDF impleme
      PrimitiveObjectInspector inOi = (PrimitiveObjectInspector) arguments[i];
      PrimitiveCategory inputType = inOi.getPrimitiveCategory();
      Converter converter = ObjectInspectorConverters.getConverter(
- (PrimitiveObjectInspector) arguments[i],
+ arguments[i],
          PrimitiveObjectInspectorFactory.writableDoubleObjectInspector);
      converters[i] = converter;
      inputTypes[i] = inputType;
@@ -388,6 +390,7 @@ public abstract class GenericUDF impleme
        break;
      case TIMESTAMP:
      case DATE:
+ case VOID:
        outOi = PrimitiveObjectInspectorFactory.writableDateObjectInspector;
        break;
      default:

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFAddMonths.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFAddMonths.java?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFAddMonths.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFAddMonths.java Thu Apr 16 01:13:00 2015
@@ -20,6 +20,7 @@ package org.apache.hadoop.hive.ql.udf.ge
  import static org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils.PrimitiveGrouping.DATE_GROUP;
  import static org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils.PrimitiveGrouping.NUMERIC_GROUP;
  import static org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils.PrimitiveGrouping.STRING_GROUP;
+import static org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils.PrimitiveGrouping.VOID_GROUP;

  import java.util.Calendar;
  import java.util.Date;
@@ -63,8 +64,8 @@ public class GenericUDFAddMonths extends
      checkArgPrimitive(arguments, 0);
      checkArgPrimitive(arguments, 1);

- checkArgGroups(arguments, 0, inputTypes, STRING_GROUP, DATE_GROUP);
- checkArgGroups(arguments, 1, inputTypes, NUMERIC_GROUP);
+ checkArgGroups(arguments, 0, inputTypes, STRING_GROUP, DATE_GROUP, VOID_GROUP);
+ checkArgGroups(arguments, 1, inputTypes, NUMERIC_GROUP, VOID_GROUP);

      obtainDateConverter(arguments, 0, inputTypes, converters);
      obtainIntConverter(arguments, 1, inputTypes, converters);

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFArray.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFArray.java?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFArray.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFArray.java Thu Apr 16 01:13:00 2015
@@ -29,6 +29,7 @@ import org.apache.hadoop.hive.serde2.obj
  import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorConverters.Converter;
  import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorFactory;
  import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
+import org.apache.hadoop.hive.serde2.objectinspector.primitive.VoidObjectInspector;

  /**
   * GenericUDFArray.
@@ -43,9 +44,7 @@ public class GenericUDFArray extends Gen
    @Override
    public ObjectInspector initialize(ObjectInspector[] arguments) throws UDFArgumentException {

- GenericUDFUtils.ReturnObjectInspectorResolver returnOIResolver;
-
- returnOIResolver = new GenericUDFUtils.ReturnObjectInspectorResolver(true);
+ GenericUDFUtils.ReturnObjectInspectorResolver returnOIResolver = new GenericUDFUtils.ReturnObjectInspectorResolver(true);

      for (int i = 0; i < arguments.length; i++) {
        if (!returnOIResolver.update(arguments[i])) {

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFCbrt.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFCbrt.java?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFCbrt.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFCbrt.java Thu Apr 16 01:13:00 2015
@@ -19,6 +19,7 @@
  package org.apache.hadoop.hive.ql.udf.generic;

  import static org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils.PrimitiveGrouping.NUMERIC_GROUP;
+import static org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils.PrimitiveGrouping.VOID_GROUP;

  import org.apache.hadoop.hive.ql.exec.Description;
  import org.apache.hadoop.hive.ql.exec.UDFArgumentException;
@@ -48,7 +49,7 @@ public class GenericUDFCbrt extends Gene

      checkArgPrimitive(arguments, 0);

- checkArgGroups(arguments, 0, inputTypes, NUMERIC_GROUP);
+ checkArgGroups(arguments, 0, inputTypes, NUMERIC_GROUP, VOID_GROUP);

      obtainDoubleConverter(arguments, 0, inputTypes, converters);


Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFDecode.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFDecode.java?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFDecode.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFDecode.java Thu Apr 16 01:13:00 2015
@@ -39,6 +39,7 @@ import org.apache.hadoop.hive.serde2.obj
  import org.apache.hadoop.hive.serde2.objectinspector.primitive.BinaryObjectInspector;
  import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
  import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils;
+import org.apache.hadoop.hive.serde2.objectinspector.primitive.VoidObjectInspector;
  import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils.PrimitiveGrouping;

  @Description(name = "decode",
@@ -48,7 +49,7 @@ import org.apache.hadoop.hive.serde2.obj
          "is null, the result will also be null")
  public class GenericUDFDecode extends GenericUDF {
    private transient CharsetDecoder decoder;
- private transient BinaryObjectInspector bytesOI;
+ private transient PrimitiveObjectInspector bytesOI;
    private transient PrimitiveObjectInspector charsetOI;

    @Override
@@ -57,12 +58,19 @@ public class GenericUDFDecode extends Ge
        throw new UDFArgumentLengthException("Decode() requires exactly two arguments");
      }

- if (arguments[0].getCategory() != Category.PRIMITIVE ||
- ((PrimitiveObjectInspector)arguments[0]).getPrimitiveCategory() != PrimitiveCategory.BINARY){
- throw new UDFArgumentTypeException(0, "The first argument to Decode() must be a binary");
+ if (arguments[0].getCategory() != Category.PRIMITIVE){
+ throw new UDFArgumentTypeException(0, "The first argument to Decode() must be primitive");
      }

- bytesOI = (BinaryObjectInspector) arguments[0];
+ PrimitiveCategory category = ((PrimitiveObjectInspector)arguments[0]).getPrimitiveCategory();
+
+ if (category == PrimitiveCategory.BINARY) {
+ bytesOI = (BinaryObjectInspector) arguments[0];
+ } else if(category == PrimitiveCategory.VOID) {
+ bytesOI = (VoidObjectInspector) arguments[0];
+ } else {
+ throw new UDFArgumentTypeException(0, "The first argument to Decode() must be binary");
+ }

      if (arguments[1].getCategory() != Category.PRIMITIVE) {
        throw new UDFArgumentTypeException(1, "The second argument to Decode() must be primitive");
@@ -85,17 +93,17 @@ public class GenericUDFDecode extends Ge
            .onUnmappableCharacter(CodingErrorAction.REPORT);
      }

- return (ObjectInspector) PrimitiveObjectInspectorFactory.javaStringObjectInspector;
+ return PrimitiveObjectInspectorFactory.javaStringObjectInspector;
    }

    @Override
    public Object evaluate(DeferredObject[] arguments) throws HiveException {
- byte[] value = bytesOI.getPrimitiveJavaObject(arguments[0].get());
+ Object value = bytesOI.getPrimitiveJavaObject(arguments[0].get());
      if (value == null) {
        return null;
      }

- ByteBuffer wrappedBytes = ByteBuffer.wrap(value);
+ ByteBuffer wrappedBytes = ByteBuffer.wrap((byte[])value);
      CharBuffer decoded;
      if (decoder != null){
        try {

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFFactorial.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFFactorial.java?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFFactorial.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFFactorial.java Thu Apr 16 01:13:00 2015
@@ -19,6 +19,7 @@
  package org.apache.hadoop.hive.ql.udf.generic;

  import static org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils.PrimitiveGrouping.NUMERIC_GROUP;
+import static org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils.PrimitiveGrouping.VOID_GROUP;

  import org.apache.hadoop.hive.ql.exec.Description;
  import org.apache.hadoop.hive.ql.exec.UDFArgumentException;
@@ -60,7 +61,7 @@ public class GenericUDFFactorial extends

      checkArgPrimitive(arguments, 0);

- checkArgGroups(arguments, 0, inputTypes, NUMERIC_GROUP);
+ checkArgGroups(arguments, 0, inputTypes, NUMERIC_GROUP, VOID_GROUP);

      obtainIntConverter(arguments, 0, inputTypes, converters);


Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFLastDay.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFLastDay.java?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFLastDay.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFLastDay.java Thu Apr 16 01:13:00 2015
@@ -19,7 +19,7 @@ package org.apache.hadoop.hive.ql.udf.ge

  import static org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils.PrimitiveGrouping.DATE_GROUP;
  import static org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils.PrimitiveGrouping.STRING_GROUP;
-
+import static org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils.PrimitiveGrouping.VOID_GROUP;
  import java.util.Calendar;
  import java.util.Date;

@@ -57,7 +57,7 @@ public class GenericUDFLastDay extends G

      checkArgPrimitive(arguments, 0);

- checkArgGroups(arguments, 0, inputTypes, STRING_GROUP, DATE_GROUP);
+ checkArgGroups(arguments, 0, inputTypes, STRING_GROUP, DATE_GROUP, VOID_GROUP);

      obtainDateConverter(arguments, 0, inputTypes, converters);


Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFLevenshtein.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFLevenshtein.java?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFLevenshtein.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFLevenshtein.java Thu Apr 16 01:13:00 2015
@@ -18,6 +18,7 @@
  package org.apache.hadoop.hive.ql.udf.generic;

  import static org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils.PrimitiveGrouping.STRING_GROUP;
+import static org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils.PrimitiveGrouping.VOID_GROUP;

  import org.apache.commons.lang3.StringUtils;
  import org.apache.hadoop.hive.ql.exec.Description;
@@ -60,8 +61,8 @@ public class GenericUDFLevenshtein exten
      checkArgPrimitive(arguments, 0);
      checkArgPrimitive(arguments, 1);

- checkArgGroups(arguments, 0, inputTypes, STRING_GROUP);
- checkArgGroups(arguments, 1, inputTypes, STRING_GROUP);
+ checkArgGroups(arguments, 0, inputTypes, STRING_GROUP, VOID_GROUP);
+ checkArgGroups(arguments, 1, inputTypes, STRING_GROUP, VOID_GROUP);

      obtainStringConverter(arguments, 0, inputTypes, converters);
      obtainStringConverter(arguments, 1, inputTypes, converters);

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFMap.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFMap.java?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFMap.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFMap.java Thu Apr 16 01:13:00 2015
@@ -18,7 +18,6 @@

  package org.apache.hadoop.hive.ql.udf.generic;

-import java.util.HashMap;
  import java.util.LinkedHashMap;

  import org.apache.hadoop.hive.ql.exec.Description;
@@ -26,12 +25,14 @@ import org.apache.hadoop.hive.ql.exec.UD
  import org.apache.hadoop.hive.ql.exec.UDFArgumentLengthException;
  import org.apache.hadoop.hive.ql.exec.UDFArgumentTypeException;
  import org.apache.hadoop.hive.ql.metadata.HiveException;
+import org.apache.hadoop.hive.serde2.objectinspector.ListObjectInspector;
  import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
  import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorConverters;
  import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorConverters.Converter;
  import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorFactory;
  import org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector;
  import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
+import org.apache.hadoop.hive.serde2.objectinspector.primitive.VoidObjectInspector;

  /**
   * GenericUDFMap.
@@ -75,7 +76,7 @@ public class GenericUDFMap extends Gener
          }
        } else {
          // Values
- if (!valueOIResolver.update(arguments[i])) {
+ if (!valueOIResolver.update(arguments[i]) && !compatibleTypes(arguments[i], arguments[i-2])) {
            throw new UDFArgumentTypeException(i, "Value type \""
                + arguments[i].getTypeName()
                + "\" is different from preceding value types. "
@@ -100,6 +101,21 @@ public class GenericUDFMap extends Gener
      return ObjectInspectorFactory.getStandardMapObjectInspector(keyOI, valueOI);
    }

+ private boolean compatibleTypes(ObjectInspector current, ObjectInspector prev) {
+
+ if (current instanceof VoidObjectInspector || prev instanceof VoidObjectInspector) {
+ // we allow null values for map.
+ return true;
+ }
+ if (current instanceof ListObjectInspector && prev instanceof ListObjectInspector && (
+ ((ListObjectInspector)current).getListElementObjectInspector() instanceof VoidObjectInspector ||
+ ((ListObjectInspector)prev).getListElementObjectInspector() instanceof VoidObjectInspector)) {
+ // array<null> is compatible with any other array<type>
+ return true;
+ }
+ return false;
+ }
+
    @Override
    public Object evaluate(DeferredObject[] arguments) throws HiveException {
      ret.clear();

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFNextDay.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFNextDay.java?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFNextDay.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFNextDay.java Thu Apr 16 01:13:00 2015
@@ -26,6 +26,7 @@ import static org.apache.hadoop.hive.ql.
  import static org.apache.hadoop.hive.ql.udf.generic.GenericUDFNextDay.DayOfWeek.WED;
  import static org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils.PrimitiveGrouping.DATE_GROUP;
  import static org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils.PrimitiveGrouping.STRING_GROUP;
+import static org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils.PrimitiveGrouping.VOID_GROUP;

  import java.util.Calendar;
  import java.util.Date;
@@ -68,8 +69,8 @@ public class GenericUDFNextDay extends G
      checkArgPrimitive(arguments, 0);
      checkArgPrimitive(arguments, 1);

- checkArgGroups(arguments, 0, inputTypes, STRING_GROUP, DATE_GROUP);
- checkArgGroups(arguments, 1, inputTypes, STRING_GROUP);
+ checkArgGroups(arguments, 0, inputTypes, STRING_GROUP, DATE_GROUP, VOID_GROUP);
+ checkArgGroups(arguments, 1, inputTypes, STRING_GROUP, VOID_GROUP);

      obtainDateConverter(arguments, 0, inputTypes, converters);
      obtainStringConverter(arguments, 1, inputTypes, converters);
@@ -168,9 +169,9 @@ public class GenericUDFNextDay extends G
          "TH", "THU", "THURSDAY"), FRI("FR", "FRI", "FRIDAY"), SAT("SA", "SAT", "SATURDAY"), SUN(
          "SU", "SUN", "SUNDAY");

- private String name2;
- private String name3;
- private String fullName;
+ private final String name2;
+ private final String name3;
+ private final String fullName;

      private DayOfWeek(String name2, String name3, String fullName) {
        this.name2 = name2;

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFSoundex.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFSoundex.java?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFSoundex.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFSoundex.java Thu Apr 16 01:13:00 2015
@@ -100,7 +100,8 @@ public class GenericUDFSoundex extends G
    protected void checkIfStringGroup(ObjectInspector[] arguments, int i, String argOrder)
        throws UDFArgumentTypeException {
      inputTypes[i] = ((PrimitiveObjectInspector) arguments[i]).getPrimitiveCategory();
- if (PrimitiveObjectInspectorUtils.getPrimitiveGrouping(inputTypes[i]) != PrimitiveGrouping.STRING_GROUP) {
+ if (PrimitiveObjectInspectorUtils.getPrimitiveGrouping(inputTypes[i]) != PrimitiveGrouping.STRING_GROUP &&
+ PrimitiveObjectInspectorUtils.getPrimitiveGrouping(inputTypes[i]) != PrimitiveGrouping.VOID_GROUP) {
        throw new UDFArgumentTypeException(i, getFuncName() + " only takes STRING_GROUP types as "
            + argOrder + " argument, got " + inputTypes[i]);
      }
@@ -109,10 +110,11 @@ public class GenericUDFSoundex extends G
    protected void getStringConverter(ObjectInspector[] arguments, int i, String argOrder)
        throws UDFArgumentTypeException {
      textConverters[i] = ObjectInspectorConverters.getConverter(
- (PrimitiveObjectInspector) arguments[i],
+ arguments[i],
          PrimitiveObjectInspectorFactory.writableStringObjectInspector);
    }

+ @Override
    protected String getFuncName() {
      return "soundex";
    }

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java Thu Apr 16 01:13:00 2015
@@ -22,7 +22,6 @@ package org.apache.hadoop.hive.ql.udf.ge
  import java.sql.Timestamp;
  import java.text.ParseException;
  import java.text.SimpleDateFormat;
-import java.util.ArrayList;
  import java.util.Calendar;
  import java.util.Date;

@@ -96,9 +95,10 @@ public class GenericUDFTrunc extends Gen
      case STRING:
      case VARCHAR:
      case CHAR:
+ case VOID:
        inputType1 = PrimitiveCategory.STRING;
        textConverter1 = ObjectInspectorConverters.getConverter(
- (PrimitiveObjectInspector) arguments[0],
+ arguments[0],
            PrimitiveObjectInspectorFactory.writableStringObjectInspector);
        break;
      case TIMESTAMP:
@@ -107,7 +107,7 @@ public class GenericUDFTrunc extends Gen
        break;
      case DATE:
        dateWritableConverter = ObjectInspectorConverters.getConverter(
- (PrimitiveObjectInspector) arguments[0],
+ arguments[0],
            PrimitiveObjectInspectorFactory.writableDateObjectInspector);
        break;
      default:
@@ -118,7 +118,8 @@ public class GenericUDFTrunc extends Gen

      inputType2 = ((PrimitiveObjectInspector) arguments[1]).getPrimitiveCategory();
      if (PrimitiveObjectInspectorUtils.getPrimitiveGrouping(inputType2)
- != PrimitiveGrouping.STRING_GROUP) {
+ != PrimitiveGrouping.STRING_GROUP && PrimitiveObjectInspectorUtils.getPrimitiveGrouping(inputType2)
+ != PrimitiveGrouping.VOID_GROUP) {
        throw new UDFArgumentTypeException(1,
            "trunk() only takes STRING/CHAR/VARCHAR types as second argument, got " + inputType2);
      }
@@ -130,7 +131,7 @@ public class GenericUDFTrunc extends Gen
        fmtInput = obj != null ? obj.toString() : null;
      } else {
        textConverter2 = ObjectInspectorConverters.getConverter(
- (PrimitiveObjectInspector) arguments[1],
+ arguments[1],
            PrimitiveObjectInspectorFactory.writableStringObjectInspector);
      }


Modified: hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFLevenshtein.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFLevenshtein.java?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFLevenshtein.java (original)
+++ hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFLevenshtein.java Thu Apr 16 01:13:00 2015
@@ -62,7 +62,7 @@ public class TestGenericUDFLevenshtein e
        assertTrue("levenshtein test. UDFArgumentTypeException is expected", false);
      } catch (UDFArgumentTypeException e) {
        assertEquals("levenshtein test",
- "levenshtein only takes STRING_GROUP types as 1st argument, got INT", e.getMessage());
+ "levenshtein only takes STRING_GROUP, VOID_GROUP types as 1st argument, got INT", e.getMessage());
      }
    }

@@ -78,7 +78,7 @@ public class TestGenericUDFLevenshtein e
        assertTrue("levenshtein test. UDFArgumentTypeException is expected", false);
      } catch (UDFArgumentTypeException e) {
        assertEquals("levenshtein test",
- "levenshtein only takes STRING_GROUP types as 2nd argument, got FLOAT", e.getMessage());
+ "levenshtein only takes STRING_GROUP, VOID_GROUP types as 2nd argument, got FLOAT", e.getMessage());
      }
    }


Modified: hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFNextDay.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFNextDay.java?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFNextDay.java (original)
+++ hive/trunk/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFNextDay.java Thu Apr 16 01:13:00 2015
@@ -92,7 +92,7 @@ public class TestGenericUDFNextDay exten
        assertTrue("UDFArgumentException expected", false);
      } catch (UDFArgumentException e) {
        assertEquals(
- "next_day only takes STRING_GROUP, DATE_GROUP types as 1st argument, got LONG",
+ "next_day only takes STRING_GROUP, DATE_GROUP, VOID_GROUP types as 1st argument, got LONG",
            e.getMessage());
      }
    }
@@ -108,7 +108,7 @@ public class TestGenericUDFNextDay exten
        udf.initialize(arguments);
        assertTrue("UDFArgumentException expected", false);
      } catch (UDFArgumentException e) {
- assertEquals("next_day only takes STRING_GROUP types as 2nd argument, got INT",
+ assertEquals("next_day only takes STRING_GROUP, VOID_GROUP types as 2nd argument, got INT",
            e.getMessage());
      }
    }

Modified: hive/trunk/ql/src/test/queries/clientpositive/optimize_nullscan.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/optimize_nullscan.q?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/optimize_nullscan.q (original)
+++ hive/trunk/ql/src/test/queries/clientpositive/optimize_nullscan.q Thu Apr 16 01:13:00 2015
@@ -31,3 +31,7 @@ select * from (select key from src union
  explain extended
  select * from src s1, src s2 where false and s1.value = s2.value;
  select * from src s1, src s2 where false and s1.value = s2.value;
+
+explain extended
+select count(1) from src where null = 1;
+select count(1) from src where null = 1;

Modified: hive/trunk/ql/src/test/results/clientnegative/udf_add_months_error_1.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientnegative/udf_add_months_error_1.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientnegative/udf_add_months_error_1.q.out (original)
+++ hive/trunk/ql/src/test/results/clientnegative/udf_add_months_error_1.q.out Thu Apr 16 01:13:00 2015
@@ -1 +1 @@
-FAILED: SemanticException [Error 10016]: Line 1:18 Argument type mismatch '14567893456': add_months only takes STRING_GROUP, DATE_GROUP types as 1st argument, got LONG
+FAILED: SemanticException [Error 10016]: Line 1:18 Argument type mismatch '14567893456': add_months only takes STRING_GROUP, DATE_GROUP, VOID_GROUP types as 1st argument, got LONG

Modified: hive/trunk/ql/src/test/results/clientnegative/udf_last_day_error_1.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientnegative/udf_last_day_error_1.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientnegative/udf_last_day_error_1.q.out (original)
+++ hive/trunk/ql/src/test/results/clientnegative/udf_last_day_error_1.q.out Thu Apr 16 01:13:00 2015
@@ -1 +1 @@
-FAILED: SemanticException [Error 10016]: Line 1:16 Argument type mismatch '1423199465': last_day only takes STRING_GROUP, DATE_GROUP types as 1st argument, got INT
+FAILED: SemanticException [Error 10016]: Line 1:16 Argument type mismatch '1423199465': last_day only takes STRING_GROUP, DATE_GROUP, VOID_GROUP types as 1st argument, got INT

Modified: hive/trunk/ql/src/test/results/clientnegative/udf_next_day_error_1.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientnegative/udf_next_day_error_1.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientnegative/udf_next_day_error_1.q.out (original)
+++ hive/trunk/ql/src/test/results/clientnegative/udf_next_day_error_1.q.out Thu Apr 16 01:13:00 2015
@@ -1 +1 @@
-FAILED: SemanticException [Error 10016]: Line 1:16 Argument type mismatch '145622345': next_day only takes STRING_GROUP, DATE_GROUP types as 1st argument, got INT
+FAILED: SemanticException [Error 10016]: Line 1:16 Argument type mismatch '145622345': next_day only takes STRING_GROUP, DATE_GROUP, VOID_GROUP types as 1st argument, got INT

Modified: hive/trunk/ql/src/test/results/clientnegative/udf_next_day_error_2.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientnegative/udf_next_day_error_2.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientnegative/udf_next_day_error_2.q.out (original)
+++ hive/trunk/ql/src/test/results/clientnegative/udf_next_day_error_2.q.out Thu Apr 16 01:13:00 2015
@@ -1 +1 @@
-FAILED: SemanticException [Error 10016]: Line 1:30 Argument type mismatch '4': next_day only takes STRING_GROUP types as 2nd argument, got INT
+FAILED: SemanticException [Error 10016]: Line 1:30 Argument type mismatch '4': next_day only takes STRING_GROUP, VOID_GROUP types as 2nd argument, got INT

Modified: hive/trunk/ql/src/test/results/clientpositive/annotate_stats_select.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/annotate_stats_select.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/annotate_stats_select.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/annotate_stats_select.q.out Thu Apr 16 01:13:00 2015
@@ -508,7 +508,7 @@ STAGE PLANS:
            alias: alltypes_orc
            Statistics: Num rows: 2 Data size: 1686 Basic stats: COMPLETE Column stats: COMPLETE
            Select Operator
- expressions: null (type: void)
+ expressions: null (type: date)
              outputColumnNames: _col0
              Statistics: Num rows: 2 Data size: 0 Basic stats: PARTIAL Column stats: COMPLETE
              ListSink

Modified: hive/trunk/ql/src/test/results/clientpositive/decimal_udf.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/decimal_udf.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/decimal_udf.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/decimal_udf.q.out Thu Apr 16 01:13:00 2015
@@ -940,7 +940,7 @@ STAGE PLANS:
            alias: decimal_udf
            Statistics: Num rows: 3 Data size: 359 Basic stats: COMPLETE Column stats: NONE
            Select Operator
- expressions: (UDFToDouble(key) / UDFToDouble(null)) (type: double)
+ expressions: (UDFToDouble(key) / null) (type: double)
              outputColumnNames: _col0
              Statistics: Num rows: 3 Data size: 359 Basic stats: COMPLETE Column stats: NONE
              Limit

Modified: hive/trunk/ql/src/test/results/clientpositive/input8.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/input8.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/input8.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/input8.q.out Thu Apr 16 01:13:00 2015
@@ -32,7 +32,7 @@ STAGE PLANS:
              alias: src1
              Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
              Select Operator
- expressions: (4.0 + UDFToDouble(null)) (type: double), UDFToInteger((UDFToDouble(key) - UDFToDouble(null))) (type: int), (UDFToDouble(null) + UDFToDouble(null)) (type: double)
+ expressions: null (type: double), UDFToInteger((UDFToDouble(key) - null)) (type: int), null (type: double)
                outputColumnNames: _col0, _col1, _col2
                Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
                File Output Operator

Modified: hive/trunk/ql/src/test/results/clientpositive/input9.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/input9.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/input9.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/input9.q.out Thu Apr 16 01:13:00 2015
@@ -32,15 +32,15 @@ STAGE PLANS:
              alias: src1
              Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
              Filter Operator
- predicate: (null = null) (type: boolean)
- Statistics: Num rows: 12 Data size: 91 Basic stats: COMPLETE Column stats: NONE
+ predicate: false (type: boolean)
+ Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
                Select Operator
                  expressions: null (type: void), UDFToInteger(key) (type: int)
                  outputColumnNames: _col0, _col1
- Statistics: Num rows: 12 Data size: 91 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
                  File Output Operator
                    compressed: false
- Statistics: Num rows: 12 Data size: 91 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
                    table:
                        input format: org.apache.hadoop.mapred.TextInputFormat
                        output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat

Modified: hive/trunk/ql/src/test/results/clientpositive/load_dyn_part14.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/load_dyn_part14.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/load_dyn_part14.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/load_dyn_part14.q.out Thu Apr 16 01:13:00 2015
@@ -74,24 +74,24 @@ STAGE PLANS:
              alias: src
              Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: COMPLETE
              Select Operator
- expressions: 'k1' (type: string), UDFToString(null) (type: string)
+ expressions: 'k1' (type: string), null (type: string)
                outputColumnNames: _col0, _col1
- Statistics: Num rows: 500 Data size: 85000 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 500 Data size: 43000 Basic stats: COMPLETE Column stats: COMPLETE
                Limit
                  Number of rows: 2
- Statistics: Num rows: 2 Data size: 340 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 2 Data size: 172 Basic stats: COMPLETE Column stats: COMPLETE
                  Reduce Output Operator
                    sort order:
- Statistics: Num rows: 2 Data size: 340 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 2 Data size: 172 Basic stats: COMPLETE Column stats: COMPLETE
                    value expressions: _col0 (type: string), _col1 (type: string)
        Reduce Operator Tree:
          Select Operator
            expressions: VALUE._col0 (type: string), VALUE._col1 (type: string)
            outputColumnNames: _col0, _col1
- Statistics: Num rows: 2 Data size: 340 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 2 Data size: 172 Basic stats: COMPLETE Column stats: COMPLETE
            Limit
              Number of rows: 2
- Statistics: Num rows: 2 Data size: 340 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 2 Data size: 172 Basic stats: COMPLETE Column stats: COMPLETE
              File Output Operator
                compressed: false
                table:
@@ -104,10 +104,10 @@ STAGE PLANS:
        Map Operator Tree:
            TableScan
              Union
- Statistics: Num rows: 6 Data size: 1022 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 6 Data size: 854 Basic stats: COMPLETE Column stats: COMPLETE
                File Output Operator
                  compressed: false
- Statistics: Num rows: 6 Data size: 1022 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 6 Data size: 854 Basic stats: COMPLETE Column stats: COMPLETE
                  table:
                      input format: org.apache.hadoop.mapred.TextInputFormat
                      output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
@@ -115,10 +115,10 @@ STAGE PLANS:
                      name: default.nzhang_part14
            TableScan
              Union
- Statistics: Num rows: 6 Data size: 1022 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 6 Data size: 854 Basic stats: COMPLETE Column stats: COMPLETE
                File Output Operator
                  compressed: false
- Statistics: Num rows: 6 Data size: 1022 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 6 Data size: 854 Basic stats: COMPLETE Column stats: COMPLETE
                  table:
                      input format: org.apache.hadoop.mapred.TextInputFormat
                      output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
@@ -126,10 +126,10 @@ STAGE PLANS:
                      name: default.nzhang_part14
            TableScan
              Union
- Statistics: Num rows: 6 Data size: 1022 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 6 Data size: 854 Basic stats: COMPLETE Column stats: COMPLETE
                File Output Operator
                  compressed: false
- Statistics: Num rows: 6 Data size: 1022 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 6 Data size: 854 Basic stats: COMPLETE Column stats: COMPLETE
                  table:
                      input format: org.apache.hadoop.mapred.TextInputFormat
                      output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat

Modified: hive/trunk/ql/src/test/results/clientpositive/num_op_type_conv.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/num_op_type_conv.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/num_op_type_conv.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/num_op_type_conv.q.out Thu Apr 16 01:13:00 2015
@@ -20,12 +20,12 @@ STAGE PLANS:
            alias: src
            Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: COMPLETE
            Select Operator
- expressions: (UDFToDouble(null) + 7.0) (type: double), (1.0 - UDFToDouble(null)) (type: double), (UDFToDouble(null) + UDFToDouble(null)) (type: double), 1 (type: bigint), 0 (type: bigint), 0.0 (type: double)
+ expressions: null (type: double), null (type: double), null (type: double), 1 (type: bigint), 0 (type: bigint), 0.0 (type: double)
              outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
- Statistics: Num rows: 500 Data size: 24000 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 500 Data size: 12000 Basic stats: COMPLETE Column stats: COMPLETE
              Limit
                Number of rows: 1
- Statistics: Num rows: 1 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
                ListSink

  PREHOOK: query: SELECT null + 7, 1.0 - null, null + null,

Modified: hive/trunk/ql/src/test/results/clientpositive/optimize_nullscan.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/optimize_nullscan.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/optimize_nullscan.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/optimize_nullscan.q.out Thu Apr 16 01:13:00 2015
@@ -2194,3 +2194,150 @@ POSTHOOK: query: select * from src s1, s
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@src
  #### A masked pattern was here ####
+PREHOOK: query: explain extended
+select count(1) from src where null = 1
+PREHOOK: type: QUERY
+POSTHOOK: query: explain extended
+select count(1) from src where null = 1
+POSTHOOK: type: QUERY
+ABSTRACT SYNTAX TREE:
+
+TOK_QUERY
+ TOK_FROM
+ TOK_TABREF
+ TOK_TABNAME
+ src
+ TOK_INSERT
+ TOK_DESTINATION
+ TOK_DIR
+ TOK_TMP_FILE
+ TOK_SELECT
+ TOK_SELEXPR
+ TOK_FUNCTION
+ count
+ 1
+ TOK_WHERE
+ =
+ TOK_NULL
+ 1
+
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+ Stage: Stage-1
+ Map Reduce
+ Map Operator Tree:
+ TableScan
+ alias: src
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: COMPLETE
+ GatherStats: false
+ Filter Operator
+ isSamplingPred: false
+ predicate: false (type: boolean)
+ Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: COMPLETE
+ Group By Operator
+ aggregations: count(1)
+ mode: hash
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ sort order:
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ tag: -1
+ value expressions: _col0 (type: bigint)
+ auto parallelism: false
+ Path -> Alias:
+ -mr-10002default.src{} [src]
+ Path -> Partition:
+ -mr-10002default.src{}
+ Partition
+ input format: org.apache.hadoop.hive.ql.io.OneNullRowInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ COLUMN_STATS_ACCURATE true
+ bucket_count -1
+ columns key,value
+ columns.comments 'default','default'
+ columns.types string:string
+#### A masked pattern was here ####
+ name default.src
+ numFiles 1
+ numRows 500
+ rawDataSize 5312
+ serialization.ddl struct src { string key, string value}
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.serde2.NullStructSerDe
+ totalSize 5812
+#### A masked pattern was here ####
+ serde: org.apache.hadoop.hive.serde2.NullStructSerDe
+
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ COLUMN_STATS_ACCURATE true
+ bucket_count -1
+ columns key,value
+ columns.comments 'default','default'
+ columns.types string:string
+#### A masked pattern was here ####
+ name default.src
+ numFiles 1
+ numRows 500
+ rawDataSize 5312
+ serialization.ddl struct src { string key, string value}
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ totalSize 5812
+#### A masked pattern was here ####
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.src
+ name: default.src
+ Truncated Path -> Alias:
+ -mr-10002default.src{} [src]
+ Needs Tagging: false
+ Reduce Operator Tree:
+ Group By Operator
+ aggregations: count(VALUE._col0)
+ mode: mergepartial
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+#### A masked pattern was here ####
+ NumFilesPerFileSink: 1
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+#### A masked pattern was here ####
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ columns _col0
+ columns.types bigint
+ escape.delim \
+ hive.serialization.extend.additional.nesting.levels true
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ TotalFiles: 1
+ GatherStats: false
+ MultiFileSpray: false
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ ListSink
+
+PREHOOK: query: select count(1) from src where null = 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: select count(1) from src where null = 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+0

Modified: hive/trunk/ql/src/test/results/clientpositive/ppd_constant_expr.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/ppd_constant_expr.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/ppd_constant_expr.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/ppd_constant_expr.q.out Thu Apr 16 01:13:00 2015
@@ -32,7 +32,7 @@ STAGE PLANS:
              alias: src1
              Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
              Select Operator
- expressions: (4.0 + UDFToDouble(null)) (type: double), UDFToInteger((UDFToDouble(key) - UDFToDouble(null))) (type: int), (UDFToDouble(null) + UDFToDouble(null)) (type: double)
+ expressions: null (type: double), UDFToInteger((UDFToDouble(key) - null)) (type: int), null (type: double)
                outputColumnNames: _col0, _col1, _col2
                Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
                File Output Operator
@@ -168,7 +168,7 @@ STAGE PLANS:
              alias: src1
              Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
              Select Operator
- expressions: (4.0 + UDFToDouble(null)) (type: double), UDFToInteger((UDFToDouble(key) - UDFToDouble(null))) (type: int), (UDFToDouble(null) + UDFToDouble(null)) (type: double)
+ expressions: null (type: double), UDFToInteger((UDFToDouble(key) - null)) (type: int), null (type: double)
                outputColumnNames: _col0, _col1, _col2
                Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
                File Output Operator

Modified: hive/trunk/ql/src/test/results/clientpositive/spark/auto_join8.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/spark/auto_join8.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/spark/auto_join8.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/spark/auto_join8.q.out Thu Apr 16 01:13:00 2015
@@ -96,7 +96,7 @@ STAGE PLANS:
                            predicate: _col2 is null (type: boolean)
                            Statistics: Num rows: 15 Data size: 163 Basic stats: COMPLETE Column stats: NONE
                            Select Operator
- expressions: UDFToInteger(_col0) (type: int), _col1 (type: string), UDFToInteger(null) (type: int), _col3 (type: string)
+ expressions: UDFToInteger(_col0) (type: int), _col1 (type: string), null (type: int), _col3 (type: string)
                              outputColumnNames: _col0, _col1, _col2, _col3
                              Statistics: Num rows: 15 Data size: 163 Basic stats: COMPLETE Column stats: NONE
                              File Output Operator

Modified: hive/trunk/ql/src/test/results/clientpositive/spark/join8.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/spark/join8.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/spark/join8.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/spark/join8.q.out Thu Apr 16 01:13:00 2015
@@ -102,7 +102,7 @@ STAGE PLANS:
                    predicate: _col2 is null (type: boolean)
                    Statistics: Num rows: 15 Data size: 163 Basic stats: COMPLETE Column stats: NONE
                    Select Operator
- expressions: UDFToInteger(_col0) (type: int), _col1 (type: string), UDFToInteger(null) (type: int), _col3 (type: string)
+ expressions: UDFToInteger(_col0) (type: int), _col1 (type: string), null (type: int), _col3 (type: string)
                      outputColumnNames: _col0, _col1, _col2, _col3
                      Statistics: Num rows: 15 Data size: 163 Basic stats: COMPLETE Column stats: NONE
                      File Output Operator

Modified: hive/trunk/ql/src/test/results/clientpositive/spark/load_dyn_part14.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/spark/load_dyn_part14.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/spark/load_dyn_part14.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/spark/load_dyn_part14.q.out Thu Apr 16 01:13:00 2015
@@ -73,15 +73,15 @@ STAGE PLANS:
                    alias: src
                    Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: COMPLETE
                    Select Operator
- expressions: 'k1' (type: string), UDFToString(null) (type: string)
+ expressions: 'k1' (type: string), null (type: string)
                      outputColumnNames: _col0, _col1
- Statistics: Num rows: 500 Data size: 85000 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 500 Data size: 43000 Basic stats: COMPLETE Column stats: COMPLETE
                      Limit
                        Number of rows: 2
- Statistics: Num rows: 2 Data size: 340 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 2 Data size: 172 Basic stats: COMPLETE Column stats: COMPLETE
                        Reduce Output Operator
                          sort order:
- Statistics: Num rows: 2 Data size: 340 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 2 Data size: 172 Basic stats: COMPLETE Column stats: COMPLETE
                          value expressions: _col0 (type: string), _col1 (type: string)
          Map 3
              Map Operator Tree:

Modified: hive/trunk/ql/src/test/results/clientpositive/spark/optimize_nullscan.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/spark/optimize_nullscan.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/spark/optimize_nullscan.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/spark/optimize_nullscan.q.out Thu Apr 16 01:13:00 2015
@@ -1971,3 +1971,156 @@ POSTHOOK: query: select * from src s1, s
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@src
  #### A masked pattern was here ####
+PREHOOK: query: explain extended
+select count(1) from src where null = 1
+PREHOOK: type: QUERY
+POSTHOOK: query: explain extended
+select count(1) from src where null = 1
+POSTHOOK: type: QUERY
+ABSTRACT SYNTAX TREE:
+
+TOK_QUERY
+ TOK_FROM
+ TOK_TABREF
+ TOK_TABNAME
+ src
+ TOK_INSERT
+ TOK_DESTINATION
+ TOK_DIR
+ TOK_TMP_FILE
+ TOK_SELECT
+ TOK_SELEXPR
+ TOK_FUNCTION
+ count
+ 1
+ TOK_WHERE
+ =
+ TOK_NULL
+ 1
+
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+ Stage: Stage-1
+ Spark
+ Edges:
+ Reducer 2 <- Map 1 (GROUP, 1)
+#### A masked pattern was here ####
+ Vertices:
+ Map 1
+ Map Operator Tree:
+ TableScan
+ alias: src
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: COMPLETE
+ GatherStats: false
+ Filter Operator
+ isSamplingPred: false
+ predicate: false (type: boolean)
+ Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: COMPLETE
+ Group By Operator
+ aggregations: count(1)
+ mode: hash
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ sort order:
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ tag: -1
+ value expressions: _col0 (type: bigint)
+ auto parallelism: false
+ Path -> Alias:
+ -mr-10003default.src{} [src]
+ Path -> Partition:
+ -mr-10003default.src{}
+ Partition
+ input format: org.apache.hadoop.hive.ql.io.OneNullRowInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ COLUMN_STATS_ACCURATE true
+ bucket_count -1
+ columns key,value
+ columns.comments 'default','default'
+ columns.types string:string
+#### A masked pattern was here ####
+ name default.src
+ numFiles 1
+ numRows 500
+ rawDataSize 5312
+ serialization.ddl struct src { string key, string value}
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.serde2.NullStructSerDe
+ totalSize 5812
+#### A masked pattern was here ####
+ serde: org.apache.hadoop.hive.serde2.NullStructSerDe
+
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ COLUMN_STATS_ACCURATE true
+ bucket_count -1
+ columns key,value
+ columns.comments 'default','default'
+ columns.types string:string
+#### A masked pattern was here ####
+ name default.src
+ numFiles 1
+ numRows 500
+ rawDataSize 5312
+ serialization.ddl struct src { string key, string value}
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ totalSize 5812
+#### A masked pattern was here ####
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.src
+ name: default.src
+ Truncated Path -> Alias:
+ -mr-10003default.src{} [src]
+ Reducer 2
+ Needs Tagging: false
+ Reduce Operator Tree:
+ Group By Operator
+ aggregations: count(VALUE._col0)
+ mode: mergepartial
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+#### A masked pattern was here ####
+ NumFilesPerFileSink: 1
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+#### A masked pattern was here ####
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ columns _col0
+ columns.types bigint
+ escape.delim \
+ hive.serialization.extend.additional.nesting.levels true
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ TotalFiles: 1
+ GatherStats: false
+ MultiFileSpray: false
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ ListSink
+
+PREHOOK: query: select count(1) from src where null = 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: select count(1) from src where null = 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+0

Modified: hive/trunk/ql/src/test/results/clientpositive/spark/vector_elt.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/spark/vector_elt.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/spark/vector_elt.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/spark/vector_elt.q.out Thu Apr 16 01:13:00 2015
@@ -89,7 +89,7 @@ STAGE PLANS:
            alias: alltypesorc
            Statistics: Num rows: 12288 Data size: 377237 Basic stats: COMPLETE Column stats: COMPLETE
            Select Operator
- expressions: 'defg' (type: string), 'cc' (type: string), 'abc' (type: string), '2' (type: string), '12345' (type: string), '123456789012' (type: string), '1.25' (type: string), '16.0' (type: string), null (type: void), null (type: void)
+ expressions: 'defg' (type: string), 'cc' (type: string), 'abc' (type: string), '2' (type: string), '12345' (type: string), '123456789012' (type: string), '1.25' (type: string), '16.0' (type: string), null (type: string), null (type: string)
              outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9
              Statistics: Num rows: 12288 Data size: 8687616 Basic stats: COMPLETE Column stats: COMPLETE
              Limit

Modified: hive/trunk/ql/src/test/results/clientpositive/tez/optimize_nullscan.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/tez/optimize_nullscan.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/tez/optimize_nullscan.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/tez/optimize_nullscan.q.out Thu Apr 16 01:13:00 2015
@@ -1980,3 +1980,156 @@ POSTHOOK: query: select * from src s1, s
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@src
  #### A masked pattern was here ####
+PREHOOK: query: explain extended
+select count(1) from src where null = 1
+PREHOOK: type: QUERY
+POSTHOOK: query: explain extended
+select count(1) from src where null = 1
+POSTHOOK: type: QUERY
+ABSTRACT SYNTAX TREE:
+
+TOK_QUERY
+ TOK_FROM
+ TOK_TABREF
+ TOK_TABNAME
+ src
+ TOK_INSERT
+ TOK_DESTINATION
+ TOK_DIR
+ TOK_TMP_FILE
+ TOK_SELECT
+ TOK_SELEXPR
+ TOK_FUNCTION
+ count
+ 1
+ TOK_WHERE
+ =
+ TOK_NULL
+ 1
+
+
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+ Edges:
+ Reducer 2 <- Map 1 (SIMPLE_EDGE)
+#### A masked pattern was here ####
+ Vertices:
+ Map 1
+ Map Operator Tree:
+ TableScan
+ alias: src
+ Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: COMPLETE
+ GatherStats: false
+ Filter Operator
+ isSamplingPred: false
+ predicate: false (type: boolean)
+ Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: COMPLETE
+ Group By Operator
+ aggregations: count(1)
+ mode: hash
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ sort order:
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ tag: -1
+ value expressions: _col0 (type: bigint)
+ auto parallelism: false
+ Path -> Alias:
+ -mr-10002default.src{} [src]
+ Path -> Partition:
+ -mr-10002default.src{}
+ Partition
+ input format: org.apache.hadoop.hive.ql.io.OneNullRowInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ COLUMN_STATS_ACCURATE true
+ bucket_count -1
+ columns key,value
+ columns.comments 'default','default'
+ columns.types string:string
+#### A masked pattern was here ####
+ name default.src
+ numFiles 1
+ numRows 500
+ rawDataSize 5312
+ serialization.ddl struct src { string key, string value}
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.serde2.NullStructSerDe
+ totalSize 5812
+#### A masked pattern was here ####
+ serde: org.apache.hadoop.hive.serde2.NullStructSerDe
+
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ COLUMN_STATS_ACCURATE true
+ bucket_count -1
+ columns key,value
+ columns.comments 'default','default'
+ columns.types string:string
+#### A masked pattern was here ####
+ name default.src
+ numFiles 1
+ numRows 500
+ rawDataSize 5312
+ serialization.ddl struct src { string key, string value}
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ totalSize 5812
+#### A masked pattern was here ####
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.src
+ name: default.src
+ Truncated Path -> Alias:
+ -mr-10002default.src{} [src]
+ Reducer 2
+ Needs Tagging: false
+ Reduce Operator Tree:
+ Group By Operator
+ aggregations: count(VALUE._col0)
+ mode: mergepartial
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ File Output Operator
+ compressed: false
+ GlobalTableId: 0
+#### A masked pattern was here ####
+ NumFilesPerFileSink: 1
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+#### A masked pattern was here ####
+ table:
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ columns _col0
+ columns.types bigint
+ escape.delim \
+ hive.serialization.extend.additional.nesting.levels true
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ TotalFiles: 1
+ GatherStats: false
+ MultiFileSpray: false
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: -1
+ Processor Tree:
+ ListSink
+
+PREHOOK: query: select count(1) from src where null = 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: select count(1) from src where null = 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+0

Modified: hive/trunk/ql/src/test/results/clientpositive/tez/vector_coalesce.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/tez/vector_coalesce.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/tez/vector_coalesce.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/tez/vector_coalesce.q.out Thu Apr 16 01:13:00 2015
@@ -68,7 +68,7 @@ STAGE PLANS:
            Filter Operator
              predicate: ctinyint is null (type: boolean)
              Select Operator
- expressions: null (type: void), cdouble (type: double), cint (type: int), COALESCE((UDFToInteger(null) + 10),(cdouble + log2(cint)),0) (type: double)
+ expressions: null (type: void), cdouble (type: double), cint (type: int), COALESCE(null,(cdouble + log2(cint)),0) (type: double)
                outputColumnNames: _col0, _col1, _col2, _col3
                Limit
                  Number of rows: 10
@@ -117,7 +117,7 @@ STAGE PLANS:
            Filter Operator
              predicate: (cfloat is null and cbigint is null) (type: boolean)
              Select Operator
- expressions: null (type: void), null (type: void), COALESCE(null,null,0) (type: float)
+ expressions: null (type: void), null (type: void), 0 (type: int)
                outputColumnNames: _col0, _col1, _col2
                Limit
                  Number of rows: 10

Modified: hive/trunk/ql/src/test/results/clientpositive/tez/vector_decimal_udf.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/tez/vector_decimal_udf.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/tez/vector_decimal_udf.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/tez/vector_decimal_udf.q.out Thu Apr 16 01:13:00 2015
@@ -1191,7 +1191,7 @@ STAGE PLANS:
                    alias: decimal_udf
                    Statistics: Num rows: 38 Data size: 4296 Basic stats: COMPLETE Column stats: NONE
                    Select Operator
- expressions: (UDFToDouble(key) / UDFToDouble(null)) (type: double)
+ expressions: (UDFToDouble(key) / null) (type: double)
                      outputColumnNames: _col0
                      Statistics: Num rows: 38 Data size: 4296 Basic stats: COMPLETE Column stats: NONE
                      Limit
@@ -1204,7 +1204,6 @@ STAGE PLANS:
                              input format: org.apache.hadoop.mapred.TextInputFormat
                              output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                              serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- Execution mode: vectorized

    Stage: Stage-0
      Fetch Operator

Modified: hive/trunk/ql/src/test/results/clientpositive/tez/vector_elt.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/tez/vector_elt.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/tez/vector_elt.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/tez/vector_elt.q.out Thu Apr 16 01:13:00 2015
@@ -84,7 +84,7 @@ STAGE PLANS:
          TableScan
            alias: alltypesorc
            Select Operator
- expressions: 'defg' (type: string), 'cc' (type: string), 'abc' (type: string), '2' (type: string), '12345' (type: string), '123456789012' (type: string), '1.25' (type: string), '16.0' (type: string), null (type: void), null (type: void)
+ expressions: 'defg' (type: string), 'cc' (type: string), 'abc' (type: string), '2' (type: string), '12345' (type: string), '123456789012' (type: string), '1.25' (type: string), '16.0' (type: string), null (type: string), null (type: string)
              outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9
              Limit
                Number of rows: 1

Search Discussions

  • Hashutosh at Apr 16, 2015 at 1:13 am
    Modified: hive/trunk/ql/src/test/results/clientpositive/udf4.q.out
    URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/udf4.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
    ==============================================================================
    --- hive/trunk/ql/src/test/results/clientpositive/udf4.q.out (original)
    +++ hive/trunk/ql/src/test/results/clientpositive/udf4.q.out Thu Apr 16 01:13:00 2015
    @@ -77,7 +77,7 @@ STAGE PLANS:
                  alias: dest1
                  Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: COMPLETE
                  Select Operator
    - expressions: 1.0 (type: double), 2.0 (type: double), -2.0 (type: double), 1 (type: bigint), 1 (type: bigint), -2 (type: bigint), 1.0 (type: double), null (type: void), 0.0 (type: double), 1 (type: bigint), 2 (type: bigint), -1 (type: bigint), 1 (type: bigint), rand(3) (type: double), 3 (type: int), -3 (type: int), 3 (type: int), -1 (type: int), -2 (type: int), -2 (type: tinyint), -2 (type: smallint), -2 (type: bigint), 0 (type: tinyint), 0 (type: smallint), 0 (type: int), 0 (type: bigint), 3 (type: tinyint), 3 (type: smallint), 3 (type: int), 3 (type: bigint), 2 (type: tinyint), 2 (type: smallint), 2 (type: int), 2 (type: bigint)
    + expressions: 1.0 (type: double), 2.0 (type: double), -2.0 (type: double), 1 (type: bigint), 1 (type: bigint), -2 (type: bigint), 1.0 (type: double), null (type: double), 0.0 (type: double), 1 (type: bigint), 2 (type: bigint), -1 (type: bigint), 1 (type: bigint), rand(3) (type: double), 3 (type: int), -3 (type: int), 3 (type: int), -1 (type: int), -2 (type: int), -2 (type: tinyint), -2 (type: smallint), -2 (type: bigint), 0 (type: tinyint), 0 (type: smallint), 0 (type: int), 0 (type: bigint), 3 (type: tinyint), 3 (type: smallint), 3 (type: int), 3 (type: bigint), 2 (type: tinyint), 2 (type: smallint), 2 (type: int), 2 (type: bigint)
                    outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26, _col27, _col28, _col29, _col30, _col31, _col32, _col33
                    Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: COMPLETE
                    File Output Operator

    Modified: hive/trunk/ql/src/test/results/clientpositive/udf6.q.out
    URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/udf6.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
    ==============================================================================
    --- hive/trunk/ql/src/test/results/clientpositive/udf6.q.out (original)
    +++ hive/trunk/ql/src/test/results/clientpositive/udf6.q.out Thu Apr 16 01:13:00 2015
    @@ -64,33 +64,21 @@ SELECT IF(TRUE, 1, 2), IF(FALSE, 1, 2),
             CAST('128' AS STRING) FROM dest1
      POSTHOOK: type: QUERY
      STAGE DEPENDENCIES:
    - Stage-1 is a root stage
    - Stage-0 depends on stages: Stage-1
    + Stage-0 is a root stage

      STAGE PLANS:
    - Stage: Stage-1
    - Map Reduce
    - Map Operator Tree:
    - TableScan
    - alias: dest1
    - Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: COMPLETE
    - Select Operator
    - expressions: 1 (type: int), 2 (type: int), if(null, 1, 2) (type: int), 'a' (type: string), 0.1 (type: double), 2 (type: bigint), 126 (type: tinyint), 128 (type: smallint), 128 (type: int), 1.0 (type: double), '128' (type: string)
    - outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10
    - Statistics: Num rows: 1 Data size: 220 Basic stats: COMPLETE Column stats: COMPLETE
    - File Output Operator
    - compressed: false
    - Statistics: Num rows: 1 Data size: 220 Basic stats: COMPLETE Column stats: COMPLETE
    - table:
    - input format: org.apache.hadoop.mapred.TextInputFormat
    - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
    - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
    -
        Stage: Stage-0
          Fetch Operator
            limit: -1
            Processor Tree:
    - ListSink
    + TableScan
    + alias: dest1
    + Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: COMPLETE
    + Select Operator
    + expressions: 1 (type: int), 2 (type: int), 2 (type: int), 'a' (type: string), 0.1 (type: double), 2 (type: bigint), 126 (type: tinyint), 128 (type: smallint), 128 (type: int), 1.0 (type: double), '128' (type: string)
    + outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10
    + Statistics: Num rows: 1 Data size: 220 Basic stats: COMPLETE Column stats: COMPLETE
    + ListSink

      PREHOOK: query: SELECT IF(TRUE, 1, 2), IF(FALSE, 1, 2), IF(NULL, 1, 2), IF(TRUE, "a", "b"),
             IF(TRUE, 0.1, 0.2), IF(FALSE, CAST(1 AS BIGINT), CAST(2 AS BIGINT)),

    Modified: hive/trunk/ql/src/test/results/clientpositive/udf7.q.out
    URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/udf7.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
    ==============================================================================
    --- hive/trunk/ql/src/test/results/clientpositive/udf7.q.out (original)
    +++ hive/trunk/ql/src/test/results/clientpositive/udf7.q.out Thu Apr 16 01:13:00 2015
    @@ -47,7 +47,7 @@ STAGE PLANS:
                alias: dest1
                Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: COMPLETE
                Select Operator
    - expressions: 1.098612288668 (type: double), null (type: void), null (type: void), 1.098612288668 (type: double), null (type: void), null (type: void), 1.584962500721 (type: double), null (type: void), null (type: void), 0.47712125472 (type: double), null (type: void), null (type: void), 1.584962500721 (type: double), null (type: void), null (type: void), null (type: void), -1.0 (type: double), 7.389056098931 (type: double), 8.0 (type: double), 8.0 (type: double), 0.125 (type: double), 8.0 (type: double), 2.0 (type: double), NaN (type: double), 1.0 (type: double), 1.0 (type: double), 8.0 (type: double), 8.0 (type: double)
    + expressions: 1.098612288668 (type: double), null (type: double), null (type: double), 1.098612288668 (type: double), null (type: double), null (type: double), 1.584962500721 (type: double), null (type: double), null (type: double), 0.47712125472 (type: double), null (type: double), null (type: double), 1.584962500721 (type: double), null (type: double), null (type: double), null (type: double), -1.0 (type: double), 7.389056098931 (type: double), 8.0 (type: double), 8.0 (type: double), 0.125 (type: double), 8.0 (type: double), 2.0 (type: double), NaN (type: double), 1.0 (type: double), 1.0 (type: double), 8.0 (type: double), 8.0 (type: double)
                  outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26, _col27
                  Statistics: Num rows: 1 Data size: 136 Basic stats: COMPLETE Column stats: COMPLETE
                  ListSink

    Modified: hive/trunk/ql/src/test/results/clientpositive/udf_case.q.out
    URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/udf_case.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
    ==============================================================================
    --- hive/trunk/ql/src/test/results/clientpositive/udf_case.q.out (original)
    +++ hive/trunk/ql/src/test/results/clientpositive/udf_case.q.out Thu Apr 16 01:13:00 2015
    @@ -89,7 +89,7 @@ STAGE PLANS:
                Row Limit Per Split: 1
                Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: COMPLETE
                Select Operator
    - expressions: 2 (type: int), 5 (type: int), 15 (type: int), null (type: void), CASE (17) WHEN (18) THEN (null) WHEN (17) THEN (20) END (type: int), 24 (type: int)
    + expressions: 2 (type: int), 5 (type: int), 15 (type: int), null (type: int), 20 (type: int), 24 (type: int)
                  outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
                  Statistics: Num rows: 500 Data size: 10000 Basic stats: COMPLETE Column stats: COMPLETE
                  ListSink

    Modified: hive/trunk/ql/src/test/results/clientpositive/udf_coalesce.q.out
    URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/udf_coalesce.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
    ==============================================================================
    --- hive/trunk/ql/src/test/results/clientpositive/udf_coalesce.q.out (original)
    +++ hive/trunk/ql/src/test/results/clientpositive/udf_coalesce.q.out Thu Apr 16 01:13:00 2015
    @@ -66,9 +66,9 @@ STAGE PLANS:
                Row Limit Per Split: 1
                Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: COMPLETE
                Select Operator
    - expressions: 1 (type: int), 1 (type: int), COALESCE(null,2) (type: int), COALESCE(1,null) (type: int), COALESCE(null,null,3) (type: int), COALESCE(4,null,null,null) (type: int), '1' (type: string), '1' (type: string), COALESCE(null,'2') (type: string), COALESCE('1',null) (type: string), COALESCE(null,null,'3') (type: string), COALESCE('4',null,null,null) (type: string), 1.0 (type: double), 1.0 (type: double), COALESCE(null,2.0) (type: double), COALESCE(null,2.0,3.0) (type: double), COALESCE(2.0,null,3.0) (type: double), COALESCE(if(true, null, 0),null) (type: int)
    + expressions: 1 (type: int), 1 (type: int), 2 (type: int), 1 (type: int), 3 (type: int), 4 (type: int), '1' (type: string), '1' (type: string), '2' (type: string), '1' (type: string), '3' (type: string), '4' (type: string), 1.0 (type: double), 1.0 (type: double), 2.0 (type: double), 2.0 (type: double), 2.0 (type: double), null (type: int)
                  outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17
    - Statistics: Num rows: 500 Data size: 289000 Basic stats: COMPLETE Column stats: COMPLETE
    + Statistics: Num rows: 500 Data size: 287000 Basic stats: COMPLETE Column stats: COMPLETE
                  ListSink

      PREHOOK: query: SELECT COALESCE(1),

    Modified: hive/trunk/ql/src/test/results/clientpositive/udf_elt.q.out
    URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/udf_elt.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
    ==============================================================================
    --- hive/trunk/ql/src/test/results/clientpositive/udf_elt.q.out (original)
    +++ hive/trunk/ql/src/test/results/clientpositive/udf_elt.q.out Thu Apr 16 01:13:00 2015
    @@ -52,9 +52,9 @@ STAGE PLANS:
                Row Limit Per Split: 1
                Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: COMPLETE
                Select Operator
    - expressions: 'defg' (type: string), 'cc' (type: string), 'abc' (type: string), '2' (type: string), '12345' (type: string), '123456789012' (type: string), '1.25' (type: string), '16.0' (type: string), elt(null, 'abc', 'defg') (type: string), null (type: void), null (type: void)
    + expressions: 'defg' (type: string), 'cc' (type: string), 'abc' (type: string), '2' (type: string), '12345' (type: string), '123456789012' (type: string), '1.25' (type: string), '16.0' (type: string), null (type: string), null (type: string), null (type: string)
                  outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10
    - Statistics: Num rows: 500 Data size: 395500 Basic stats: COMPLETE Column stats: COMPLETE
    + Statistics: Num rows: 500 Data size: 353500 Basic stats: COMPLETE Column stats: COMPLETE
                  ListSink

      PREHOOK: query: SELECT elt(2, 'abc', 'defg'),

    Modified: hive/trunk/ql/src/test/results/clientpositive/udf_greatest.q.out
    URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/udf_greatest.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
    ==============================================================================
    --- hive/trunk/ql/src/test/results/clientpositive/udf_greatest.q.out (original)
    +++ hive/trunk/ql/src/test/results/clientpositive/udf_greatest.q.out Thu Apr 16 01:13:00 2015
    @@ -58,9 +58,9 @@ STAGE PLANS:
                Row Limit Per Split: 1
                Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: COMPLETE
                Select Operator
    - expressions: 'c' (type: string), 'a' (type: string), 'AaA' (type: string), 'AAA' (type: string), '13' (type: string), '2' (type: string), '03' (type: string), '1' (type: string), greatest(null,'b','c') (type: string), greatest('a',null,'c') (type: string), greatest('a','b',null) (type: string), greatest('a',null,null) (type: string), greatest(null,'b',null) (type: string), greatest(UDFToString(null),null,null) (type: string)
    + expressions: 'c' (type: string), 'a' (type: string), 'AaA' (type: string), 'AAA' (type: string), '13' (type: string), '2' (type: string), '03' (type: string), '1' (type: string), 'c' (type: string), 'c' (type: string), 'b' (type: string), 'a' (type: string), 'b' (type: string), null (type: string)
                  outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13
    - Statistics: Num rows: 500 Data size: 597500 Basic stats: COMPLETE Column stats: COMPLETE
    + Statistics: Num rows: 500 Data size: 555500 Basic stats: COMPLETE Column stats: COMPLETE
                  ListSink

      PREHOOK: query: SELECT GREATEST('a', 'b', 'c'),

    Modified: hive/trunk/ql/src/test/results/clientpositive/udf_hour.q.out
    URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/udf_hour.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
    ==============================================================================
    --- hive/trunk/ql/src/test/results/clientpositive/udf_hour.q.out (original)
    +++ hive/trunk/ql/src/test/results/clientpositive/udf_hour.q.out Thu Apr 16 01:13:00 2015
    @@ -39,7 +39,7 @@ STAGE PLANS:
                  predicate: (UDFToDouble(key) = 86.0) (type: boolean)
                  Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                  Select Operator
    - expressions: 13 (type: int), 13 (type: int), null (type: void)
    + expressions: 13 (type: int), 13 (type: int), null (type: int)
                    outputColumnNames: _col0, _col1, _col2
                    Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                    ListSink

    Modified: hive/trunk/ql/src/test/results/clientpositive/udf_if.q.out
    URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/udf_if.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
    ==============================================================================
    --- hive/trunk/ql/src/test/results/clientpositive/udf_if.q.out (original)
    +++ hive/trunk/ql/src/test/results/clientpositive/udf_if.q.out Thu Apr 16 01:13:00 2015
    @@ -39,9 +39,9 @@ STAGE PLANS:
                Row Limit Per Split: 1
                Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: COMPLETE
                Select Operator
    - expressions: 1 (type: int), if(false, UDFToString(null), '1') (type: string), 1 (type: int), if(true, 1, null) (type: int), if(true, null, 1) (type: int), if(if(true, null, false), 1, 2) (type: int)
    + expressions: 1 (type: int), '1' (type: string), 1 (type: int), 1 (type: int), null (type: int), 2 (type: int)
                  outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
    - Statistics: Num rows: 500 Data size: 52500 Basic stats: COMPLETE Column stats: COMPLETE
    + Statistics: Num rows: 500 Data size: 50500 Basic stats: COMPLETE Column stats: COMPLETE
                  ListSink

      PREHOOK: query: SELECT IF(TRUE, 1, 2) AS COL1,

    Modified: hive/trunk/ql/src/test/results/clientpositive/udf_instr.q.out
    URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/udf_instr.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
    ==============================================================================
    --- hive/trunk/ql/src/test/results/clientpositive/udf_instr.q.out (original)
    +++ hive/trunk/ql/src/test/results/clientpositive/udf_instr.q.out Thu Apr 16 01:13:00 2015
    @@ -56,9 +56,9 @@ STAGE PLANS:
                Row Limit Per Split: 1
                Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: COMPLETE
                Select Operator
    - expressions: 1 (type: int), 0 (type: int), 2 (type: int), 2 (type: int), 0 (type: int), 0 (type: int), 2 (type: int), 3 (type: int), 4 (type: int), 2 (type: int), 3 (type: int), instr(null, 'abc') (type: int), instr('abcd', null) (type: int)
    + expressions: 1 (type: int), 0 (type: int), 2 (type: int), 2 (type: int), 0 (type: int), 0 (type: int), 2 (type: int), 3 (type: int), 4 (type: int), 2 (type: int), 3 (type: int), null (type: int), null (type: int)
                  outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12
    - Statistics: Num rows: 500 Data size: 26000 Basic stats: COMPLETE Column stats: COMPLETE
    + Statistics: Num rows: 500 Data size: 22000 Basic stats: COMPLETE Column stats: COMPLETE
                  ListSink

      PREHOOK: query: SELECT instr('abcd', 'abc'),

    Modified: hive/trunk/ql/src/test/results/clientpositive/udf_isnull_isnotnull.q.out
    URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/udf_isnull_isnotnull.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
    ==============================================================================
    --- hive/trunk/ql/src/test/results/clientpositive/udf_isnull_isnotnull.q.out (original)
    +++ hive/trunk/ql/src/test/results/clientpositive/udf_isnull_isnotnull.q.out Thu Apr 16 01:13:00 2015
    @@ -44,7 +44,7 @@ STAGE PLANS:
                alias: src
                Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: COMPLETE
                Select Operator
    - expressions: null is null (type: boolean), true (type: boolean), true (type: boolean)
    + expressions: true (type: boolean), true (type: boolean), true (type: boolean)
                  outputColumnNames: _col0, _col1, _col2
                  Statistics: Num rows: 500 Data size: 6000 Basic stats: COMPLETE Column stats: COMPLETE
                  Limit

    Modified: hive/trunk/ql/src/test/results/clientpositive/udf_least.q.out
    URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/udf_least.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
    ==============================================================================
    --- hive/trunk/ql/src/test/results/clientpositive/udf_least.q.out (original)
    +++ hive/trunk/ql/src/test/results/clientpositive/udf_least.q.out Thu Apr 16 01:13:00 2015
    @@ -58,9 +58,9 @@ STAGE PLANS:
                Row Limit Per Split: 1
                Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: COMPLETE
                Select Operator
    - expressions: 'a' (type: string), 'B' (type: string), 'AAA' (type: string), 'A' (type: string), '11' (type: string), '11' (type: string), '01' (type: string), '01' (type: string), least(null,'b','c') (type: string), least('a',null,'c') (type: string), least('a','b',null) (type: string), least('a',null,null) (type: string), least(null,'b',null) (type: string), least(UDFToString(null),null,null) (type: string)
    + expressions: 'a' (type: string), 'B' (type: string), 'AAA' (type: string), 'A' (type: string), '11' (type: string), '11' (type: string), '01' (type: string), '01' (type: string), 'b' (type: string), 'a' (type: string), 'a' (type: string), 'a' (type: string), 'b' (type: string), null (type: string)
                  outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13
    - Statistics: Num rows: 500 Data size: 597500 Basic stats: COMPLETE Column stats: COMPLETE
    + Statistics: Num rows: 500 Data size: 555500 Basic stats: COMPLETE Column stats: COMPLETE
                  ListSink

      PREHOOK: query: SELECT LEAST('a', 'b', 'c'),

    Modified: hive/trunk/ql/src/test/results/clientpositive/udf_locate.q.out
    URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/udf_locate.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
    ==============================================================================
    --- hive/trunk/ql/src/test/results/clientpositive/udf_locate.q.out (original)
    +++ hive/trunk/ql/src/test/results/clientpositive/udf_locate.q.out Thu Apr 16 01:13:00 2015
    @@ -64,9 +64,9 @@ STAGE PLANS:
                Row Limit Per Split: 1
                Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: COMPLETE
                Select Operator
    - expressions: 1 (type: int), 0 (type: int), 2 (type: int), 2 (type: int), 4 (type: int), 4 (type: int), 0 (type: int), 0 (type: int), 2 (type: int), 3 (type: int), 4 (type: int), 2 (type: int), 3 (type: int), locate(null, 'abc') (type: int), locate('abc', null) (type: int), locate('abc', 'abcd', null) (type: int), 0 (type: int)
    + expressions: 1 (type: int), 0 (type: int), 2 (type: int), 2 (type: int), 4 (type: int), 4 (type: int), 0 (type: int), 0 (type: int), 2 (type: int), 3 (type: int), 4 (type: int), 2 (type: int), 3 (type: int), null (type: int), null (type: int), 0 (type: int), 0 (type: int)
                  outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16
    - Statistics: Num rows: 500 Data size: 34000 Basic stats: COMPLETE Column stats: COMPLETE
    + Statistics: Num rows: 500 Data size: 30000 Basic stats: COMPLETE Column stats: COMPLETE
                  ListSink

      PREHOOK: query: SELECT locate('abc', 'abcd'),

    Modified: hive/trunk/ql/src/test/results/clientpositive/udf_minute.q.out
    URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/udf_minute.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
    ==============================================================================
    --- hive/trunk/ql/src/test/results/clientpositive/udf_minute.q.out (original)
    +++ hive/trunk/ql/src/test/results/clientpositive/udf_minute.q.out Thu Apr 16 01:13:00 2015
    @@ -39,7 +39,7 @@ STAGE PLANS:
                    predicate: (UDFToDouble(key) = 86.0) (type: boolean)
                    Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                    Select Operator
    - expressions: 14 (type: int), 14 (type: int), null (type: void)
    + expressions: 14 (type: int), 14 (type: int), null (type: int)
                      outputColumnNames: _col0, _col1, _col2
                      Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                      File Output Operator

    Modified: hive/trunk/ql/src/test/results/clientpositive/udf_nvl.q.out
    URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/udf_nvl.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
    ==============================================================================
    --- hive/trunk/ql/src/test/results/clientpositive/udf_nvl.q.out (original)
    +++ hive/trunk/ql/src/test/results/clientpositive/udf_nvl.q.out Thu Apr 16 01:13:00 2015
    @@ -34,7 +34,7 @@ STAGE PLANS:
                Row Limit Per Split: 1
                Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: COMPLETE
                Select Operator
    - expressions: 1 (type: int), if null is null returns5 (type: int)
    + expressions: 1 (type: int), 5 (type: int)
                  outputColumnNames: _col0, _col1
                  Statistics: Num rows: 500 Data size: 4000 Basic stats: COMPLETE Column stats: COMPLETE
                  ListSink

    Modified: hive/trunk/ql/src/test/results/clientpositive/udf_parse_url.q.out
    URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/udf_parse_url.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
    ==============================================================================
    --- hive/trunk/ql/src/test/results/clientpositive/udf_parse_url.q.out (original)
    +++ hive/trunk/ql/src/test/results/clientpositive/udf_parse_url.q.out Thu Apr 16 01:13:00 2015
    @@ -60,7 +60,7 @@ STAGE PLANS:
                    predicate: (UDFToDouble(key) = 86.0) (type: boolean)
                    Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                    Select Operator
    - expressions: 'facebook.com' (type: string), '/path1/p.php' (type: string), 'k1=v1&k2=v2' (type: string), 'Ref1' (type: string), 'v2' (type: string), 'v1' (type: string), null (type: void), '/path1/p.php?k1=v1&k2=v2' (type: string), 'http' (type: string), null (type: void), 'facebook.com' (type: string)
    + expressions: 'facebook.com' (type: string), '/path1/p.php' (type: string), 'k1=v1&k2=v2' (type: string), 'Ref1' (type: string), 'v2' (type: string), 'v1' (type: string), null (type: string), '/path1/p.php?k1=v1&k2=v2' (type: string), 'http' (type: string), null (type: string), 'facebook.com' (type: string)
                      outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10
                      Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                      File Output Operator

    Modified: hive/trunk/ql/src/test/results/clientpositive/udf_second.q.out
    URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/udf_second.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
    ==============================================================================
    --- hive/trunk/ql/src/test/results/clientpositive/udf_second.q.out (original)
    +++ hive/trunk/ql/src/test/results/clientpositive/udf_second.q.out Thu Apr 16 01:13:00 2015
    @@ -39,7 +39,7 @@ STAGE PLANS:
                  predicate: (UDFToDouble(key) = 86.0) (type: boolean)
                  Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                  Select Operator
    - expressions: 15 (type: int), 15 (type: int), null (type: void)
    + expressions: 15 (type: int), 15 (type: int), null (type: int)
                    outputColumnNames: _col0, _col1, _col2
                    Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                    ListSink

    Modified: hive/trunk/ql/src/test/results/clientpositive/udf_size.q.out
    URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/udf_size.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
    ==============================================================================
    --- hive/trunk/ql/src/test/results/clientpositive/udf_size.q.out (original)
    +++ hive/trunk/ql/src/test/results/clientpositive/udf_size.q.out Thu Apr 16 01:13:00 2015
    @@ -41,7 +41,7 @@ STAGE PLANS:
                  predicate: (lint is not null and (not mstringstring is null)) (type: boolean)
                  Statistics: Num rows: 3 Data size: 837 Basic stats: COMPLETE Column stats: NONE
                  Select Operator
    - expressions: size(lint) (type: int), size(lintstring) (type: int), size(mstringstring) (type: int), size(null) (type: int)
    + expressions: size(lint) (type: int), size(lintstring) (type: int), size(mstringstring) (type: int), -1 (type: int)
                    outputColumnNames: _col0, _col1, _col2, _col3
                    Statistics: Num rows: 3 Data size: 837 Basic stats: COMPLETE Column stats: NONE
                    Limit

    Modified: hive/trunk/ql/src/test/results/clientpositive/udf_trunc.q.out
    URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/udf_trunc.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
    ==============================================================================
    --- hive/trunk/ql/src/test/results/clientpositive/udf_trunc.q.out (original)
    +++ hive/trunk/ql/src/test/results/clientpositive/udf_trunc.q.out Thu Apr 16 01:13:00 2015
    @@ -567,34 +567,22 @@ SELECT
            TRUNC('2014-01-01', CAST(null AS STRING))
      POSTHOOK: type: QUERY
      STAGE DEPENDENCIES:
    - Stage-1 is a root stage
    - Stage-0 depends on stages: Stage-1
    + Stage-0 is a root stage

      STAGE PLANS:
    - Stage: Stage-1
    - Map Reduce
    - Map Operator Tree:
    - TableScan
    - alias: _dummy_table
    - Row Limit Per Split: 1
    - Statistics: Num rows: 0 Data size: 1 Basic stats: PARTIAL Column stats: COMPLETE
    - Select Operator
    - expressions: '2014-02-01' (type: string), trunc(UDFToString(null), 'MM') (type: string), trunc(CAST( null AS DATE), 'MM') (type: string), trunc(CAST( null AS TIMESTAMP), 'MM') (type: string), null (type: void), trunc('2014-01-01', UDFToString(null)) (type: string)
    - outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
    - Statistics: Num rows: 0 Data size: 1 Basic stats: PARTIAL Column stats: COMPLETE
    - File Output Operator
    - compressed: false
    - Statistics: Num rows: 0 Data size: 1 Basic stats: PARTIAL Column stats: COMPLETE
    - table:
    - input format: org.apache.hadoop.mapred.TextInputFormat
    - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
    - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
    -
        Stage: Stage-0
          Fetch Operator
            limit: -1
            Processor Tree:
    - ListSink
    + TableScan
    + alias: _dummy_table
    + Row Limit Per Split: 1
    + Statistics: Num rows: 0 Data size: 1 Basic stats: PARTIAL Column stats: COMPLETE
    + Select Operator
    + expressions: '2014-02-01' (type: string), null (type: string), null (type: string), null (type: string), null (type: string), null (type: string)
    + outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
    + Statistics: Num rows: 0 Data size: 1 Basic stats: PARTIAL Column stats: COMPLETE
    + ListSink

      PREHOOK: query: SELECT
            TRUNC('2014-01-34', 'MM'),
    @@ -638,34 +626,22 @@ SELECT
            TRUNC('2014-01-01', CAST(null AS STRING))
      POSTHOOK: type: QUERY
      STAGE DEPENDENCIES:
    - Stage-1 is a root stage
    - Stage-0 depends on stages: Stage-1
    + Stage-0 is a root stage

      STAGE PLANS:
    - Stage: Stage-1
    - Map Reduce
    - Map Operator Tree:
    - TableScan
    - alias: _dummy_table
    - Row Limit Per Split: 1
    - Statistics: Num rows: 0 Data size: 1 Basic stats: PARTIAL Column stats: COMPLETE
    - Select Operator
    - expressions: '2014-01-01' (type: string), trunc(UDFToString(null), 'YEAR') (type: string), trunc(CAST( null AS DATE), 'YEAR') (type: string), trunc(CAST( null AS TIMESTAMP), 'YEAR') (type: string), null (type: void), trunc('2014-01-01', UDFToString(null)) (type: string)
    - outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
    - Statistics: Num rows: 0 Data size: 1 Basic stats: PARTIAL Column stats: COMPLETE
    - File Output Operator
    - compressed: false
    - Statistics: Num rows: 0 Data size: 1 Basic stats: PARTIAL Column stats: COMPLETE
    - table:
    - input format: org.apache.hadoop.mapred.TextInputFormat
    - output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
    - serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
    -
        Stage: Stage-0
          Fetch Operator
            limit: -1
            Processor Tree:
    - ListSink
    + TableScan
    + alias: _dummy_table
    + Row Limit Per Split: 1
    + Statistics: Num rows: 0 Data size: 1 Basic stats: PARTIAL Column stats: COMPLETE
    + Select Operator
    + expressions: '2014-01-01' (type: string), null (type: string), null (type: string), null (type: string), null (type: string), null (type: string)
    + outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
    + Statistics: Num rows: 0 Data size: 1 Basic stats: PARTIAL Column stats: COMPLETE
    + ListSink

      PREHOOK: query: SELECT
            TRUNC('2014-01-34', 'YEAR'),

    Modified: hive/trunk/ql/src/test/results/clientpositive/udf_when.q.out
    URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/udf_when.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
    ==============================================================================
    --- hive/trunk/ql/src/test/results/clientpositive/udf_when.q.out (original)
    +++ hive/trunk/ql/src/test/results/clientpositive/udf_when.q.out Thu Apr 16 01:13:00 2015
    @@ -89,9 +89,9 @@ STAGE PLANS:
                Row Limit Per Split: 1
                Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: COMPLETE
                Select Operator
    - expressions: 2 (type: int), 9 (type: int), 14 (type: int), null (type: void), CASE WHEN (false) THEN (null) WHEN (true) THEN (24) END (type: int), CASE WHEN (false) THEN (27) WHEN (true) THEN (null) END (type: int)
    + expressions: 2 (type: int), 9 (type: int), 14 (type: int), null (type: int), 24 (type: int), null (type: int)
                  outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
    - Statistics: Num rows: 500 Data size: 10000 Basic stats: COMPLETE Column stats: COMPLETE
    + Statistics: Num rows: 500 Data size: 8000 Basic stats: COMPLETE Column stats: COMPLETE
                  ListSink

      PREHOOK: query: SELECT CASE

    Modified: hive/trunk/ql/src/test/results/clientpositive/vector_coalesce.q.out
    URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/vector_coalesce.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
    ==============================================================================
    --- hive/trunk/ql/src/test/results/clientpositive/vector_coalesce.q.out (original)
    +++ hive/trunk/ql/src/test/results/clientpositive/vector_coalesce.q.out Thu Apr 16 01:13:00 2015
    @@ -87,7 +87,7 @@ STAGE PLANS:
                    predicate: ctinyint is null (type: boolean)
                    Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
                    Select Operator
    - expressions: null (type: void), cdouble (type: double), cint (type: int), COALESCE((UDFToInteger(null) + 10),(cdouble + log2(cint)),0) (type: double)
    + expressions: null (type: void), cdouble (type: double), cint (type: int), COALESCE(null,(cdouble + log2(cint)),0) (type: double)
                      outputColumnNames: _col0, _col1, _col2, _col3
                      Statistics: Num rows: 6144 Data size: 1320982 Basic stats: COMPLETE Column stats: NONE
                      Limit
    @@ -153,7 +153,7 @@ STAGE PLANS:
                    predicate: (cfloat is null and cbigint is null) (type: boolean)
                    Statistics: Num rows: 3072 Data size: 660491 Basic stats: COMPLETE Column stats: NONE
                    Select Operator
    - expressions: null (type: void), null (type: void), COALESCE(null,null,0) (type: float)
    + expressions: null (type: void), null (type: void), 0 (type: int)
                      outputColumnNames: _col0, _col1, _col2
                      Statistics: Num rows: 3072 Data size: 660491 Basic stats: COMPLETE Column stats: NONE
                      Limit

    Modified: hive/trunk/ql/src/test/results/clientpositive/vector_decimal_udf.q.out
    URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/vector_decimal_udf.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
    ==============================================================================
    --- hive/trunk/ql/src/test/results/clientpositive/vector_decimal_udf.q.out (original)
    +++ hive/trunk/ql/src/test/results/clientpositive/vector_decimal_udf.q.out Thu Apr 16 01:13:00 2015
    @@ -1146,7 +1146,7 @@ STAGE PLANS:
                  alias: decimal_udf
                  Statistics: Num rows: 38 Data size: 4296 Basic stats: COMPLETE Column stats: NONE
                  Select Operator
    - expressions: (UDFToDouble(key) / UDFToDouble(null)) (type: double)
    + expressions: (UDFToDouble(key) / null) (type: double)
                    outputColumnNames: _col0
                    Statistics: Num rows: 38 Data size: 4296 Basic stats: COMPLETE Column stats: NONE
                    Limit
    @@ -1159,7 +1159,6 @@ STAGE PLANS:
                            input format: org.apache.hadoop.mapred.TextInputFormat
                            output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
                            serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
    - Execution mode: vectorized

        Stage: Stage-0
          Fetch Operator

    Modified: hive/trunk/ql/src/test/results/clientpositive/vector_elt.q.out
    URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/vector_elt.q.out?rev=1673986&r1=1673985&r2=1673986&view=diff
    ==============================================================================
    --- hive/trunk/ql/src/test/results/clientpositive/vector_elt.q.out (original)
    +++ hive/trunk/ql/src/test/results/clientpositive/vector_elt.q.out Thu Apr 16 01:13:00 2015
    @@ -102,7 +102,7 @@ STAGE PLANS:
                alias: alltypesorc
                Statistics: Num rows: 12288 Data size: 2641964 Basic stats: COMPLETE Column stats: COMPLETE
                Select Operator
    - expressions: 'defg' (type: string), 'cc' (type: string), 'abc' (type: string), '2' (type: string), '12345' (type: string), '123456789012' (type: string), '1.25' (type: string), '16.0' (type: string), null (type: void), null (type: void)
    + expressions: 'defg' (type: string), 'cc' (type: string), 'abc' (type: string), '2' (type: string), '12345' (type: string), '123456789012' (type: string), '1.25' (type: string), '16.0' (type: string), null (type: string), null (type: string)
                  outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9
                  Statistics: Num rows: 12288 Data size: 8687616 Basic stats: COMPLETE Column stats: COMPLETE
                  Limit

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupcommits @
categorieshive, hadoop
postedApr 16, '15 at 1:13a
activeApr 16, '15 at 1:13a
posts2
users1
websitehive.apache.org

1 user in discussion

Hashutosh: 2 posts

People

Translate

site design / logo © 2021 Grokbase