You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by mm...@apache.org on 2018/08/16 00:21:24 UTC
[50/51] [partial] hive git commit: Revert "HIVE-20315: Vectorization:
Fix more NULL / Wrong Results issues and avoid unnecessary casts/conversions
(Matt McCline, reviewed by Teddy Choi)"
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorCoalesceElt.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorCoalesceElt.java b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorCoalesceElt.java
index d367fb9..0bca490 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorCoalesceElt.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorCoalesceElt.java
@@ -54,7 +54,6 @@ import org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo;
import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo;
import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoFactory;
import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoUtils;
-import org.apache.hadoop.io.IntWritable;
import junit.framework.Assert;
@@ -67,11 +66,7 @@ public class TestVectorCoalesceElt {
public void testCoalesce() throws Exception {
Random random = new Random(5371);
- // Grind through a few more index values...
- int iteration = 0;
- for (int i = 0; i < 10; i++) {
- iteration = doCoalesceElt(random, iteration, /* isCoalesce */ true, false);
- }
+ doCoalesceElt(random, /* isCoalesce */ true, false);
}
@Test
@@ -79,10 +74,9 @@ public class TestVectorCoalesceElt {
Random random = new Random(5371);
// Grind through a few more index values...
- int iteration = 0;
- for (int i = 0; i < 10; i++) {
- iteration = doCoalesceElt(random, iteration, /* isCoalesce */ false, false);
- iteration = doCoalesceElt(random, iteration, /* isCoalesce */ false, true);
+ for (int i = 0; i < 4; i++) {
+ doCoalesceElt(random, /* isCoalesce */ false, false);
+ doCoalesceElt(random, /* isCoalesce */ false, true);
}
}
@@ -94,41 +88,39 @@ public class TestVectorCoalesceElt {
static final int count = values().length;
}
- private int doCoalesceElt(Random random, int iteration, boolean isCoalesce,
- boolean isEltIndexConst)
- throws Exception {
+ private void doCoalesceElt(Random random, boolean isCoalesce, boolean isEltIndexConst)
+ throws Exception {
- doCoalesceOnRandomDataType(random, iteration++, isCoalesce, isEltIndexConst, /* columnCount */ 2,
+ doCoalesceOnRandomDataType(random, isCoalesce, isEltIndexConst, /* columnCount */ 2,
/* constantColumns */ null, /* nullConstantColumns */ null, /* allowNulls */ true);
- doCoalesceOnRandomDataType(random, iteration++, isCoalesce, isEltIndexConst, /* columnCount */ 2,
+ doCoalesceOnRandomDataType(random, isCoalesce, isEltIndexConst, /* columnCount */ 2,
/* constantColumns */ null, /* nullConstantColumns */ null, /* allowNulls */ false);
- doCoalesceOnRandomDataType(random, iteration++, isCoalesce, isEltIndexConst, /* columnCount */ 3,
+ doCoalesceOnRandomDataType(random, isCoalesce, isEltIndexConst, /* columnCount */ 3,
/* constantColumns */ null, /* nullConstantColumns */ null, /* allowNulls */ true);
- doCoalesceOnRandomDataType(random, iteration++, isCoalesce, isEltIndexConst, /* columnCount */ 3,
+ doCoalesceOnRandomDataType(random, isCoalesce, isEltIndexConst, /* columnCount */ 3,
new int[] { 0 }, /* nullConstantColumns */ null, /* allowNulls */ true);
- doCoalesceOnRandomDataType(random, iteration++, isCoalesce, isEltIndexConst, /* columnCount */ 3,
+ doCoalesceOnRandomDataType(random, isCoalesce, isEltIndexConst, /* columnCount */ 3,
new int[] { 0 }, /* nullConstantColumns */ new int[] { 0 }, /* allowNulls */ true);
- doCoalesceOnRandomDataType(random, iteration++, isCoalesce, isEltIndexConst, /* columnCount */ 3,
+ doCoalesceOnRandomDataType(random, isCoalesce, isEltIndexConst, /* columnCount */ 3,
new int[] { 1 }, /* nullConstantColumns */ null, /* allowNulls */ true);
- doCoalesceOnRandomDataType(random, iteration++, isCoalesce, isEltIndexConst, /* columnCount */ 3,
+ doCoalesceOnRandomDataType(random, isCoalesce, isEltIndexConst, /* columnCount */ 3,
new int[] { 1 }, /* nullConstantColumns */ new int[] { 1 }, /* allowNulls */ true);
- doCoalesceOnRandomDataType(random, iteration++, isCoalesce, isEltIndexConst, /* columnCount */ 3,
+ doCoalesceOnRandomDataType(random, isCoalesce, isEltIndexConst, /* columnCount */ 3,
new int[] { 0, 2 }, /* nullConstantColumns */ null, /* allowNulls */ true);
- doCoalesceOnRandomDataType(random, iteration++, isCoalesce, isEltIndexConst, /* columnCount */ 3,
+ doCoalesceOnRandomDataType(random, isCoalesce, isEltIndexConst, /* columnCount */ 3,
new int[] { 0, 2 }, /* nullConstantColumns */ new int[] { 0 }, /* allowNulls */ true);
- doCoalesceOnRandomDataType(random, iteration++, isCoalesce, isEltIndexConst, /* columnCount */ 3,
+ doCoalesceOnRandomDataType(random, isCoalesce, isEltIndexConst, /* columnCount */ 3,
new int[] { 0, 2 }, /* nullConstantColumns */ new int[] { 0, 2 }, /* allowNulls */ false);
- doCoalesceOnRandomDataType(random, iteration++, isCoalesce, isEltIndexConst, /* columnCount */ 4,
+ doCoalesceOnRandomDataType(random, isCoalesce, isEltIndexConst, /* columnCount */ 4,
/* constantColumns */ null, /* nullConstantColumns */ null, /* allowNulls */ true);
- doCoalesceOnRandomDataType(random, iteration++, isCoalesce, isEltIndexConst, /* columnCount */ 4,
+ doCoalesceOnRandomDataType(random, isCoalesce, isEltIndexConst, /* columnCount */ 4,
/* constantColumns */ null, /* nullConstantColumns */ null, /* allowNulls */ false);
- doCoalesceOnRandomDataType(random, iteration++, isCoalesce, isEltIndexConst, /* columnCount */ 4,
+ doCoalesceOnRandomDataType(random, isCoalesce, isEltIndexConst, /* columnCount */ 4,
new int[] { 0, 1, 2 }, /* nullConstantColumns */ new int[] { 0, 1, 2 }, /* allowNulls */ true);
- doCoalesceOnRandomDataType(random, iteration++, isCoalesce, isEltIndexConst, /* columnCount */ 4,
+ doCoalesceOnRandomDataType(random, isCoalesce, isEltIndexConst, /* columnCount */ 4,
new int[] { 0, 1, 2 }, /* nullConstantColumns */ new int[] { 0, 1, 2 }, /* allowNulls */ false);
- return iteration;
}
private boolean contains(int[] columns, int column) {
@@ -143,7 +135,7 @@ public class TestVectorCoalesceElt {
return false;
}
- private boolean doCoalesceOnRandomDataType(Random random, int iteration,
+ private boolean doCoalesceOnRandomDataType(Random random,
boolean isCoalesce, boolean isEltIndexConst, int columnCount,
int[] constantColumns, int[] nullConstantColumns, boolean allowNulls)
throws Exception {
@@ -195,18 +187,17 @@ public class TestVectorCoalesceElt {
List<Object> intValueList = new ArrayList<Object>();
for (int i = -1; i < columnCount + 2; i++) {
- intValueList.add(
- new IntWritable(i));
+ intValueList.add(i);
}
final int intValueListCount = intValueList.size();
- ExprNodeDesc intColExpr;
+ ExprNodeDesc colExpr;
if (!isEltIndexConst) {
generationSpecList.add(
GenerationSpec.createValueList(intTypeInfo, intValueList));
explicitDataTypePhysicalVariationList.add(DataTypePhysicalVariation.NONE);
String columnName = "col" + columnNum++;
columns.add(columnName);
- intColExpr = new ExprNodeColumnDesc(intTypeInfo, columnName, "table", false);
+ colExpr = new ExprNodeColumnDesc(intTypeInfo, columnName, "table", false);
} else {
final Object scalarObject;
if (random.nextInt(10) != 0) {
@@ -214,9 +205,8 @@ public class TestVectorCoalesceElt {
} else {
scalarObject = null;
}
- intColExpr = new ExprNodeConstantDesc(typeInfo, scalarObject);
+ colExpr = new ExprNodeConstantDesc(typeInfo, scalarObject);
}
- children.add(intColExpr);
}
for (int c = 0; c < columnCount; c++) {
ExprNodeDesc colExpr;
@@ -245,8 +235,7 @@ public class TestVectorCoalesceElt {
VectorRandomRowSource rowSource = new VectorRandomRowSource();
rowSource.initGenerationSpecSchema(
- random, generationSpecList, /* maxComplexDepth */ 0,
- /* allowNull */ allowNulls, /* isUnicodeOk */ true,
+ random, generationSpecList, /* maxComplexDepth */ 0, /* allowNull */ allowNulls,
explicitDataTypePhysicalVariationList);
String[] columnNames = columns.toArray(new String[0]);
@@ -306,7 +295,6 @@ public class TestVectorCoalesceElt {
case VECTOR_EXPRESSION:
if (!doVectorCastTest(
typeInfo,
- iteration,
columns,
columnNames,
rowSource.typeInfos(),
@@ -339,10 +327,9 @@ public class TestVectorCoalesceElt {
"Row " + i +
" sourceTypeName " + typeName +
" " + coalesceEltTestMode +
- " iteration " + iteration +
" result is NULL " + (vectorResult == null ? "YES" : "NO result " + vectorResult.toString()) +
" does not match row-mode expected result is NULL " +
- (expectedResult == null ? "YES" : "NO result '" + expectedResult.toString()) + "'" +
+ (expectedResult == null ? "YES" : "NO result " + expectedResult.toString()) +
" row values " + Arrays.toString(randomRows[i]) +
" exprDesc " + exprDesc.toString());
}
@@ -353,10 +340,9 @@ public class TestVectorCoalesceElt {
"Row " + i +
" sourceTypeName " + typeName +
" " + coalesceEltTestMode +
- " iteration " + iteration +
- " result '" + vectorResult.toString() + "'" +
+ " result " + vectorResult.toString() +
" (" + vectorResult.getClass().getSimpleName() + ")" +
- " does not match row-mode expected result '" + expectedResult.toString() + "'" +
+ " does not match row-mode expected result " + expectedResult.toString() +
" (" + expectedResult.getClass().getSimpleName() + ")" +
" row values " + Arrays.toString(randomRows[i]) +
" exprDesc " + exprDesc.toString());
@@ -424,7 +410,7 @@ public class TestVectorCoalesceElt {
}
}
- private boolean doVectorCastTest(TypeInfo typeInfo, int iteration,
+ private boolean doVectorCastTest(TypeInfo typeInfo,
List<String> columns, String[] columnNames,
TypeInfo[] typeInfos, DataTypePhysicalVariation[] dataTypePhysicalVariations,
List<ExprNodeDesc> children,
@@ -459,7 +445,7 @@ public class TestVectorCoalesceElt {
" vectorExpression " + vectorExpression.toString());
}
- // System.out.println("*VECTOR EXPRESSION* " + vectorExpression.getClass().getSimpleName());
+ System.out.println("*VECTOR EXPRESSION* " + vectorExpression.getClass().getSimpleName());
/*
System.out.println(
@@ -488,6 +474,17 @@ public class TestVectorCoalesceElt {
new TypeInfo[] { outputTypeInfo }, new int[] { vectorExpression.getOutputColumnNum() });
Object[] scrqtchRow = new Object[1];
+ // System.out.println("*VECTOR EXPRESSION* " + vectorExpression.getClass().getSimpleName());
+
+ /*
+ System.out.println(
+ "*DEBUG* typeInfo1 " + typeInfo1.toString() +
+ " typeInfo2 " + typeInfo2.toString() +
+ " arithmeticTestMode " + arithmeticTestMode +
+ " columnScalarMode " + columnScalarMode +
+ " vectorExpression " + vectorExpression.toString());
+ */
+
batchSource.resetBatchIteration();
int rowIndex = 0;
while (true) {
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorDateAddSub.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorDateAddSub.java b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorDateAddSub.java
index b0e4b26..68c14c8 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorDateAddSub.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorDateAddSub.java
@@ -25,6 +25,8 @@ import java.util.List;
import java.util.Random;
import org.apache.hadoop.hive.common.type.DataTypePhysicalVariation;
+import org.apache.hadoop.hive.common.type.HiveChar;
+import org.apache.hadoop.hive.common.type.HiveVarchar;
import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.hive.ql.exec.ExprNodeEvaluator;
import org.apache.hadoop.hive.ql.exec.ExprNodeEvaluatorFactory;
@@ -44,18 +46,23 @@ import org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDFDateAdd;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDFDateSub;
+import org.apache.hadoop.hive.serde2.io.HiveCharWritable;
import org.apache.hadoop.hive.serde2.io.HiveDecimalWritable;
+import org.apache.hadoop.hive.serde2.io.HiveVarcharWritable;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils.ObjectInspectorCopyOption;
import org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector.PrimitiveCategory;
+import org.apache.hadoop.hive.serde2.typeinfo.CharTypeInfo;
import org.apache.hadoop.hive.serde2.typeinfo.DecimalTypeInfo;
import org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo;
import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo;
import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoFactory;
import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoUtils;
+import org.apache.hadoop.hive.serde2.typeinfo.VarcharTypeInfo;
import org.apache.hadoop.hive.serde2.io.ShortWritable;
import org.apache.hadoop.io.IntWritable;
+import org.apache.hadoop.io.LongWritable;
import junit.framework.Assert;
@@ -235,8 +242,7 @@ public class TestVectorDateAddSub {
VectorRandomRowSource rowSource = new VectorRandomRowSource();
rowSource.initGenerationSpecSchema(
- random, generationSpecList, /* maxComplexDepth */ 0,
- /* allowNull */ true, /* isUnicodeOk */ true,
+ random, generationSpecList, /* maxComplexDepth */ 0, /* allowNull */ true,
explicitDataTypePhysicalVariationList);
Object[][] randomRows = rowSource.randomRows(100000);
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorDateDiff.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorDateDiff.java b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorDateDiff.java
index d89299c..0da9d8c 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorDateDiff.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorDateDiff.java
@@ -25,6 +25,8 @@ import java.util.List;
import java.util.Random;
import org.apache.hadoop.hive.common.type.DataTypePhysicalVariation;
+import org.apache.hadoop.hive.common.type.HiveChar;
+import org.apache.hadoop.hive.common.type.HiveVarchar;
import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.hive.ql.exec.ExprNodeEvaluator;
import org.apache.hadoop.hive.ql.exec.ExprNodeEvaluatorFactory;
@@ -52,12 +54,16 @@ import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils.ObjectInspectorCopyOption;
import org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector.PrimitiveCategory;
+import org.apache.hadoop.hive.serde2.typeinfo.CharTypeInfo;
import org.apache.hadoop.hive.serde2.typeinfo.DecimalTypeInfo;
import org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo;
import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo;
import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoFactory;
import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoUtils;
+import org.apache.hadoop.hive.serde2.typeinfo.VarcharTypeInfo;
import org.apache.hadoop.hive.serde2.io.ShortWritable;
+import org.apache.hadoop.io.IntWritable;
+import org.apache.hadoop.io.LongWritable;
import junit.framework.Assert;
@@ -245,8 +251,7 @@ public class TestVectorDateDiff {
VectorRandomRowSource rowSource = new VectorRandomRowSource();
rowSource.initGenerationSpecSchema(
- random, generationSpecList, /* maxComplexDepth */ 0,
- /* allowNull */ true, /* isUnicodeOk */ true,
+ random, generationSpecList, /* maxComplexDepth */ 0, /* allowNull */ true,
explicitDataTypePhysicalVariationList);
Object[][] randomRows = rowSource.randomRows(100000);
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorFilterCompare.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorFilterCompare.java b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorFilterCompare.java
index abdbc1c..ba9eaca 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorFilterCompare.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorFilterCompare.java
@@ -26,7 +26,9 @@ import java.util.List;
import java.util.Random;
import org.apache.hadoop.hive.common.type.DataTypePhysicalVariation;
+import org.apache.hadoop.hive.common.type.HiveChar;
import org.apache.hadoop.hive.common.type.HiveDecimal;
+import org.apache.hadoop.hive.common.type.HiveVarchar;
import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.hive.ql.exec.ExprNodeEvaluator;
import org.apache.hadoop.hive.ql.exec.ExprNodeEvaluatorFactory;
@@ -58,8 +60,12 @@ import org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPLessThan;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPEqualOrGreaterThan;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPEqualOrLessThan;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPEqual;
+import org.apache.hadoop.hive.ql.udf.generic.GenericUDF.DeferredJavaObject;
+import org.apache.hadoop.hive.ql.udf.generic.GenericUDF.DeferredObject;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPNotEqual;
+import org.apache.hadoop.hive.serde2.io.HiveCharWritable;
import org.apache.hadoop.hive.serde2.io.HiveDecimalWritable;
+import org.apache.hadoop.hive.serde2.io.HiveVarcharWritable;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils.ObjectInspectorCopyOption;
@@ -71,6 +77,9 @@ import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo;
import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoFactory;
import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoUtils;
import org.apache.hadoop.hive.serde2.typeinfo.VarcharTypeInfo;
+import org.apache.hadoop.hive.serde2.io.ShortWritable;
+import org.apache.hadoop.io.IntWritable;
+import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.BooleanWritable;
import junit.framework.Assert;
@@ -393,8 +402,7 @@ public class TestVectorFilterCompare {
VectorRandomRowSource rowSource = new VectorRandomRowSource();
rowSource.initGenerationSpecSchema(
- random, generationSpecList, /* maxComplexDepth */ 0,
- /* allowNull */ true, /* isUnicodeOk */ true,
+ random, generationSpecList, /* maxComplexDepth */ 0, /* allowNull */ true,
explicitDataTypePhysicalVariationList);
Object[][] randomRows = rowSource.randomRows(100000);
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorIfStatement.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorIfStatement.java b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorIfStatement.java
index ce66e2b..d8ae175 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorIfStatement.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorIfStatement.java
@@ -273,8 +273,7 @@ public class TestVectorIfStatement {
VectorRandomRowSource rowSource = new VectorRandomRowSource();
rowSource.initExplicitSchema(
- random, explicitTypeNameList, /* maxComplexDepth */ 0,
- /* allowNull */ true, /* isUnicodeOk */ true,
+ random, explicitTypeNameList, /* maxComplexDepth */ 0, /* allowNull */ true,
explicitDataTypePhysicalVariationList);
List<String> columns = new ArrayList<String>();
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorIndex.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorIndex.java b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorIndex.java
index 9a49088..648feb0 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorIndex.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorIndex.java
@@ -28,6 +28,8 @@ import java.util.TreeSet;
import java.util.stream.IntStream;
import org.apache.hadoop.hive.common.type.DataTypePhysicalVariation;
+import org.apache.hadoop.hive.common.type.HiveChar;
+import org.apache.hadoop.hive.common.type.HiveVarchar;
import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.hive.ql.exec.ExprNodeEvaluator;
import org.apache.hadoop.hive.ql.exec.ExprNodeEvaluatorFactory;
@@ -304,8 +306,7 @@ public class TestVectorIndex {
VectorRandomRowSource rowSource = new VectorRandomRowSource();
rowSource.initGenerationSpecSchema(
- random, generationSpecList, /* maxComplexDepth */ 0,
- /* allowNull */ allowNulls, /* isUnicodeOk */ true,
+ random, generationSpecList, /* maxComplexDepth */ 0, /* allowNull */ allowNulls,
explicitDataTypePhysicalVariationList);
String[] columnNames = columns.toArray(new String[0]);
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorNegative.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorNegative.java b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorNegative.java
index a3f665b..ea39848 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorNegative.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorNegative.java
@@ -51,16 +51,34 @@ import org.apache.hadoop.hive.ql.plan.ExprNodeDesc;
import org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc;
import org.apache.hadoop.hive.ql.session.SessionState;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDF;
+import org.apache.hadoop.hive.ql.udf.generic.GenericUDFDateAdd;
+import org.apache.hadoop.hive.ql.udf.generic.GenericUDFDateDiff;
+import org.apache.hadoop.hive.ql.udf.generic.GenericUDFDateSub;
+import org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPDivide;
+import org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPMinus;
+import org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPMod;
+import org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPMultiply;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPNegative;
+import org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPPlus;
+import org.apache.hadoop.hive.ql.udf.generic.GenericUDF.DeferredJavaObject;
+import org.apache.hadoop.hive.ql.udf.generic.GenericUDF.DeferredObject;
+import org.apache.hadoop.hive.serde2.io.HiveCharWritable;
+import org.apache.hadoop.hive.serde2.io.HiveDecimalWritable;
+import org.apache.hadoop.hive.serde2.io.HiveVarcharWritable;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils.ObjectInspectorCopyOption;
import org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector.PrimitiveCategory;
+import org.apache.hadoop.hive.serde2.typeinfo.CharTypeInfo;
import org.apache.hadoop.hive.serde2.typeinfo.DecimalTypeInfo;
import org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo;
import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo;
import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoFactory;
import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoUtils;
+import org.apache.hadoop.hive.serde2.typeinfo.VarcharTypeInfo;
+import org.apache.hadoop.hive.serde2.io.ShortWritable;
+import org.apache.hadoop.io.IntWritable;
+import org.apache.hadoop.io.LongWritable;
import junit.framework.Assert;
@@ -201,8 +219,7 @@ public class TestVectorNegative {
VectorRandomRowSource rowSource = new VectorRandomRowSource();
rowSource.initGenerationSpecSchema(
- random, generationSpecList, /* maxComplexDepth */ 0,
- /* allowNull */ true, /* isUnicodeOk */ true,
+ random, generationSpecList, /* maxComplexDepth */ 0, /* allowNull */ true,
explicitDataTypePhysicalVariationList);
Object[][] randomRows = rowSource.randomRows(100000);
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorNull.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorNull.java b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorNull.java
index 06d8fc8..9b0a2ae 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorNull.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorNull.java
@@ -24,6 +24,8 @@ import java.util.List;
import java.util.Random;
import org.apache.hadoop.hive.common.type.DataTypePhysicalVariation;
+import org.apache.hadoop.hive.common.type.HiveChar;
+import org.apache.hadoop.hive.common.type.HiveVarchar;
import org.apache.hadoop.hive.conf.HiveConf;
import org.apache.hadoop.hive.ql.exec.ExprNodeEvaluator;
import org.apache.hadoop.hive.ql.exec.ExprNodeEvaluatorFactory;
@@ -50,17 +52,26 @@ import org.apache.hadoop.hive.ql.udf.generic.GenericUDF;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPNot;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPNotNull;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPNull;
+import org.apache.hadoop.hive.serde2.io.DoubleWritable;
+import org.apache.hadoop.hive.serde2.io.HiveCharWritable;
+import org.apache.hadoop.hive.serde2.io.HiveDecimalWritable;
+import org.apache.hadoop.hive.serde2.io.HiveVarcharWritable;
import org.apache.hadoop.hive.serde2.objectinspector.ConstantObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils.ObjectInspectorCopyOption;
import org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector.PrimitiveCategory;
import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
+import org.apache.hadoop.hive.serde2.typeinfo.CharTypeInfo;
+import org.apache.hadoop.hive.serde2.typeinfo.DecimalTypeInfo;
import org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo;
import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo;
import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoFactory;
import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoUtils;
+import org.apache.hadoop.hive.serde2.typeinfo.VarcharTypeInfo;
import org.apache.hadoop.io.BooleanWritable;
+import org.apache.hadoop.io.LongWritable;
+import org.apache.hadoop.io.Text;
import junit.framework.Assert;
@@ -148,8 +159,7 @@ public class TestVectorNull {
VectorRandomRowSource rowSource = new VectorRandomRowSource();
rowSource.initGenerationSpecSchema(
- random, generationSpecList, /* maxComplexDepth */ 0,
- /* allowNull */ true, /* isUnicodeOk */ true,
+ random, generationSpecList, /* maxComplexDepth */ 0, /* allowNull */ true,
explicitDataTypePhysicalVariationList);
List<String> columns = new ArrayList<String>();
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorStringConcat.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorStringConcat.java b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorStringConcat.java
index bb41c4f..8877b06 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorStringConcat.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorStringConcat.java
@@ -191,8 +191,7 @@ public class TestVectorStringConcat {
VectorRandomRowSource rowSource = new VectorRandomRowSource();
rowSource.initGenerationSpecSchema(
- random, generationSpecList, /* maxComplexDepth */ 0,
- /* allowNull */ true, /* isUnicodeOk */ true,
+ random, generationSpecList, /* maxComplexDepth */ 0, /* allowNull */ true,
explicitDataTypePhysicalVariationList);
Object[][] randomRows = rowSource.randomRows(100000);
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorStringUnary.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorStringUnary.java b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorStringUnary.java
index 4099b45..dd53157 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorStringUnary.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorStringUnary.java
@@ -149,8 +149,7 @@ public class TestVectorStringUnary {
VectorRandomRowSource rowSource = new VectorRandomRowSource();
rowSource.initGenerationSpecSchema(
- random, generationSpecList, /* maxComplexDepth */ 0,
- /* allowNull */ true, /* isUnicodeOk */ true,
+ random, generationSpecList, /* maxComplexDepth */ 0, /* allowNull */ true,
explicitDataTypePhysicalVariationList);
List<ExprNodeDesc> children = new ArrayList<ExprNodeDesc>();
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorStructField.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorStructField.java b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorStructField.java
deleted file mode 100644
index 5062997..0000000
--- a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorStructField.java
+++ /dev/null
@@ -1,370 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.hadoop.hive.ql.exec.vector.expressions;
-
-import java.lang.reflect.Constructor;
-import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Random;
-
-import org.apache.hadoop.hive.common.type.DataTypePhysicalVariation;
-import org.apache.hadoop.hive.common.type.HiveChar;
-import org.apache.hadoop.hive.common.type.HiveDecimal;
-import org.apache.hadoop.hive.common.type.HiveVarchar;
-import org.apache.hadoop.hive.conf.HiveConf;
-import org.apache.hadoop.hive.ql.exec.ExprNodeEvaluator;
-import org.apache.hadoop.hive.ql.exec.ExprNodeEvaluatorFactory;
-import org.apache.hadoop.hive.ql.exec.FunctionInfo;
-import org.apache.hadoop.hive.ql.exec.FunctionRegistry;
-import org.apache.hadoop.hive.ql.exec.vector.VectorExtractRow;
-import org.apache.hadoop.hive.ql.exec.vector.VectorRandomBatchSource;
-import org.apache.hadoop.hive.ql.exec.vector.VectorRandomRowSource;
-import org.apache.hadoop.hive.ql.exec.vector.VectorizationContext;
-import org.apache.hadoop.hive.ql.exec.vector.VectorizedRowBatch;
-import org.apache.hadoop.hive.ql.exec.vector.VectorizedRowBatchCtx;
-import org.apache.hadoop.hive.ql.exec.vector.VectorRandomRowSource.GenerationSpec;
-import org.apache.hadoop.hive.ql.exec.vector.VectorRandomRowSource.SupportedTypes;
-import org.apache.hadoop.hive.ql.exec.vector.expressions.VectorExpression;
-import org.apache.hadoop.hive.ql.exec.vector.udf.VectorUDFAdaptor;
-import org.apache.hadoop.hive.ql.metadata.HiveException;
-import org.apache.hadoop.hive.ql.parse.SemanticException;
-import org.apache.hadoop.hive.ql.plan.ExprNodeColumnDesc;
-import org.apache.hadoop.hive.ql.plan.ExprNodeConstantDesc;
-import org.apache.hadoop.hive.ql.plan.ExprNodeDesc;
-import org.apache.hadoop.hive.ql.plan.ExprNodeFieldDesc;
-import org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc;
-import org.apache.hadoop.hive.ql.session.SessionState;
-import org.apache.hadoop.hive.ql.udf.generic.GenericUDF;
-import org.apache.hadoop.hive.ql.udf.generic.GenericUDFOPNegative;
-import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
-import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils;
-import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils.ObjectInspectorCopyOption;
-import org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector.PrimitiveCategory;
-import org.apache.hadoop.hive.serde2.typeinfo.DecimalTypeInfo;
-import org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo;
-import org.apache.hadoop.hive.serde2.typeinfo.StructTypeInfo;
-import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo;
-import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoFactory;
-import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoUtils;
-
-import junit.framework.Assert;
-
-import org.junit.Ignore;
-import org.junit.Test;
-
-public class TestVectorStructField {
-
- @Test
- public void testStructField() throws Exception {
- Random random = new Random(7743);
-
- for (int i = 0; i < 5; i++) {
- doStructFieldTests(random);
- }
- }
-
- public enum StructFieldTestMode {
- ROW_MODE,
- VECTOR_EXPRESSION;
-
- static final int count = values().length;
- }
-
- private void doStructFieldTests(Random random) throws Exception {
- String structTypeName =
- VectorRandomRowSource.getDecoratedTypeName(
- random, "struct", SupportedTypes.ALL, /* allowedTypeNameSet */ null,
- /* depth */ 0, /* maxDepth */ 2);
- StructTypeInfo structTypeInfo =
- (StructTypeInfo) TypeInfoUtils.getTypeInfoFromTypeString(structTypeName);
-
- List<String> fieldNameList = structTypeInfo.getAllStructFieldNames();
- final int fieldCount = fieldNameList.size();
- for (int fieldIndex = 0; fieldIndex < fieldCount; fieldIndex++) {
- doOneStructFieldTest(random, structTypeInfo, structTypeName, fieldIndex);
- }
- }
-
- private void doOneStructFieldTest(Random random, StructTypeInfo structTypeInfo,
- String structTypeName, int fieldIndex)
- throws Exception {
-
- List<GenerationSpec> generationSpecList = new ArrayList<GenerationSpec>();
- List<DataTypePhysicalVariation> explicitDataTypePhysicalVariationList =
- new ArrayList<DataTypePhysicalVariation>();
-
- List<String> columns = new ArrayList<String>();
- int columnNum = 1;
-
- generationSpecList.add(
- GenerationSpec.createSameType(structTypeInfo));
- explicitDataTypePhysicalVariationList.add(DataTypePhysicalVariation.NONE);
-
- ExprNodeDesc col1Expr;
- String columnName = "col" + (columnNum++);
- col1Expr = new ExprNodeColumnDesc(structTypeInfo, columnName, "table", false);
- columns.add(columnName);
-
- ObjectInspector structObjectInspector =
- VectorRandomRowSource.getObjectInspector(structTypeInfo);
- List<ObjectInspector> objectInspectorList = new ArrayList<ObjectInspector>();
- objectInspectorList.add(structObjectInspector);
-
- List<ExprNodeDesc> children = new ArrayList<ExprNodeDesc>();
- children.add(col1Expr);
-
- //----------------------------------------------------------------------------------------------
-
- String[] columnNames = columns.toArray(new String[0]);
-
- VectorRandomRowSource rowSource = new VectorRandomRowSource();
-
- rowSource.initGenerationSpecSchema(
- random, generationSpecList, /* maxComplexDepth */ 0,
- /* allowNull */ true, /* isUnicodeOk */ true,
- explicitDataTypePhysicalVariationList);
-
- Object[][] randomRows = rowSource.randomRows(100000);
-
- VectorRandomBatchSource batchSource =
- VectorRandomBatchSource.createInterestingBatches(
- random,
- rowSource,
- randomRows,
- null);
-
- List<String> fieldNameList = structTypeInfo.getAllStructFieldNames();
- List<TypeInfo> fieldTypeInfoList = structTypeInfo.getAllStructFieldTypeInfos();
-
- String randomFieldName = fieldNameList.get(fieldIndex);
- TypeInfo outputTypeInfo = fieldTypeInfoList.get(fieldIndex);
-
- ExprNodeFieldDesc exprNodeFieldDesc =
- new ExprNodeFieldDesc(outputTypeInfo, col1Expr, randomFieldName, /* isList */ false);
-
- final int rowCount = randomRows.length;
- Object[][] resultObjectsArray = new Object[StructFieldTestMode.count][];
- for (int i = 0; i < StructFieldTestMode.count; i++) {
-
- Object[] resultObjects = new Object[rowCount];
- resultObjectsArray[i] = resultObjects;
-
- StructFieldTestMode negativeTestMode = StructFieldTestMode.values()[i];
- switch (negativeTestMode) {
- case ROW_MODE:
- doRowStructFieldTest(
- structTypeInfo,
- columns,
- children,
- exprNodeFieldDesc,
- randomRows,
- rowSource.rowStructObjectInspector(),
- outputTypeInfo,
- resultObjects);
- break;
- case VECTOR_EXPRESSION:
- doVectorStructFieldTest(
- structTypeInfo,
- columns,
- columnNames,
- rowSource.typeInfos(),
- rowSource.dataTypePhysicalVariations(),
- children,
- exprNodeFieldDesc,
- negativeTestMode,
- batchSource,
- exprNodeFieldDesc.getWritableObjectInspector(),
- outputTypeInfo,
- resultObjects);
- break;
- default:
- throw new RuntimeException("Unexpected Negative operator test mode " + negativeTestMode);
- }
- }
-
- for (int i = 0; i < rowCount; i++) {
- // Row-mode is the expected value.
- Object expectedResult = resultObjectsArray[0][i];
-
- for (int v = 1; v < StructFieldTestMode.count; v++) {
- Object vectorResult = resultObjectsArray[v][i];
- if (expectedResult == null || vectorResult == null) {
- if (expectedResult != null || vectorResult != null) {
- Assert.fail(
- "Row " + i +
- " structTypeName " + structTypeName +
- " outputTypeName " + outputTypeInfo.getTypeName() +
- " " + StructFieldTestMode.values()[v] +
- " result is NULL " + (vectorResult == null) +
- " does not match row-mode expected result is NULL " + (expectedResult == null) +
- " row values " + Arrays.toString(randomRows[i]));
- }
- } else {
-
- if (!expectedResult.equals(vectorResult)) {
- Assert.fail(
- "Row " + i +
- " structTypeName " + structTypeName +
- " outputTypeName " + outputTypeInfo.getTypeName() +
- " " + StructFieldTestMode.values()[v] +
- " result " + vectorResult.toString() +
- " (" + vectorResult.getClass().getSimpleName() + ")" +
- " does not match row-mode expected result " + expectedResult.toString() +
- " (" + expectedResult.getClass().getSimpleName() + ")" +
- " row values " + Arrays.toString(randomRows[i]));
- }
- }
- }
- }
- }
-
- private void doRowStructFieldTest(TypeInfo typeInfo,
- List<String> columns, List<ExprNodeDesc> children,
- ExprNodeFieldDesc exprNodeFieldDesc,
- Object[][] randomRows,
- ObjectInspector rowInspector,
- TypeInfo outputTypeInfo, Object[] resultObjects) throws Exception {
-
- /*
- System.out.println(
- "*DEBUG* typeInfo " + typeInfo.toString() +
- " negativeTestMode ROW_MODE" +
- " exprDesc " + exprDesc.toString());
- */
-
- HiveConf hiveConf = new HiveConf();
- ExprNodeEvaluator evaluator =
- ExprNodeEvaluatorFactory.get(exprNodeFieldDesc, hiveConf);
- evaluator.initialize(rowInspector);
-
- ObjectInspector objectInspector =
- TypeInfoUtils.getStandardWritableObjectInspectorFromTypeInfo(
- outputTypeInfo);
-
- final int rowCount = randomRows.length;
- for (int i = 0; i < rowCount; i++) {
- Object[] row = randomRows[i];
- Object result = evaluator.evaluate(row);
- Object copyResult = null;
- try {
- copyResult =
- ObjectInspectorUtils.copyToStandardObject(
- result, objectInspector, ObjectInspectorCopyOption.WRITABLE);
- } catch (Exception e) {
- System.out.println("here");
- }
- resultObjects[i] = copyResult;
- }
- }
-
- private void extractResultObjects(VectorizedRowBatch batch, int rowIndex,
- VectorExtractRow resultVectorExtractRow, Object[] scrqtchRow,
- ObjectInspector objectInspector, Object[] resultObjects) {
-
- boolean selectedInUse = batch.selectedInUse;
- int[] selected = batch.selected;
- for (int logicalIndex = 0; logicalIndex < batch.size; logicalIndex++) {
- final int batchIndex = (selectedInUse ? selected[logicalIndex] : logicalIndex);
- resultVectorExtractRow.extractRow(batch, batchIndex, scrqtchRow);
-
- Object copyResult =
- ObjectInspectorUtils.copyToStandardObject(
- scrqtchRow[0], objectInspector, ObjectInspectorCopyOption.WRITABLE);
- resultObjects[rowIndex++] = copyResult;
- }
- }
-
- private void doVectorStructFieldTest(TypeInfo typeInfo,
- List<String> columns,
- String[] columnNames,
- TypeInfo[] typeInfos, DataTypePhysicalVariation[] dataTypePhysicalVariations,
- List<ExprNodeDesc> children,
- ExprNodeFieldDesc exprNodeFieldDesc,
- StructFieldTestMode negativeTestMode,
- VectorRandomBatchSource batchSource,
- ObjectInspector objectInspector,
- TypeInfo outputTypeInfo, Object[] resultObjects)
- throws Exception {
-
- HiveConf hiveConf = new HiveConf();
-
- VectorizationContext vectorizationContext =
- new VectorizationContext(
- "name",
- columns,
- Arrays.asList(typeInfos),
- Arrays.asList(dataTypePhysicalVariations),
- hiveConf);
- VectorExpression vectorExpression =
- vectorizationContext.getVectorExpression(exprNodeFieldDesc);
- vectorExpression.transientInit();
-
- if (negativeTestMode == StructFieldTestMode.VECTOR_EXPRESSION &&
- vectorExpression instanceof VectorUDFAdaptor) {
- System.out.println(
- "*NO NATIVE VECTOR EXPRESSION* typeInfo " + typeInfo.toString() +
- " negativeTestMode " + negativeTestMode +
- " vectorExpression " + vectorExpression.toString());
- }
-
- String[] outputScratchTypeNames= vectorizationContext.getScratchColumnTypeNames();
-
- VectorizedRowBatchCtx batchContext =
- new VectorizedRowBatchCtx(
- columnNames,
- typeInfos,
- dataTypePhysicalVariations,
- /* dataColumnNums */ null,
- /* partitionColumnCount */ 0,
- /* virtualColumnCount */ 0,
- /* neededVirtualColumns */ null,
- outputScratchTypeNames,
- null);
-
- VectorizedRowBatch batch = batchContext.createVectorizedRowBatch();
-
- VectorExtractRow resultVectorExtractRow = new VectorExtractRow();
- resultVectorExtractRow.init(
- new TypeInfo[] { outputTypeInfo }, new int[] { vectorExpression.getOutputColumnNum() });
- Object[] scrqtchRow = new Object[1];
-
- // System.out.println("*VECTOR EXPRESSION* " + vectorExpression.getClass().getSimpleName());
-
- /*
- System.out.println(
- "*DEBUG* typeInfo " + typeInfo.toString() +
- " negativeTestMode " + negativeTestMode +
- " vectorExpression " + vectorExpression.toString());
- */
-
- batchSource.resetBatchIteration();
- int rowIndex = 0;
- while (true) {
- if (!batchSource.fillNextBatch(batch)) {
- break;
- }
- vectorExpression.evaluate(batch);
- extractResultObjects(batch, rowIndex, resultVectorExtractRow, scrqtchRow,
- objectInspector, resultObjects);
- rowIndex += batch.size;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorSubStr.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorSubStr.java b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorSubStr.java
index 2997dcd..a978782 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorSubStr.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorSubStr.java
@@ -118,8 +118,7 @@ public class TestVectorSubStr {
VectorRandomRowSource rowSource = new VectorRandomRowSource();
rowSource.initGenerationSpecSchema(
- random, generationSpecList, /* maxComplexDepth */ 0,
- /* allowNull */ true, /* isUnicodeOk */ true,
+ random, generationSpecList, /* maxComplexDepth */ 0, /* allowNull */ true,
explicitDataTypePhysicalVariationList);
List<ExprNodeDesc> children = new ArrayList<ExprNodeDesc>();
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorTimestampExtract.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorTimestampExtract.java b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorTimestampExtract.java
index 21109f3..c31bec5 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorTimestampExtract.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorTimestampExtract.java
@@ -137,8 +137,7 @@ public class TestVectorTimestampExtract {
VectorRandomRowSource rowSource = new VectorRandomRowSource();
rowSource.initGenerationSpecSchema(
- random, generationSpecList, /* maxComplexDepth */ 0,
- /* allowNull */ true, /* isUnicodeOk */ true,
+ random, generationSpecList, /* maxComplexDepth */ 0, /* allowNull */ true,
explicitDataTypePhysicalVariationList);
List<ExprNodeDesc> children = new ArrayList<ExprNodeDesc>();
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/mapjoin/fast/TestVectorMapJoinFastRowHashMap.java
----------------------------------------------------------------------
diff --git a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/mapjoin/fast/TestVectorMapJoinFastRowHashMap.java b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/mapjoin/fast/TestVectorMapJoinFastRowHashMap.java
index df91443..05a98a6 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/mapjoin/fast/TestVectorMapJoinFastRowHashMap.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/mapjoin/fast/TestVectorMapJoinFastRowHashMap.java
@@ -144,10 +144,8 @@ public class TestVectorMapJoinFastRowHashMap extends CommonFastHashTable {
VerifyFastRowHashMap verifyTable = new VerifyFastRowHashMap();
VectorRandomRowSource valueSource = new VectorRandomRowSource();
-
- valueSource.init(
- random, VectorRandomRowSource.SupportedTypes.ALL, 4,
- /* allowNulls */ false, /* isUnicodeOk */ false);
+
+ valueSource.init(random, VectorRandomRowSource.SupportedTypes.ALL, 4, false);
int rowCount = 1000;
Object[][] rows = valueSource.randomRows(rowCount);
@@ -172,9 +170,7 @@ public class TestVectorMapJoinFastRowHashMap extends CommonFastHashTable {
VectorRandomRowSource valueSource = new VectorRandomRowSource();
- valueSource.init(
- random, VectorRandomRowSource.SupportedTypes.ALL, 4,
- /* allowNulls */ false, /* isUnicodeOk */ false);
+ valueSource.init(random, VectorRandomRowSource.SupportedTypes.ALL, 4, false);
int rowCount = 1000;
Object[][] rows = valueSource.randomRows(rowCount);
@@ -198,10 +194,8 @@ public class TestVectorMapJoinFastRowHashMap extends CommonFastHashTable {
VerifyFastRowHashMap verifyTable = new VerifyFastRowHashMap();
VectorRandomRowSource valueSource = new VectorRandomRowSource();
-
- valueSource.init(
- random, VectorRandomRowSource.SupportedTypes.ALL, 4,
- /* allowNulls */ false, /* isUnicodeOk */ false);
+
+ valueSource.init(random, VectorRandomRowSource.SupportedTypes.ALL, 4, false);
int rowCount = 1000;
Object[][] rows = valueSource.randomRows(rowCount);
@@ -226,9 +220,7 @@ public class TestVectorMapJoinFastRowHashMap extends CommonFastHashTable {
VectorRandomRowSource valueSource = new VectorRandomRowSource();
- valueSource.init(
- random, VectorRandomRowSource.SupportedTypes.ALL, 4,
- /* allowNulls */ false, /* isUnicodeOk */ false);
+ valueSource.init(random, VectorRandomRowSource.SupportedTypes.ALL, 4, false);
int rowCount = 1000;
Object[][] rows = valueSource.randomRows(rowCount);
@@ -253,9 +245,8 @@ public class TestVectorMapJoinFastRowHashMap extends CommonFastHashTable {
VectorRandomRowSource valueSource = new VectorRandomRowSource();
- valueSource.init(
- random, VectorRandomRowSource.SupportedTypes.ALL, 4,
- /* allowNulls */ false, /* isUnicodeOk */ false);
+
+ valueSource.init(random, VectorRandomRowSource.SupportedTypes.ALL, 4, false);
int rowCount = 1000;
Object[][] rows = valueSource.randomRows(rowCount);
@@ -280,9 +271,7 @@ public class TestVectorMapJoinFastRowHashMap extends CommonFastHashTable {
VectorRandomRowSource valueSource = new VectorRandomRowSource();
- valueSource.init(
- random, VectorRandomRowSource.SupportedTypes.ALL, 4,
- /* allowNulls */ false, /* isUnicodeOk */ false);
+ valueSource.init(random, VectorRandomRowSource.SupportedTypes.ALL, 4, false);
int rowCount = 1000;
Object[][] rows = valueSource.randomRows(rowCount);
@@ -307,9 +296,7 @@ public class TestVectorMapJoinFastRowHashMap extends CommonFastHashTable {
VectorRandomRowSource valueSource = new VectorRandomRowSource();
- valueSource.init(
- random, VectorRandomRowSource.SupportedTypes.ALL, 4,
- /* allowNulls */ false, /* isUnicodeOk */ false);
+ valueSource.init(random, VectorRandomRowSource.SupportedTypes.ALL, 4, false);
int rowCount = 1000;
Object[][] rows = valueSource.randomRows(rowCount);
@@ -334,9 +321,7 @@ public class TestVectorMapJoinFastRowHashMap extends CommonFastHashTable {
VectorRandomRowSource valueSource = new VectorRandomRowSource();
- valueSource.init(
- random, VectorRandomRowSource.SupportedTypes.ALL, 4,
- /* allowNulls */ false, /* isUnicodeOk */ false);
+ valueSource.init(random, VectorRandomRowSource.SupportedTypes.ALL, 4, false);
int rowCount = 1000;
Object[][] rows = valueSource.randomRows(rowCount);
@@ -361,9 +346,7 @@ public class TestVectorMapJoinFastRowHashMap extends CommonFastHashTable {
VectorRandomRowSource valueSource = new VectorRandomRowSource();
- valueSource.init(
- random, VectorRandomRowSource.SupportedTypes.ALL, 4,
- /* allowNulls */ false, /* isUnicodeOk */ false);
+ valueSource.init(random, VectorRandomRowSource.SupportedTypes.ALL, 4, false);
int rowCount = 1000;
Object[][] rows = valueSource.randomRows(rowCount);
@@ -388,9 +371,7 @@ public class TestVectorMapJoinFastRowHashMap extends CommonFastHashTable {
VectorRandomRowSource valueSource = new VectorRandomRowSource();
- valueSource.init(
- random, VectorRandomRowSource.SupportedTypes.ALL, 4,
- /* allowNulls */ false, /* isUnicodeOk */ false);
+ valueSource.init(random, VectorRandomRowSource.SupportedTypes.ALL, 4, false);
int rowCount = 1000;
Object[][] rows = valueSource.randomRows(rowCount);
@@ -415,9 +396,7 @@ public class TestVectorMapJoinFastRowHashMap extends CommonFastHashTable {
VectorRandomRowSource valueSource = new VectorRandomRowSource();
- valueSource.init(
- random, VectorRandomRowSource.SupportedTypes.ALL, 4,
- /* allowNulls */ false, /* isUnicodeOk */ false);
+ valueSource.init(random, VectorRandomRowSource.SupportedTypes.ALL, 4, false);
int rowCount = 1000;
Object[][] rows = valueSource.randomRows(rowCount);
@@ -442,9 +421,7 @@ public class TestVectorMapJoinFastRowHashMap extends CommonFastHashTable {
VectorRandomRowSource valueSource = new VectorRandomRowSource();
- valueSource.init(
- random, VectorRandomRowSource.SupportedTypes.ALL, 4,
- /* allowNulls */ false, /* isUnicodeOk */ false);
+ valueSource.init(random, VectorRandomRowSource.SupportedTypes.ALL, 4, false);
int rowCount = 1000;
Object[][] rows = valueSource.randomRows(rowCount);
@@ -470,9 +447,7 @@ public class TestVectorMapJoinFastRowHashMap extends CommonFastHashTable {
VectorRandomRowSource valueSource = new VectorRandomRowSource();
- valueSource.init(
- random, VectorRandomRowSource.SupportedTypes.ALL, 4,
- /* allowNulls */ false, /* isUnicodeOk */ false);
+ valueSource.init(random, VectorRandomRowSource.SupportedTypes.ALL, 4, false);
int rowCount = 1000;
Object[][] rows = valueSource.randomRows(rowCount);
@@ -497,9 +472,7 @@ public class TestVectorMapJoinFastRowHashMap extends CommonFastHashTable {
VectorRandomRowSource valueSource = new VectorRandomRowSource();
- valueSource.init(
- random, VectorRandomRowSource.SupportedTypes.ALL, 4,
- /* allowNulls */ false, /* isUnicodeOk */ false);
+ valueSource.init(random, VectorRandomRowSource.SupportedTypes.ALL, 4, false);
int rowCount = 1000;
Object[][] rows = valueSource.randomRows(rowCount);
@@ -524,9 +497,7 @@ public class TestVectorMapJoinFastRowHashMap extends CommonFastHashTable {
VectorRandomRowSource valueSource = new VectorRandomRowSource();
- valueSource.init(
- random, VectorRandomRowSource.SupportedTypes.ALL, 4,
- /* allowNulls */ false, /* isUnicodeOk */ false);
+ valueSource.init(random, VectorRandomRowSource.SupportedTypes.ALL, 4, false);
int rowCount = 1000;
Object[][] rows = valueSource.randomRows(rowCount);
@@ -551,9 +522,7 @@ public class TestVectorMapJoinFastRowHashMap extends CommonFastHashTable {
VectorRandomRowSource valueSource = new VectorRandomRowSource();
- valueSource.init(
- random, VectorRandomRowSource.SupportedTypes.ALL, 4,
- /* allowNulls */ false, /* isUnicodeOk */ false);
+ valueSource.init(random, VectorRandomRowSource.SupportedTypes.ALL, 4, false);
int rowCount = 1000;
Object[][] rows = valueSource.randomRows(rowCount);
@@ -578,9 +547,7 @@ public class TestVectorMapJoinFastRowHashMap extends CommonFastHashTable {
VectorRandomRowSource valueSource = new VectorRandomRowSource();
- valueSource.init(
- random, VectorRandomRowSource.SupportedTypes.ALL, 4,
- /* allowNulls */ false, /* isUnicodeOk */ false);
+ valueSource.init(random, VectorRandomRowSource.SupportedTypes.ALL, 4, false);
int rowCount = 1000;
Object[][] rows = valueSource.randomRows(rowCount);
@@ -605,9 +572,7 @@ public class TestVectorMapJoinFastRowHashMap extends CommonFastHashTable {
VectorRandomRowSource valueSource = new VectorRandomRowSource();
- valueSource.init(
- random, VectorRandomRowSource.SupportedTypes.ALL, 4,
- /* allowNulls */ false, /* isUnicodeOk */ false);
+ valueSource.init(random, VectorRandomRowSource.SupportedTypes.ALL, 4, false);
int rowCount = 1000;
Object[][] rows = valueSource.randomRows(rowCount);
@@ -632,9 +597,7 @@ public class TestVectorMapJoinFastRowHashMap extends CommonFastHashTable {
VectorRandomRowSource valueSource = new VectorRandomRowSource();
- valueSource.init(
- random, VectorRandomRowSource.SupportedTypes.ALL, 4,
- /* allowNulls */ false, /* isUnicodeOk */ false);
+ valueSource.init(random, VectorRandomRowSource.SupportedTypes.ALL, 4, false);
int rowCount = 1000;
Object[][] rows = valueSource.randomRows(rowCount);
@@ -659,9 +622,7 @@ public class TestVectorMapJoinFastRowHashMap extends CommonFastHashTable {
VectorRandomRowSource valueSource = new VectorRandomRowSource();
- valueSource.init(
- random, VectorRandomRowSource.SupportedTypes.ALL, 4,
- /* allowNulls */ false, /* isUnicodeOk */ false);
+ valueSource.init(random, VectorRandomRowSource.SupportedTypes.ALL, 4, false);
int rowCount = 1000;
Object[][] rows = valueSource.randomRows(rowCount);
@@ -686,9 +647,7 @@ public class TestVectorMapJoinFastRowHashMap extends CommonFastHashTable {
VectorRandomRowSource valueSource = new VectorRandomRowSource();
- valueSource.init(
- random, VectorRandomRowSource.SupportedTypes.ALL, 4,
- /* allowNulls */ false, /* isUnicodeOk */ false);
+ valueSource.init(random, VectorRandomRowSource.SupportedTypes.ALL, 4, false);
int rowCount = 1000;
Object[][] rows = valueSource.randomRows(rowCount);
@@ -713,9 +672,7 @@ public class TestVectorMapJoinFastRowHashMap extends CommonFastHashTable {
VectorRandomRowSource valueSource = new VectorRandomRowSource();
- valueSource.init(
- random, VectorRandomRowSource.SupportedTypes.ALL, 4,
- /* allowNulls */ false, /* isUnicodeOk */ false);
+ valueSource.init(random, VectorRandomRowSource.SupportedTypes.ALL, 4, false);
int rowCount = 1000;
Object[][] rows = valueSource.randomRows(rowCount);
@@ -740,9 +697,7 @@ public class TestVectorMapJoinFastRowHashMap extends CommonFastHashTable {
VectorRandomRowSource valueSource = new VectorRandomRowSource();
- valueSource.init(
- random, VectorRandomRowSource.SupportedTypes.ALL, 4,
- /* allowNulls */ false, /* isUnicodeOk */ false);
+ valueSource.init(random, VectorRandomRowSource.SupportedTypes.ALL, 4, false);
int rowCount = 1000;
Object[][] rows = valueSource.randomRows(rowCount);
@@ -767,9 +722,7 @@ public class TestVectorMapJoinFastRowHashMap extends CommonFastHashTable {
VectorRandomRowSource valueSource = new VectorRandomRowSource();
- valueSource.init(
- random, VectorRandomRowSource.SupportedTypes.ALL, 4,
- /* allowNulls */ false, /* isUnicodeOk */ false);
+ valueSource.init(random, VectorRandomRowSource.SupportedTypes.ALL, 4, false);
int rowCount = 1000;
Object[][] rows = valueSource.randomRows(rowCount);
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query1.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query1.q b/ql/src/test/queries/clientpositive/perf/query1.q
index 0ba1e57..a8d7072 100644
--- a/ql/src/test/queries/clientpositive/perf/query1.q
+++ b/ql/src/test/queries/clientpositive/perf/query1.q
@@ -1,9 +1,6 @@
set hive.mapred.mode=nonstrict;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query1.tpl and seed 2031708268
-explain vectorization expression
+-- start query 1 in stream 0 using template query1.tpl and seed 2031708268
+explain
with customer_total_return as
(select sr_customer_sk as ctr_customer_sk
,sr_store_sk as ctr_store_sk
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query10.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query10.q b/ql/src/test/queries/clientpositive/perf/query10.q
index ebfd354..d3b1be7 100644
--- a/ql/src/test/queries/clientpositive/perf/query10.q
+++ b/ql/src/test/queries/clientpositive/perf/query10.q
@@ -1,9 +1,6 @@
set hive.mapred.mode=nonstrict;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query10.tpl and seed 797269820
-explain vectorization expression
+-- start query 1 in stream 0 using template query10.tpl and seed 797269820
+explain
select
cd_gender,
cd_marital_status,
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query11.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query11.q b/ql/src/test/queries/clientpositive/perf/query11.q
index 105d24e..6017c89 100644
--- a/ql/src/test/queries/clientpositive/perf/query11.q
+++ b/ql/src/test/queries/clientpositive/perf/query11.q
@@ -1,9 +1,6 @@
set hive.mapred.mode=nonstrict;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query11.tpl and seed 1819994127
-explain vectorization expression
+-- start query 1 in stream 0 using template query11.tpl and seed 1819994127
+explain
with year_total as (
select c_customer_id customer_id
,c_first_name customer_first_name
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query12.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query12.q b/ql/src/test/queries/clientpositive/perf/query12.q
index 5539e63..59b50ac 100644
--- a/ql/src/test/queries/clientpositive/perf/query12.q
+++ b/ql/src/test/queries/clientpositive/perf/query12.q
@@ -1,9 +1,6 @@
set hive.mapred.mode=nonstrict;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query12.tpl and seed 345591136
-explain vectorization expression
+-- start query 1 in stream 0 using template query12.tpl and seed 345591136
+explain
select i_item_desc
,i_category
,i_class
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query13.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query13.q b/ql/src/test/queries/clientpositive/perf/query13.q
index 8ddf88a..dca19b0 100644
--- a/ql/src/test/queries/clientpositive/perf/query13.q
+++ b/ql/src/test/queries/clientpositive/perf/query13.q
@@ -1,9 +1,6 @@
set hive.mapred.mode=nonstrict;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query13.tpl and seed 622697896
-explain vectorization expression
+-- start query 1 in stream 0 using template query13.tpl and seed 622697896
+explain
select avg(ss_quantity)
,avg(ss_ext_sales_price)
,avg(ss_ext_wholesale_cost)
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query14.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query14.q b/ql/src/test/queries/clientpositive/perf/query14.q
index 92fdcdc..c12ecb5 100644
--- a/ql/src/test/queries/clientpositive/perf/query14.q
+++ b/ql/src/test/queries/clientpositive/perf/query14.q
@@ -1,9 +1,6 @@
set hive.mapred.mode=nonstrict;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query14.tpl and seed 1819994127
-explain vectorization expression
+-- start query 1 in stream 0 using template query14.tpl and seed 1819994127
+explain
with cross_items as
(select i_item_sk ss_item_sk
from item,
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query15.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query15.q b/ql/src/test/queries/clientpositive/perf/query15.q
index 2b666c0..9e1711a 100644
--- a/ql/src/test/queries/clientpositive/perf/query15.q
+++ b/ql/src/test/queries/clientpositive/perf/query15.q
@@ -1,9 +1,6 @@
set hive.mapred.mode=nonstrict;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query15.tpl and seed 1819994127
-explain vectorization expression
+-- start query 1 in stream 0 using template query15.tpl and seed 1819994127
+explain
select ca_zip
,sum(cs_sales_price)
from catalog_sales
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query16.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query16.q b/ql/src/test/queries/clientpositive/perf/query16.q
index 9f47662..05625f7 100644
--- a/ql/src/test/queries/clientpositive/perf/query16.q
+++ b/ql/src/test/queries/clientpositive/perf/query16.q
@@ -1,9 +1,6 @@
set hive.mapred.mode=nonstrict;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query16.tpl and seed 171719422
-explain vectorization expression
+-- start query 1 in stream 0 using template query16.tpl and seed 171719422
+explain
select
count(distinct cs_order_number) as `order count`
,sum(cs_ext_ship_cost) as `total shipping cost`
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query17.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query17.q b/ql/src/test/queries/clientpositive/perf/query17.q
index 308ee2a..0cd4201 100644
--- a/ql/src/test/queries/clientpositive/perf/query17.q
+++ b/ql/src/test/queries/clientpositive/perf/query17.q
@@ -1,9 +1,6 @@
set hive.mapred.mode=nonstrict;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query17.tpl and seed 1819994127
-explain vectorization expression
+-- start query 1 in stream 0 using template query17.tpl and seed 1819994127
+explain
select i_item_id
,i_item_desc
,s_state
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query18.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query18.q b/ql/src/test/queries/clientpositive/perf/query18.q
index 5093196..bf1ff59 100644
--- a/ql/src/test/queries/clientpositive/perf/query18.q
+++ b/ql/src/test/queries/clientpositive/perf/query18.q
@@ -1,9 +1,6 @@
set hive.mapred.mode=nonstrict;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query18.tpl and seed 1978355063
-explain vectorization expression
+-- start query 1 in stream 0 using template query18.tpl and seed 1978355063
+explain
select i_item_id,
ca_country,
ca_state,
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query19.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query19.q b/ql/src/test/queries/clientpositive/perf/query19.q
index 4368d47..5768e4b 100644
--- a/ql/src/test/queries/clientpositive/perf/query19.q
+++ b/ql/src/test/queries/clientpositive/perf/query19.q
@@ -1,9 +1,6 @@
set hive.mapred.mode=nonstrict;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query19.tpl and seed 1930872976
-explain vectorization expression
+-- start query 1 in stream 0 using template query19.tpl and seed 1930872976
+explain
select i_brand_id brand_id, i_brand brand, i_manufact_id, i_manufact,
sum(ss_ext_sales_price) ext_price
from date_dim, store_sales, item,customer,customer_address,store
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query2.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query2.q b/ql/src/test/queries/clientpositive/perf/query2.q
index c1e447e..26a52ef 100644
--- a/ql/src/test/queries/clientpositive/perf/query2.q
+++ b/ql/src/test/queries/clientpositive/perf/query2.q
@@ -1,9 +1,6 @@
set hive.mapred.mode=nonstrict;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query2.tpl and seed 1819994127
-explain vectorization expression
+-- start query 1 in stream 0 using template query2.tpl and seed 1819994127
+explain
with wscs as
(select sold_date_sk
,sales_price
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query20.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query20.q b/ql/src/test/queries/clientpositive/perf/query20.q
index f0382f5..c5f8848 100644
--- a/ql/src/test/queries/clientpositive/perf/query20.q
+++ b/ql/src/test/queries/clientpositive/perf/query20.q
@@ -1,9 +1,6 @@
set hive.mapred.mode=nonstrict;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query20.tpl and seed 345591136
-explain vectorization expression
+-- start query 1 in stream 0 using template query20.tpl and seed 345591136
+explain
select i_item_desc
,i_category
,i_class
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query21.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query21.q b/ql/src/test/queries/clientpositive/perf/query21.q
index 1b9b86c..34b458b 100644
--- a/ql/src/test/queries/clientpositive/perf/query21.q
+++ b/ql/src/test/queries/clientpositive/perf/query21.q
@@ -1,9 +1,6 @@
set hive.mapred.mode=nonstrict;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query21.tpl and seed 1819994127
-explain vectorization expression
+-- start query 1 in stream 0 using template query21.tpl and seed 1819994127
+explain
select *
from(select w_warehouse_name
,i_item_id
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query22.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query22.q b/ql/src/test/queries/clientpositive/perf/query22.q
index 0003f42..7049173 100644
--- a/ql/src/test/queries/clientpositive/perf/query22.q
+++ b/ql/src/test/queries/clientpositive/perf/query22.q
@@ -1,9 +1,6 @@
set hive.mapred.mode=nonstrict;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query22.tpl and seed 1819994127
-explain vectorization expression
+-- start query 1 in stream 0 using template query22.tpl and seed 1819994127
+explain
select i_product_name
,i_brand
,i_class
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query23.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query23.q b/ql/src/test/queries/clientpositive/perf/query23.q
index b0a7eae..1e02655 100644
--- a/ql/src/test/queries/clientpositive/perf/query23.q
+++ b/ql/src/test/queries/clientpositive/perf/query23.q
@@ -1,9 +1,6 @@
set hive.mapred.mode=nonstrict;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query23.tpl and seed 2031708268
-explain vectorization expression
+-- start query 1 in stream 0 using template query23.tpl and seed 2031708268
+explain
with frequent_ss_items as
(select substr(i_item_desc,1,30) itemdesc,i_item_sk item_sk,d_date solddate,count(*) cnt
from store_sales
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query24.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query24.q b/ql/src/test/queries/clientpositive/perf/query24.q
index 4f793c7..007d7ee 100644
--- a/ql/src/test/queries/clientpositive/perf/query24.q
+++ b/ql/src/test/queries/clientpositive/perf/query24.q
@@ -1,9 +1,6 @@
set hive.mapred.mode=nonstrict;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query24.tpl and seed 1220860970
-explain vectorization expression
+-- start query 1 in stream 0 using template query24.tpl and seed 1220860970
+explain
with ssales as
(select c_last_name
,c_first_name
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query25.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query25.q b/ql/src/test/queries/clientpositive/perf/query25.q
index 829e843..358cdc5 100644
--- a/ql/src/test/queries/clientpositive/perf/query25.q
+++ b/ql/src/test/queries/clientpositive/perf/query25.q
@@ -1,9 +1,6 @@
set hive.mapred.mode=nonstrict;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query25.tpl and seed 1819994127
-explain vectorization expression
+-- start query 1 in stream 0 using template query25.tpl and seed 1819994127
+explain
select
i_item_id
,i_item_desc
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query26.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query26.q b/ql/src/test/queries/clientpositive/perf/query26.q
index ff27375..b35d98c 100644
--- a/ql/src/test/queries/clientpositive/perf/query26.q
+++ b/ql/src/test/queries/clientpositive/perf/query26.q
@@ -1,9 +1,6 @@
set hive.mapred.mode=nonstrict;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query26.tpl and seed 1930872976
-explain vectorization expression
+-- start query 1 in stream 0 using template query26.tpl and seed 1930872976
+explain
select i_item_id,
avg(cs_quantity) agg1,
avg(cs_list_price) agg2,
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query27.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query27.q b/ql/src/test/queries/clientpositive/perf/query27.q
index bf83f8c..ec09e1d 100644
--- a/ql/src/test/queries/clientpositive/perf/query27.q
+++ b/ql/src/test/queries/clientpositive/perf/query27.q
@@ -1,9 +1,6 @@
set hive.mapred.mode=nonstrict;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query27.tpl and seed 2017787633
-explain vectorization expression
+-- start query 1 in stream 0 using template query27.tpl and seed 2017787633
+explain
select i_item_id,
s_state, grouping(s_state) g_state,
avg(ss_quantity) agg1,
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query28.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query28.q b/ql/src/test/queries/clientpositive/perf/query28.q
index 5fd9e7e..fc3c1b2d 100644
--- a/ql/src/test/queries/clientpositive/perf/query28.q
+++ b/ql/src/test/queries/clientpositive/perf/query28.q
@@ -1,11 +1,8 @@
set hive.mapred.mode=nonstrict;
set hive.optimize.metadataonly=true;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query28.tpl and seed 444293455
-explain vectorization expression
+-- start query 1 in stream 0 using template query28.tpl and seed 444293455
+explain
select *
from (select avg(ss_list_price) B1_LP
,count(ss_list_price) B1_CNT
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query29.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query29.q b/ql/src/test/queries/clientpositive/perf/query29.q
index 80f4a80..8bf4d51 100644
--- a/ql/src/test/queries/clientpositive/perf/query29.q
+++ b/ql/src/test/queries/clientpositive/perf/query29.q
@@ -1,9 +1,6 @@
set hive.mapred.mode=nonstrict;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query29.tpl and seed 2031708268
-explain vectorization expression
+-- start query 1 in stream 0 using template query29.tpl and seed 2031708268
+explain
select
i_item_id
,i_item_desc
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query3.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query3.q b/ql/src/test/queries/clientpositive/perf/query3.q
index 76c8700..a70a62f 100644
--- a/ql/src/test/queries/clientpositive/perf/query3.q
+++ b/ql/src/test/queries/clientpositive/perf/query3.q
@@ -1,9 +1,6 @@
set hive.mapred.mode=nonstrict;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query3.tpl and seed 2031708268
-explain vectorization expression
+-- start query 1 in stream 0 using template query3.tpl and seed 2031708268
+explain
select dt.d_year
,item.i_brand_id brand_id
,item.i_brand brand
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query30.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query30.q b/ql/src/test/queries/clientpositive/perf/query30.q
index 0682fc3..47f0d93 100644
--- a/ql/src/test/queries/clientpositive/perf/query30.q
+++ b/ql/src/test/queries/clientpositive/perf/query30.q
@@ -1,9 +1,6 @@
set hive.mapred.mode=nonstrict;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query30.tpl and seed 1819994127
-explain vectorization expression
+-- start query 1 in stream 0 using template query30.tpl and seed 1819994127
+explain
with customer_total_return as
(select wr_returning_customer_sk as ctr_customer_sk
,ca_state as ctr_state,
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query31.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query31.q b/ql/src/test/queries/clientpositive/perf/query31.q
index b0f78b5..42c3ca6 100644
--- a/ql/src/test/queries/clientpositive/perf/query31.q
+++ b/ql/src/test/queries/clientpositive/perf/query31.q
@@ -1,9 +1,6 @@
set hive.mapred.mode=nonstrict;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query31.tpl and seed 1819994127
-explain vectorization expression
+-- start query 1 in stream 0 using template query31.tpl and seed 1819994127
+explain
with ss as
(select ca_county,d_qoy, d_year,sum(ss_ext_sales_price) as store_sales
from store_sales,date_dim,customer_address
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query32.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query32.q b/ql/src/test/queries/clientpositive/perf/query32.q
index 170daff..ed43b4d 100644
--- a/ql/src/test/queries/clientpositive/perf/query32.q
+++ b/ql/src/test/queries/clientpositive/perf/query32.q
@@ -1,9 +1,6 @@
set hive.mapred.mode=nonstrict;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query32.tpl and seed 2031708268
-explain vectorization expression
+-- start query 1 in stream 0 using template query32.tpl and seed 2031708268
+explain
select sum(cs_ext_discount_amt) as `excess discount amount`
from
catalog_sales
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query33.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query33.q b/ql/src/test/queries/clientpositive/perf/query33.q
index abdf3a7..1dfa9be 100644
--- a/ql/src/test/queries/clientpositive/perf/query33.q
+++ b/ql/src/test/queries/clientpositive/perf/query33.q
@@ -1,9 +1,6 @@
set hive.mapred.mode=nonstrict;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query33.tpl and seed 1930872976
-explain vectorization expression
+-- start query 1 in stream 0 using template query33.tpl and seed 1930872976
+explain
with ss as (
select
i_manufact_id,sum(ss_ext_sales_price) total_sales
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query34.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query34.q b/ql/src/test/queries/clientpositive/perf/query34.q
index fdd6f14..427eed6 100644
--- a/ql/src/test/queries/clientpositive/perf/query34.q
+++ b/ql/src/test/queries/clientpositive/perf/query34.q
@@ -1,9 +1,6 @@
set hive.mapred.mode=nonstrict;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query34.tpl and seed 1971067816
-explain vectorization expression
+-- start query 1 in stream 0 using template query34.tpl and seed 1971067816
+explain
select c_last_name
,c_first_name
,c_salutation
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query35.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query35.q b/ql/src/test/queries/clientpositive/perf/query35.q
index a158721..19951ac 100644
--- a/ql/src/test/queries/clientpositive/perf/query35.q
+++ b/ql/src/test/queries/clientpositive/perf/query35.q
@@ -1,9 +1,6 @@
set hive.mapred.mode=nonstrict;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query35.tpl and seed 1930872976
-explain vectorization expression
+-- start query 1 in stream 0 using template query35.tpl and seed 1930872976
+explain
select
ca_state,
cd_gender,
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query36.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query36.q b/ql/src/test/queries/clientpositive/perf/query36.q
index 11c6d1a..789f932 100644
--- a/ql/src/test/queries/clientpositive/perf/query36.q
+++ b/ql/src/test/queries/clientpositive/perf/query36.q
@@ -1,9 +1,6 @@
set hive.mapred.mode=nonstrict;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query36.tpl and seed 1544728811
-explain vectorization expression
+-- start query 1 in stream 0 using template query36.tpl and seed 1544728811
+explain
select
sum(ss_net_profit)/sum(ss_ext_sales_price) as gross_margin
,i_category
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query37.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query37.q b/ql/src/test/queries/clientpositive/perf/query37.q
index cd09d32..811eab0 100644
--- a/ql/src/test/queries/clientpositive/perf/query37.q
+++ b/ql/src/test/queries/clientpositive/perf/query37.q
@@ -1,9 +1,6 @@
set hive.mapred.mode=nonstrict;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query37.tpl and seed 301843662
-explain vectorization expression
+-- start query 1 in stream 0 using template query37.tpl and seed 301843662
+explain
select i_item_id
,i_item_desc
,i_current_price
http://git-wip-us.apache.org/repos/asf/hive/blob/142367d9/ql/src/test/queries/clientpositive/perf/query38.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/perf/query38.q b/ql/src/test/queries/clientpositive/perf/query38.q
index 961dd63..8eade8a 100644
--- a/ql/src/test/queries/clientpositive/perf/query38.q
+++ b/ql/src/test/queries/clientpositive/perf/query38.q
@@ -1,9 +1,6 @@
set hive.mapred.mode=nonstrict;
-set hive.explain.user=false;
-set hive.auto.convert.join=true;
-set hive.fetch.task.conversion=none;
--- start query 1 in stream 0 using template query38.tpl and seed 1819994127
-explain vectorization expression
+-- start query 1 in stream 0 using template query38.tpl and seed 1819994127
+explain
select count(*) from (
select distinct c_last_name, c_first_name, d_date
from store_sales, date_dim, customer