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

svn commit: r1674132 [2/5] - in /hive/branches/cbo: ./ common/src/java/org/apache/hadoop/hive/conf/ common/src/java/org/apache/hive/common/util/ dev-support/ hcatalog/src/test/e2e/templeton/deployers/ hcatalog/src/test/e2e/templeton/deployers/config/hi...

Modified: hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/plan/PartitionDesc.java
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/plan/PartitionDesc.java?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/plan/PartitionDesc.java (original)
+++ hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/plan/PartitionDesc.java Thu Apr 16 18:35:39 2015
@@ -40,7 +40,7 @@ import org.apache.hadoop.hive.serde2.Des
 import org.apache.hadoop.hive.serde2.SerDeUtils;
 import org.apache.hadoop.mapred.InputFormat;
 import org.apache.hadoop.mapred.OutputFormat;
-import org.apache.hadoop.util.ReflectionUtils;
+import org.apache.hive.common.util.ReflectionUtil;
 import org.apache.hive.common.util.HiveStringUtils;
 import org.apache.hadoop.hive.ql.plan.Explain.Level;
 
@@ -138,7 +138,7 @@ public class PartitionDesc implements Se
   public Deserializer getDeserializer(Configuration conf) throws Exception {
     Properties schema = getProperties();
     String clazzName = getDeserializerClassName();
-    Deserializer deserializer = ReflectionUtils.newInstance(conf.getClassByName(clazzName)
+    Deserializer deserializer = ReflectionUtil.newInstance(conf.getClassByName(clazzName)
         .asSubclass(Deserializer.class), conf);
     SerDeUtils.initializeSerDe(deserializer, conf, getTableDesc().getProperties(), schema);
     return deserializer;

Modified: hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/plan/ReduceWork.java
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/plan/ReduceWork.java?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/plan/ReduceWork.java (original)
+++ hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/plan/ReduceWork.java Thu Apr 16 18:35:39 2015
@@ -20,7 +20,6 @@ package org.apache.hadoop.hive.ql.plan;
 
 import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.LinkedHashMap;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
@@ -40,7 +39,7 @@ import org.apache.hadoop.hive.serde2.obj
 import org.apache.hadoop.hive.serde2.objectinspector.StructField;
 import org.apache.hadoop.hive.serde2.objectinspector.StructObjectInspector;
 import org.apache.hadoop.mapred.JobConf;
-import org.apache.hadoop.util.ReflectionUtils;
+import org.apache.hive.common.util.ReflectionUtil;
 
 /**
  * ReduceWork represents all the information used to run a reduce task on the cluster.
@@ -114,7 +113,7 @@ public class ReduceWork extends BaseWork
   private ObjectInspector getObjectInspector(TableDesc desc) {
     ObjectInspector objectInspector;
     try {
-      Deserializer deserializer = ReflectionUtils.newInstance(desc
+      Deserializer deserializer = ReflectionUtil.newInstance(desc
                 .getDeserializerClass(), null);
       SerDeUtils.initializeSerDe(deserializer, null, desc.getProperties(), null);
       objectInspector = deserializer.getObjectInspector();

Modified: hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/plan/TableDesc.java
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/plan/TableDesc.java?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/plan/TableDesc.java (original)
+++ hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/plan/TableDesc.java Thu Apr 16 18:35:39 2015
@@ -34,8 +34,9 @@ import org.apache.hadoop.hive.serde2.Des
 import org.apache.hadoop.hive.serde2.SerDeUtils;
 import org.apache.hadoop.mapred.InputFormat;
 import org.apache.hadoop.mapred.OutputFormat;
-import org.apache.hadoop.util.ReflectionUtils;
+
 import org.apache.hive.common.util.HiveStringUtils;
+import org.apache.hive.common.util.ReflectionUtil;
 
 /**
  * TableDesc.
@@ -90,7 +91,7 @@ public class TableDesc implements Serial
   }
 
   public Deserializer getDeserializer(Configuration conf, boolean ignoreError) throws Exception {
-    Deserializer de = ReflectionUtils.newInstance(
+    Deserializer de = ReflectionUtil.newInstance(
         getDeserializerClass().asSubclass(Deserializer.class), conf);
     if (ignoreError) {
       SerDeUtils.initializeSerDeWithoutErrorCheck(de, conf, properties, null);

Modified: hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDF.java
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDF.java?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDF.java (original)
+++ hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDF.java Thu Apr 16 18:35:39 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/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFAddMonths.java
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFAddMonths.java?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFAddMonths.java (original)
+++ hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFAddMonths.java Thu Apr 16 18:35:39 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/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFArray.java
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFArray.java?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFArray.java (original)
+++ hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFArray.java Thu Apr 16 18:35:39 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/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFCbrt.java
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFCbrt.java?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFCbrt.java (original)
+++ hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFCbrt.java Thu Apr 16 18:35:39 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/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFDecode.java
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFDecode.java?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFDecode.java (original)
+++ hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFDecode.java Thu Apr 16 18:35:39 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/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFFactorial.java
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFFactorial.java?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFFactorial.java (original)
+++ hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFFactorial.java Thu Apr 16 18:35:39 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/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFLastDay.java
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFLastDay.java?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFLastDay.java (original)
+++ hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFLastDay.java Thu Apr 16 18:35:39 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/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFLevenshtein.java
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFLevenshtein.java?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFLevenshtein.java (original)
+++ hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFLevenshtein.java Thu Apr 16 18:35:39 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/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFMap.java
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFMap.java?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFMap.java (original)
+++ hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFMap.java Thu Apr 16 18:35:39 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/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFNextDay.java
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFNextDay.java?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFNextDay.java (original)
+++ hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFNextDay.java Thu Apr 16 18:35:39 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/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFSoundex.java
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFSoundex.java?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFSoundex.java (original)
+++ hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFSoundex.java Thu Apr 16 18:35:39 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/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java (original)
+++ hive/branches/cbo/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTrunc.java Thu Apr 16 18:35:39 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/branches/cbo/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcTimezone1.java
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcTimezone1.java?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcTimezone1.java (original)
+++ hive/branches/cbo/ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcTimezone1.java Thu Apr 16 18:35:39 2015
@@ -157,7 +157,7 @@ public class TestOrcTimezone1 {
     rows.close();
   }
 
-  //@Test
+  @Test
   public void testReadTimestampFormat_0_11() throws Exception {
     TimeZone.setDefault(TimeZone.getTimeZone(readerTimeZone));
     Path oldFilePath =

Modified: hive/branches/cbo/ql/src/test/org/apache/hadoop/hive/ql/lockmgr/TestDbTxnManager.java
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/org/apache/hadoop/hive/ql/lockmgr/TestDbTxnManager.java?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/org/apache/hadoop/hive/ql/lockmgr/TestDbTxnManager.java (original)
+++ hive/branches/cbo/ql/src/test/org/apache/hadoop/hive/ql/lockmgr/TestDbTxnManager.java Thu Apr 16 18:35:39 2015
@@ -32,6 +32,7 @@ import org.apache.hadoop.hive.ql.session
 import org.apache.log4j.Level;
 import org.apache.log4j.LogManager;
 import org.junit.After;
+import org.junit.AfterClass;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -39,6 +40,7 @@ import java.util.*;
 
 /**
  * Unit tests for {@link DbTxnManager}.
+ * See additional tests in {@link org.apache.hadoop.hive.ql.lockmgr.TestDbTxnManager}
  */
 public class TestDbTxnManager {
 

Modified: hive/branches/cbo/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFLevenshtein.java
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFLevenshtein.java?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFLevenshtein.java (original)
+++ hive/branches/cbo/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFLevenshtein.java Thu Apr 16 18:35:39 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/branches/cbo/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFNextDay.java
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFNextDay.java?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFNextDay.java (original)
+++ hive/branches/cbo/ql/src/test/org/apache/hadoop/hive/ql/udf/generic/TestGenericUDFNextDay.java Thu Apr 16 18:35:39 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/branches/cbo/ql/src/test/queries/clientpositive/optimize_nullscan.q
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/queries/clientpositive/optimize_nullscan.q?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/queries/clientpositive/optimize_nullscan.q (original)
+++ hive/branches/cbo/ql/src/test/queries/clientpositive/optimize_nullscan.q Thu Apr 16 18:35:39 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/branches/cbo/ql/src/test/queries/clientpositive/tez_union.q
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/queries/clientpositive/tez_union.q?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/queries/clientpositive/tez_union.q (original)
+++ hive/branches/cbo/ql/src/test/queries/clientpositive/tez_union.q Thu Apr 16 18:35:39 2015
@@ -92,3 +92,21 @@ right outer join src s on u.key = s.key;
 
 select * from ut order by ukey, skey limit 20;
 drop table ut;
+
+set hive.vectorized.execution.enabled=true;
+
+create table TABLE1(EMP_NAME STRING, EMP_ID INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
+
+create table table2 (EMP_NAME STRING) PARTITIONED BY (EMP_ID INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
+
+CREATE OR REPLACE VIEW TABLE3 as select EMP_NAME, EMP_ID from TABLE1;
+
+explain formatted select count(*) from TABLE3;
+
+drop table table2;
+
+create table table2 (EMP_NAME STRING) PARTITIONED BY (EMP_ID INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
+
+CREATE OR REPLACE VIEW TABLE3 as select EMP_NAME, EMP_ID from TABLE1 UNION ALL select EMP_NAME,EMP_ID from TABLE2;
+
+explain formatted select count(*) from TABLE3;

Modified: hive/branches/cbo/ql/src/test/results/clientnegative/join_nonexistent_part.q.out
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientnegative/join_nonexistent_part.q.out?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/results/clientnegative/join_nonexistent_part.q.out (original)
+++ hive/branches/cbo/ql/src/test/results/clientnegative/join_nonexistent_part.q.out Thu Apr 16 18:35:39 2015
@@ -1,2 +1,2 @@
-Warning: Shuffle Join JOIN[8][tables = [$hdt$_0]] in Stage 'Stage-1:MAPRED' is a cross product
+Warning: Shuffle Join JOIN[8][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product
 Authorization failed:No privilege 'Select' found for inputs { database:default, table:srcpart, columnName:key}. Use SHOW GRANT to get more details.

Modified: hive/branches/cbo/ql/src/test/results/clientnegative/udf_add_months_error_1.q.out
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientnegative/udf_add_months_error_1.q.out?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/results/clientnegative/udf_add_months_error_1.q.out (original)
+++ hive/branches/cbo/ql/src/test/results/clientnegative/udf_add_months_error_1.q.out Thu Apr 16 18:35:39 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/branches/cbo/ql/src/test/results/clientnegative/udf_last_day_error_1.q.out
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientnegative/udf_last_day_error_1.q.out?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/results/clientnegative/udf_last_day_error_1.q.out (original)
+++ hive/branches/cbo/ql/src/test/results/clientnegative/udf_last_day_error_1.q.out Thu Apr 16 18:35:39 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/branches/cbo/ql/src/test/results/clientnegative/udf_next_day_error_1.q.out
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientnegative/udf_next_day_error_1.q.out?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/results/clientnegative/udf_next_day_error_1.q.out (original)
+++ hive/branches/cbo/ql/src/test/results/clientnegative/udf_next_day_error_1.q.out Thu Apr 16 18:35:39 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/branches/cbo/ql/src/test/results/clientnegative/udf_next_day_error_2.q.out
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientnegative/udf_next_day_error_2.q.out?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/results/clientnegative/udf_next_day_error_2.q.out (original)
+++ hive/branches/cbo/ql/src/test/results/clientnegative/udf_next_day_error_2.q.out Thu Apr 16 18:35:39 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/branches/cbo/ql/src/test/results/clientpositive/annotate_stats_join.q.out
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientpositive/annotate_stats_join.q.out?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/results/clientpositive/annotate_stats_join.q.out (original)
+++ hive/branches/cbo/ql/src/test/results/clientpositive/annotate_stats_join.q.out Thu Apr 16 18:35:39 2015
@@ -456,22 +456,6 @@ STAGE PLANS:
                   Statistics: Num rows: 48 Data size: 4752 Basic stats: COMPLETE Column stats: COMPLETE
                   value expressions: _col0 (type: string), _col2 (type: int)
           TableScan
-            alias: e
-            Statistics: Num rows: 48 Data size: 552 Basic stats: COMPLETE Column stats: COMPLETE
-            Filter Operator
-              predicate: deptid is not null (type: boolean)
-              Statistics: Num rows: 48 Data size: 4752 Basic stats: COMPLETE Column stats: COMPLETE
-              Select Operator
-                expressions: lastname (type: string), deptid (type: int), locid (type: int)
-                outputColumnNames: _col0, _col1, _col2
-                Statistics: Num rows: 48 Data size: 4752 Basic stats: COMPLETE Column stats: COMPLETE
-                Reduce Output Operator
-                  key expressions: _col1 (type: int)
-                  sort order: +
-                  Map-reduce partition columns: _col1 (type: int)
-                  Statistics: Num rows: 48 Data size: 4752 Basic stats: COMPLETE Column stats: COMPLETE
-                  value expressions: _col0 (type: string), _col2 (type: int)
-          TableScan
             alias: d
             Statistics: Num rows: 6 Data size: 62 Basic stats: COMPLETE Column stats: COMPLETE
             Filter Operator
@@ -487,6 +471,22 @@ STAGE PLANS:
                   Map-reduce partition columns: _col0 (type: int)
                   Statistics: Num rows: 6 Data size: 570 Basic stats: COMPLETE Column stats: COMPLETE
                   value expressions: _col1 (type: string)
+          TableScan
+            alias: e
+            Statistics: Num rows: 48 Data size: 552 Basic stats: COMPLETE Column stats: COMPLETE
+            Filter Operator
+              predicate: deptid is not null (type: boolean)
+              Statistics: Num rows: 48 Data size: 4752 Basic stats: COMPLETE Column stats: COMPLETE
+              Select Operator
+                expressions: lastname (type: string), deptid (type: int), locid (type: int)
+                outputColumnNames: _col0, _col1, _col2
+                Statistics: Num rows: 48 Data size: 4752 Basic stats: COMPLETE Column stats: COMPLETE
+                Reduce Output Operator
+                  key expressions: _col1 (type: int)
+                  sort order: +
+                  Map-reduce partition columns: _col1 (type: int)
+                  Statistics: Num rows: 48 Data size: 4752 Basic stats: COMPLETE Column stats: COMPLETE
+                  value expressions: _col0 (type: string), _col2 (type: int)
       Reduce Operator Tree:
         Join Operator
           condition map:

Modified: hive/branches/cbo/ql/src/test/results/clientpositive/annotate_stats_select.q.out
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientpositive/annotate_stats_select.q.out?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/results/clientpositive/annotate_stats_select.q.out (original)
+++ hive/branches/cbo/ql/src/test/results/clientpositive/annotate_stats_select.q.out Thu Apr 16 18:35:39 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/branches/cbo/ql/src/test/results/clientpositive/auto_join32.q.out
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientpositive/auto_join32.q.out?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/results/clientpositive/auto_join32.q.out (original)
+++ hive/branches/cbo/ql/src/test/results/clientpositive/auto_join32.q.out Thu Apr 16 18:35:39 2015
@@ -391,6 +391,36 @@ STAGE DEPENDENCIES:
 STAGE PLANS:
   Stage: Stage-1
     Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: v
+            Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+            Filter Operator
+              predicate: ((p = 'bar') and name is not null) (type: boolean)
+              Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+              Select Operator
+                expressions: name (type: string), registration (type: string)
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+                Sorted Merge Bucket Map Join Operator
+                  condition map:
+                       Inner Join 0 to 1
+                  keys:
+                    0 _col0 (type: string)
+                    1 _col0 (type: string)
+                  outputColumnNames: _col1, _col3
+                  Select Operator
+                    expressions: _col3 (type: string), _col1 (type: string)
+                    outputColumnNames: _col0, _col1
+                    Group By Operator
+                      aggregations: count(DISTINCT _col1)
+                      keys: _col0 (type: string), _col1 (type: string)
+                      mode: hash
+                      outputColumnNames: _col0, _col1, _col2
+                      Reduce Output Operator
+                        key expressions: _col0 (type: string), _col1 (type: string)
+                        sort order: ++
+                        Map-reduce partition columns: _col0 (type: string)
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(DISTINCT KEY._col1:0._col0)

Modified: hive/branches/cbo/ql/src/test/results/clientpositive/bucketmapjoin1.q.out
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientpositive/bucketmapjoin1.q.out?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/results/clientpositive/bucketmapjoin1.q.out (original)
+++ hive/branches/cbo/ql/src/test/results/clientpositive/bucketmapjoin1.q.out Thu Apr 16 18:35:39 2015
@@ -125,6 +125,50 @@ STAGE PLANS:
 
   Stage: Stage-1
     Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: a
+            Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+            GatherStats: false
+            Filter Operator
+              isSamplingPred: false
+              predicate: key is not null (type: boolean)
+              Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+              Map Join Operator
+                condition map:
+                     Inner Join 0 to 1
+                keys:
+                  0 key (type: int)
+                  1 key (type: int)
+                outputColumnNames: _col0, _col1, _col7
+                Position of Big Table: 0
+                Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+                BucketMapJoin: true
+                Select Operator
+                  expressions: _col0 (type: int), _col1 (type: string), _col7 (type: string)
+                  outputColumnNames: _col0, _col1, _col2
+                  Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+                  File Output Operator
+                    compressed: false
+                    GlobalTableId: 0
+#### A masked pattern was here ####
+                    NumFilesPerFileSink: 1
+                    Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+#### 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,_col1,_col2
+                          columns.types int:string:string
+                          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
       Local Work:
         Map Reduce Local Work
 
@@ -249,6 +293,50 @@ STAGE PLANS:
 
   Stage: Stage-1
     Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: b
+            Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+            GatherStats: false
+            Filter Operator
+              isSamplingPred: false
+              predicate: (key is not null and (ds = '2008-04-08')) (type: boolean)
+              Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+              Map Join Operator
+                condition map:
+                     Inner Join 0 to 1
+                keys:
+                  0 key (type: int)
+                  1 key (type: int)
+                outputColumnNames: _col0, _col1, _col7
+                Position of Big Table: 1
+                Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+                BucketMapJoin: true
+                Select Operator
+                  expressions: _col0 (type: int), _col1 (type: string), _col7 (type: string)
+                  outputColumnNames: _col0, _col1, _col2
+                  Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+                  File Output Operator
+                    compressed: false
+                    GlobalTableId: 0
+#### A masked pattern was here ####
+                    NumFilesPerFileSink: 1
+                    Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+#### 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,_col1,_col2
+                          columns.types int:string:string
+                          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
       Local Work:
         Map Reduce Local Work
 

Modified: hive/branches/cbo/ql/src/test/results/clientpositive/correlationoptimizer3.q.out
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientpositive/correlationoptimizer3.q.out?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/results/clientpositive/correlationoptimizer3.q.out (original)
+++ hive/branches/cbo/ql/src/test/results/clientpositive/correlationoptimizer3.q.out Thu Apr 16 18:35:39 2015
@@ -300,21 +300,6 @@ STAGE PLANS:
                   Map-reduce partition columns: _col0 (type: string)
                   Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
           TableScan
-            alias: y
-            Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
-            Filter Operator
-              predicate: key is not null (type: boolean)
-              Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-              Select Operator
-                expressions: key (type: string)
-                outputColumnNames: _col0
-                Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-                Reduce Output Operator
-                  key expressions: _col0 (type: string)
-                  sort order: +
-                  Map-reduce partition columns: _col0 (type: string)
-                  Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-          TableScan
             alias: x
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
@@ -331,6 +316,21 @@ STAGE PLANS:
                   Statistics: Num rows: 13 Data size: 99 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col1 (type: string)
           TableScan
+            alias: y
+            Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+            Filter Operator
+              predicate: key is not null (type: boolean)
+              Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+              Select Operator
+                expressions: key (type: string)
+                outputColumnNames: _col0
+                Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+                Reduce Output Operator
+                  key expressions: _col0 (type: string)
+                  sort order: +
+                  Map-reduce partition columns: _col0 (type: string)
+                  Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+          TableScan
             alias: x
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
@@ -1004,21 +1004,6 @@ STAGE PLANS:
                   Map-reduce partition columns: _col0 (type: string)
                   Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
           TableScan
-            alias: y
-            Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
-            Filter Operator
-              predicate: key is not null (type: boolean)
-              Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-              Select Operator
-                expressions: key (type: string)
-                outputColumnNames: _col0
-                Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-                Reduce Output Operator
-                  key expressions: _col0 (type: string)
-                  sort order: +
-                  Map-reduce partition columns: _col0 (type: string)
-                  Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-          TableScan
             alias: x
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
@@ -1035,6 +1020,21 @@ STAGE PLANS:
                   Statistics: Num rows: 13 Data size: 99 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col1 (type: string)
           TableScan
+            alias: y
+            Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+            Filter Operator
+              predicate: key is not null (type: boolean)
+              Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+              Select Operator
+                expressions: key (type: string)
+                outputColumnNames: _col0
+                Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+                Reduce Output Operator
+                  key expressions: _col0 (type: string)
+                  sort order: +
+                  Map-reduce partition columns: _col0 (type: string)
+                  Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+          TableScan
             alias: x
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator

Modified: hive/branches/cbo/ql/src/test/results/clientpositive/correlationoptimizer6.q.out
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientpositive/correlationoptimizer6.q.out?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/results/clientpositive/correlationoptimizer6.q.out (original)
+++ hive/branches/cbo/ql/src/test/results/clientpositive/correlationoptimizer6.q.out Thu Apr 16 18:35:39 2015
@@ -3032,22 +3032,6 @@ STAGE PLANS:
                     Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
                     value expressions: _col1 (type: bigint)
           TableScan
-            alias: x
-            Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
-            Filter Operator
-              predicate: key is not null (type: boolean)
-              Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-              Select Operator
-                expressions: key (type: string), value (type: string)
-                outputColumnNames: _col0, _col1
-                Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-                Reduce Output Operator
-                  key expressions: _col0 (type: string)
-                  sort order: +
-                  Map-reduce partition columns: _col0 (type: string)
-                  Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
-                  value expressions: _col1 (type: string)
-          TableScan
             alias: y
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
@@ -3069,6 +3053,22 @@ STAGE PLANS:
                     Map-reduce partition columns: _col0 (type: string)
                     Statistics: Num rows: 13 Data size: 99 Basic stats: COMPLETE Column stats: NONE
                     value expressions: _col1 (type: bigint)
+          TableScan
+            alias: x
+            Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+            Filter Operator
+              predicate: key is not null (type: boolean)
+              Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+              Select Operator
+                expressions: key (type: string), value (type: string)
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+                Reduce Output Operator
+                  key expressions: _col0 (type: string)
+                  sort order: +
+                  Map-reduce partition columns: _col0 (type: string)
+                  Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+                  value expressions: _col1 (type: string)
       Reduce Operator Tree:
         Demux Operator
           Statistics: Num rows: 513 Data size: 5411 Basic stats: COMPLETE Column stats: NONE

Modified: hive/branches/cbo/ql/src/test/results/clientpositive/decimal_udf.q.out
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientpositive/decimal_udf.q.out?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/results/clientpositive/decimal_udf.q.out (original)
+++ hive/branches/cbo/ql/src/test/results/clientpositive/decimal_udf.q.out Thu Apr 16 18:35:39 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/branches/cbo/ql/src/test/results/clientpositive/groupby_sort_6.q.out
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientpositive/groupby_sort_6.q.out?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/results/clientpositive/groupby_sort_6.q.out (original)
+++ hive/branches/cbo/ql/src/test/results/clientpositive/groupby_sort_6.q.out Thu Apr 16 18:35:39 2015
@@ -66,6 +66,33 @@ STAGE DEPENDENCIES:
 STAGE PLANS:
   Stage: Stage-1
     Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: t1
+            Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+            GatherStats: false
+            Filter Operator
+              isSamplingPred: false
+              predicate: (ds = '1') (type: boolean)
+              Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+              Select Operator
+                expressions: key (type: string)
+                outputColumnNames: _col0
+                Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+                Group By Operator
+                  aggregations: count(1)
+                  keys: _col0 (type: string)
+                  mode: hash
+                  outputColumnNames: _col0, _col1
+                  Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+                  Reduce Output Operator
+                    key expressions: _col0 (type: string)
+                    sort order: +
+                    Map-reduce partition columns: _col0 (type: string)
+                    Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+                    tag: -1
+                    value expressions: _col1 (type: bigint)
+                    auto parallelism: false
       Needs Tagging: false
       Reduce Operator Tree:
         Group By Operator
@@ -208,6 +235,33 @@ STAGE DEPENDENCIES:
 STAGE PLANS:
   Stage: Stage-1
     Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: t1
+            Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+            GatherStats: false
+            Filter Operator
+              isSamplingPred: false
+              predicate: (ds = '1') (type: boolean)
+              Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+              Select Operator
+                expressions: key (type: string)
+                outputColumnNames: _col0
+                Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+                Group By Operator
+                  aggregations: count(1)
+                  keys: _col0 (type: string)
+                  mode: hash
+                  outputColumnNames: _col0, _col1
+                  Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+                  Reduce Output Operator
+                    key expressions: _col0 (type: string)
+                    sort order: +
+                    Map-reduce partition columns: _col0 (type: string)
+                    Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+                    tag: -1
+                    value expressions: _col1 (type: bigint)
+                    auto parallelism: false
       Needs Tagging: false
       Reduce Operator Tree:
         Group By Operator

Modified: hive/branches/cbo/ql/src/test/results/clientpositive/input23.q.out
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientpositive/input23.q.out?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/results/clientpositive/input23.q.out (original)
+++ hive/branches/cbo/ql/src/test/results/clientpositive/input23.q.out Thu Apr 16 18:35:39 2015
@@ -1,4 +1,4 @@
-Warning: Shuffle Join JOIN[9][tables = [$hdt$_0]] in Stage 'Stage-1:MAPRED' is a cross product
+Warning: Shuffle Join JOIN[9][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product
 PREHOOK: query: explain extended
  select * from srcpart a join srcpart b where a.ds = '2008-04-08' and a.hr = '11' and b.ds = '2008-04-08' and b.hr = '14' limit 5
 PREHOOK: type: QUERY
@@ -79,6 +79,24 @@ STAGE PLANS:
                 tag: 0
                 value expressions: _col0 (type: string), _col1 (type: string)
                 auto parallelism: false
+          TableScan
+            alias: a
+            Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+            GatherStats: false
+            Filter Operator
+              isSamplingPred: false
+              predicate: ((ds = '2008-04-08') and (hr = '14')) (type: boolean)
+              Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+              Select Operator
+                expressions: key (type: string), value (type: string)
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+                Reduce Output Operator
+                  sort order: 
+                  Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+                  tag: 1
+                  value expressions: _col0 (type: string), _col1 (type: string)
+                  auto parallelism: false
       Path -> Alias:
 #### A masked pattern was here ####
       Path -> Partition:
@@ -175,7 +193,7 @@ STAGE PLANS:
       Processor Tree:
         ListSink
 
-Warning: Shuffle Join JOIN[9][tables = [$hdt$_0]] in Stage 'Stage-1:MAPRED' is a cross product
+Warning: Shuffle Join JOIN[9][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product
 PREHOOK: query: select * from srcpart a join srcpart b where a.ds = '2008-04-08' and a.hr = '11' and b.ds = '2008-04-08' and b.hr = '14' limit 5
 PREHOOK: type: QUERY
 PREHOOK: Input: default@srcpart

Modified: hive/branches/cbo/ql/src/test/results/clientpositive/input26.q.out
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientpositive/input26.q.out?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/results/clientpositive/input26.q.out (original)
+++ hive/branches/cbo/ql/src/test/results/clientpositive/input26.q.out Thu Apr 16 18:35:39 2015
@@ -87,6 +87,24 @@ STAGE PLANS:
 
   Stage: Stage-3
     Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: a
+            Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+            Filter Operator
+              predicate: ((ds = '2008-04-08') and (hr = '14')) (type: boolean)
+              Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+              Select Operator
+                expressions: key (type: string), value (type: string)
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+                Limit
+                  Number of rows: 5
+                  Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+                  Reduce Output Operator
+                    sort order: 
+                    Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+                    value expressions: _col0 (type: string), _col1 (type: string)
       Reduce Operator Tree:
         Select Operator
           expressions: VALUE._col0 (type: string), VALUE._col1 (type: string)

Modified: hive/branches/cbo/ql/src/test/results/clientpositive/input8.q.out
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientpositive/input8.q.out?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/results/clientpositive/input8.q.out (original)
+++ hive/branches/cbo/ql/src/test/results/clientpositive/input8.q.out Thu Apr 16 18:35:39 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/branches/cbo/ql/src/test/results/clientpositive/input9.q.out
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientpositive/input9.q.out?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/results/clientpositive/input9.q.out (original)
+++ hive/branches/cbo/ql/src/test/results/clientpositive/input9.q.out Thu Apr 16 18:35:39 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/branches/cbo/ql/src/test/results/clientpositive/join_cond_pushdown_unqual2.q.out
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientpositive/join_cond_pushdown_unqual2.q.out?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/results/clientpositive/join_cond_pushdown_unqual2.q.out (original)
+++ hive/branches/cbo/ql/src/test/results/clientpositive/join_cond_pushdown_unqual2.q.out Thu Apr 16 18:35:39 2015
@@ -81,18 +81,6 @@ STAGE PLANS:
                 Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
                 value expressions: p_partkey (type: int), p_mfgr (type: string), p_brand (type: string), p_type (type: string), p_size (type: int), p_container (type: string), p_retailprice (type: double), p_comment (type: string)
           TableScan
-            alias: p4
-            Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
-            Filter Operator
-              predicate: p_name is not null (type: boolean)
-              Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
-              Reduce Output Operator
-                key expressions: p_name (type: string)
-                sort order: +
-                Map-reduce partition columns: p_name (type: string)
-                Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
-                value expressions: p_partkey (type: int), p_mfgr (type: string), p_brand (type: string), p_type (type: string), p_size (type: int), p_container (type: string), p_retailprice (type: double), p_comment (type: string)
-          TableScan
             alias: p2
             Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
             Filter Operator
@@ -116,6 +104,18 @@ STAGE PLANS:
                 Map-reduce partition columns: p3_name (type: string)
                 Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
                 value expressions: p3_partkey (type: int), p3_mfgr (type: string), p3_brand (type: string), p3_type (type: string), p3_size (type: int), p3_container (type: string), p3_retailprice (type: double), p3_comment (type: string)
+          TableScan
+            alias: p4
+            Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
+            Filter Operator
+              predicate: p_name is not null (type: boolean)
+              Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
+              Reduce Output Operator
+                key expressions: p_name (type: string)
+                sort order: +
+                Map-reduce partition columns: p_name (type: string)
+                Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
+                value expressions: p_partkey (type: int), p_mfgr (type: string), p_brand (type: string), p_type (type: string), p_size (type: int), p_container (type: string), p_retailprice (type: double), p_comment (type: string)
       Reduce Operator Tree:
         Join Operator
           condition map:

Modified: hive/branches/cbo/ql/src/test/results/clientpositive/join_cond_pushdown_unqual4.q.out
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientpositive/join_cond_pushdown_unqual4.q.out?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/results/clientpositive/join_cond_pushdown_unqual4.q.out (original)
+++ hive/branches/cbo/ql/src/test/results/clientpositive/join_cond_pushdown_unqual4.q.out Thu Apr 16 18:35:39 2015
@@ -83,18 +83,6 @@ STAGE PLANS:
                 Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
                 value expressions: p_partkey (type: int), p_mfgr (type: string), p_brand (type: string), p_type (type: string), p_size (type: int), p_container (type: string), p_retailprice (type: double), p_comment (type: string)
           TableScan
-            alias: p4
-            Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
-            Filter Operator
-              predicate: p_name is not null (type: boolean)
-              Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
-              Reduce Output Operator
-                key expressions: p_name (type: string)
-                sort order: +
-                Map-reduce partition columns: p_name (type: string)
-                Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
-                value expressions: p_partkey (type: int), p_mfgr (type: string), p_brand (type: string), p_type (type: string), p_size (type: int), p_container (type: string), p_retailprice (type: double), p_comment (type: string)
-          TableScan
             alias: p2
             Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
             Filter Operator
@@ -118,6 +106,18 @@ STAGE PLANS:
                 Map-reduce partition columns: p3_name (type: string)
                 Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
                 value expressions: p3_partkey (type: int), p3_mfgr (type: string), p3_brand (type: string), p3_type (type: string), p3_size (type: int), p3_container (type: string), p3_retailprice (type: double), p3_comment (type: string)
+          TableScan
+            alias: p4
+            Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
+            Filter Operator
+              predicate: p_name is not null (type: boolean)
+              Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
+              Reduce Output Operator
+                key expressions: p_name (type: string)
+                sort order: +
+                Map-reduce partition columns: p_name (type: string)
+                Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
+                value expressions: p_partkey (type: int), p_mfgr (type: string), p_brand (type: string), p_type (type: string), p_size (type: int), p_container (type: string), p_retailprice (type: double), p_comment (type: string)
       Reduce Operator Tree:
         Join Operator
           condition map:

Modified: hive/branches/cbo/ql/src/test/results/clientpositive/join_view.q.out
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientpositive/join_view.q.out?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/results/clientpositive/join_view.q.out (original)
+++ hive/branches/cbo/ql/src/test/results/clientpositive/join_view.q.out Thu Apr 16 18:35:39 2015
@@ -49,6 +49,31 @@ STAGE DEPENDENCIES:
 STAGE PLANS:
   Stage: Stage-1
     Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: invites
+            Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+            Filter Operator
+              predicate: (ds = '2011-09-01') (type: boolean)
+              Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+              Reduce Output Operator
+                key expressions: '2011-09-01' (type: string)
+                sort order: +
+                Map-reduce partition columns: '2011-09-01' (type: string)
+                Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+                value expressions: bar (type: string)
+          TableScan
+            alias: invites2
+            Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+            Filter Operator
+              predicate: (ds = '2011-09-01') (type: boolean)
+              Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+              Reduce Output Operator
+                key expressions: '2011-09-01' (type: string)
+                sort order: +
+                Map-reduce partition columns: '2011-09-01' (type: string)
+                Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+                value expressions: foo (type: int)
       Reduce Operator Tree:
         Join Operator
           condition map:

Modified: hive/branches/cbo/ql/src/test/results/clientpositive/load_dyn_part14.q.out
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientpositive/load_dyn_part14.q.out?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/results/clientpositive/load_dyn_part14.q.out (original)
+++ hive/branches/cbo/ql/src/test/results/clientpositive/load_dyn_part14.q.out Thu Apr 16 18:35:39 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/branches/cbo/ql/src/test/results/clientpositive/metadataonly1.q.out
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientpositive/metadataonly1.q.out?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/results/clientpositive/metadataonly1.q.out (original)
+++ hive/branches/cbo/ql/src/test/results/clientpositive/metadataonly1.q.out Thu Apr 16 18:35:39 2015
@@ -36,6 +36,26 @@ STAGE DEPENDENCIES:
 STAGE PLANS:
   Stage: Stage-1
     Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: test1
+            Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+            GatherStats: false
+            Select Operator
+              expressions: ds (type: string)
+              outputColumnNames: _col0
+              Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+              Group By Operator
+                aggregations: max(_col0)
+                mode: hash
+                outputColumnNames: _col0
+                Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: NONE
+                Reduce Output Operator
+                  sort order: 
+                  Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: NONE
+                  tag: -1
+                  value expressions: _col0 (type: string)
+                  auto parallelism: false
       Needs Tagging: false
       Reduce Operator Tree:
         Group By Operator

Modified: hive/branches/cbo/ql/src/test/results/clientpositive/nullgroup5.q.out
URL: http://svn.apache.org/viewvc/hive/branches/cbo/ql/src/test/results/clientpositive/nullgroup5.q.out?rev=1674132&r1=1674131&r2=1674132&view=diff
==============================================================================
--- hive/branches/cbo/ql/src/test/results/clientpositive/nullgroup5.q.out (original)
+++ hive/branches/cbo/ql/src/test/results/clientpositive/nullgroup5.q.out Thu Apr 16 18:35:39 2015
@@ -57,6 +57,25 @@ STAGE PLANS:
     Map Reduce
       Map Operator Tree:
           TableScan
+            alias: x
+            Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+            Filter Operator
+              predicate: (ds = '2009-04-05') (type: boolean)
+              Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+              Select Operator
+                expressions: key (type: string), value (type: string)
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+                Union
+                  Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
+                  File Output Operator
+                    compressed: false
+                    Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
+                    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
+          TableScan
             alias: y
             Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
             Select Operator