diff --git accumulo-handler/src/test/results/positive/accumulo_predicate_pushdown.q.out accumulo-handler/src/test/results/positive/accumulo_predicate_pushdown.q.out
index fb8fca9324..63368c292f 100644
--- accumulo-handler/src/test/results/positive/accumulo_predicate_pushdown.q.out
+++ accumulo-handler/src/test/results/positive/accumulo_predicate_pushdown.q.out
@@ -414,10 +414,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: accumulo_pushdown
- filterExpr: (not COALESCE((key < '90'),false)) (type: boolean)
+ filterExpr: (key < '90') is not true (type: boolean)
Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (not COALESCE((key < '90'),false)) (type: boolean)
+ predicate: (key < '90') is not true (type: boolean)
Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), value (type: string)
diff --git accumulo-handler/src/test/results/positive/accumulo_queries.q.out accumulo-handler/src/test/results/positive/accumulo_queries.q.out
index 80a7dc9717..c5379c7348 100644
--- accumulo-handler/src/test/results/positive/accumulo_queries.q.out
+++ accumulo-handler/src/test/results/positive/accumulo_queries.q.out
@@ -147,7 +147,7 @@ STAGE PLANS:
alias: accumulo_table_1
Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: int)
@@ -162,7 +162,7 @@ STAGE PLANS:
alias: src
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
@@ -551,7 +551,7 @@ STAGE PLANS:
alias: src
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: count(key)
@@ -592,7 +592,7 @@ STAGE PLANS:
alias: accumulo_table_1
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string), UDFToDouble(key) (type: double)
diff --git hbase-handler/src/test/results/positive/hbase_ppd_key_range.q.out hbase-handler/src/test/results/positive/hbase_ppd_key_range.q.out
index b80738b263..5ab5bb3841 100644
--- hbase-handler/src/test/results/positive/hbase_ppd_key_range.q.out
+++ hbase-handler/src/test/results/positive/hbase_ppd_key_range.q.out
@@ -416,7 +416,7 @@ STAGE PLANS:
alias: hbase_pushdown
Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (not COALESCE((key < '90'),false)) (type: boolean)
+ predicate: (key < '90') is not true (type: boolean)
Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), value (type: string)
diff --git hbase-handler/src/test/results/positive/hbase_pushdown.q.out hbase-handler/src/test/results/positive/hbase_pushdown.q.out
index f37460c6d3..d3cdd9e4f7 100644
--- hbase-handler/src/test/results/positive/hbase_pushdown.q.out
+++ hbase-handler/src/test/results/positive/hbase_pushdown.q.out
@@ -305,7 +305,7 @@ STAGE PLANS:
alias: hbase_pushdown
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (not COALESCE((key = 90),false)) (type: boolean)
+ predicate: (key = 90) is not true (type: boolean)
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string)
diff --git hbase-handler/src/test/results/positive/hbase_queries.q.out hbase-handler/src/test/results/positive/hbase_queries.q.out
index cfcfaf3274..adf8864363 100644
--- hbase-handler/src/test/results/positive/hbase_queries.q.out
+++ hbase-handler/src/test/results/positive/hbase_queries.q.out
@@ -146,7 +146,7 @@ STAGE PLANS:
alias: hbase_table_1
Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: int)
@@ -159,10 +159,10 @@ STAGE PLANS:
Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
TableScan
alias: src
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
@@ -549,10 +549,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: count(key)
@@ -593,7 +593,7 @@ STAGE PLANS:
alias: hbase_table_1
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string), UDFToDouble(key) (type: double)
diff --git pom.xml pom.xml
index 7b45d84de8..4b1d060dea 100644
--- pom.xml
+++ pom.xml
@@ -127,7 +127,7 @@
1.12.0
1.8.2
0.8.0.RELEASE
- 1.17.0
+ 1.19.0
4.2.4
4.1.17
4.1.19
@@ -224,6 +224,16 @@
+
+ central
+ central
+ https://repo.maven.apache.org/maven2
+ default
+
+ true
+ warn
+
+
datanucleus
datanucleus maven repository
diff --git ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveRelBuilder.java ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveRelBuilder.java
index e85a99e846..4794883223 100644
--- ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveRelBuilder.java
+++ ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveRelBuilder.java
@@ -41,9 +41,6 @@
import org.apache.hadoop.hive.ql.optimizer.calcite.functions.HiveSqlSumEmptyIsZeroAggFunction;
import org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveFloorDate;
-import java.util.HashMap;
-import java.util.Map;
-
/**
* Builder for relational expressions in Hive.
@@ -66,6 +63,7 @@ public static RelBuilder create(FrameworkConfig config) {
final RelOptSchema[] relOptSchemas = {null};
Frameworks.withPrepare(
new Frameworks.PrepareAction(config) {
+ @Override
public Void apply(RelOptCluster cluster, RelOptSchema relOptSchema,
SchemaPlus rootSchema, CalciteServerStatement statement) {
clusters[0] = cluster;
@@ -80,6 +78,7 @@ public Void apply(RelOptCluster cluster, RelOptSchema relOptSchema,
* Just add a {@link RelOptCluster} and a {@link RelOptSchema} */
public static RelBuilderFactory proto(final Context context) {
return new RelBuilderFactory() {
+ @Override
public RelBuilder create(RelOptCluster cluster, RelOptSchema schema) {
return new HiveRelBuilder(context, cluster, schema);
}
@@ -153,4 +152,12 @@ public static SqlAggFunction getRollup(SqlAggFunction aggregation) {
return null;
}
+ @Override
+ protected boolean shouldMergeProject() {
+ /* CALCITE-2470 added ability to merge Project-s together.
+ * The problem with it is that it may merge 2 windowing expressions.
+ */
+ return false;
+ }
+
}
diff --git ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveRelDecorrelator.java ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveRelDecorrelator.java
index 238ae4ef4e..dd5eb41d3f 100644
--- ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveRelDecorrelator.java
+++ ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveRelDecorrelator.java
@@ -275,6 +275,7 @@ private RelNode decorrelate(RelNode root) {
private Function2 createCopyHook() {
return new Function2() {
+ @Override
public Void apply(RelNode oldNode, RelNode newNode) {
if (cm.mapRefRelToCorRef.containsKey(oldNode)) {
final CorelMap corelMap = new CorelMapBuilder().build(newNode);
@@ -1193,7 +1194,7 @@ private boolean references(RexNode e, CorRef correlation) {
final RexFieldAccess f = (RexFieldAccess) e;
if (f.getField().getIndex() == correlation.field
&& f.getReferenceExpr() instanceof RexCorrelVariable) {
- if (((RexCorrelVariable) f.getReferenceExpr()).id == correlation.corr) {
+ if (((RexCorrelVariable) f.getReferenceExpr()).id.equals(correlation.corr)) {
return true;
}
}
@@ -2193,6 +2194,7 @@ private RexNode createCaseExpression(
operand(Aggregate.class, any()))));
}
+ @Override
public void onMatch(RelOptRuleCall call) {
Aggregate singleAggregate = call.rel(0);
Project project = call.rel(1);
@@ -2242,6 +2244,7 @@ public void onMatch(RelOptRuleCall call) {
operand(RelNode.class, any())))));
}
+ @Override
public void onMatch(RelOptRuleCall call) {
final LogicalCorrelate correlate = call.rel(0);
final RelNode left = call.rel(1);
@@ -2444,6 +2447,7 @@ public void onMatch(RelOptRuleCall call) {
operand(RelNode.class, any()))))));
}
+ @Override
public void onMatch(RelOptRuleCall call) {
final LogicalCorrelate correlate = call.rel(0);
final RelNode left = call.rel(1);
@@ -2825,6 +2829,7 @@ public void onMatch(RelOptRuleCall call) {
this.flavor = flavor;
}
+ @Override
public void onMatch(RelOptRuleCall call) {
final LogicalCorrelate correlate = call.rel(0);
final RelNode left = call.rel(1);
@@ -2975,6 +2980,7 @@ private void onMatch2(
&& field == ((CorRef) o).field;
}
+ @Override
public int compareTo(@Nonnull CorRef o) {
int c = corr.compareTo(o.corr);
if (c != 0) {
@@ -3025,6 +3031,7 @@ public CorDef def() {
&& field == ((CorDef) o).field;
}
+ @Override
public int compareTo(@Nonnull CorDef o) {
int c = corr.compareTo(o.corr);
if (c != 0) {
@@ -3158,7 +3165,7 @@ public RelNode visit(HiveIntersect rel) {
return rel;
}
@Override public RelNode visit(HiveProject rel) {
- if(!(hasRexOver(((HiveProject)rel).getProjects()))) {
+ if(!(hasRexOver(rel.getProjects()))) {
mightRequireValueGen = false;
return super.visit(rel);
} else {
@@ -3199,6 +3206,7 @@ public boolean traverse(RelNode root) {
Multimaps.newSortedSetMultimap(
new HashMap>(),
new Supplier>() {
+ @Override
public TreeSet get() {
Bug.upgrade("use MultimapBuilder when we're on Guava-16");
return Sets.newTreeSet();
@@ -3219,6 +3227,7 @@ CorelMap build(RelNode rel) {
mapFieldAccessToCorVar);
}
+ @Override
public RelNode visit(HiveJoin join) {
try {
Stacks.push(stack, join);
@@ -3248,6 +3257,7 @@ private RelNode visitJoin(BiRel join) {
return join;
}
+ @Override
public RelNode visit(final HiveProject project) {
try {
Stacks.push(stack, project);
@@ -3260,6 +3270,7 @@ public RelNode visit(final HiveProject project) {
return super.visit(project);
}
+ @Override
public RelNode visit(final HiveFilter filter) {
try {
Stacks.push(stack, filter);
diff --git ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveSubQueryRemoveRule.java ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveSubQueryRemoveRule.java
index 50ed8eda89..ea19302998 100644
--- ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveSubQueryRemoveRule.java
+++ ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveSubQueryRemoveRule.java
@@ -83,6 +83,7 @@ public HiveSubQueryRemoveRule(HiveConf conf) {
HiveRelFactories.HIVE_BUILDER, "SubQueryRemoveRule:Filter");
this.conf = conf;
}
+ @Override
public void onMatch(RelOptRuleCall call) {
final RelNode relNode = call.rel(0);
final HiveSubQRemoveRelBuilder builder =
@@ -113,7 +114,8 @@ public void onMatch(RelOptRuleCall call) {
final RexShuttle shuttle = new ReplaceSubQueryShuttle(e, target);
builder.filter(shuttle.apply(filter.getCondition()));
builder.project(fields(builder, filter.getRowType().getFieldCount()));
- call.transformTo(builder.build());
+ RelNode newRel = builder.build();
+ call.transformTo(newRel);
} else if(relNode instanceof Project) {
// if subquery is in PROJECT
final Project project = call.rel(0);
@@ -507,6 +509,7 @@ private RexInputRef field(HiveSubQRemoveRelBuilder builder, int inputCount, int
/** Returns whether a {@link Project} contains a sub-query. */
public static final Predicate RELNODE_PREDICATE=
new Predicate() {
+ @Override
public boolean apply(RelNode relNode) {
if (relNode instanceof Project) {
Project project = (Project)relNode;
diff --git ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/ASTBuilder.java ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/ASTBuilder.java
index 74f8c33ab7..c4c771e490 100644
--- ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/ASTBuilder.java
+++ ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/ASTBuilder.java
@@ -33,7 +33,6 @@
import org.apache.hadoop.hive.conf.Constants;
import org.apache.hadoop.hive.ql.optimizer.calcite.RelOptHiveTable;
import org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveTableScan;
-import org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.jdbc.JdbcHiveTableScan;
import org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.jdbc.HiveJdbcConverter;
import org.apache.hadoop.hive.ql.parse.ASTNode;
import org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer;
@@ -223,10 +222,6 @@ public static ASTNode selectExpr(ASTNode expr, String alias) {
}
public static ASTNode literal(RexLiteral literal) {
- return literal(literal, false);
- }
-
- public static ASTNode literal(RexLiteral literal, boolean useTypeQualInLiteral) {
Object val = null;
int type = 0;
SqlTypeName sqlType = literal.getType().getSqlTypeName();
@@ -272,30 +267,28 @@ public static ASTNode literal(RexLiteral literal, boolean useTypeQualInLiteral)
switch (sqlType) {
case TINYINT:
- if (useTypeQualInLiteral) {
- val = literal.getValue3() + "Y";
- } else {
- val = literal.getValue3();
- }
- type = HiveParser.IntegralLiteral;
- break;
case SMALLINT:
- if (useTypeQualInLiteral) {
- val = literal.getValue3() + "S";
- } else {
- val = literal.getValue3();
- }
- type = HiveParser.IntegralLiteral;
- break;
case INTEGER:
- val = literal.getValue3();
- type = HiveParser.IntegralLiteral;
- break;
case BIGINT:
- if (useTypeQualInLiteral) {
- val = literal.getValue3() + "L";
- } else {
- val = literal.getValue3();
+ val = literal.getValue3();
+ // Calcite considers all numeric literals as bigdecimal values
+ // Hive makes a distinction between them most importantly IntegralLiteral
+ if (val instanceof BigDecimal) {
+ val = ((BigDecimal) val).longValue();
+ }
+ switch (sqlType) {
+ case TINYINT:
+ val += "Y";
+ break;
+ case SMALLINT:
+ val += "S";
+ break;
+ case INTEGER:
+ val += "";
+ break;
+ case BIGINT:
+ val += "L";
+ break;
}
type = HiveParser.IntegralLiteral;
break;
@@ -309,7 +302,7 @@ public static ASTNode literal(RexLiteral literal, boolean useTypeQualInLiteral)
break;
case FLOAT:
case REAL:
- val = literal.getValue3();
+ val = literal.getValue3() + "F";
type = HiveParser.Number;
break;
case VARCHAR:
diff --git ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/ASTConverter.java ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/ASTConverter.java
index e783d1c833..a93d21ac2a 100644
--- ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/ASTConverter.java
+++ ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/ASTConverter.java
@@ -298,8 +298,9 @@ private void convertOrderLimitToASTNode(HiveSortLimit order) {
// 3 Convert OB expr (OB Expr is usually an input ref except for top
// level OB; top level OB will have RexCall kept in a map.)
obExpr = null;
- if (obRefToCallMap != null)
+ if (obRefToCallMap != null) {
obExpr = obRefToCallMap.get(c.getFieldIndex());
+ }
if (obExpr != null) {
astCol = obExpr.accept(new RexVisitor(schema, false, order.getCluster().getRexBuilder()));
@@ -466,7 +467,6 @@ public void visit(RelNode node, int ordinal, RelNode parent) {
static class RexVisitor extends RexVisitorImpl {
private final Schema schema;
- private final boolean useTypeQualInLiteral;
private final RexBuilder rexBuilder;
// this is to keep track of null literal which already has been visited
private Map nullLiteralMap ;
@@ -483,7 +483,6 @@ protected RexVisitor(Schema schema) {
protected RexVisitor(Schema schema, boolean useTypeQualInLiteral, RexBuilder rexBuilder) {
super(true);
this.schema = schema;
- this.useTypeQualInLiteral = useTypeQualInLiteral;
this.rexBuilder = rexBuilder;
this.nullLiteralMap =
@@ -493,8 +492,11 @@ protected RexVisitor(Schema schema, boolean useTypeQualInLiteral, RexBuilder rex
// of value/type
@Override
public int compare(RexLiteral o1, RexLiteral o2) {
- if(o1 == o2) return 0;
- else return 1;
+ if(o1 == o2) {
+ return 0;
+ } else {
+ return 1;
+ }
}
});
}
@@ -512,10 +514,11 @@ public ASTNode visitInputRef(RexInputRef inputRef) {
return (ASTNode) ParseDriver.adaptor.dupTree(cI.agg);
}
- if (cI.table == null || cI.table.isEmpty())
+ if (cI.table == null || cI.table.isEmpty()) {
return ASTBuilder.unqualifiedName(cI.column);
- else
+ } else {
return ASTBuilder.qualifiedName(cI.table, cI.column);
+ }
}
@@ -527,14 +530,14 @@ public ASTNode visitLiteral(RexLiteral literal) {
// It is NULL value with different type, we need to introduce a CAST
// to keep it
if(nullLiteralMap.containsKey(literal)) {
- return ASTBuilder.literal(literal, useTypeQualInLiteral);
+ return ASTBuilder.literal(literal);
}
nullLiteralMap.put(literal, true);
RexNode r = rexBuilder.makeAbstractCast(literal.getType(), literal);
return r.accept(this);
}
- return ASTBuilder.literal(literal, useTypeQualInLiteral);
+ return ASTBuilder.literal(literal);
}
private ASTNode getPSpecAST(RexWindow window) {
@@ -575,7 +578,7 @@ private ASTNode getPSpecAST(RexWindow window) {
}
}
ASTNode astCol = ok.left.accept(this);
-
+
nullDirectionAST.addChild(astCol);
oByAst.addChild(directionAST);
}
@@ -583,10 +586,12 @@ private ASTNode getPSpecAST(RexWindow window) {
if (dByAst != null || oByAst != null) {
pSpecAst = ASTBuilder.createAST(HiveParser.TOK_PARTITIONINGSPEC, "TOK_PARTITIONINGSPEC");
- if (dByAst != null)
+ if (dByAst != null) {
pSpecAst.addChild(dByAst);
- if (oByAst != null)
+ }
+ if (oByAst != null) {
pSpecAst.addChild(oByAst);
+ }
}
return pSpecAst;
@@ -598,10 +603,11 @@ private ASTNode getWindowBound(RexWindowBound wb) {
if (wb.isCurrentRow()) {
wbAST = ASTBuilder.createAST(HiveParser.KW_CURRENT, "CURRENT");
} else {
- if (wb.isPreceding())
+ if (wb.isPreceding()) {
wbAST = ASTBuilder.createAST(HiveParser.KW_PRECEDING, "PRECEDING");
- else
+ } else {
wbAST = ASTBuilder.createAST(HiveParser.KW_FOLLOWING, "FOLLOWING");
+ }
if (wb.isUnbounded()) {
wbAST.addChild(ASTBuilder.createAST(HiveParser.KW_UNBOUNDED, "UNBOUNDED"));
} else {
@@ -630,14 +636,17 @@ private ASTNode getWindowRangeAST(RexWindow window) {
if (startAST != null || endAST != null) {
// NOTE: in Hive AST Rows->Range(Physical) & Range -> Values (logical)
- if (window.isRows())
+ if (window.isRows()) {
wRangeAst = ASTBuilder.createAST(HiveParser.TOK_WINDOWRANGE, "TOK_WINDOWRANGE");
- else
+ } else {
wRangeAst = ASTBuilder.createAST(HiveParser.TOK_WINDOWVALUES, "TOK_WINDOWVALUES");
- if (startAST != null)
+ }
+ if (startAST != null) {
wRangeAst.addChild(startAST);
- if (endAST != null)
+ }
+ if (endAST != null) {
wRangeAst.addChild(endAST);
+ }
}
return wRangeAst;
@@ -660,10 +669,12 @@ public ASTNode visitOver(RexOver over) {
final RexWindow window = over.getWindow();
final ASTNode wPSpecAst = getPSpecAST(window);
final ASTNode wRangeAst = getWindowRangeAST(window);
- if (wPSpecAst != null)
+ if (wPSpecAst != null) {
wSpec.addChild(wPSpecAst);
- if (wRangeAst != null)
+ }
+ if (wRangeAst != null) {
wSpec.addChild(wRangeAst);
+ }
return wUDAFAst;
}
diff --git ql/src/java/org/apache/hadoop/hive/ql/optimizer/ppr/PartitionPruner.java ql/src/java/org/apache/hadoop/hive/ql/optimizer/ppr/PartitionPruner.java
index 7645564f3d..aeb30e827f 100644
--- ql/src/java/org/apache/hadoop/hive/ql/optimizer/ppr/PartitionPruner.java
+++ ql/src/java/org/apache/hadoop/hive/ql/optimizer/ppr/PartitionPruner.java
@@ -280,12 +280,16 @@ static ExprNodeDesc compactExpr(ExprNodeDesc expr) {
return null;
}
if (expr instanceof ExprNodeConstantDesc) {
- if (((ExprNodeConstantDesc)expr).getValue() == null) return null;
+ if (((ExprNodeConstantDesc)expr).getValue() == null) {
+ return null;
+ }
if (!isBooleanExpr(expr)) {
throw new IllegalStateException("Unexpected non-boolean ExprNodeConstantDesc: "
+ expr.getExprString());
}
return expr;
+ } else if (expr instanceof ExprNodeColumnDesc) {
+ return expr;
} else if (expr instanceof ExprNodeGenericFuncDesc) {
GenericUDF udf = ((ExprNodeGenericFuncDesc)expr).getGenericUDF();
boolean isAnd = udf instanceof GenericUDFOPAnd;
@@ -310,7 +314,7 @@ static ExprNodeDesc compactExpr(ExprNodeDesc expr) {
allTrue = false;
}
}
-
+
if (allTrue) {
return new ExprNodeConstantDesc(Boolean.TRUE);
}
@@ -401,7 +405,7 @@ else if (expr instanceof ExprNodeGenericFuncDesc) {
Preconditions.checkArgument(expr.getTypeInfo().accept(TypeInfoFactory.booleanTypeInfo));
other = new ExprNodeConstantDesc(expr.getTypeInfo(), true);
} else {
- // Functions like NVL, COALESCE, CASE can change a
+ // Functions like NVL, COALESCE, CASE can change a
// NULL introduced by a nonpart column removal into a non-null
// and cause overaggressive prunning, missing data (incorrect result)
return new ExprNodeConstantDesc(expr.getTypeInfo(), null);
diff --git ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java
index 98e94e27e9..38afaf425c 100644
--- ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java
+++ ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java
@@ -907,21 +907,28 @@ private static String canHandleQbForCbo(QueryProperties queryProperties, HiveCon
// Not ok to run CBO, build error message.
String msg = "";
if (verbose) {
- if (queryProperties.hasClusterBy())
+ if (queryProperties.hasClusterBy()) {
msg += "has cluster by; ";
- if (queryProperties.hasDistributeBy())
+ }
+ if (queryProperties.hasDistributeBy()) {
msg += "has distribute by; ";
- if (queryProperties.hasSortBy())
+ }
+ if (queryProperties.hasSortBy()) {
msg += "has sort by; ";
- if (queryProperties.hasPTF())
+ }
+ if (queryProperties.hasPTF()) {
msg += "has PTF; ";
- if (queryProperties.usesScript())
+ }
+ if (queryProperties.usesScript()) {
msg += "uses scripts; ";
- if (queryProperties.hasLateralViews())
+ }
+ if (queryProperties.hasLateralViews()) {
msg += "has lateral views; ";
+ }
- if (msg.isEmpty())
+ if (msg.isEmpty()) {
msg += "has some unspecified limitations; ";
+ }
}
return msg;
}
@@ -1234,7 +1241,9 @@ String fixCtasColumnName(String colName) {
if (runCBO) {
int lastDot = colName.lastIndexOf('.');
if (lastDot < 0)
+ {
return colName; // alias is not fully qualified
+ }
String nqColumnName = colName.substring(lastDot + 1);
STATIC_LOG.debug("Replacing " + colName + " (produced by CBO) by " + nqColumnName);
return nqColumnName;
@@ -1381,16 +1390,18 @@ public ASTNode simpleBreadthFirstSearch(ASTNode ast, int... tokens) {
ASTNode next = searchQueue.poll();
found = next.getType() == token;
if (found) {
- if (i == tokens.length - 1)
+ if (i == tokens.length - 1) {
return next;
+ }
searchQueue.clear();
}
for (int j = 0; j < next.getChildCount(); ++j) {
searchQueue.add((ASTNode) next.getChild(j));
}
}
- if (!found)
+ if (!found) {
return null;
+ }
}
return null;
}
@@ -1400,7 +1411,9 @@ public ASTNode depthFirstSearch(ASTNode ast, int token) {
searchQueue.add(ast);
while (!searchQueue.isEmpty()) {
ASTNode next = searchQueue.poll();
- if (next.getType() == token) return next;
+ if (next.getType() == token) {
+ return next;
+ }
for (int j = 0; j < next.getChildCount(); ++j) {
searchQueue.add((ASTNode) next.getChild(j));
}
@@ -1414,7 +1427,9 @@ public ASTNode simpleBreadthFirstSearchAny(ASTNode ast, int... tokens) {
while (!searchQueue.isEmpty()) {
ASTNode next = searchQueue.poll();
for (int i = 0; i < tokens.length; ++i) {
- if (next.getType() == tokens[i]) return next;
+ if (next.getType() == tokens[i]) {
+ return next;
+ }
}
for (int i = 0; i < next.getChildCount(); ++i) {
searchQueue.add((ASTNode) next.getChild(i));
@@ -1476,6 +1491,7 @@ public String getOptimizedSql(RelNode optimizedOptiqPlan) {
.withDatabaseMajorVersion(4) // TODO: should not be hardcoded
.withDatabaseMinorVersion(0)
.withIdentifierQuoteString("`")
+ .withDataTypeSystem(new HiveTypeSystemImpl())
.withNullCollation(nullCollation)) {
@Override
protected boolean allowsAs() {
@@ -1644,11 +1660,13 @@ private static Field getField(Class> clazz, String name) {
public static boolean resetCause(Throwable target, Throwable newCause) {
try {
- if (MESSAGE_FIELD == null)
+ if (MESSAGE_FIELD == null) {
return false;
+ }
Field field = (target instanceof InvocationTargetException) ? TARGET_FIELD : CAUSE_FIELD;
- if (field == null)
+ if (field == null) {
return false;
+ }
Throwable oldCause = target.getCause();
String oldMsg = target.getMessage();
@@ -2372,8 +2390,9 @@ private RelNode hepPlan(RelNode basePlan, boolean followPlanChanges,
programBuilder = programBuilder.addRuleCollection(ImmutableList.copyOf(rules));
} else {
// TODO: Should this be also TOP_DOWN?
- for (RelOptRule r : rules)
+ for (RelOptRule r : rules) {
programBuilder.addRuleInstance(r);
+ }
}
// Create planner and copy context
@@ -3626,10 +3645,11 @@ private AggInfo getHiveAggInfo(ASTNode aggAst, int aggFnLstArgIndx, RowResolver
// 3.2 Rank functions type is 'int'/'double'
if (FunctionRegistry.isRankingFunction(aggName)) {
- if (aggName.equalsIgnoreCase("percent_rank"))
+ if (aggName.equalsIgnoreCase("percent_rank")) {
udafRetType = TypeInfoFactory.doubleTypeInfo;
- else
+ } else {
udafRetType = TypeInfoFactory.intTypeInfo;
+ }
} else {
// 3.3 Try obtaining UDAF evaluators to determine the ret type
try {
@@ -3776,9 +3796,10 @@ private RelNode genGBLogicalPlan(QB qb, RelNode srcRel) throws SemanticException
ASTNode grpbyExpr = grpByAstExprs.get(i);
Map astToExprNDescMap = genAllExprNodeDesc(grpbyExpr, groupByInputRowResolver);
ExprNodeDesc grpbyExprNDesc = astToExprNDescMap.get(grpbyExpr);
- if (grpbyExprNDesc == null)
+ if (grpbyExprNDesc == null) {
throw new CalciteSemanticException("Invalid Column Reference: " + grpbyExpr.dump(),
UnsupportedFeature.Invalid_column_reference);
+ }
addToGBExpr(groupByOutputRowResolver, groupByInputRowResolver, grpbyExpr,
grpbyExprNDesc, gbExprNDescLst, outputColumnNames);
@@ -4153,9 +4174,10 @@ private RexWindowBound getBound(BoundarySpec bs) {
RexNode amtLiteral = null;
SqlCall sc = null;
- if (amt != null)
+ if (amt != null) {
amtLiteral = cluster.getRexBuilder().makeLiteral(Integer.valueOf(bs.getAmt()),
cluster.getTypeFactory().createSqlType(SqlTypeName.INTEGER), true);
+ }
switch (bs.getDirection()) {
case PRECEDING:
@@ -4259,13 +4281,15 @@ private RelNode genSelectForWindowing(QB qb, RelNode srcRel, HashSet
getQBParseInfo(qb);
WindowingSpec wSpec = (!qb.getAllWindowingSpecs().isEmpty()) ? qb.getAllWindowingSpecs()
.values().iterator().next() : null;
- if (wSpec == null)
+ if (wSpec == null) {
return null;
+ }
// 1. Get valid Window Function Spec
wSpec.validateAndMakeEffective();
List windowExpressions = wSpec.getWindowExpressions();
- if (windowExpressions == null || windowExpressions.isEmpty())
+ if (windowExpressions == null || windowExpressions.isEmpty()) {
return null;
+ }
RowResolver inputRR = this.relToHiveRR.get(srcRel);
// 2. Get RexNodes for original Projections from below
@@ -4376,7 +4400,9 @@ private void setQueryHints(QB qb) throws SemanticException {
String selClauseName = qbp.getClauseNames().iterator().next();
Tree selExpr0 = qbp.getSelForClause(selClauseName).getChild(0);
- if (selExpr0.getType() != HiveParser.QUERY_HINT) return;
+ if (selExpr0.getType() != HiveParser.QUERY_HINT) {
+ return;
+ }
String hint = ctx.getTokenRewriteStream().toString(
selExpr0.getTokenStartIndex(), selExpr0.getTokenStopIndex());
LOG.debug("Handling query hints: " + hint);
diff --git ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java
index a2dd554b6e..357439a19e 100644
--- ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java
+++ ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java
@@ -331,6 +331,9 @@ public Object process(Node nd, Stack stack, NodeProcessorCtx procCtx,
// Literal decimal
String strVal = expr.getText().substring(0, expr.getText().length() - 2);
return createDecimal(strVal, false);
+ } else if (expr.getText().endsWith("F")) {
+ // Literal float.
+ v = Float.valueOf(expr.getText().substring(0, expr.getText().length() - 1));
} else if (expr.getText().endsWith("D")) {
// Literal double.
v = Double.valueOf(expr.getText().substring(0, expr.getText().length() - 1));
diff --git ql/src/test/queries/clientpositive/druidmini_expressions.q ql/src/test/queries/clientpositive/druidmini_expressions.q
index e491986250..c1c0ff30f2 100644
--- ql/src/test/queries/clientpositive/druidmini_expressions.q
+++ ql/src/test/queries/clientpositive/druidmini_expressions.q
@@ -36,11 +36,31 @@ EXPLAIN SELECT cstring1 || '_'|| cstring2, substring(cstring2, 2, 3) as concat ,
explain extended select count(*) from (select `__time` from druid_table_alltypesorc limit 1) as src ;
+
+
+explain
+SELECT `__time`
+FROM druid_table_alltypesorc
+WHERE (`__time` BETWEEN '1968-01-01 00:00:00' AND '1970-01-01 00:00:00')
+ OR (`__time` BETWEEN '1968-02-01 00:00:00' AND '1970-04-01 00:00:00') ORDER BY `__time` ASC LIMIT 10;
+
SELECT `__time`
FROM druid_table_alltypesorc
WHERE (`__time` BETWEEN '1968-01-01 00:00:00' AND '1970-01-01 00:00:00')
OR (`__time` BETWEEN '1968-02-01 00:00:00' AND '1970-04-01 00:00:00') ORDER BY `__time` ASC LIMIT 10;
+
+explain
+SELECT `__time`
+FROM druid_table_alltypesorc
+WHERE ('1968-01-01 00:00:00' <= `__time` AND `__time` <= '1970-01-01 00:00:00')
+ OR ('1968-02-01 00:00:00' <= `__time` AND `__time` <= '1970-04-01 00:00:00') ORDER BY `__time` ASC LIMIT 10;
+
+SELECT `__time`
+FROM druid_table_alltypesorc
+WHERE ('1968-01-01 00:00:00' <= `__time` AND `__time` <= '1970-01-01 00:00:00')
+ OR ('1968-02-01 00:00:00' <= `__time` AND `__time` <= '1970-04-01 00:00:00') ORDER BY `__time` ASC LIMIT 10;
+
-- COUNT DISTINCT TESTS
-- AS PART OF https://issues.apache.org/jira/browse/HIVE-19586
@@ -213,4 +233,4 @@ explain select max(cint * cfloat) from (select `cfloat`, `cstring1`, `cint`, `cd
explain select count(distinct `__time`, cint) from (select * from druid_table_alltypesorc) as src;
-select count(distinct `__time`, cint) from (select * from druid_table_alltypesorc) as src;
\ No newline at end of file
+select count(distinct `__time`, cint) from (select * from druid_table_alltypesorc) as src;
diff --git ql/src/test/queries/clientpositive/subquery_multi.q ql/src/test/queries/clientpositive/subquery_multi.q
index 81a9187c19..03459ac1dd 100644
--- ql/src/test/queries/clientpositive/subquery_multi.q
+++ ql/src/test/queries/clientpositive/subquery_multi.q
@@ -63,6 +63,10 @@ explain select * from part_null where p_name IN (select p_name from part_null) A
select * from part_null where p_name IN (select p_name from part_null) AND NOT EXISTS (select c from tempty);
-- corr, mix of IN/NOT IN
+explain cbo select * from part_null where
+ p_brand NOT IN (select p_container from part where part.p_type = part_null.p_type
+ AND p_brand IN (select p_brand from part pp where part.p_type = pp.p_type));
+
explain select * from part_null where p_name IN ( select p_name from part where part.p_type = part_null.p_type)
AND p_brand NOT IN (select p_container from part where part.p_type = part_null.p_type
AND p_brand IN (select p_brand from part pp where part.p_type = pp.p_type));
diff --git ql/src/test/results/clientpositive/allcolref_in_udf.q.out ql/src/test/results/clientpositive/allcolref_in_udf.q.out
index b635f67b7a..eb37c916c5 100644
--- ql/src/test/results/clientpositive/allcolref_in_udf.q.out
+++ ql/src/test/results/clientpositive/allcolref_in_udf.q.out
@@ -104,10 +104,10 @@ STAGE PLANS:
value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string)
TableScan
alias: b
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string), concat(key, value) (type: string), UDFToDouble(key) (type: double)
diff --git ql/src/test/results/clientpositive/alter_partition_coltype.q.out ql/src/test/results/clientpositive/alter_partition_coltype.q.out
index 1fbc2131d5..cd7681c50b 100644
--- ql/src/test/results/clientpositive/alter_partition_coltype.q.out
+++ ql/src/test/results/clientpositive/alter_partition_coltype.q.out
@@ -571,6 +571,9 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: pt@alterdynamic_part_table
POSTHOOK: Input: pt@alterdynamic_part_table@partcol1=2/partcol2=1
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `intcol`
+FROM `pt`.`alterdynamic_part_table`
+WHERE ROW(`partcol1`, `partcol2`) IN (ROW(2, '1'), ROW(1, '__HIVE_DEFAULT_PARTITION__'))
STAGE DEPENDENCIES:
Stage-0 is a root stage
diff --git ql/src/test/results/clientpositive/annotate_stats_filter.q.out ql/src/test/results/clientpositive/annotate_stats_filter.q.out
index 44f77b8f50..957fd1262d 100644
--- ql/src/test/results/clientpositive/annotate_stats_filter.q.out
+++ ql/src/test/results/clientpositive/annotate_stats_filter.q.out
@@ -845,18 +845,18 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: loc_orc
- filterExpr: (((year = 2001) and year is null) or (state = 'CA')) (type: boolean)
+ filterExpr: (state = 'CA') (type: boolean)
Statistics: Num rows: 8 Data size: 816 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (((year = 2001) and year is null) or (state = 'CA')) (type: boolean)
- Statistics: Num rows: 2 Data size: 204 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (state = 'CA') (type: boolean)
+ Statistics: Num rows: 1 Data size: 102 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: state (type: string), locid (type: int), zip (type: bigint), year (type: int)
+ expressions: 'CA' (type: string), locid (type: int), zip (type: bigint), year (type: int)
outputColumnNames: _col0, _col1, _col2, _col3
- Statistics: Num rows: 2 Data size: 204 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 1 Data size: 102 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 2 Data size: 204 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 1 Data size: 102 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
diff --git ql/src/test/results/clientpositive/annotate_stats_join_pkfk.q.out ql/src/test/results/clientpositive/annotate_stats_join_pkfk.q.out
index 2cf5b0c456..cce87c4b93 100644
--- ql/src/test/results/clientpositive/annotate_stats_join_pkfk.q.out
+++ ql/src/test/results/clientpositive/annotate_stats_join_pkfk.q.out
@@ -467,10 +467,10 @@ STAGE PLANS:
Statistics: Num rows: 12 Data size: 96 Basic stats: COMPLETE Column stats: COMPLETE
TableScan
alias: ss
- filterExpr: ss_store_sk is not null (type: boolean)
+ filterExpr: UDFToLong(ss_store_sk) is not null (type: boolean)
Statistics: Num rows: 1000 Data size: 3860 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ss_store_sk is not null (type: boolean)
+ predicate: UDFToLong(ss_store_sk) is not null (type: boolean)
Statistics: Num rows: 964 Data size: 3720 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: UDFToLong(ss_store_sk) (type: bigint)
diff --git ql/src/test/results/clientpositive/auto_join2.q.out ql/src/test/results/clientpositive/auto_join2.q.out
index f154680c62..25ee73fb83 100644
--- ql/src/test/results/clientpositive/auto_join2.q.out
+++ ql/src/test/results/clientpositive/auto_join2.q.out
@@ -39,10 +39,10 @@ STAGE PLANS:
$hdt$_0:src1
TableScan
alias: src1
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -55,10 +55,10 @@ STAGE PLANS:
$hdt$_2:src3
TableScan
alias: src3
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: value (type: string), UDFToDouble(key) (type: double)
@@ -74,10 +74,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src2
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
diff --git ql/src/test/results/clientpositive/auto_join33.q.out ql/src/test/results/clientpositive/auto_join33.q.out
index 27fe10a0aa..8af7e79bc7 100644
--- ql/src/test/results/clientpositive/auto_join33.q.out
+++ ql/src/test/results/clientpositive/auto_join33.q.out
@@ -32,10 +32,10 @@ STAGE PLANS:
$hdt$_0:src
TableScan
alias: src
- filterExpr: (((UDFToDouble(key) + 1.0D) < 10.0D) and key is not null) (type: boolean)
+ filterExpr: (((UDFToDouble(key) + 1.0D) < 10.0D) and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (((UDFToDouble(key) + 1.0D) < 10.0D) and key is not null) (type: boolean)
+ predicate: (((UDFToDouble(key) + 1.0D) < 10.0D) and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 166 Data size: 29548 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
@@ -51,10 +51,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src
- filterExpr: (((UDFToDouble(key) + 2.0D) < 10.0D) and key is not null) (type: boolean)
+ filterExpr: (((UDFToDouble(key) + 2.0D) < 10.0D) and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (((UDFToDouble(key) + 2.0D) < 10.0D) and key is not null) (type: boolean)
+ predicate: (((UDFToDouble(key) + 2.0D) < 10.0D) and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 166 Data size: 29548 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
diff --git ql/src/test/results/clientpositive/auto_join_stats.q.out ql/src/test/results/clientpositive/auto_join_stats.q.out
index dc1338a5a7..06448f437b 100644
--- ql/src/test/results/clientpositive/auto_join_stats.q.out
+++ ql/src/test/results/clientpositive/auto_join_stats.q.out
@@ -57,10 +57,10 @@ STAGE PLANS:
$hdt$_1:src2
TableScan
alias: src2
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -76,10 +76,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src1
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -113,10 +113,10 @@ STAGE PLANS:
$hdt$_2:smalltable_n0
TableScan
alias: smalltable_n0
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 6 Data size: 1104 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 6 Data size: 1104 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -164,10 +164,10 @@ STAGE PLANS:
$hdt$_0:src1
TableScan
alias: src1
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -183,10 +183,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src2
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -215,10 +215,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src1
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -232,10 +232,10 @@ STAGE PLANS:
value expressions: _col1 (type: double)
TableScan
alias: src2
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -342,10 +342,10 @@ STAGE PLANS:
$hdt$_2:src2
TableScan
alias: src2
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -361,10 +361,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src1
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -401,10 +401,10 @@ STAGE PLANS:
$hdt$_0:smalltable_n0
TableScan
alias: smalltable_n0
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 6 Data size: 1104 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 6 Data size: 1104 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -417,10 +417,10 @@ STAGE PLANS:
$hdt$_3:smalltable2_n0
TableScan
alias: smalltable2_n0
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: UDFToDouble(key) (type: double)
@@ -476,10 +476,10 @@ STAGE PLANS:
$hdt$_1:src1
TableScan
alias: src1
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -495,10 +495,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src2
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -527,10 +527,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src1
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -544,10 +544,10 @@ STAGE PLANS:
value expressions: _col1 (type: double)
TableScan
alias: src2
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
diff --git ql/src/test/results/clientpositive/auto_join_stats2.q.out ql/src/test/results/clientpositive/auto_join_stats2.q.out
index 69623472fc..8eb4b2e765 100644
--- ql/src/test/results/clientpositive/auto_join_stats2.q.out
+++ ql/src/test/results/clientpositive/auto_join_stats2.q.out
@@ -44,10 +44,10 @@ STAGE PLANS:
$hdt$_1:smalltable
TableScan
alias: smalltable
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -60,10 +60,10 @@ STAGE PLANS:
$hdt$_2:src1
TableScan
alias: src1
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -79,10 +79,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src2
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -199,10 +199,10 @@ STAGE PLANS:
$hdt$_0:smalltable
TableScan
alias: smalltable
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 6 Data size: 1104 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 6 Data size: 1104 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -215,10 +215,10 @@ STAGE PLANS:
$hdt$_1:src1
TableScan
alias: src1
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -231,10 +231,10 @@ STAGE PLANS:
$hdt$_3:smalltable2
TableScan
alias: smalltable2
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: UDFToDouble(key) (type: double)
@@ -250,10 +250,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src2
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
diff --git ql/src/test/results/clientpositive/cbo_rp_simple_select.q.out ql/src/test/results/clientpositive/cbo_rp_simple_select.q.out
index cb22b61f26..96ac1255d0 100644
--- ql/src/test/results/clientpositive/cbo_rp_simple_select.q.out
+++ ql/src/test/results/clientpositive/cbo_rp_simple_select.q.out
@@ -761,18 +761,18 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: cbo_t2
- filterExpr: (c_int = c_int) (type: boolean)
+ filterExpr: c_int is not null (type: boolean)
Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (c_int = c_int) (type: boolean)
- Statistics: Num rows: 10 Data size: 3660 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: c_int is not null (type: boolean)
+ Statistics: Num rows: 18 Data size: 6406 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string), c_int (type: int), c_float (type: float), c_boolean (type: boolean), dt (type: string)
outputColumnNames: key, value, c_int, c_float, c_boolean, dt
- Statistics: Num rows: 10 Data size: 3660 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 18 Data size: 6406 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 10 Data size: 3660 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 18 Data size: 6406 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -853,18 +853,18 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: cbo_t2
- filterExpr: (c_int = c_int) (type: boolean)
+ filterExpr: c_int is not null (type: boolean)
Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (c_int = c_int) (type: boolean)
- Statistics: Num rows: 10 Data size: 3660 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: c_int is not null (type: boolean)
+ Statistics: Num rows: 18 Data size: 6406 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string), c_int (type: int), c_float (type: float), c_boolean (type: boolean), dt (type: string)
outputColumnNames: key, value, c_int, c_float, c_boolean, dt
- Statistics: Num rows: 10 Data size: 3660 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 18 Data size: 6406 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 10 Data size: 3660 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 18 Data size: 6406 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -881,47 +881,31 @@ PREHOOK: query: -- c_int is not null
EXPLAIN select * from cbo_t2 where (cbo_t2.c_int) IN (NULL)
PREHOOK: type: QUERY
PREHOOK: Input: default@cbo_t2
-PREHOOK: Input: default@cbo_t2@dt=2014
#### A masked pattern was here ####
POSTHOOK: query: -- c_int is not null
EXPLAIN select * from cbo_t2 where (cbo_t2.c_int) IN (NULL)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@cbo_t2
-POSTHOOK: Input: default@cbo_t2@dt=2014
#### A masked pattern was here ####
STAGE DEPENDENCIES:
- Stage-1 is a root stage
- Stage-0 depends on stages: Stage-1
+ Stage-0 is a root stage
STAGE PLANS:
- Stage: Stage-1
- Map Reduce
- Map Operator Tree:
- TableScan
- alias: cbo_t2
- filterExpr: (c_int = null) (type: boolean)
- Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
- Filter Operator
- predicate: (c_int = null) (type: boolean)
- Statistics: Num rows: 10 Data size: 3660 Basic stats: COMPLETE Column stats: COMPLETE
- Select Operator
- expressions: key (type: string), value (type: string), null (type: int), c_float (type: float), c_boolean (type: boolean), dt (type: string)
- outputColumnNames: key, value, c_int, c_float, c_boolean, dt
- Statistics: Num rows: 10 Data size: 3624 Basic stats: COMPLETE Column stats: COMPLETE
- File Output Operator
- compressed: false
- Statistics: Num rows: 10 Data size: 3624 Basic stats: COMPLETE Column stats: COMPLETE
- table:
- input format: org.apache.hadoop.mapred.SequenceFileInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- Execution mode: vectorized
-
Stage: Stage-0
Fetch Operator
limit: -1
Processor Tree:
- ListSink
+ TableScan
+ alias: cbo_t2
+ Statistics: Num rows: 1 Data size: 564 Basic stats: COMPLETE Column stats: PARTIAL
+ Filter Operator
+ predicate: false (type: boolean)
+ Statistics: Num rows: 1 Data size: 564 Basic stats: COMPLETE Column stats: PARTIAL
+ Select Operator
+ expressions: key (type: string), value (type: string), c_int (type: int), c_float (type: float), c_boolean (type: boolean), dt (type: string)
+ outputColumnNames: key, value, c_int, c_float, c_boolean, dt
+ Statistics: Num rows: 1 Data size: 564 Basic stats: COMPLETE Column stats: PARTIAL
+ ListSink
PREHOOK: query: -- rewrite to NULL
EXPLAIN select * from cbo_t2 where (cbo_t2.c_int) IN (cbo_t2.c_int, 2*cbo_t2.c_int)
@@ -945,10 +929,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: cbo_t2
- filterExpr: ((c_int = c_int) or (c_int = (2 * c_int))) (type: boolean)
+ filterExpr: (c_int is not null or (c_int = (2 * c_int))) (type: boolean)
Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((c_int = (2 * c_int)) or (c_int = c_int)) (type: boolean)
+ predicate: ((c_int = (2 * c_int)) or c_int is not null) (type: boolean)
Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string), c_int (type: int), c_float (type: float), c_boolean (type: boolean), dt (type: string)
@@ -991,10 +975,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: cbo_t2
- filterExpr: ((c_int = c_int) or (c_int = 0)) (type: boolean)
+ filterExpr: (c_int is not null or (c_int = 0)) (type: boolean)
Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((c_int = 0) or (c_int = c_int)) (type: boolean)
+ predicate: ((c_int = 0) or c_int is not null) (type: boolean)
Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string), c_int (type: int), c_float (type: float), c_boolean (type: boolean), dt (type: string)
diff --git ql/src/test/results/clientpositive/cbo_simple_select.q.out ql/src/test/results/clientpositive/cbo_simple_select.q.out
index 32e69204f6..8beaecfcb1 100644
--- ql/src/test/results/clientpositive/cbo_simple_select.q.out
+++ ql/src/test/results/clientpositive/cbo_simple_select.q.out
@@ -761,18 +761,18 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: cbo_t2
- filterExpr: (c_int = c_int) (type: boolean)
+ filterExpr: c_int is not null (type: boolean)
Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (c_int = c_int) (type: boolean)
- Statistics: Num rows: 10 Data size: 3660 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: c_int is not null (type: boolean)
+ Statistics: Num rows: 18 Data size: 6406 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string), c_int (type: int), c_float (type: float), c_boolean (type: boolean), dt (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
- Statistics: Num rows: 10 Data size: 3660 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 18 Data size: 6406 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 10 Data size: 3660 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 18 Data size: 6406 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -853,18 +853,18 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: cbo_t2
- filterExpr: (c_int = c_int) (type: boolean)
+ filterExpr: c_int is not null (type: boolean)
Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (c_int = c_int) (type: boolean)
- Statistics: Num rows: 10 Data size: 3660 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: c_int is not null (type: boolean)
+ Statistics: Num rows: 18 Data size: 6406 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string), c_int (type: int), c_float (type: float), c_boolean (type: boolean), dt (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
- Statistics: Num rows: 10 Data size: 3660 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 18 Data size: 6406 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 10 Data size: 3660 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 18 Data size: 6406 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -881,47 +881,31 @@ PREHOOK: query: -- c_int is not null
EXPLAIN select * from cbo_t2 where (cbo_t2.c_int) IN (NULL)
PREHOOK: type: QUERY
PREHOOK: Input: default@cbo_t2
-PREHOOK: Input: default@cbo_t2@dt=2014
#### A masked pattern was here ####
POSTHOOK: query: -- c_int is not null
EXPLAIN select * from cbo_t2 where (cbo_t2.c_int) IN (NULL)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@cbo_t2
-POSTHOOK: Input: default@cbo_t2@dt=2014
#### A masked pattern was here ####
STAGE DEPENDENCIES:
- Stage-1 is a root stage
- Stage-0 depends on stages: Stage-1
+ Stage-0 is a root stage
STAGE PLANS:
- Stage: Stage-1
- Map Reduce
- Map Operator Tree:
- TableScan
- alias: cbo_t2
- filterExpr: (c_int = null) (type: boolean)
- Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
- Filter Operator
- predicate: (c_int = null) (type: boolean)
- Statistics: Num rows: 10 Data size: 3660 Basic stats: COMPLETE Column stats: COMPLETE
- Select Operator
- expressions: key (type: string), value (type: string), null (type: int), c_float (type: float), c_boolean (type: boolean), dt (type: string)
- outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
- Statistics: Num rows: 10 Data size: 3624 Basic stats: COMPLETE Column stats: COMPLETE
- File Output Operator
- compressed: false
- Statistics: Num rows: 10 Data size: 3624 Basic stats: COMPLETE Column stats: COMPLETE
- table:
- input format: org.apache.hadoop.mapred.SequenceFileInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- Execution mode: vectorized
-
Stage: Stage-0
Fetch Operator
limit: -1
Processor Tree:
- ListSink
+ TableScan
+ alias: cbo_t2
+ Statistics: Num rows: 1 Data size: 564 Basic stats: COMPLETE Column stats: PARTIAL
+ Filter Operator
+ predicate: false (type: boolean)
+ Statistics: Num rows: 1 Data size: 564 Basic stats: COMPLETE Column stats: PARTIAL
+ Select Operator
+ expressions: key (type: string), value (type: string), c_int (type: int), c_float (type: float), c_boolean (type: boolean), dt (type: string)
+ outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
+ Statistics: Num rows: 1 Data size: 564 Basic stats: COMPLETE Column stats: PARTIAL
+ ListSink
PREHOOK: query: -- rewrite to NULL
EXPLAIN select * from cbo_t2 where (cbo_t2.c_int) IN (cbo_t2.c_int, 2*cbo_t2.c_int)
@@ -945,10 +929,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: cbo_t2
- filterExpr: ((c_int = c_int) or (c_int = (2 * c_int))) (type: boolean)
+ filterExpr: (c_int is not null or (c_int = (2 * c_int))) (type: boolean)
Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((c_int = (2 * c_int)) or (c_int = c_int)) (type: boolean)
+ predicate: ((c_int = (2 * c_int)) or c_int is not null) (type: boolean)
Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string), c_int (type: int), c_float (type: float), c_boolean (type: boolean), dt (type: string)
@@ -991,10 +975,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: cbo_t2
- filterExpr: ((c_int = c_int) or (c_int = 0)) (type: boolean)
+ filterExpr: (c_int is not null or (c_int = 0)) (type: boolean)
Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((c_int = 0) or (c_int = c_int)) (type: boolean)
+ predicate: ((c_int = 0) or c_int is not null) (type: boolean)
Statistics: Num rows: 20 Data size: 7138 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string), c_int (type: int), c_float (type: float), c_boolean (type: boolean), dt (type: string)
diff --git ql/src/test/results/clientpositive/char_udf1.q.out ql/src/test/results/clientpositive/char_udf1.q.out
index 09fb69782f..a2b4bed275 100644
--- ql/src/test/results/clientpositive/char_udf1.q.out
+++ ql/src/test/results/clientpositive/char_udf1.q.out
@@ -357,7 +357,7 @@ from char_udf_1 limit 1
POSTHOOK: type: QUERY
POSTHOOK: Input: default@char_udf_1
#### A masked pattern was here ####
-{"a":"1","b":"2","c":"3"} {"a":"1","b":"2","c":"3"}
+{"a":"1","b":"2","c":"3"} {"a":"1","b":"2","c":"3 "}
PREHOOK: query: select
substr(c2, 1, 3),
substr(c4, 1, 3),
diff --git ql/src/test/results/clientpositive/complex_alias.q.out ql/src/test/results/clientpositive/complex_alias.q.out
index a808513d73..af5c86fe18 100644
--- ql/src/test/results/clientpositive/complex_alias.q.out
+++ ql/src/test/results/clientpositive/complex_alias.q.out
@@ -148,10 +148,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: agg1
- filterExpr: (col0 = col0) (type: boolean)
+ filterExpr: col0 is not null (type: boolean)
Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (col0 = col0) (type: boolean)
+ predicate: col0 is not null (type: boolean)
Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: '42' (type: string), col0 (type: int)
@@ -172,10 +172,10 @@ STAGE PLANS:
Statistics: Num rows: 1 Data size: 90 Basic stats: COMPLETE Column stats: COMPLETE
TableScan
alias: agg1
- filterExpr: (col0 = col0) (type: boolean)
+ filterExpr: col0 is not null (type: boolean)
Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (col0 = col0) (type: boolean)
+ predicate: col0 is not null (type: boolean)
Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: '41' (type: string), col0 (type: int)
diff --git ql/src/test/results/clientpositive/constantPropWhen.q.out ql/src/test/results/clientpositive/constantPropWhen.q.out
index 1684cb6010..3c42b68e9f 100644
--- ql/src/test/results/clientpositive/constantPropWhen.q.out
+++ ql/src/test/results/clientpositive/constantPropWhen.q.out
@@ -40,7 +40,7 @@ STAGE PLANS:
alias: test_1_n4
Statistics: Num rows: 4 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: (not COALESCE((id = id2),false)) (type: boolean)
+ expressions: (id = id2) is not true (type: boolean)
outputColumnNames: _col0
Statistics: Num rows: 4 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
@@ -90,7 +90,7 @@ STAGE PLANS:
alias: test_1_n4
Statistics: Num rows: 4 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: (not COALESCE((id = id2),false)) (type: boolean)
+ expressions: (id = id2) is not true (type: boolean)
outputColumnNames: _col0
Statistics: Num rows: 4 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
@@ -140,7 +140,7 @@ STAGE PLANS:
alias: test_1_n4
Statistics: Num rows: 4 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: COALESCE((id = id2),false) (type: boolean)
+ expressions: (id = id2) is true (type: boolean)
outputColumnNames: _col0
Statistics: Num rows: 4 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
@@ -190,7 +190,7 @@ STAGE PLANS:
alias: test_1_n4
Statistics: Num rows: 4 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: COALESCE((id = id2),false) (type: boolean)
+ expressions: (id = id2) is true (type: boolean)
outputColumnNames: _col0
Statistics: Num rows: 4 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
diff --git ql/src/test/results/clientpositive/constant_prop_3.q.out ql/src/test/results/clientpositive/constant_prop_3.q.out
index db73902af1..c95a56a55b 100644
--- ql/src/test/results/clientpositive/constant_prop_3.q.out
+++ ql/src/test/results/clientpositive/constant_prop_3.q.out
@@ -284,7 +284,7 @@ STAGE PLANS:
outputColumnNames: _col1, _col3, _col4, _col5, _col6, _col7, _col9
Statistics: Num rows: 1 Data size: 196 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((_col6 = 0L) or (_col9 is null and _col1 is not null and (_col7 >= _col6))) (type: boolean)
+ predicate: (((_col7 >= _col6) or (_col6 = 0L) or _col9 is not null or _col1 is null) and (_col1 is not null or (_col6 = 0L) or _col9 is not null) and (_col9 is null or (_col6 = 0L))) (type: boolean)
Statistics: Num rows: 1 Data size: 196 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col1 (type: int), _col3 (type: string), _col4 (type: string), _col5 (type: int)
diff --git ql/src/test/results/clientpositive/constprog_when_case.q.out ql/src/test/results/clientpositive/constprog_when_case.q.out
index 958e05e959..f75fa1c87a 100644
--- ql/src/test/results/clientpositive/constprog_when_case.q.out
+++ ql/src/test/results/clientpositive/constprog_when_case.q.out
@@ -50,7 +50,7 @@ STAGE PLANS:
alias: src_orc
Statistics: Num rows: 1000 Data size: 269000 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: if(CASE WHEN (bool0) THEN (true) WHEN ((not bool0)) THEN (false) ELSE (null) END, key0, if(CASE WHEN (bool0) THEN (false) WHEN ((not bool0)) THEN (true) ELSE (null) END, key1, key2)) (type: string)
+ expressions: if((bool0 is true or (null and bool0 is not true and bool0 is not false)), key0, if((((not bool0) is true and bool0 is not true) or (null and bool0 is not true and bool0 is not false)), key1, key2)) (type: string)
outputColumnNames: _col0
Statistics: Num rows: 1000 Data size: 184000 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
diff --git ql/src/test/results/clientpositive/cte_mat_5.q.out ql/src/test/results/clientpositive/cte_mat_5.q.out
index 5beaada3f9..92f25fe788 100644
--- ql/src/test/results/clientpositive/cte_mat_5.q.out
+++ ql/src/test/results/clientpositive/cte_mat_5.q.out
@@ -115,10 +115,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: a
- filterExpr: colnum is not null (type: boolean)
+ filterExpr: UDFToDouble(colnum) is not null (type: boolean)
Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: colnum is not null (type: boolean)
+ predicate: UDFToDouble(colnum) is not null (type: boolean)
Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: colnum (type: int), UDFToDouble(colnum) (type: double)
@@ -132,10 +132,10 @@ STAGE PLANS:
value expressions: _col0 (type: int)
TableScan
alias: b
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: UDFToDouble(key) (type: double)
diff --git ql/src/test/results/clientpositive/decimal_udf.q.out ql/src/test/results/clientpositive/decimal_udf.q.out
index b2a5837aef..d46caff046 100644
--- ql/src/test/results/clientpositive/decimal_udf.q.out
+++ ql/src/test/results/clientpositive/decimal_udf.q.out
@@ -991,14 +991,14 @@ STAGE PLANS:
Processor Tree:
TableScan
alias: decimal_udf
- Statistics: Num rows: 1 Data size: 112 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 3590 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: (UDFToDouble(key) / null) (type: double)
+ expressions: null (type: double)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 112 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
Limit
Number of rows: 1
- Statistics: Num rows: 1 Data size: 112 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
ListSink
PREHOOK: query: SELECT key / NULL FROM DECIMAL_UDF limit 1
diff --git ql/src/test/results/clientpositive/druid/druidmini_expressions.q.out ql/src/test/results/clientpositive/druid/druidmini_expressions.q.out
index 071a0f7739..a094f323c1 100644
--- ql/src/test/results/clientpositive/druid/druidmini_expressions.q.out
+++ ql/src/test/results/clientpositive/druid/druidmini_expressions.q.out
@@ -144,7 +144,7 @@ STAGE PLANS:
properties:
druid.fieldNames $f0,_o__c1,_o__c2,_o__c3,$f4,$f5
druid.fieldTypes double,int,bigint,double,bigint,bigint
- druid.query.json {"queryType":"timeseries","dataSource":"default.druid_table_alltypesorc","descending":false,"granularity":"all","filter":{"type":"and","fields":[{"type":"or","fields":[{"type":"expression","expression":"((floor(\"cdouble\") * 2) < 1000)"},{"type":"expression","expression":"((log(\"cdouble\") / 1.0) > 0)"},{"type":"expression","expression":"(sin(\"cdouble\") > 1)"}]},{"type":"or","fields":[{"type":"and","fields":[{"type":"expression","expression":"(ceil(\"cfloat\") > 0)"},{"type":"expression","expression":"((floor(\"cdouble\") * 2) < 1000)"}]},{"type":"and","fields":[{"type":"expression","expression":"((log(\"cdouble\") / 1.0) > 0)"},{"type":"expression","expression":"(cos(\"cint\") > 0)"}]},{"type":"expression","expression":"(sin(\"cdouble\") > 1)"}]}]},"aggregations":[{"type":"doubleSum","name":"$f0","expression":"(\"cfloat\" + CAST(1, 'DOUBLE'))"},{"type":"doubleSum","name":"$f1","expression":"(\"cdouble\" + CAST(\"ctinyint\", 'DOUBLE'))"},{"type":"longSum","name":"$f2","fieldName":"ctinyint"},{"type":"longSum","name":"$f3","fieldName":"csmallint"},{"type":"longSum","name":"$f4","fieldName":"cint"},{"type":"longSum","name":"$f5","fieldName":"cbigint"}],"postAggregations":[{"type":"expression","name":"_o__c1","expression":"CAST(\"$f1\", 'LONG')"},{"type":"expression","name":"_o__c2","expression":"(\"$f2\" + 1)"},{"type":"expression","name":"_o__c3","expression":"CAST((\"$f3\" + \"$f4\"), 'DOUBLE')"}],"intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"context":{"skipEmptyBuckets":false}}
+ druid.query.json {"queryType":"timeseries","dataSource":"default.druid_table_alltypesorc","descending":false,"granularity":"all","filter":{"type":"and","fields":[{"type":"or","fields":[{"type":"expression","expression":"((floor(\"cdouble\") * 2) < 1000)"},{"type":"expression","expression":"((log(\"cdouble\") / 1.0) > 0)"},{"type":"expression","expression":"(sin(\"cdouble\") > 1)"}]},{"type":"or","fields":[{"type":"and","fields":[{"type":"expression","expression":"(ceil(\"cfloat\") > 0)"},{"type":"expression","expression":"((floor(\"cdouble\") * 2) < 1000)"}]},{"type":"and","fields":[{"type":"expression","expression":"((log(\"cdouble\") / 1.0) > 0)"},{"type":"expression","expression":"(cos(\"cint\") > 0)"}]},{"type":"expression","expression":"(sin(\"cdouble\") > 1)"}]}]},"aggregations":[{"type":"doubleSum","name":"$f0","expression":"(\"cfloat\" + 1)"},{"type":"doubleSum","name":"$f1","expression":"(\"cdouble\" + CAST(\"ctinyint\", 'DOUBLE'))"},{"type":"longSum","name":"$f2","fieldName":"ctinyint"},{"type":"longSum","name":"$f3","fieldName":"csmallint"},{"type":"longSum","name":"$f4","fieldName":"cint"},{"type":"longSum","name":"$f5","fieldName":"cbigint"}],"postAggregations":[{"type":"expression","name":"_o__c1","expression":"CAST(\"$f1\", 'LONG')"},{"type":"expression","name":"_o__c2","expression":"(\"$f2\" + 1)"},{"type":"expression","name":"_o__c3","expression":"CAST((\"$f3\" + \"$f4\"), 'DOUBLE')"}],"intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"context":{"skipEmptyBuckets":false}}
druid.query.type timeseries
Select Operator
expressions: $f0 (type: double), _o__c1 (type: int), _o__c2 (type: bigint), _o__c3 (type: double), $f4 (type: bigint), $f5 (type: bigint)
@@ -340,6 +340,79 @@ STAGE PLANS:
Processor Tree:
ListSink
+PREHOOK: query: explain
+SELECT `__time`
+FROM druid_table_alltypesorc
+WHERE (`__time` BETWEEN '1968-01-01 00:00:00' AND '1970-01-01 00:00:00')
+ OR (`__time` BETWEEN '1968-02-01 00:00:00' AND '1970-04-01 00:00:00') ORDER BY `__time` ASC LIMIT 10
+PREHOOK: type: QUERY
+PREHOOK: Input: default@druid_table_alltypesorc
+PREHOOK: Output: hdfs://### HDFS PATH ###
+POSTHOOK: query: explain
+SELECT `__time`
+FROM druid_table_alltypesorc
+WHERE (`__time` BETWEEN '1968-01-01 00:00:00' AND '1970-01-01 00:00:00')
+ OR (`__time` BETWEEN '1968-02-01 00:00:00' AND '1970-04-01 00:00:00') ORDER BY `__time` ASC LIMIT 10
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@druid_table_alltypesorc
+POSTHOOK: Output: hdfs://### HDFS PATH ###
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+#### A masked pattern was here ####
+ Edges:
+ Reducer 2 <- Map 1 (SIMPLE_EDGE)
+#### A masked pattern was here ####
+ Vertices:
+ Map 1
+ Map Operator Tree:
+ TableScan
+ alias: druid_table_alltypesorc
+ properties:
+ druid.fieldNames vc
+ druid.fieldTypes timestamp with local time zone
+ druid.query.json {"queryType":"scan","dataSource":"default.druid_table_alltypesorc","intervals":["1968-01-01T08:00:00.000Z/1970-04-01T08:00:00.001Z"],"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc"],"resultFormat":"compactedList"}
+ druid.query.type scan
+ Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: vc (type: timestamp with local time zone)
+ outputColumnNames: _col0
+ Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: timestamp with local time zone)
+ sort order: +
+ Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE
+ TopN Hash Memory Usage: 0.1
+ Execution mode: llap
+ LLAP IO: no inputs
+ Reducer 2
+ Execution mode: llap
+ Reduce Operator Tree:
+ Select Operator
+ expressions: KEY.reducesinkkey0 (type: timestamp with local time zone)
+ outputColumnNames: _col0
+ Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE
+ Limit
+ Number of rows: 10
+ Statistics: Num rows: 10 Data size: 380 Basic stats: COMPLETE Column stats: NONE
+ File Output Operator
+ compressed: false
+ Statistics: Num rows: 10 Data size: 380 Basic stats: COMPLETE Column stats: NONE
+ table:
+ input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: 10
+ Processor Tree:
+ ListSink
+
PREHOOK: query: SELECT `__time`
FROM druid_table_alltypesorc
WHERE (`__time` BETWEEN '1968-01-01 00:00:00' AND '1970-01-01 00:00:00')
@@ -364,6 +437,103 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
1969-12-31 15:59:00.0 US/Pacific
1969-12-31 15:59:00.0 US/Pacific
1969-12-31 15:59:00.0 US/Pacific
+PREHOOK: query: explain
+SELECT `__time`
+FROM druid_table_alltypesorc
+WHERE ('1968-01-01 00:00:00' <= `__time` AND `__time` <= '1970-01-01 00:00:00')
+ OR ('1968-02-01 00:00:00' <= `__time` AND `__time` <= '1970-04-01 00:00:00') ORDER BY `__time` ASC LIMIT 10
+PREHOOK: type: QUERY
+PREHOOK: Input: default@druid_table_alltypesorc
+PREHOOK: Output: hdfs://### HDFS PATH ###
+POSTHOOK: query: explain
+SELECT `__time`
+FROM druid_table_alltypesorc
+WHERE ('1968-01-01 00:00:00' <= `__time` AND `__time` <= '1970-01-01 00:00:00')
+ OR ('1968-02-01 00:00:00' <= `__time` AND `__time` <= '1970-04-01 00:00:00') ORDER BY `__time` ASC LIMIT 10
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@druid_table_alltypesorc
+POSTHOOK: Output: hdfs://### HDFS PATH ###
+STAGE DEPENDENCIES:
+ Stage-1 is a root stage
+ Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+ Stage: Stage-1
+ Tez
+#### A masked pattern was here ####
+ Edges:
+ Reducer 2 <- Map 1 (SIMPLE_EDGE)
+#### A masked pattern was here ####
+ Vertices:
+ Map 1
+ Map Operator Tree:
+ TableScan
+ alias: druid_table_alltypesorc
+ properties:
+ druid.fieldNames vc
+ druid.fieldTypes timestamp with local time zone
+ druid.query.json {"queryType":"scan","dataSource":"default.druid_table_alltypesorc","intervals":["1968-01-01T08:00:00.000Z/1970-04-01T08:00:00.001Z"],"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc"],"resultFormat":"compactedList"}
+ druid.query.type scan
+ Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: vc (type: timestamp with local time zone)
+ outputColumnNames: _col0
+ Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: timestamp with local time zone)
+ sort order: +
+ Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE
+ TopN Hash Memory Usage: 0.1
+ Execution mode: llap
+ LLAP IO: no inputs
+ Reducer 2
+ Execution mode: llap
+ Reduce Operator Tree:
+ Select Operator
+ expressions: KEY.reducesinkkey0 (type: timestamp with local time zone)
+ outputColumnNames: _col0
+ Statistics: Num rows: 9173 Data size: 348640 Basic stats: COMPLETE Column stats: NONE
+ Limit
+ Number of rows: 10
+ Statistics: Num rows: 10 Data size: 380 Basic stats: COMPLETE Column stats: NONE
+ File Output Operator
+ compressed: false
+ Statistics: Num rows: 10 Data size: 380 Basic stats: COMPLETE Column stats: NONE
+ table:
+ input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ Stage: Stage-0
+ Fetch Operator
+ limit: 10
+ Processor Tree:
+ ListSink
+
+PREHOOK: query: SELECT `__time`
+FROM druid_table_alltypesorc
+WHERE ('1968-01-01 00:00:00' <= `__time` AND `__time` <= '1970-01-01 00:00:00')
+ OR ('1968-02-01 00:00:00' <= `__time` AND `__time` <= '1970-04-01 00:00:00') ORDER BY `__time` ASC LIMIT 10
+PREHOOK: type: QUERY
+PREHOOK: Input: default@druid_table_alltypesorc
+PREHOOK: Output: hdfs://### HDFS PATH ###
+POSTHOOK: query: SELECT `__time`
+FROM druid_table_alltypesorc
+WHERE ('1968-01-01 00:00:00' <= `__time` AND `__time` <= '1970-01-01 00:00:00')
+ OR ('1968-02-01 00:00:00' <= `__time` AND `__time` <= '1970-04-01 00:00:00') ORDER BY `__time` ASC LIMIT 10
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@druid_table_alltypesorc
+POSTHOOK: Output: hdfs://### HDFS PATH ###
+1969-12-31 15:59:00.0 US/Pacific
+1969-12-31 15:59:00.0 US/Pacific
+1969-12-31 15:59:00.0 US/Pacific
+1969-12-31 15:59:00.0 US/Pacific
+1969-12-31 15:59:00.0 US/Pacific
+1969-12-31 15:59:00.0 US/Pacific
+1969-12-31 15:59:00.0 US/Pacific
+1969-12-31 15:59:00.0 US/Pacific
+1969-12-31 15:59:00.0 US/Pacific
+1969-12-31 15:59:00.0 US/Pacific
PREHOOK: query: EXPLAIN select count(DISTINCT cstring2), sum(cdouble) FROM druid_table_alltypesorc GROUP BY `__time`, `cstring1`
PREHOOK: type: QUERY
PREHOOK: Input: default@druid_table_alltypesorc
@@ -535,7 +705,7 @@ STAGE PLANS:
properties:
druid.fieldNames extract,cstring1,cstring2,$f3
druid.fieldTypes timestamp with local time zone,string,string,double
- druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table_alltypesorc","granularity":"all","dimensions":[{"type":"extraction","dimension":"__time","outputName":"extract","extractionFn":{"type":"timeFormat","format":"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'","timeZone":"UTC"}},{"type":"default","dimension":"cstring1","outputName":"cstring1","outputType":"STRING"},{"type":"default","dimension":"cstring2","outputName":"cstring2","outputType":"STRING"}],"limitSpec":{"type":"default"},"aggregations":[{"type":"doubleSum","name":"$f3","expression":"(CAST(2, 'DOUBLE') * \"cdouble\")"}],"intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"]}
+ druid.query.json {"queryType":"groupBy","dataSource":"default.druid_table_alltypesorc","granularity":"all","dimensions":[{"type":"extraction","dimension":"__time","outputName":"extract","extractionFn":{"type":"timeFormat","format":"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'","timeZone":"UTC"}},{"type":"default","dimension":"cstring1","outputName":"cstring1","outputType":"STRING"},{"type":"default","dimension":"cstring2","outputName":"cstring2","outputType":"STRING"}],"limitSpec":{"type":"default"},"aggregations":[{"type":"doubleSum","name":"$f3","expression":"(2 * \"cdouble\")"}],"intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"]}
druid.query.type groupBy
Statistics: Num rows: 9173 Data size: 3625856 Basic stats: COMPLETE Column stats: NONE
Group By Operator
@@ -1652,7 +1822,7 @@ STAGE PLANS:
properties:
druid.fieldNames vc,vc0
druid.fieldTypes date,date
- druid.query.json {"queryType":"scan","dataSource":"default.druid_table_alltypesorc","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"virtualColumns":[{"type":"expression","name":"vc","expression":"timestamp_shift(timestamp_floor(timestamp_parse(timestamp_format(\"__time\",'yyyy-MM-dd\\u0027T\\u0027HH:mm:ss.SSS\\u0027Z\\u0027','US/Pacific'),'','UTC'),'P1D','','UTC'),'P1D',CAST((\"cdouble\" / CAST(1000, 'DOUBLE')), 'LONG'),'UTC')","outputType":"LONG"},{"type":"expression","name":"vc0","expression":"timestamp_shift(timestamp_floor(timestamp_parse(timestamp_format(\"__time\",'yyyy-MM-dd\\u0027T\\u0027HH:mm:ss.SSS\\u0027Z\\u0027','US/Pacific'),'','UTC'),'P1D','','UTC'),'P1D',-( CAST((\"cdouble\" / CAST(1000, 'DOUBLE')), 'LONG') ),'UTC')","outputType":"LONG"}],"columns":["vc","vc0"],"resultFormat":"compactedList"}
+ druid.query.json {"queryType":"scan","dataSource":"default.druid_table_alltypesorc","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"virtualColumns":[{"type":"expression","name":"vc","expression":"timestamp_shift(timestamp_floor(timestamp_parse(timestamp_format(\"__time\",'yyyy-MM-dd\\u0027T\\u0027HH:mm:ss.SSS\\u0027Z\\u0027','US/Pacific'),'','UTC'),'P1D','','UTC'),'P1D',CAST((\"cdouble\" / 1000), 'LONG'),'UTC')","outputType":"LONG"},{"type":"expression","name":"vc0","expression":"timestamp_shift(timestamp_floor(timestamp_parse(timestamp_format(\"__time\",'yyyy-MM-dd\\u0027T\\u0027HH:mm:ss.SSS\\u0027Z\\u0027','US/Pacific'),'','UTC'),'P1D','','UTC'),'P1D',-( CAST((\"cdouble\" / 1000), 'LONG') ),'UTC')","outputType":"LONG"}],"columns":["vc","vc0"],"resultFormat":"compactedList"}
druid.query.type scan
Statistics: Num rows: 9173 Data size: 976192 Basic stats: COMPLETE Column stats: NONE
Select Operator
diff --git ql/src/test/results/clientpositive/druid/druidmini_extractTime.q.out ql/src/test/results/clientpositive/druid/druidmini_extractTime.q.out
index 4ea95f6930..7ae55e966b 100644
--- ql/src/test/results/clientpositive/druid/druidmini_extractTime.q.out
+++ ql/src/test/results/clientpositive/druid/druidmini_extractTime.q.out
@@ -589,7 +589,7 @@ STAGE PLANS:
properties:
druid.fieldNames vc,vc0,vc1
druid.fieldTypes double,int,string
- druid.query.json {"queryType":"scan","dataSource":"default.druid_table_alltypesorc","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"filter":{"type":"and","fields":[{"type":"expression","expression":"(((CAST(timestamp_extract(\"__time\",'MONTH','US/Pacific'), 'DOUBLE') / 4) + 1) == 4)"},{"type":"bound","dimension":"__time","lower":"11","lowerStrict":false,"upper":"12","upperStrict":false,"ordering":"numeric","extractionFn":{"type":"timeFormat","format":"M","timeZone":"US/Pacific","locale":"en-US"}}]},"virtualColumns":[{"type":"expression","name":"vc","expression":"((CAST(timestamp_extract(\"__time\",'MONTH','US/Pacific'), 'DOUBLE') / CAST(4, 'DOUBLE')) + CAST(1, 'DOUBLE'))","outputType":"DOUBLE"},{"type":"expression","name":"vc0","expression":"timestamp_extract(\"__time\",'MONTH','US/Pacific')","outputType":"LONG"},{"type":"expression","name":"vc1","expression":"substring(timestamp_format(timestamp_floor(timestamp_parse(timestamp_format(\"__time\",'yyyy-MM-dd\\u0027T\\u0027HH:mm:ss.SSS\\u0027Z\\u0027','US/Pacific'),'','UTC'),'P1D','','UTC'),'yyyy-MM-dd','UTC'), 5, 2)","outputType":"STRING"}],"columns":["vc","vc0","vc1"],"resultFormat":"compactedList","limit":1}
+ druid.query.json {"queryType":"scan","dataSource":"default.druid_table_alltypesorc","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"filter":{"type":"and","fields":[{"type":"expression","expression":"(((CAST(timestamp_extract(\"__time\",'MONTH','US/Pacific'), 'DOUBLE') / 4) + 1) == 4)"},{"type":"bound","dimension":"__time","lower":"11","lowerStrict":false,"upper":"12","upperStrict":false,"ordering":"numeric","extractionFn":{"type":"timeFormat","format":"M","timeZone":"US/Pacific","locale":"en-US"}}]},"virtualColumns":[{"type":"expression","name":"vc","expression":"4","outputType":"DOUBLE"},{"type":"expression","name":"vc0","expression":"timestamp_extract(\"__time\",'MONTH','US/Pacific')","outputType":"LONG"},{"type":"expression","name":"vc1","expression":"substring(timestamp_format(timestamp_floor(timestamp_parse(timestamp_format(\"__time\",'yyyy-MM-dd\\u0027T\\u0027HH:mm:ss.SSS\\u0027Z\\u0027','US/Pacific'),'','UTC'),'P1D','','UTC'),'yyyy-MM-dd','UTC'), 5, 2)","outputType":"STRING"}],"columns":["vc","vc0","vc1"],"resultFormat":"compactedList","limit":1}
druid.query.type scan
Select Operator
expressions: vc (type: double), vc0 (type: int), vc1 (type: string)
@@ -630,7 +630,7 @@ STAGE PLANS:
properties:
druid.fieldNames vc,vc0
druid.fieldTypes int,double
- druid.query.json {"queryType":"scan","dataSource":"default.druid_table_alltypesorc","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"filter":{"type":"and","fields":[{"type":"expression","expression":"(timestamp_extract(\"__time\",'QUARTER','US/Pacific') >= 4)"},{"type":"expression","expression":"(((CAST(timestamp_extract(\"__time\",'MONTH','US/Pacific'), 'DOUBLE') / 4) + 1) == 4)"}]},"virtualColumns":[{"type":"expression","name":"vc","expression":"timestamp_extract(\"__time\",'QUARTER','US/Pacific')","outputType":"LONG"},{"type":"expression","name":"vc0","expression":"((CAST(timestamp_extract(\"__time\",'MONTH','US/Pacific'), 'DOUBLE') / CAST(4, 'DOUBLE')) + CAST(1, 'DOUBLE'))","outputType":"DOUBLE"}],"columns":["vc","vc0"],"resultFormat":"compactedList","limit":1}
+ druid.query.json {"queryType":"scan","dataSource":"default.druid_table_alltypesorc","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"filter":{"type":"and","fields":[{"type":"expression","expression":"(timestamp_extract(\"__time\",'QUARTER','US/Pacific') >= 4)"},{"type":"expression","expression":"(((CAST(timestamp_extract(\"__time\",'MONTH','US/Pacific'), 'DOUBLE') / 4) + 1) == 4)"}]},"virtualColumns":[{"type":"expression","name":"vc","expression":"timestamp_extract(\"__time\",'QUARTER','US/Pacific')","outputType":"LONG"},{"type":"expression","name":"vc0","expression":"4","outputType":"DOUBLE"}],"columns":["vc","vc0"],"resultFormat":"compactedList","limit":1}
druid.query.type scan
Select Operator
expressions: vc (type: int), vc0 (type: double)
diff --git ql/src/test/results/clientpositive/druid/druidmini_floorTime.q.out ql/src/test/results/clientpositive/druid/druidmini_floorTime.q.out
index 8d9382443e..685f85ed37 100644
--- ql/src/test/results/clientpositive/druid/druidmini_floorTime.q.out
+++ ql/src/test/results/clientpositive/druid/druidmini_floorTime.q.out
@@ -590,7 +590,7 @@ STAGE PLANS:
properties:
druid.fieldNames vc,vc0,vc1
druid.fieldTypes double,int,string
- druid.query.json {"queryType":"scan","dataSource":"default.druid_table_alltypesorc","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"filter":{"type":"and","fields":[{"type":"expression","expression":"(((CAST(timestamp_extract(\"__time\",'MONTH','US/Pacific'), 'DOUBLE') / 4) + 1) == 4)"},{"type":"bound","dimension":"__time","lower":"11","lowerStrict":false,"upper":"12","upperStrict":false,"ordering":"numeric","extractionFn":{"type":"timeFormat","format":"M","timeZone":"US/Pacific","locale":"en-US"}}]},"virtualColumns":[{"type":"expression","name":"vc","expression":"((CAST(timestamp_extract(\"__time\",'MONTH','US/Pacific'), 'DOUBLE') / CAST(4, 'DOUBLE')) + CAST(1, 'DOUBLE'))","outputType":"DOUBLE"},{"type":"expression","name":"vc0","expression":"timestamp_extract(\"__time\",'MONTH','US/Pacific')","outputType":"LONG"},{"type":"expression","name":"vc1","expression":"substring(timestamp_format(timestamp_floor(timestamp_parse(timestamp_format(\"__time\",'yyyy-MM-dd\\u0027T\\u0027HH:mm:ss.SSS\\u0027Z\\u0027','US/Pacific'),'','UTC'),'P1D','','UTC'),'yyyy-MM-dd','UTC'), 5, 2)","outputType":"STRING"}],"columns":["vc","vc0","vc1"],"resultFormat":"compactedList","limit":1}
+ druid.query.json {"queryType":"scan","dataSource":"default.druid_table_alltypesorc","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"filter":{"type":"and","fields":[{"type":"expression","expression":"(((CAST(timestamp_extract(\"__time\",'MONTH','US/Pacific'), 'DOUBLE') / 4) + 1) == 4)"},{"type":"bound","dimension":"__time","lower":"11","lowerStrict":false,"upper":"12","upperStrict":false,"ordering":"numeric","extractionFn":{"type":"timeFormat","format":"M","timeZone":"US/Pacific","locale":"en-US"}}]},"virtualColumns":[{"type":"expression","name":"vc","expression":"4","outputType":"DOUBLE"},{"type":"expression","name":"vc0","expression":"timestamp_extract(\"__time\",'MONTH','US/Pacific')","outputType":"LONG"},{"type":"expression","name":"vc1","expression":"substring(timestamp_format(timestamp_floor(timestamp_parse(timestamp_format(\"__time\",'yyyy-MM-dd\\u0027T\\u0027HH:mm:ss.SSS\\u0027Z\\u0027','US/Pacific'),'','UTC'),'P1D','','UTC'),'yyyy-MM-dd','UTC'), 5, 2)","outputType":"STRING"}],"columns":["vc","vc0","vc1"],"resultFormat":"compactedList","limit":1}
druid.query.type scan
Select Operator
expressions: vc (type: double), vc0 (type: int), vc1 (type: string)
@@ -631,7 +631,7 @@ STAGE PLANS:
properties:
druid.fieldNames vc,vc0
druid.fieldTypes int,double
- druid.query.json {"queryType":"scan","dataSource":"default.druid_table_alltypesorc","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"filter":{"type":"and","fields":[{"type":"expression","expression":"(timestamp_extract(\"__time\",'QUARTER','US/Pacific') >= 4)"},{"type":"expression","expression":"(((CAST(timestamp_extract(\"__time\",'MONTH','US/Pacific'), 'DOUBLE') / 4) + 1) == 4)"}]},"virtualColumns":[{"type":"expression","name":"vc","expression":"timestamp_extract(\"__time\",'QUARTER','US/Pacific')","outputType":"LONG"},{"type":"expression","name":"vc0","expression":"((CAST(timestamp_extract(\"__time\",'MONTH','US/Pacific'), 'DOUBLE') / CAST(4, 'DOUBLE')) + CAST(1, 'DOUBLE'))","outputType":"DOUBLE"}],"columns":["vc","vc0"],"resultFormat":"compactedList","limit":1}
+ druid.query.json {"queryType":"scan","dataSource":"default.druid_table_alltypesorc","intervals":["1900-01-01T00:00:00.000Z/3000-01-01T00:00:00.000Z"],"filter":{"type":"and","fields":[{"type":"expression","expression":"(timestamp_extract(\"__time\",'QUARTER','US/Pacific') >= 4)"},{"type":"expression","expression":"(((CAST(timestamp_extract(\"__time\",'MONTH','US/Pacific'), 'DOUBLE') / 4) + 1) == 4)"}]},"virtualColumns":[{"type":"expression","name":"vc","expression":"timestamp_extract(\"__time\",'QUARTER','US/Pacific')","outputType":"LONG"},{"type":"expression","name":"vc0","expression":"4","outputType":"DOUBLE"}],"columns":["vc","vc0"],"resultFormat":"compactedList","limit":1}
druid.query.type scan
Select Operator
expressions: vc (type: int), vc0 (type: double)
diff --git ql/src/test/results/clientpositive/druid/druidmini_test_ts.q.out ql/src/test/results/clientpositive/druid/druidmini_test_ts.q.out
index 358e98b674..917e22a32a 100644
--- ql/src/test/results/clientpositive/druid/druidmini_test_ts.q.out
+++ ql/src/test/results/clientpositive/druid/druidmini_test_ts.q.out
@@ -406,18 +406,15 @@ STAGE PLANS:
Processor Tree:
TableScan
alias: druid_table_alltypesorc
- filterExpr: (vc BETWEEN TIMESTAMPLOCALTZ'2010-01-01 00:00:00.0 US/Pacific' AND TIMESTAMPLOCALTZ'2011-01-01 00:00:00.0 US/Pacific' or vc BETWEEN TIMESTAMPLOCALTZ'2012-01-01 00:00:00.0 US/Pacific' AND TIMESTAMPLOCALTZ'2013-01-01 00:00:00.0 US/Pacific') (type: boolean)
properties:
druid.fieldNames vc
druid.fieldTypes timestamp with local time zone
- druid.query.json {"queryType":"scan","dataSource":"default.druid_table_alltypesorc","intervals":["1900-01-01T00:00:00.000Z/2013-01-01T08:00:00.001Z"],"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc"],"resultFormat":"compactedList"}
+ druid.query.json {"queryType":"scan","dataSource":"default.druid_table_alltypesorc","intervals":["2010-01-01T08:00:00.000Z/2011-01-01T08:00:00.001Z","2012-01-01T08:00:00.000Z/2013-01-01T08:00:00.001Z"],"virtualColumns":[{"type":"expression","name":"vc","expression":"\"__time\"","outputType":"LONG"}],"columns":["vc"],"resultFormat":"compactedList"}
druid.query.type scan
- Filter Operator
- predicate: (vc BETWEEN TIMESTAMPLOCALTZ'2010-01-01 00:00:00.0 US/Pacific' AND TIMESTAMPLOCALTZ'2011-01-01 00:00:00.0 US/Pacific' or vc BETWEEN TIMESTAMPLOCALTZ'2012-01-01 00:00:00.0 US/Pacific' AND TIMESTAMPLOCALTZ'2013-01-01 00:00:00.0 US/Pacific') (type: boolean)
- Select Operator
- expressions: vc (type: timestamp with local time zone)
- outputColumnNames: _col0
- ListSink
+ Select Operator
+ expressions: vc (type: timestamp with local time zone)
+ outputColumnNames: _col0
+ ListSink
PREHOOK: query: EXPLAIN
SELECT `__time`
diff --git ql/src/test/results/clientpositive/dynamic_partition_skip_default.q.out ql/src/test/results/clientpositive/dynamic_partition_skip_default.q.out
index 0c2ad97bdd..cd8e9c0553 100644
--- ql/src/test/results/clientpositive/dynamic_partition_skip_default.q.out
+++ ql/src/test/results/clientpositive/dynamic_partition_skip_default.q.out
@@ -214,6 +214,9 @@ POSTHOOK: Input: default@dynamic_part_table
POSTHOOK: Input: default@dynamic_part_table@partcol1=1/partcol2=1
POSTHOOK: Input: default@dynamic_part_table@partcol1=1/partcol2=__HIVE_DEFAULT_PARTITION__
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `intcol`
+FROM `default`.`dynamic_part_table`
+WHERE `partcol2` IN ('1', '__HIVE_DEFAULT_PARTITION__') AND `partcol1` = '1'
STAGE DEPENDENCIES:
Stage-0 is a root stage
diff --git ql/src/test/results/clientpositive/encrypted/encryption_join_unencrypted_tbl.q.out ql/src/test/results/clientpositive/encrypted/encryption_join_unencrypted_tbl.q.out
index e5e6fd1f48..feaf814fe6 100644
--- ql/src/test/results/clientpositive/encrypted/encryption_join_unencrypted_tbl.q.out
+++ ql/src/test/results/clientpositive/encrypted/encryption_join_unencrypted_tbl.q.out
@@ -545,10 +545,10 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
OPTIMIZED SQL: SELECT `t0`.`key`, `t0`.`value`, `t2`.`key` AS `key1`, `t2`.`value` AS `value1`
FROM (SELECT `key`, `value`, CAST(`key` AS DOUBLE) AS `CAST`
FROM `default`.`src`
-WHERE `key` IS NOT NULL) AS `t0`
+WHERE CAST(`key` AS DOUBLE) IS NOT NULL) AS `t0`
INNER JOIN (SELECT `key`, `value`, CAST(`key` AS DOUBLE) AS `CAST`
FROM `default`.`encrypted_table`
-WHERE `key` IS NOT NULL) AS `t2` ON `t0`.`CAST` = `t2`.`CAST`
+WHERE CAST(`key` AS DOUBLE) IS NOT NULL) AS `t2` ON `t0`.`CAST` = `t2`.`CAST`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -559,12 +559,12 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: t1
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string), UDFToDouble(key) (type: double)
@@ -581,12 +581,12 @@ STAGE PLANS:
auto parallelism: false
TableScan
alias: t2
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), value (type: string), UDFToDouble(key) (type: double)
diff --git ql/src/test/results/clientpositive/except_all.q.out ql/src/test/results/clientpositive/except_all.q.out
index 24a7dfbcf8..da862bcb2e 100644
--- ql/src/test/results/clientpositive/except_all.q.out
+++ ql/src/test/results/clientpositive/except_all.q.out
@@ -318,7 +318,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3
Statistics: Num rows: 250 Data size: 48500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: ((2 * _col2) - (3 * _col3)) (type: bigint), _col0 (type: string), _col1 (type: string)
+ expressions: ((2L * _col2) - (3L * _col3)) (type: bigint), _col0 (type: string), _col1 (type: string)
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 250 Data size: 46500 Basic stats: COMPLETE Column stats: COMPLETE
UDTF Operator
@@ -505,7 +505,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3
Statistics: Num rows: 250 Data size: 48500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: ((2 * _col2) - (3 * _col3)) (type: bigint), _col0 (type: string), _col1 (type: string)
+ expressions: ((2L * _col2) - (3L * _col3)) (type: bigint), _col0 (type: string), _col1 (type: string)
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 250 Data size: 46500 Basic stats: COMPLETE Column stats: COMPLETE
UDTF Operator
@@ -609,7 +609,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3
Statistics: Num rows: 125 Data size: 24250 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (((_col2 * 2) = _col3) and (_col2 > 0L)) (type: boolean)
+ predicate: (((_col2 * 2L) = _col3) and (_col2 > 0L)) (type: boolean)
Statistics: Num rows: 20 Data size: 3880 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: string)
@@ -683,7 +683,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3
Statistics: Num rows: 135 Data size: 26190 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (((_col2 * 2) = _col3) and (_col2 > 0L)) (type: boolean)
+ predicate: (((_col2 * 2L) = _col3) and (_col2 > 0L)) (type: boolean)
Statistics: Num rows: 22 Data size: 4268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: string)
@@ -950,7 +950,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 2 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (((_col1 * 2) = _col2) and (_col1 > 0L)) (type: boolean)
+ predicate: (((_col1 * 2L) = _col2) and (_col1 > 0L)) (type: boolean)
Statistics: Num rows: 1 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int)
diff --git ql/src/test/results/clientpositive/filter_cond_pushdown.q.out ql/src/test/results/clientpositive/filter_cond_pushdown.q.out
index 8627583c37..75965439b5 100644
--- ql/src/test/results/clientpositive/filter_cond_pushdown.q.out
+++ ql/src/test/results/clientpositive/filter_cond_pushdown.q.out
@@ -341,7 +341,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col4
Statistics: Num rows: 6 Data size: 582 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (((_col1 + _col4) > 2) or _col2) (type: boolean)
+ predicate: (((_col1 + _col4) > 2.0) or _col2) (type: boolean)
Statistics: Num rows: 5 Data size: 485 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string)
diff --git ql/src/test/results/clientpositive/fold_case.q.out ql/src/test/results/clientpositive/fold_case.q.out
index f4ef28dae5..53d19c5656 100644
--- ql/src/test/results/clientpositive/fold_case.q.out
+++ ql/src/test/results/clientpositive/fold_case.q.out
@@ -76,10 +76,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src
- filterExpr: (not COALESCE((key = '238'),false)) (type: boolean)
+ filterExpr: (key = '238') is not true (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (not COALESCE((key = '238'),false)) (type: boolean)
+ predicate: (key = '238') is not true (type: boolean)
Statistics: Num rows: 250 Data size: 21750 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
Statistics: Num rows: 250 Data size: 21750 Basic stats: COMPLETE Column stats: COMPLETE
@@ -384,13 +384,13 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src
- filterExpr: (not COALESCE((key = '238'),false)) (type: boolean)
+ filterExpr: (key = '238') is not true (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (not COALESCE((key = '238'),false)) (type: boolean)
+ predicate: (key = '238') is not true (type: boolean)
Statistics: Num rows: 250 Data size: 21750 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: CASE WHEN ((key = '238')) THEN (null) ELSE (false) END (type: boolean)
+ expressions: ((key = '238') is true and null) (type: boolean)
outputColumnNames: _col0
Statistics: Num rows: 250 Data size: 1000 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
@@ -473,10 +473,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src
- filterExpr: CASE WHEN ((key = '238')) THEN (null) ELSE (true) END (type: boolean)
+ filterExpr: (key = '238') is not true (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN ((key = '238')) THEN (null) ELSE (true) END (type: boolean)
+ predicate: (key = '238') is not true (type: boolean)
Statistics: Num rows: 250 Data size: 21750 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
Statistics: Num rows: 250 Data size: 21750 Basic stats: COMPLETE Column stats: COMPLETE
diff --git ql/src/test/results/clientpositive/fold_eq_with_case_when.q.out ql/src/test/results/clientpositive/fold_eq_with_case_when.q.out
index 7bd756a863..2b87d3b26f 100644
--- ql/src/test/results/clientpositive/fold_eq_with_case_when.q.out
+++ ql/src/test/results/clientpositive/fold_eq_with_case_when.q.out
@@ -236,18 +236,17 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src
- filterExpr: CASE WHEN ((key <> '238')) THEN ((key = '238')) WHEN ((key = '23')) THEN ((key = '238')) ELSE (null) END (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN ((key <> '238')) THEN ((key = '238')) WHEN ((key = '23')) THEN ((key = '238')) ELSE (null) END (type: boolean)
- Statistics: Num rows: 250 Data size: 21750 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: false (type: boolean)
+ Statistics: Num rows: 1 Data size: 87 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 250 Data size: 21750 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 1 Data size: 87 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 250 Data size: 21750 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 1 Data size: 87 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
diff --git ql/src/test/results/clientpositive/fold_to_null.q.out ql/src/test/results/clientpositive/fold_to_null.q.out
index 84c379e42e..5104400a1a 100644
--- ql/src/test/results/clientpositive/fold_to_null.q.out
+++ ql/src/test/results/clientpositive/fold_to_null.q.out
@@ -161,10 +161,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: t
- filterExpr: (((a > 5) or null) and ((a * a) < 101) and a is not null) (type: boolean)
+ filterExpr: ((a > 5) and ((a * a) < 101)) (type: boolean)
Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (((a * a) < 101) and ((a > 5) or null) and a is not null) (type: boolean)
+ predicate: (((a * a) < 101) and (a > 5)) (type: boolean)
Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: a (type: int)
@@ -177,10 +177,10 @@ STAGE PLANS:
Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
TableScan
alias: t2
- filterExpr: (((b > 5) or null) and ((b * b) < 101) and b is not null) (type: boolean)
+ filterExpr: ((b > 5) and ((b * b) < 101)) (type: boolean)
Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (((b * b) < 101) and ((b > 5) or null) and b is not null) (type: boolean)
+ predicate: (((b * b) < 101) and (b > 5)) (type: boolean)
Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: b (type: int)
@@ -218,10 +218,10 @@ STAGE PLANS:
Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
TableScan
alias: t3
- filterExpr: (((c > 5) or null) and ((c * c) < 101) and c is not null) (type: boolean)
+ filterExpr: ((c > 5) and ((c * c) < 101)) (type: boolean)
Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (((c * c) < 101) and ((c > 5) or null) and c is not null) (type: boolean)
+ predicate: (((c * c) < 101) and (c > 5)) (type: boolean)
Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: c (type: int)
diff --git ql/src/test/results/clientpositive/fold_when.q.out ql/src/test/results/clientpositive/fold_when.q.out
index 2cf30b5b4d..2ff8595b73 100644
--- ql/src/test/results/clientpositive/fold_when.q.out
+++ ql/src/test/results/clientpositive/fold_when.q.out
@@ -376,10 +376,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src
- filterExpr: (not COALESCE((key = '238'),false)) (type: boolean)
+ filterExpr: (key = '238') is not true (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (not COALESCE((key = '238'),false)) (type: boolean)
+ predicate: (key = '238') is not true (type: boolean)
Statistics: Num rows: 250 Data size: 21750 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string)
@@ -501,10 +501,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src
- filterExpr: (not COALESCE((key = '11'),false)) (type: boolean)
+ filterExpr: (key = '11') is not true (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (not COALESCE((key = '11'),false)) (type: boolean)
+ predicate: (key = '11') is not true (type: boolean)
Statistics: Num rows: 250 Data size: 21750 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string)
diff --git ql/src/test/results/clientpositive/groupby_grouping_sets_grouping.q.out ql/src/test/results/clientpositive/groupby_grouping_sets_grouping.q.out
index 33e68882ff..3d270ec485 100644
--- ql/src/test/results/clientpositive/groupby_grouping_sets_grouping.q.out
+++ ql/src/test/results/clientpositive/groupby_grouping_sets_grouping.q.out
@@ -61,7 +61,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint), grouping(_col2, 1) (type: bigint), grouping(_col2, 0) (type: bigint)
+ expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint), grouping(_col2, 1L) (type: bigint), grouping(_col2, 0L) (type: bigint)
outputColumnNames: _col0, _col1, _col2, _col3, _col4
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -148,7 +148,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint), grouping(_col2, 1) (type: bigint), grouping(_col2, 0) (type: bigint)
+ expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint), grouping(_col2, 1L) (type: bigint), grouping(_col2, 0L) (type: bigint)
outputColumnNames: _col0, _col1, _col2, _col3, _col4
Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -242,7 +242,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (grouping(_col2, 1) = 1) (type: boolean)
+ predicate: (grouping(_col2, 1L) = 1L) (type: boolean)
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: int)
@@ -334,10 +334,10 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((grouping(_col2, 0) = 1) or (grouping(_col2, 1) = 1)) (type: boolean)
+ predicate: ((grouping(_col2, 0L) = 1L) or (grouping(_col2, 1L) = 1L)) (type: boolean)
Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col0 (type: int), _col1 (type: int), (grouping(_col2, 1) + grouping(_col2, 0)) (type: bigint), CASE WHEN (((grouping(_col2, 1) + grouping(_col2, 0)) = 1)) THEN (_col0) ELSE (null) END (type: int)
+ expressions: _col0 (type: int), _col1 (type: int), (grouping(_col2, 1L) + grouping(_col2, 0L)) (type: bigint), CASE WHEN (((grouping(_col2, 1L) + grouping(_col2, 0L)) = 1L)) THEN (_col0) ELSE (null) END (type: int)
outputColumnNames: _col0, _col1, _col2, _col3
Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column stats: NONE
File Output Operator
diff --git ql/src/test/results/clientpositive/groupby_rollup_empty.q.out ql/src/test/results/clientpositive/groupby_rollup_empty.q.out
index ecfd766526..56f30cdc44 100644
--- ql/src/test/results/clientpositive/groupby_rollup_empty.q.out
+++ ql/src/test/results/clientpositive/groupby_rollup_empty.q.out
@@ -194,7 +194,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3
Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col3 (type: bigint), grouping(_col2, 0) (type: bigint), 'NULL,1' (type: string)
+ expressions: _col3 (type: bigint), grouping(_col2, 0L) (type: bigint), 'NULL,1' (type: string)
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: NONE
File Output Operator
diff --git ql/src/test/results/clientpositive/groupby_sort_1_23.q.out ql/src/test/results/clientpositive/groupby_sort_1_23.q.out
index e4ca83b0f4..d915c07fa9 100644
--- ql/src/test/results/clientpositive/groupby_sort_1_23.q.out
+++ ql/src/test/results/clientpositive/groupby_sort_1_23.q.out
@@ -2478,9 +2478,9 @@ SELECT key, key + 1, count(1) FROM T1_n80 GROUP BY key, key + 1
POSTHOOK: type: QUERY
POSTHOOK: Input: default@t1_n80
POSTHOOK: Output: default@outputtbl3_n2
-OPTIMIZED SQL: SELECT `key` AS `$f0`, CAST(`key` AS DOUBLE) + CAST(1 AS DOUBLE) AS `$f1`, COUNT(*) AS `$f2`
+OPTIMIZED SQL: SELECT `key` AS `$f0`, CAST(`key` AS DOUBLE) + 1 AS `$f1`, COUNT(*) AS `$f2`
FROM `default`.`t1_n80`
-GROUP BY `key`, CAST(`key` AS DOUBLE) + CAST(1 AS DOUBLE)
+GROUP BY `key`, CAST(`key` AS DOUBLE) + 1
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
diff --git ql/src/test/results/clientpositive/groupby_sort_skew_1_23.q.out ql/src/test/results/clientpositive/groupby_sort_skew_1_23.q.out
index 7f1a231152..93c98fd9bc 100644
--- ql/src/test/results/clientpositive/groupby_sort_skew_1_23.q.out
+++ ql/src/test/results/clientpositive/groupby_sort_skew_1_23.q.out
@@ -2618,9 +2618,9 @@ SELECT key, key + 1, count(1) FROM T1_n56 GROUP BY key, key + 1
POSTHOOK: type: QUERY
POSTHOOK: Input: default@t1_n56
POSTHOOK: Output: default@outputtbl3_n1
-OPTIMIZED SQL: SELECT `key` AS `$f0`, CAST(`key` AS DOUBLE) + CAST(1 AS DOUBLE) AS `$f1`, COUNT(*) AS `$f2`
+OPTIMIZED SQL: SELECT `key` AS `$f0`, CAST(`key` AS DOUBLE) + 1 AS `$f1`, COUNT(*) AS `$f2`
FROM `default`.`t1_n56`
-GROUP BY `key`, CAST(`key` AS DOUBLE) + CAST(1 AS DOUBLE)
+GROUP BY `key`, CAST(`key` AS DOUBLE) + 1
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-2 depends on stages: Stage-1
diff --git ql/src/test/results/clientpositive/in_typecheck_char.q.out ql/src/test/results/clientpositive/in_typecheck_char.q.out
index 464aad5924..cb9e777ad0 100644
--- ql/src/test/results/clientpositive/in_typecheck_char.q.out
+++ ql/src/test/results/clientpositive/in_typecheck_char.q.out
@@ -211,10 +211,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: ax
- filterExpr: (((s = 'a') and (t = 'a ')) or ((s = null) and (t = 'bb '))) is null (type: boolean)
+ filterExpr: (((s = 'a') and (t = 'a ')) or (null and (t = 'bb '))) is null (type: boolean)
Statistics: Num rows: 3 Data size: 510 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (((s = 'a') and (t = 'a ')) or ((s = null) and (t = 'bb '))) is null (type: boolean)
+ predicate: (((s = 'a') and (t = 'a ')) or (null and (t = 'bb '))) is null (type: boolean)
Statistics: Num rows: 1 Data size: 170 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
Statistics: Num rows: 1 Data size: 170 Basic stats: COMPLETE Column stats: COMPLETE
diff --git ql/src/test/results/clientpositive/infer_bucket_sort_map_operators.q.out ql/src/test/results/clientpositive/infer_bucket_sort_map_operators.q.out
index cd9fb275c4..b892d2e10a 100644
--- ql/src/test/results/clientpositive/infer_bucket_sort_map_operators.q.out
+++ ql/src/test/results/clientpositive/infer_bucket_sort_map_operators.q.out
@@ -286,7 +286,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1
Statistics: Num rows: 316 Data size: 30020 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: _col1 is not null (type: boolean)
+ predicate: UDFToDouble(_col1) is not null (type: boolean)
Statistics: Num rows: 316 Data size: 30020 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: bigint), UDFToDouble(_col1) (type: double)
@@ -300,10 +300,10 @@ STAGE PLANS:
value expressions: _col0 (type: string), _col1 (type: bigint)
TableScan
alias: src
- filterExpr: value is not null (type: boolean)
+ filterExpr: UDFToDouble(value) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 45500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: value is not null (type: boolean)
+ predicate: UDFToDouble(value) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 45500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: UDFToDouble(value) (type: double)
diff --git ql/src/test/results/clientpositive/infer_join_preds.q.out ql/src/test/results/clientpositive/infer_join_preds.q.out
index 0afdd029be..185d0f89de 100644
--- ql/src/test/results/clientpositive/infer_join_preds.q.out
+++ ql/src/test/results/clientpositive/infer_join_preds.q.out
@@ -1179,7 +1179,7 @@ STAGE PLANS:
predicate: prid is not null (type: boolean)
Statistics: Num rows: 1 Data size: 668 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: idp_warehouse_id (type: bigint), prid (type: bigint), concat(CAST( prid AS STRING), ',', CASE WHEN (prtimesheetid is null) THEN (1) ELSE (prtimesheetid) END, ',', CASE WHEN (prassignmentid is null) THEN (1) ELSE (prassignmentid) END, ',', CASE WHEN (prchargecodeid is null) THEN (1) ELSE (prchargecodeid) END, ',', CASE WHEN (prtypecodeid is null) THEN ('') ELSE (CAST( prtypecodeid AS STRING)) END, ',', CASE WHEN (practsum is null) THEN (1) ELSE (practsum) END, ',', CASE WHEN (prsequence is null) THEN (1) ELSE (prsequence) END, ',', CASE WHEN (length(prmodby) is null) THEN ('') ELSE (prmodby) END, ',', CASE WHEN (prmodtime is null) THEN (TIMESTAMP'2017-12-08 00:00:00') ELSE (prmodtime) END, ',', CASE WHEN (prrmexported is null) THEN (1) ELSE (prrmexported) END, ',', CASE WHEN (prrmckdel is null) THEN (1) ELSE (prrmckdel) END, ',', CASE WHEN (slice_status is null) THEN (1) ELSE (slice_status) END, ',', CASE WHEN (role_id is null) THEN (1) ELSE (role_id) END, ',', CASE WHEN (length(user_lov1) is null) THEN ('') ELSE (user_lov1) END, ',', CASE WHEN (length(user_lov2) is null) THEN ('') ELSE (user_lov2) END, ',', CASE WHEN (incident_id is null) THEN (1) ELSE (incident_id) END, ',', CASE WHEN (incident_investment_id is null) THEN (1) ELSE (incident_investment_id) END, ',', CASE WHEN (odf_ss_actuals is null) THEN (1) ELSE (odf_ss_actuals) END) (type: string)
+ expressions: idp_warehouse_id (type: bigint), prid (type: bigint), concat(CAST( CASE WHEN (prid is null) THEN (1) ELSE (prid) END AS STRING), ',', CASE WHEN (prtimesheetid is null) THEN (1) ELSE (prtimesheetid) END, ',', CASE WHEN (prassignmentid is null) THEN (1) ELSE (prassignmentid) END, ',', CASE WHEN (prchargecodeid is null) THEN (1) ELSE (prchargecodeid) END, ',', CASE WHEN (prtypecodeid is null) THEN ('') ELSE (CAST( prtypecodeid AS STRING)) END, ',', CASE WHEN (practsum is null) THEN (1) ELSE (practsum) END, ',', CASE WHEN (prsequence is null) THEN (1) ELSE (prsequence) END, ',', CASE WHEN (length(prmodby) is null) THEN ('') ELSE (prmodby) END, ',', CASE WHEN (prmodtime is null) THEN (TIMESTAMP'2017-12-08 00:00:00') ELSE (prmodtime) END, ',', CASE WHEN (prrmexported is null) THEN (1) ELSE (prrmexported) END, ',', CASE WHEN (prrmckdel is null) THEN (1) ELSE (prrmckdel) END, ',', CASE WHEN (slice_status is null) THEN (1) ELSE (slice_status) END, ',', CASE WHEN (role_id is null) THEN (1) ELSE (role_id) END, ',', CASE WHEN (length(user_lov1) is null) THEN ('') ELSE (user_lov1) END, ',', CASE WHEN (length(user_lov2) is null) THEN ('') ELSE (user_lov2) END, ',', CASE WHEN (incident_id is null) THEN (1) ELSE (incident_id) END, ',', CASE WHEN (incident_investment_id is null) THEN (1) ELSE (incident_investment_id) END, ',', CASE WHEN (odf_ss_actuals is null) THEN (1) ELSE (odf_ss_actuals) END) (type: string)
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 1 Data size: 668 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
@@ -1238,7 +1238,7 @@ STAGE PLANS:
predicate: prid is not null (type: boolean)
Statistics: Num rows: 1 Data size: 776 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: prid (type: bigint), concat(CASE WHEN (length(pruid) is null) THEN ('') ELSE (pruid) END, ',', prid, ',', CASE WHEN (prtimesheetid is null) THEN (1) ELSE (prtimesheetid) END, ',', CASE WHEN (prassignmentid is null) THEN (1) ELSE (prassignmentid) END, ',', CASE WHEN (prchargecodeid is null) THEN (1) ELSE (prchargecodeid) END, ',', CASE WHEN (prtypecodeid is null) THEN ('') ELSE (CAST( prtypecodeid AS STRING)) END, ',', CASE WHEN (practsum is null) THEN (1) ELSE (practsum) END, ',', CASE WHEN (prsequence is null) THEN (1) ELSE (prsequence) END, ',', CASE WHEN (length(prmodby) is null) THEN ('') ELSE (prmodby) END, ',', CASE WHEN (prmodtime is null) THEN (TIMESTAMP'2017-12-08 00:00:00') ELSE (prmodtime) END, ',', CASE WHEN (prrmexported is null) THEN (1) ELSE (prrmexported) END, ',', CASE WHEN (prrmckdel is null) THEN (1) ELSE (prrmckdel) END, ',', CASE WHEN (slice_status is null) THEN (1) ELSE (slice_status) END, ',', CASE WHEN (role_id is null) THEN (1) ELSE (role_id) END, ',', CASE WHEN (length(user_lov1) is null) THEN ('') ELSE (user_lov1) END, ',', CASE WHEN (length(user_lov2) is null) THEN ('') ELSE (user_lov2) END, ',', CASE WHEN (incident_id is null) THEN (1) ELSE (incident_id) END, ',', CASE WHEN (incident_investment_id is null) THEN (1) ELSE (incident_investment_id) END, ',', CASE WHEN (odf_ss_actuals is null) THEN (1) ELSE (odf_ss_actuals) END) (type: string)
+ expressions: prid (type: bigint), concat(CASE WHEN (length(pruid) is null) THEN ('') ELSE (pruid) END, ',', CASE WHEN (prid is null) THEN (1) ELSE (prid) END, ',', CASE WHEN (prtimesheetid is null) THEN (1) ELSE (prtimesheetid) END, ',', CASE WHEN (prassignmentid is null) THEN (1) ELSE (prassignmentid) END, ',', CASE WHEN (prchargecodeid is null) THEN (1) ELSE (prchargecodeid) END, ',', CASE WHEN (prtypecodeid is null) THEN ('') ELSE (CAST( prtypecodeid AS STRING)) END, ',', CASE WHEN (practsum is null) THEN (1) ELSE (practsum) END, ',', CASE WHEN (prsequence is null) THEN (1) ELSE (prsequence) END, ',', CASE WHEN (length(prmodby) is null) THEN ('') ELSE (prmodby) END, ',', CASE WHEN (prmodtime is null) THEN (TIMESTAMP'2017-12-08 00:00:00') ELSE (prmodtime) END, ',', CASE WHEN (prrmexported is null) THEN (1) ELSE (prrmexported) END, ',', CASE WHEN (prrmckdel is null) THEN (1) ELSE (prrmckdel) END, ',', CASE WHEN (slice_status is null) THEN (1) ELSE (slice_status) END, ',', CASE WHEN (role_id is null) THEN (1) ELSE (role_id) END, ',', CASE WHEN (length(user_lov1) is null) THEN ('') ELSE (user_lov1) END, ',', CASE WHEN (length(user_lov2) is null) THEN ('') ELSE (user_lov2) END, ',', CASE WHEN (incident_id is null) THEN (1) ELSE (incident_id) END, ',', CASE WHEN (incident_investment_id is null) THEN (1) ELSE (incident_investment_id) END, ',', CASE WHEN (odf_ss_actuals is null) THEN (1) ELSE (odf_ss_actuals) END) (type: string)
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 776 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
diff --git ql/src/test/results/clientpositive/innerjoin1.q.out ql/src/test/results/clientpositive/innerjoin1.q.out
index cfc2c06bbc..7a1f105628 100644
--- ql/src/test/results/clientpositive/innerjoin1.q.out
+++ ql/src/test/results/clientpositive/innerjoin1.q.out
@@ -82,37 +82,37 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: c1
- filterExpr: CASE WHEN (a1 is not null) THEN (a1 is not null) ELSE (a2 is not null) END (type: boolean)
+ filterExpr: (a1 is not null or a2 is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 340 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN (a1 is not null) THEN (a1 is not null) ELSE (a2 is not null) END (type: boolean)
- Statistics: Num rows: 1 Data size: 170 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (a1 is not null or a2 is not null) (type: boolean)
+ Statistics: Num rows: 2 Data size: 340 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: a1 (type: string), a2 (type: string), CASE WHEN (a1 is not null) THEN (a1) ELSE (a2) END (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 354 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 2 Data size: 708 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col2 (type: string)
sort order: +
Map-reduce partition columns: _col2 (type: string)
- Statistics: Num rows: 1 Data size: 354 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 2 Data size: 708 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col0 (type: string), _col1 (type: string)
TableScan
alias: c2
- filterExpr: CASE WHEN (b1 is not null) THEN (b1 is not null) ELSE (b2 is not null) END (type: boolean)
+ filterExpr: (b1 is not null or b2 is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 340 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN (b1 is not null) THEN (b1 is not null) ELSE (b2 is not null) END (type: boolean)
- Statistics: Num rows: 1 Data size: 170 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (b1 is not null or b2 is not null) (type: boolean)
+ Statistics: Num rows: 2 Data size: 340 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: b1 (type: string), b2 (type: string), CASE WHEN (b1 is not null) THEN (b1) ELSE (b2) END (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 354 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 2 Data size: 708 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col2 (type: string)
sort order: +
Map-reduce partition columns: _col2 (type: string)
- Statistics: Num rows: 1 Data size: 354 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 2 Data size: 708 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col0 (type: string), _col1 (type: string)
Reduce Operator Tree:
Join Operator
@@ -122,14 +122,14 @@ STAGE PLANS:
0 _col2 (type: string)
1 _col2 (type: string)
outputColumnNames: _col0, _col1, _col3, _col4
- Statistics: Num rows: 1 Data size: 340 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 2 Data size: 680 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: string), _col3 (type: string), _col4 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3
- Statistics: Num rows: 1 Data size: 340 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 2 Data size: 680 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 340 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 2 Data size: 680 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -173,37 +173,37 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: c1
- filterExpr: CASE WHEN (a1 is not null) THEN (a1 is not null) ELSE (a2 is not null) END (type: boolean)
+ filterExpr: (a1 is not null or a2 is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 340 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN (a1 is not null) THEN (a1 is not null) ELSE (a2 is not null) END (type: boolean)
- Statistics: Num rows: 1 Data size: 170 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (a1 is not null or a2 is not null) (type: boolean)
+ Statistics: Num rows: 2 Data size: 340 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: a1 (type: string), a2 (type: string), CASE WHEN (a1 is not null) THEN (a1) ELSE (a2) END (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 354 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 2 Data size: 708 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col2 (type: string)
sort order: +
Map-reduce partition columns: _col2 (type: string)
- Statistics: Num rows: 1 Data size: 354 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 2 Data size: 708 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col0 (type: string), _col1 (type: string)
TableScan
alias: c2
- filterExpr: CASE WHEN (b1 is not null) THEN (b1 is not null) ELSE (b2 is not null) END (type: boolean)
+ filterExpr: (b1 is not null or b2 is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 340 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN (b1 is not null) THEN (b1 is not null) ELSE (b2 is not null) END (type: boolean)
- Statistics: Num rows: 1 Data size: 170 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (b1 is not null or b2 is not null) (type: boolean)
+ Statistics: Num rows: 2 Data size: 340 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: b1 (type: string), b2 (type: string), CASE WHEN (b1 is not null) THEN (b1) ELSE (b2) END (type: string)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 354 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 2 Data size: 708 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col2 (type: string)
sort order: +
Map-reduce partition columns: _col2 (type: string)
- Statistics: Num rows: 1 Data size: 354 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 2 Data size: 708 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col0 (type: string), _col1 (type: string)
Reduce Operator Tree:
Join Operator
@@ -213,14 +213,14 @@ STAGE PLANS:
0 _col2 (type: string)
1 _col2 (type: string)
outputColumnNames: _col0, _col1, _col3, _col4
- Statistics: Num rows: 1 Data size: 340 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 2 Data size: 680 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: string), _col3 (type: string), _col4 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3
- Statistics: Num rows: 1 Data size: 340 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 2 Data size: 680 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 340 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 2 Data size: 680 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
diff --git ql/src/test/results/clientpositive/input8.q.out ql/src/test/results/clientpositive/input8.q.out
index 32daa0598f..781fb967df 100644
--- ql/src/test/results/clientpositive/input8.q.out
+++ ql/src/test/results/clientpositive/input8.q.out
@@ -34,14 +34,14 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src1
- Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: null (type: string), UDFToInteger((UDFToDouble(key) - null)) (type: int), null (type: double)
+ expressions: null (type: string), null (type: int), null (type: double)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 25 Data size: 192 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 25 Data size: 96 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 25 Data size: 192 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 25 Data size: 96 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.TextInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
@@ -50,7 +50,7 @@ STAGE PLANS:
Select Operator
expressions: _col0 (type: string), _col1 (type: int), _col2 (type: double)
outputColumnNames: c1, c2, c3
- Statistics: Num rows: 25 Data size: 192 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 25 Data size: 96 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: compute_stats(c1, 'hll'), compute_stats(c2, 'hll'), compute_stats(c3, 'hll')
minReductionHashAggr: 0.99
@@ -143,7 +143,7 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@src1
POSTHOOK: Output: default@dest1_n28
POSTHOOK: Lineage: dest1_n28.c1 EXPRESSION []
-POSTHOOK: Lineage: dest1_n28.c2 EXPRESSION [(src1)src1.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: dest1_n28.c2 EXPRESSION []
POSTHOOK: Lineage: dest1_n28.c3 EXPRESSION []
PREHOOK: query: SELECT dest1_n28.* FROM dest1_n28
PREHOOK: type: QUERY
diff --git ql/src/test/results/clientpositive/join2.q.out ql/src/test/results/clientpositive/join2.q.out
index ec9e436013..5d4ba816f8 100644
--- ql/src/test/results/clientpositive/join2.q.out
+++ ql/src/test/results/clientpositive/join2.q.out
@@ -30,10 +30,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src1
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -47,10 +47,10 @@ STAGE PLANS:
value expressions: _col1 (type: double)
TableScan
alias: src2
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -90,10 +90,10 @@ STAGE PLANS:
value expressions: _col0 (type: string)
TableScan
alias: src3
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: value (type: string), UDFToDouble(key) (type: double)
diff --git ql/src/test/results/clientpositive/join_filters_overlap.q.out ql/src/test/results/clientpositive/join_filters_overlap.q.out
index 6cd17d1ddb..41ebfccbbc 100644
--- ql/src/test/results/clientpositive/join_filters_overlap.q.out
+++ ql/src/test/results/clientpositive/join_filters_overlap.q.out
@@ -18,6 +18,15 @@ POSTHOOK: query: explain extended select * from a_n4 left outer join a_n4 b on (
POSTHOOK: type: QUERY
POSTHOOK: Input: default@a_n4
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `t`.`key`, `t`.`value`, `t1`.`key` AS `key1`, `t1`.`value` AS `value1`, `t3`.`key` AS `key2`, `t3`.`value` AS `value2`
+FROM (SELECT `key`, `value`, `value` = 60 AS `=`, `value` = 50 AS `=3`
+FROM `default`.`a_n4`) AS `t`
+LEFT JOIN (SELECT `key`, CAST(50 AS INTEGER) AS `value`
+FROM `default`.`a_n4`
+WHERE `value` = 50) AS `t1` ON `t`.`key` = `t1`.`key` AND `t`.`=3`
+LEFT JOIN (SELECT `key`, CAST(60 AS INTEGER) AS `value`
+FROM `default`.`a_n4`
+WHERE `value` = 60) AS `t3` ON `t`.`key` = `t3`.`key` AND `t`.`=`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-2 depends on stages: Stage-1
@@ -343,6 +352,15 @@ POSTHOOK: query: explain extended select * from a_n4 right outer join a_n4 b on
POSTHOOK: type: QUERY
POSTHOOK: Input: default@a_n4
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `t0`.`key`, `t0`.`value`, `t1`.`key` AS `key1`, `t1`.`value` AS `value1`, `t3`.`key` AS `key2`, `t3`.`value` AS `value2`
+FROM (SELECT `key`, CAST(50 AS INTEGER) AS `value`
+FROM `default`.`a_n4`
+WHERE `value` = 50) AS `t0`
+RIGHT JOIN (SELECT `key`, `value`, `value` = 60 AS `=`, `value` = 50 AS `=3`
+FROM `default`.`a_n4`) AS `t1` ON `t0`.`key` = `t1`.`key` AND `t1`.`=3`
+LEFT JOIN (SELECT `key`, CAST(60 AS INTEGER) AS `value`
+FROM `default`.`a_n4`
+WHERE `value` = 60) AS `t3` ON `t1`.`key` = `t3`.`key` AND `t1`.`=`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-2 depends on stages: Stage-1
@@ -668,6 +686,15 @@ POSTHOOK: query: explain extended select * from a_n4 right outer join a_n4 b on
POSTHOOK: type: QUERY
POSTHOOK: Input: default@a_n4
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `t0`.`key`, `t0`.`value`, `t1`.`key` AS `key1`, `t1`.`value` AS `value1`, `t3`.`key` AS `key2`, `t3`.`value` AS `value2`
+FROM (SELECT `key`, CAST(50 AS INTEGER) AS `value`
+FROM `default`.`a_n4`
+WHERE `value` = 50) AS `t0`
+RIGHT JOIN (SELECT `key`, `value`, `value` = 60 AS `=`, `value` = 50 AS `=3`
+FROM `default`.`a_n4`) AS `t1` ON `t0`.`key` = `t1`.`key` AND `t1`.`=3`
+LEFT JOIN (SELECT `key`, CAST(60 AS INTEGER) AS `value`
+FROM `default`.`a_n4`
+WHERE `value` = 60) AS `t3` ON `t1`.`key` = `t3`.`key` AND `t1`.`=`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-2 depends on stages: Stage-1
@@ -993,6 +1020,17 @@ POSTHOOK: query: explain extended select * from a_n4 full outer join a_n4 b on (
POSTHOOK: type: QUERY
POSTHOOK: Input: default@a_n4
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `t`.`key`, `t`.`value`, `t0`.`key` AS `key1`, `t0`.`value` AS `value1`, `t2`.`key` AS `key2`, `t2`.`value` AS `value2`, `t4`.`key` AS `key3`, `t4`.`value` AS `value3`
+FROM (SELECT `key`, `value`, `value` = 40 AS `=`, `value` = 50 AS `=3`
+FROM `default`.`a_n4`) AS `t`
+FULL JOIN (SELECT `key`, `value`, `value` = 60 AS `=`, `value` = 50 AS `=3`
+FROM `default`.`a_n4`) AS `t0` ON `t`.`key` = `t0`.`key` AND `t`.`=3` AND `t0`.`=3`
+LEFT JOIN (SELECT `key`, CAST(60 AS INTEGER) AS `value`
+FROM `default`.`a_n4`
+WHERE `value` = 60) AS `t2` ON `t0`.`key` = `t2`.`key` AND `t0`.`=`
+LEFT JOIN (SELECT `key`, CAST(40 AS INTEGER) AS `value`
+FROM `default`.`a_n4`
+WHERE `value` = 40) AS `t4` ON `t`.`key` = `t4`.`key` AND `t`.`=`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-2 depends on stages: Stage-1
@@ -1452,6 +1490,18 @@ POSTHOOK: query: explain extended select * from a_n4 left outer join a_n4 b on (
POSTHOOK: type: QUERY
POSTHOOK: Input: default@a_n4
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `t`.`key`, `t`.`value`, `t1`.`key` AS `key1`, `t1`.`value` AS `value1`, `t3`.`key` AS `key2`, `t3`.`value` AS `value2`, `t5`.`key` AS `key3`, `t5`.`value` AS `value3`
+FROM (SELECT `key`, `value`, `value` = 40 AS `=`, `value` = 60 AS `=3`, `value` = 50 AS `=4`
+FROM `default`.`a_n4`) AS `t`
+LEFT JOIN (SELECT `key`, CAST(50 AS INTEGER) AS `value`
+FROM `default`.`a_n4`
+WHERE `value` = 50) AS `t1` ON `t`.`key` = `t1`.`key` AND `t`.`=4`
+LEFT JOIN (SELECT `key`, CAST(60 AS INTEGER) AS `value`
+FROM `default`.`a_n4`
+WHERE `value` = 60) AS `t3` ON `t`.`key` = `t3`.`key` AND `t`.`=3`
+LEFT JOIN (SELECT `key`, CAST(40 AS INTEGER) AS `value`
+FROM `default`.`a_n4`
+WHERE `value` = 40) AS `t5` ON `t`.`key` = `t5`.`key` AND `t`.`=`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-2 depends on stages: Stage-1
diff --git ql/src/test/results/clientpositive/list_bucket_dml_6.q.out ql/src/test/results/clientpositive/list_bucket_dml_6.q.out
index da36c459fe..40a110d0fb 100644
--- ql/src/test/results/clientpositive/list_bucket_dml_6.q.out
+++ ql/src/test/results/clientpositive/list_bucket_dml_6.q.out
@@ -29,7 +29,7 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@srcpart
POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11
POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12
-OPTIMIZED SQL: SELECT `key`, `value`, IF(MOD(CAST(`key` AS DOUBLE), CAST(100 AS DOUBLE)) = 0, 'a1', 'b1') AS `_o__c2`
+OPTIMIZED SQL: SELECT `key`, `value`, IF(CAST(`key` AS DOUBLE) % 100 = 0, 'a1', 'b1') AS `_o__c2`
FROM `default`.`srcpart`
WHERE `ds` = '2008-04-08'
STAGE DEPENDENCIES:
@@ -405,7 +405,7 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@srcpart
POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11
POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12
-OPTIMIZED SQL: SELECT `key`, `value`, IF(MOD(CAST(`key` AS DOUBLE), CAST(100 AS DOUBLE)) = 0, 'a1', 'b1') AS `_o__c2`
+OPTIMIZED SQL: SELECT `key`, `value`, IF(CAST(`key` AS DOUBLE) % 100 = 0, 'a1', 'b1') AS `_o__c2`
FROM `default`.`srcpart`
WHERE `ds` = '2008-04-08'
STAGE DEPENDENCIES:
diff --git ql/src/test/results/clientpositive/list_bucket_dml_7.q.out ql/src/test/results/clientpositive/list_bucket_dml_7.q.out
index 68664a7060..cdcbbf5bf4 100644
--- ql/src/test/results/clientpositive/list_bucket_dml_7.q.out
+++ ql/src/test/results/clientpositive/list_bucket_dml_7.q.out
@@ -29,7 +29,7 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@srcpart
POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11
POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12
-OPTIMIZED SQL: SELECT `key`, `value`, IF(MOD(CAST(`key` AS DOUBLE), CAST(100 AS DOUBLE)) = 0, 'a1', 'b1') AS `_o__c2`
+OPTIMIZED SQL: SELECT `key`, `value`, IF(CAST(`key` AS DOUBLE) % 100 = 0, 'a1', 'b1') AS `_o__c2`
FROM `default`.`srcpart`
WHERE `ds` = '2008-04-08'
STAGE DEPENDENCIES:
@@ -405,7 +405,7 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@srcpart
POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11
POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12
-OPTIMIZED SQL: SELECT `key`, `value`, IF(MOD(CAST(`key` AS DOUBLE), CAST(100 AS DOUBLE)) = 0, 'a1', 'b1') AS `_o__c2`
+OPTIMIZED SQL: SELECT `key`, `value`, IF(CAST(`key` AS DOUBLE) % 100 = 0, 'a1', 'b1') AS `_o__c2`
FROM `default`.`srcpart`
WHERE `ds` = '2008-04-08'
STAGE DEPENDENCIES:
diff --git ql/src/test/results/clientpositive/list_bucket_dml_8.q.out ql/src/test/results/clientpositive/list_bucket_dml_8.q.out
index 6521e0f497..29e45dc64a 100644
--- ql/src/test/results/clientpositive/list_bucket_dml_8.q.out
+++ ql/src/test/results/clientpositive/list_bucket_dml_8.q.out
@@ -29,7 +29,7 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@srcpart
POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11
POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12
-OPTIMIZED SQL: SELECT `key`, `value`, IF(MOD(CAST(`key` AS DOUBLE), CAST(100 AS DOUBLE)) = 0, 'a1', 'b1') AS `_o__c2`
+OPTIMIZED SQL: SELECT `key`, `value`, IF(CAST(`key` AS DOUBLE) % 100 = 0, 'a1', 'b1') AS `_o__c2`
FROM `default`.`srcpart`
WHERE `ds` = '2008-04-08'
STAGE DEPENDENCIES:
diff --git ql/src/test/results/clientpositive/list_bucket_query_multiskew_2.q.out ql/src/test/results/clientpositive/list_bucket_query_multiskew_2.q.out
index c6a3c1fb8f..04ddcfef71 100644
--- ql/src/test/results/clientpositive/list_bucket_query_multiskew_2.q.out
+++ ql/src/test/results/clientpositive/list_bucket_query_multiskew_2.q.out
@@ -397,6 +397,9 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@fact_daily_n2
POSTHOOK: Input: default@fact_daily_n2@ds=1/hr=4
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `key`, `value`
+FROM `default`.`fact_daily_n2`
+WHERE ROW(`key`, `value`) IN (ROW('484', 'val_484'), ROW('238', 'val_238')) AND `ds` = '1' AND `hr` = '4'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
diff --git ql/src/test/results/clientpositive/llap/auto_sortmerge_join_12.q.out ql/src/test/results/clientpositive/llap/auto_sortmerge_join_12.q.out
index 30f8f0570b..f88896d289 100644
--- ql/src/test/results/clientpositive/llap/auto_sortmerge_join_12.q.out
+++ ql/src/test/results/clientpositive/llap/auto_sortmerge_join_12.q.out
@@ -134,7 +134,7 @@ POSTHOOK: query: load data local inpath '../../data/files/auto_sortmerge_join/sm
POSTHOOK: type: LOAD
#### A masked pattern was here ####
POSTHOOK: Output: default@bucket_medium@ds=2008-04-08
-Warning: Shuffle Join MERGEJOIN[60][tables = [$hdt$_0, $hdt$_1, $hdt$_2, $hdt$_3]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[63][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
PREHOOK: query: explain extended select count(*) FROM bucket_small_n15 a JOIN bucket_medium b ON a.key = b.key JOIN bucket_big_n15 c ON c.key = b.key JOIN bucket_medium d ON c.key = b.key
PREHOOK: type: QUERY
PREHOOK: Input: default@bucket_big_n15
@@ -156,17 +156,20 @@ POSTHOOK: Input: default@bucket_small_n15
POSTHOOK: Input: default@bucket_small_n15@ds=2008-04-08
#### A masked pattern was here ####
OPTIMIZED SQL: SELECT COUNT(*) AS `$f0`
+FROM (SELECT 0 AS `DUMMY`
+FROM `default`.`bucket_medium`) AS `t`,
+(SELECT 0 AS `DUMMY`
+FROM (SELECT `t5`.`key`, `t3`.`key` AS `key0`, `t1`.`key` AS `key1`
FROM (SELECT `key`
FROM `default`.`bucket_big_n15`
-WHERE `key` IS NOT NULL) AS `t0`
+WHERE `key` IS NOT NULL) AS `t1`
INNER JOIN (SELECT `key`
FROM `default`.`bucket_medium`
-WHERE `key` IS NOT NULL) AS `t2` ON `t0`.`key` = `t2`.`key`
+WHERE `key` IS NOT NULL) AS `t3` ON `t1`.`key` = `t3`.`key`
INNER JOIN (SELECT `key`
FROM `default`.`bucket_small_n15`
-WHERE `key` IS NOT NULL) AS `t4` ON `t2`.`key` = `t4`.`key`,
-(SELECT 0 AS `DUMMY`
-FROM `default`.`bucket_medium`) AS `t5`
+WHERE `key` IS NOT NULL) AS `t5` ON `t3`.`key` = `t5`.`key`) AS `t6`
+WHERE `t6`.`key1` = `t6`.`key0`) AS `t8`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -176,12 +179,83 @@ STAGE PLANS:
Tez
#### A masked pattern was here ####
Edges:
- Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 6 (SIMPLE_EDGE)
- Reducer 3 <- Map 7 (XPROD_EDGE), Reducer 2 (XPROD_EDGE)
- Reducer 4 <- Reducer 3 (CUSTOM_SIMPLE_EDGE)
+ Reducer 2 <- Map 1 (XPROD_EDGE), Reducer 5 (XPROD_EDGE)
+ Reducer 3 <- Reducer 2 (CUSTOM_SIMPLE_EDGE)
+ Reducer 5 <- Map 4 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
#### A masked pattern was here ####
Vertices:
Map 1
+ Map Operator Tree:
+ TableScan
+ alias: d
+ Statistics: Num rows: 3 Data size: 1724 Basic stats: PARTIAL Column stats: COMPLETE
+ GatherStats: false
+ Select Operator
+ Statistics: Num rows: 3 Data size: 1724 Basic stats: PARTIAL Column stats: COMPLETE
+ Reduce Output Operator
+ null sort order:
+ sort order:
+ Statistics: Num rows: 3 Data size: 1724 Basic stats: PARTIAL Column stats: COMPLETE
+ tag: 0
+ auto parallelism: false
+ Execution mode: vectorized, llap
+ LLAP IO: no inputs
+ Path -> Alias:
+#### A masked pattern was here ####
+ Path -> Partition:
+#### A masked pattern was here ####
+ Partition
+ base file name: ds=2008-04-08
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ partition values:
+ ds 2008-04-08
+ properties:
+ bucket_count 3
+ bucket_field_name key
+ column.name.delimiter ,
+ columns key,value
+ columns.comments
+ columns.types string:string
+#### A masked pattern was here ####
+ name default.bucket_medium
+ numFiles 3
+ numRows 0
+ partition_columns ds
+ partition_columns.types string
+ rawDataSize 0
+ serialization.ddl struct bucket_medium { string key, string value}
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ totalSize 170
+#### A masked pattern was here ####
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ SORTBUCKETCOLSPREFIX TRUE
+ bucket_count 3
+ bucket_field_name key
+ bucketing_version 2
+ column.name.delimiter ,
+ columns key,value
+ columns.comments
+ columns.types string:string
+#### A masked pattern was here ####
+ name default.bucket_medium
+ partition_columns ds
+ partition_columns.types string
+ serialization.ddl struct bucket_medium { string key, string value}
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+#### A masked pattern was here ####
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.bucket_medium
+ name: default.bucket_medium
+ Truncated Path -> Alias:
+ /bucket_medium/ds=2008-04-08 [d]
+ Map 4
Map Operator Tree:
TableScan
alias: b
@@ -270,7 +344,7 @@ STAGE PLANS:
keys:
0 _col0 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col1
+ outputColumnNames: _col0, _col1
Position of Big Table: 0
Statistics: Num rows: 232 Data size: 37723 Basic stats: PARTIAL Column stats: NONE
Reduce Output Operator
@@ -280,6 +354,7 @@ STAGE PLANS:
Map-reduce partition columns: _col1 (type: string)
Statistics: Num rows: 232 Data size: 37723 Basic stats: PARTIAL Column stats: NONE
tag: 0
+ value expressions: _col0 (type: string)
auto parallelism: true
Execution mode: llap
Path -> Alias:
@@ -386,7 +461,7 @@ STAGE PLANS:
Truncated Path -> Alias:
/bucket_big_n15/ds=2008-04-08 [c]
/bucket_big_n15/ds=2008-04-09 [c]
- Map 6
+ Map 7
Map Operator Tree:
TableScan
alias: a
@@ -466,96 +541,7 @@ STAGE PLANS:
name: default.bucket_small_n15
Truncated Path -> Alias:
/bucket_small_n15/ds=2008-04-08 [a]
- Map 7
- Map Operator Tree:
- TableScan
- alias: d
- Statistics: Num rows: 3 Data size: 1724 Basic stats: PARTIAL Column stats: COMPLETE
- GatherStats: false
- Select Operator
- Statistics: Num rows: 3 Data size: 1724 Basic stats: PARTIAL Column stats: COMPLETE
- Reduce Output Operator
- null sort order:
- sort order:
- Statistics: Num rows: 3 Data size: 1724 Basic stats: PARTIAL Column stats: COMPLETE
- tag: 1
- auto parallelism: false
- Execution mode: vectorized, llap
- LLAP IO: no inputs
- Path -> Alias:
-#### A masked pattern was here ####
- Path -> Partition:
-#### A masked pattern was here ####
- Partition
- base file name: ds=2008-04-08
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- partition values:
- ds 2008-04-08
- properties:
- bucket_count 3
- bucket_field_name key
- column.name.delimiter ,
- columns key,value
- columns.comments
- columns.types string:string
-#### A masked pattern was here ####
- name default.bucket_medium
- numFiles 3
- numRows 0
- partition_columns ds
- partition_columns.types string
- rawDataSize 0
- serialization.ddl struct bucket_medium { string key, string value}
- serialization.format 1
- serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- totalSize 170
-#### A masked pattern was here ####
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- properties:
- SORTBUCKETCOLSPREFIX TRUE
- bucket_count 3
- bucket_field_name key
- bucketing_version 2
- column.name.delimiter ,
- columns key,value
- columns.comments
- columns.types string:string
-#### A masked pattern was here ####
- name default.bucket_medium
- partition_columns ds
- partition_columns.types string
- serialization.ddl struct bucket_medium { string key, string value}
- serialization.format 1
- serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-#### A masked pattern was here ####
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- name: default.bucket_medium
- name: default.bucket_medium
- Truncated Path -> Alias:
- /bucket_medium/ds=2008-04-08 [d]
Reducer 2
- Execution mode: llap
- Needs Tagging: false
- Reduce Operator Tree:
- Merge Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 _col1 (type: string)
- 1 _col0 (type: string)
- Position of Big Table: 0
- Statistics: Num rows: 255 Data size: 41495 Basic stats: PARTIAL Column stats: NONE
- Reduce Output Operator
- null sort order:
- sort order:
- Statistics: Num rows: 255 Data size: 41495 Basic stats: PARTIAL Column stats: NONE
- tag: 0
- auto parallelism: false
- Reducer 3
Execution mode: llap
Needs Tagging: false
Reduce Operator Tree:
@@ -566,7 +552,7 @@ STAGE PLANS:
0
1
Position of Big Table: 0
- Statistics: Num rows: 765 Data size: 564870 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 381 Data size: 281327 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: count()
minReductionHashAggr: 0.99
@@ -580,7 +566,7 @@ STAGE PLANS:
tag: -1
value expressions: _col0 (type: bigint)
auto parallelism: false
- Reducer 4
+ Reducer 3
Execution mode: vectorized, llap
Needs Tagging: false
Reduce Operator Tree:
@@ -611,6 +597,35 @@ STAGE PLANS:
TotalFiles: 1
GatherStats: false
MultiFileSpray: false
+ Reducer 5
+ Execution mode: llap
+ Needs Tagging: false
+ Reduce Operator Tree:
+ Merge Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col1 (type: string)
+ 1 _col0 (type: string)
+ outputColumnNames: _col0, _col1
+ Position of Big Table: 0
+ Statistics: Num rows: 255 Data size: 41495 Basic stats: PARTIAL Column stats: NONE
+ Select Operator
+ expressions: _col1 (type: string), _col0 (type: string)
+ outputColumnNames: _col1, _col2
+ Statistics: Num rows: 255 Data size: 41495 Basic stats: PARTIAL Column stats: NONE
+ Filter Operator
+ isSamplingPred: false
+ predicate: (_col2 = _col1) (type: boolean)
+ Statistics: Num rows: 127 Data size: 20666 Basic stats: PARTIAL Column stats: NONE
+ Select Operator
+ Statistics: Num rows: 127 Data size: 20666 Basic stats: PARTIAL Column stats: NONE
+ Reduce Output Operator
+ null sort order:
+ sort order:
+ Statistics: Num rows: 127 Data size: 20666 Basic stats: PARTIAL Column stats: NONE
+ tag: 1
+ auto parallelism: false
Stage: Stage-0
Fetch Operator
@@ -618,7 +633,7 @@ STAGE PLANS:
Processor Tree:
ListSink
-Warning: Shuffle Join MERGEJOIN[60][tables = [$hdt$_0, $hdt$_1, $hdt$_2, $hdt$_3]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[63][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
PREHOOK: query: select count(*) FROM bucket_small_n15 a JOIN bucket_medium b ON a.key = b.key JOIN bucket_big_n15 c ON c.key = b.key JOIN bucket_medium d ON c.key = b.key
PREHOOK: type: QUERY
PREHOOK: Input: default@bucket_big_n15
diff --git ql/src/test/results/clientpositive/llap/auto_sortmerge_join_16.q.out ql/src/test/results/clientpositive/llap/auto_sortmerge_join_16.q.out
index 2c6d7cafa7..4e156926d6 100644
--- ql/src/test/results/clientpositive/llap/auto_sortmerge_join_16.q.out
+++ ql/src/test/results/clientpositive/llap/auto_sortmerge_join_16.q.out
@@ -222,7 +222,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: bucket_small_n17
- filterExpr: pri BETWEEN 1 AND 2 (type: boolean)
+ filterExpr: pri BETWEEN 1L AND 2L (type: boolean)
Statistics: Num rows: 236 Data size: 45636 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: bigint), value (type: string)
@@ -370,7 +370,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: bucket_small_n17
- filterExpr: pri BETWEEN 1 AND 2 (type: boolean)
+ filterExpr: pri BETWEEN 1L AND 2L (type: boolean)
Statistics: Num rows: 236 Data size: 45636 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: bigint), value (type: string)
@@ -626,7 +626,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: bucket_small_n17
- filterExpr: pri BETWEEN 1 AND 2 (type: boolean)
+ filterExpr: pri BETWEEN 1L AND 2L (type: boolean)
Statistics: Num rows: 236 Data size: 45636 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: bigint), value (type: string)
diff --git ql/src/test/results/clientpositive/llap/auto_sortmerge_join_6.q.out ql/src/test/results/clientpositive/llap/auto_sortmerge_join_6.q.out
index f61a6ed462..72a3a3a17e 100644
--- ql/src/test/results/clientpositive/llap/auto_sortmerge_join_6.q.out
+++ ql/src/test/results/clientpositive/llap/auto_sortmerge_join_6.q.out
@@ -573,10 +573,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: b
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int)
@@ -585,10 +585,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: a
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), UDFToDouble(key) (type: double)
@@ -612,10 +612,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: c
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: UDFToDouble(key) (type: double)
@@ -1167,10 +1167,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: b
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int)
@@ -1179,10 +1179,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: a
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), UDFToDouble(key) (type: double)
@@ -1206,10 +1206,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: c
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: UDFToDouble(key) (type: double)
diff --git ql/src/test/results/clientpositive/llap/bucket_map_join_tez2.q.out ql/src/test/results/clientpositive/llap/bucket_map_join_tez2.q.out
index 2d48b9fa84..48076e55b5 100644
--- ql/src/test/results/clientpositive/llap/bucket_map_join_tez2.q.out
+++ ql/src/test/results/clientpositive/llap/bucket_map_join_tez2.q.out
@@ -488,10 +488,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: a
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 242 Data size: 22990 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 242 Data size: 22990 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), value (type: string), UDFToDouble(key) (type: double)
@@ -509,10 +509,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: b
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: value (type: string), UDFToDouble(key) (type: double)
@@ -578,10 +578,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: a
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 242 Data size: 22990 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 242 Data size: 22990 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), value (type: string), UDFToDouble(key) (type: double)
@@ -599,10 +599,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: b
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: value (type: string), UDFToDouble(key) (type: double)
@@ -1370,10 +1370,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: tab_n10
- filterExpr: value is not null (type: boolean)
+ filterExpr: UDFToDouble(value) is not null (type: boolean)
Statistics: Num rows: 242 Data size: 22022 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: value is not null (type: boolean)
+ predicate: UDFToDouble(value) is not null (type: boolean)
Statistics: Num rows: 242 Data size: 22022 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
keys: value (type: string)
@@ -1392,10 +1392,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: b
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 242 Data size: 22990 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 242 Data size: 22990 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: value (type: string), UDFToDouble(key) (type: double)
@@ -1483,10 +1483,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: tab_n10
- filterExpr: value is not null (type: boolean)
+ filterExpr: UDFToDouble(value) is not null (type: boolean)
Statistics: Num rows: 242 Data size: 22022 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: value is not null (type: boolean)
+ predicate: UDFToDouble(value) is not null (type: boolean)
Statistics: Num rows: 242 Data size: 22022 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
keys: value (type: string)
@@ -1505,10 +1505,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: b
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 242 Data size: 22990 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 242 Data size: 22990 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: value (type: string), UDFToDouble(key) (type: double)
@@ -2366,6 +2366,13 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@my_dim
POSTHOOK: Input: default@my_fact
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `t0`.`bucket_col`, `t2`.`join_col` AS `account1`, `t0`.`accounting_period`
+FROM (SELECT `bucket_col`, `join_col`, `accounting_period`
+FROM `default`.`my_fact`
+WHERE `fiscal_year` = '2015' AND `accounting_period` = 10 AND `join_col` IS NOT NULL) AS `t0`
+INNER JOIN (SELECT `join_col`
+FROM `default`.`my_dim`
+WHERE `filter_col` IN ('VAL1', 'VAL2') AND `join_col` IS NOT NULL) AS `t2` ON `t0`.`join_col` = `t2`.`join_col`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
diff --git ql/src/test/results/clientpositive/llap/bucketpruning1.q.out ql/src/test/results/clientpositive/llap/bucketpruning1.q.out
index 934b383af5..3772157662 100644
--- ql/src/test/results/clientpositive/llap/bucketpruning1.q.out
+++ ql/src/test/results/clientpositive/llap/bucketpruning1.q.out
@@ -576,6 +576,9 @@ select * from srcbucket_pruned where key in (2,3)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@srcbucket_pruned
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `key`, `value`, `ds`
+FROM `default`.`srcbucket_pruned`
+WHERE `key` IN (2, 3)
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -642,6 +645,9 @@ select * from srcbucket_pruned where key in (2,3) and ds='2008-04-08'
POSTHOOK: type: QUERY
POSTHOOK: Input: default@srcbucket_pruned
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `key`, `value`, CAST('2008-04-08' AS STRING) AS `ds`
+FROM `default`.`srcbucket_pruned`
+WHERE `key` IN (2, 3) AND `ds` = '2008-04-08'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -708,6 +714,9 @@ select * from srcbucket_pruned where key in (2,3) and ds='2008-04-08' and value=
POSTHOOK: type: QUERY
POSTHOOK: Input: default@srcbucket_pruned
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `key`, CAST('One' AS STRING) AS `value`, CAST('2008-04-08' AS STRING) AS `ds`
+FROM `default`.`srcbucket_pruned`
+WHERE `key` IN (2, 3) AND `ds` = '2008-04-08' AND `value` = 'One'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -774,6 +783,9 @@ select * from srcbucket_pruned where value='One' and key in (2,3) and ds='2008-0
POSTHOOK: type: QUERY
POSTHOOK: Input: default@srcbucket_pruned
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `key`, CAST('One' AS STRING) AS `value`, CAST('2008-04-08' AS STRING) AS `ds`
+FROM `default`.`srcbucket_pruned`
+WHERE `key` IN (2, 3) AND `value` = 'One' AND `ds` = '2008-04-08'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -840,6 +852,9 @@ select * from srcbucket_pruned where (key=1 or key=2) and ds='2008-04-08'
POSTHOOK: type: QUERY
POSTHOOK: Input: default@srcbucket_pruned
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `key`, `value`, CAST('2008-04-08' AS STRING) AS `ds`
+FROM `default`.`srcbucket_pruned`
+WHERE `key` IN (1, 2) AND `ds` = '2008-04-08'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -906,6 +921,9 @@ select * from srcbucket_pruned where (key=1 or key=2) and value = 'One' and ds='
POSTHOOK: type: QUERY
POSTHOOK: Input: default@srcbucket_pruned
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `key`, CAST('One' AS STRING) AS `value`, CAST('2008-04-08' AS STRING) AS `ds`
+FROM `default`.`srcbucket_pruned`
+WHERE `key` IN (1, 2) AND `value` = 'One' AND `ds` = '2008-04-08'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -1041,6 +1059,9 @@ select * from srcbucket_pruned where key in (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
POSTHOOK: type: QUERY
POSTHOOK: Input: default@srcbucket_pruned
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `key`, `value`, `ds`
+FROM `default`.`srcbucket_pruned`
+WHERE `key` IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -1107,6 +1128,9 @@ select * from srcbucket_pruned where key in (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
POSTHOOK: type: QUERY
POSTHOOK: Input: default@srcbucket_pruned
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `key`, `value`, CAST('2008-04-08' AS STRING) AS `ds`
+FROM `default`.`srcbucket_pruned`
+WHERE `key` IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17) AND `ds` = '2008-04-08'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -1173,6 +1197,9 @@ select * from srcbucket_pruned where key in (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
POSTHOOK: type: QUERY
POSTHOOK: Input: default@srcbucket_pruned
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `key`, CAST('One' AS STRING) AS `value`, CAST('2008-04-08' AS STRING) AS `ds`
+FROM `default`.`srcbucket_pruned`
+WHERE `key` IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17) AND `ds` = '2008-04-08' AND `value` = 'One'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -1239,6 +1266,9 @@ select * from srcbucket_pruned where value='One' and key in (1,2,3,4,5,6,7,8,9,1
POSTHOOK: type: QUERY
POSTHOOK: Input: default@srcbucket_pruned
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `key`, CAST('One' AS STRING) AS `value`, CAST('2008-04-08' AS STRING) AS `ds`
+FROM `default`.`srcbucket_pruned`
+WHERE `key` IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17) AND `value` = 'One' AND `ds` = '2008-04-08'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -1373,6 +1403,9 @@ select * from srcbucket_pruned where key = 1 and ds='2008-04-08' and (value='One
POSTHOOK: type: QUERY
POSTHOOK: Input: default@srcbucket_pruned
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT CAST(1 AS INTEGER) AS `key`, `value`, CAST('2008-04-08' AS STRING) AS `ds`
+FROM `default`.`srcbucket_pruned`
+WHERE `value` IN ('One', 'Two') AND `key` = 1 AND `ds` = '2008-04-08'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -1509,7 +1542,7 @@ POSTHOOK: Input: default@srcbucket_pruned
#### A masked pattern was here ####
OPTIMIZED SQL: SELECT `key`, `value`, `ds`
FROM `default`.`srcbucket_pruned`
-WHERE NULL
+WHERE FALSE
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -1642,6 +1675,9 @@ select * from srcbucket_pruned where key = 1 or value = "One" or key = 2
POSTHOOK: type: QUERY
POSTHOOK: Input: default@srcbucket_pruned
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `key`, `value`, `ds`
+FROM `default`.`srcbucket_pruned`
+WHERE `key` IN (1, 2) OR `value` = 'One'
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -1707,6 +1743,9 @@ select * from srcbucket_unpruned where key in (3, 5)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@srcbucket_unpruned
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `key`, `value`, `ds`
+FROM `default`.`srcbucket_unpruned`
+WHERE `key` IN (3, 5)
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
diff --git ql/src/test/results/clientpositive/llap/cbo_simple_select.q.out ql/src/test/results/clientpositive/llap/cbo_simple_select.q.out
index acf91bf178..3aa929d13c 100644
--- ql/src/test/results/clientpositive/llap/cbo_simple_select.q.out
+++ ql/src/test/results/clientpositive/llap/cbo_simple_select.q.out
@@ -761,9 +761,9 @@ STAGE PLANS:
Processor Tree:
TableScan
alias: cbo_t2
- filterExpr: (c_int = c_int) (type: boolean)
+ filterExpr: c_int is not null (type: boolean)
Filter Operator
- predicate: (c_int = c_int) (type: boolean)
+ predicate: c_int is not null (type: boolean)
Select Operator
expressions: key (type: string), value (type: string), c_int (type: int), c_float (type: float), c_boolean (type: boolean), dt (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
@@ -821,9 +821,9 @@ STAGE PLANS:
Processor Tree:
TableScan
alias: cbo_t2
- filterExpr: (c_int = c_int) (type: boolean)
+ filterExpr: c_int is not null (type: boolean)
Filter Operator
- predicate: (c_int = c_int) (type: boolean)
+ predicate: c_int is not null (type: boolean)
Select Operator
expressions: key (type: string), value (type: string), c_int (type: int), c_float (type: float), c_boolean (type: boolean), dt (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
@@ -833,13 +833,11 @@ PREHOOK: query: -- c_int is not null
EXPLAIN select * from cbo_t2 where (cbo_t2.c_int) IN (NULL)
PREHOOK: type: QUERY
PREHOOK: Input: default@cbo_t2
-PREHOOK: Input: default@cbo_t2@dt=2014
#### A masked pattern was here ####
POSTHOOK: query: -- c_int is not null
EXPLAIN select * from cbo_t2 where (cbo_t2.c_int) IN (NULL)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@cbo_t2
-POSTHOOK: Input: default@cbo_t2@dt=2014
#### A masked pattern was here ####
STAGE DEPENDENCIES:
Stage-0 is a root stage
@@ -851,11 +849,10 @@ STAGE PLANS:
Processor Tree:
TableScan
alias: cbo_t2
- filterExpr: (c_int = null) (type: boolean)
Filter Operator
- predicate: (c_int = null) (type: boolean)
+ predicate: false (type: boolean)
Select Operator
- expressions: key (type: string), value (type: string), null (type: int), c_float (type: float), c_boolean (type: boolean), dt (type: string)
+ expressions: key (type: string), value (type: string), c_int (type: int), c_float (type: float), c_boolean (type: boolean), dt (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
ListSink
@@ -881,9 +878,9 @@ STAGE PLANS:
Processor Tree:
TableScan
alias: cbo_t2
- filterExpr: ((c_int = c_int) or (c_int = (2 * c_int))) (type: boolean)
+ filterExpr: (c_int is not null or (c_int = (2 * c_int))) (type: boolean)
Filter Operator
- predicate: ((c_int = (2 * c_int)) or (c_int = c_int)) (type: boolean)
+ predicate: ((c_int = (2 * c_int)) or c_int is not null) (type: boolean)
Select Operator
expressions: key (type: string), value (type: string), c_int (type: int), c_float (type: float), c_boolean (type: boolean), dt (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
@@ -911,9 +908,9 @@ STAGE PLANS:
Processor Tree:
TableScan
alias: cbo_t2
- filterExpr: ((c_int = c_int) or (c_int = 0)) (type: boolean)
+ filterExpr: (c_int is not null or (c_int = 0)) (type: boolean)
Filter Operator
- predicate: ((c_int = 0) or (c_int = c_int)) (type: boolean)
+ predicate: ((c_int = 0) or c_int is not null) (type: boolean)
Select Operator
expressions: key (type: string), value (type: string), c_int (type: int), c_float (type: float), c_boolean (type: boolean), dt (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
diff --git ql/src/test/results/clientpositive/llap/constraints_optimization.q.out ql/src/test/results/clientpositive/llap/constraints_optimization.q.out
index fbdc702daf..6e5cbc7fcc 100644
--- ql/src/test/results/clientpositive/llap/constraints_optimization.q.out
+++ ql/src/test/results/clientpositive/llap/constraints_optimization.q.out
@@ -2296,7 +2296,7 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100])
HiveJoin(condition=[=($0, $8)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(c_customer_sk=[$0], c_customer_id=[$1], c_first_name=[$8], c_last_name=[$9], c_preferred_cust_flag=[$10], c_birth_country=[$14], c_login=[$15], c_email_address=[$16])
HiveTableScan(table=[[default, customer]], table:alias=[customer])
- HiveProject(ss_customer_sk=[$3], /=[/(+(-(-($17, $16), $14), $15), CAST(2):DECIMAL(10, 0))])
+ HiveProject(ss_customer_sk=[$3], /=[/(+(-(-($17, $16), $14), $15), 2:DECIMAL(10, 0))])
HiveFilter(condition=[IS NOT NULL($3)])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
@@ -2371,7 +2371,7 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100])
HiveJoin(condition=[=($0, $8)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(c_customer_sk=[$0], c_customer_id=[$1], c_first_name=[$8], c_last_name=[$9], c_preferred_cust_flag=[$10], c_birth_country=[$14], c_login=[$15], c_email_address=[$16])
HiveTableScan(table=[[default, customer]], table:alias=[customer])
- HiveProject(ss_customer_sk=[$3], /=[/(+(-(-($17, $16), $14), $15), CAST(2):DECIMAL(10, 0))])
+ HiveProject(ss_customer_sk=[$3], /=[/(+(-(-($17, $16), $14), $15), 2:DECIMAL(10, 0))])
HiveFilter(condition=[IS NOT NULL($3)])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
@@ -2533,20 +2533,20 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100])
HiveProject(c_customer_sk=[$0], c_customer_id=[$1], c_first_name=[$8], c_last_name=[$9], c_preferred_cust_flag=[$10], c_birth_country=[$14], c_login=[$15], c_email_address=[$16])
HiveTableScan(table=[[default, customer]], table:alias=[customer])
HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(ss_sold_date_sk=[$0], ss_customer_sk=[$3], /=[/(+(-(-($17, $16), $14), $15), CAST(2):DECIMAL(10, 0))])
+ HiveProject(ss_sold_date_sk=[$0], ss_customer_sk=[$3], /=[/(+(-(-($17, $16), $14), $15), 2:DECIMAL(10, 0))])
HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[AND(=($6, 2002), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject($f0=[$0])
- HiveFilter(condition=[>($1, 0)])
+ HiveFilter(condition=[>($1, 0:DECIMAL(1, 0))])
HiveAggregate(group=[{1}], agg#0=[sum($10)])
HiveJoin(condition=[=($0, $9)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(c_customer_sk=[$0], c_customer_id=[$1], c_first_name=[$8], c_last_name=[$9], c_preferred_cust_flag=[$10], c_birth_country=[$14], c_login=[$15], c_email_address=[$16])
HiveTableScan(table=[[default, customer]], table:alias=[customer])
HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(ss_sold_date_sk=[$0], ss_customer_sk=[$3], /=[/(+(-(-($17, $16), $14), $15), CAST(2):DECIMAL(10, 0))])
+ HiveProject(ss_sold_date_sk=[$0], ss_customer_sk=[$3], /=[/(+(-(-($17, $16), $14), $15), 2:DECIMAL(10, 0))])
HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(d_date_sk=[$0])
diff --git ql/src/test/results/clientpositive/llap/cte_mat_5.q.out ql/src/test/results/clientpositive/llap/cte_mat_5.q.out
index 7acc8eefc6..f5ef440701 100644
--- ql/src/test/results/clientpositive/llap/cte_mat_5.q.out
+++ ql/src/test/results/clientpositive/llap/cte_mat_5.q.out
@@ -78,7 +78,7 @@ Stage-3
Select Operator [SEL_35] (rows=1 width=12)
Output:["_col0","_col1"]
Filter Operator [FIL_34] (rows=1 width=4)
- predicate:colnum is not null
+ predicate:UDFToDouble(colnum) is not null
TableScan [TS_8] (rows=1 width=4)
mydb@q1,a,Tbl:COMPLETE,Col:COMPLETE,Output:["colnum"]
<-Map 4 [SIMPLE_EDGE] vectorized, llap
@@ -87,7 +87,7 @@ Stage-3
Select Operator [SEL_38] (rows=1 width=184)
Output:["_col0"]
Filter Operator [FIL_37] (rows=1 width=184)
- predicate:key is not null
+ predicate:UDFToDouble(key) is not null
TableScan [TS_11] (rows=1 width=184)
default@q1,b,Tbl:COMPLETE,Col:NONE,Output:["key"]
Stage-2
diff --git ql/src/test/results/clientpositive/llap/current_date_timestamp.q.out ql/src/test/results/clientpositive/llap/current_date_timestamp.q.out
index 54244672e4..12c0a6ed8e 100644
--- ql/src/test/results/clientpositive/llap/current_date_timestamp.q.out
+++ ql/src/test/results/clientpositive/llap/current_date_timestamp.q.out
@@ -20,7 +20,7 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@alltypesorc
#### A masked pattern was here ####
CBO PLAN:
-HiveProject($f0=[CAST(2012-01-01 01:02:03):TIMESTAMP(9)])
+HiveProject($f0=[CAST(2012-01-01 01:02:03:TIMESTAMP(9)):TIMESTAMP(9)])
HiveTableScan(table=[[default, alltypesorc]], table:alias=[alltypesorc])
PREHOOK: query: select count(*) from (select current_timestamp() from alltypesorc union select current_timestamp() from src limit 5 ) subq
diff --git ql/src/test/results/clientpositive/llap/default_constraint.q.out ql/src/test/results/clientpositive/llap/default_constraint.q.out
index 5d716ebb56..e7c060c28d 100644
--- ql/src/test/results/clientpositive/llap/default_constraint.q.out
+++ ql/src/test/results/clientpositive/llap/default_constraint.q.out
@@ -97,28 +97,28 @@ STAGE PLANS:
Row Limit Per Split: 1
Statistics: Num rows: 1 Data size: ###Masked### Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: array(const struct(3)) (type: array>)
+ expressions: array(const struct(3Y)) (type: array>)
outputColumnNames: _col0
Statistics: Num rows: 1 Data size: ###Masked### Basic stats: COMPLETE Column stats: COMPLETE
UDTF Operator
Statistics: Num rows: 1 Data size: ###Masked### Basic stats: COMPLETE Column stats: COMPLETE
function name: inline
Select Operator
- expressions: col1 (type: int), 32767S (type: smallint), 2147483647 (type: int), 9223372036854775807L (type: bigint), 3.4E38D (type: double), 1234567.89 (type: decimal(9,2))
+ expressions: col1 (type: tinyint), 32767S (type: smallint), 2147483647 (type: int), 9223372036854775807L (type: bigint), 3.4E38D (type: double), 1234567.89 (type: decimal(9,2))
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
Statistics: Num rows: 1 Data size: ###Masked### Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
sort order:
- Map-reduce partition columns: UDFToByte(_col0) (type: tinyint)
+ Map-reduce partition columns: _col0 (type: tinyint)
Statistics: Num rows: 1 Data size: ###Masked### Basic stats: COMPLETE Column stats: COMPLETE
- value expressions: _col0 (type: int), _col1 (type: smallint), _col2 (type: int), _col3 (type: bigint), _col4 (type: double), _col5 (type: decimal(9,2))
+ value expressions: _col0 (type: tinyint), _col1 (type: smallint), _col2 (type: int), _col3 (type: bigint), _col4 (type: double), _col5 (type: decimal(9,2))
Execution mode: llap
LLAP IO: no inputs
Reducer 2
Execution mode: vectorized, llap
Reduce Operator Tree:
Select Operator
- expressions: UDFToByte(VALUE._col0) (type: tinyint), VALUE._col1 (type: smallint), VALUE._col2 (type: int), VALUE._col3 (type: bigint), VALUE._col4 (type: double), VALUE._col5 (type: decimal(9,2))
+ expressions: VALUE._col0 (type: tinyint), VALUE._col1 (type: smallint), VALUE._col2 (type: int), VALUE._col3 (type: bigint), VALUE._col4 (type: double), VALUE._col5 (type: decimal(9,2))
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
Statistics: Num rows: 1 Data size: ###Masked### Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
diff --git ql/src/test/results/clientpositive/llap/dynamic_partition_pruning.q.out ql/src/test/results/clientpositive/llap/dynamic_partition_pruning.q.out
index 1679d577e6..87450c55e6 100644
--- ql/src/test/results/clientpositive/llap/dynamic_partition_pruning.q.out
+++ ql/src/test/results/clientpositive/llap/dynamic_partition_pruning.q.out
@@ -569,27 +569,30 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: ds is not null (type: boolean)
+ filterExpr: CAST( ds AS DATE) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 389248 Basic stats: COMPLETE Column stats: COMPLETE
- Select Operator
- expressions: day(CAST( ds AS DATE)) (type: int)
- outputColumnNames: _col0
- Statistics: Num rows: 2000 Data size: 8000 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- key expressions: _col0 (type: int)
- sort order: +
- Map-reduce partition columns: _col0 (type: int)
+ Filter Operator
+ predicate: CAST( ds AS DATE) is not null (type: boolean)
+ Statistics: Num rows: 2000 Data size: 368000 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: day(CAST( ds AS DATE)) (type: int)
+ outputColumnNames: _col0
Statistics: Num rows: 2000 Data size: 8000 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ key expressions: _col0 (type: int)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: int)
+ Statistics: Num rows: 2000 Data size: 8000 Basic stats: COMPLETE Column stats: COMPLETE
Execution mode: llap
LLAP IO: no inputs
Map 4
Map Operator Tree:
TableScan
alias: srcpart_date_n2
- filterExpr: ((date = '2008-04-08') and ds is not null) (type: boolean)
+ filterExpr: ((date = '2008-04-08') and CAST( ds AS DATE) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 376 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((date = '2008-04-08') and ds is not null) (type: boolean)
+ predicate: ((date = '2008-04-08') and CAST( ds AS DATE) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: day(CAST( ds AS DATE)) (type: int)
@@ -714,27 +717,30 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: ds is not null (type: boolean)
+ filterExpr: CAST( ds AS DATE) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 389248 Basic stats: COMPLETE Column stats: COMPLETE
- Select Operator
- expressions: day(CAST( ds AS DATE)) (type: int)
- outputColumnNames: _col0
- Statistics: Num rows: 2000 Data size: 8000 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- key expressions: _col0 (type: int)
- sort order: +
- Map-reduce partition columns: _col0 (type: int)
+ Filter Operator
+ predicate: CAST( ds AS DATE) is not null (type: boolean)
+ Statistics: Num rows: 2000 Data size: 368000 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: day(CAST( ds AS DATE)) (type: int)
+ outputColumnNames: _col0
Statistics: Num rows: 2000 Data size: 8000 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ key expressions: _col0 (type: int)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: int)
+ Statistics: Num rows: 2000 Data size: 8000 Basic stats: COMPLETE Column stats: COMPLETE
Execution mode: llap
LLAP IO: no inputs
Map 4
Map Operator Tree:
TableScan
alias: srcpart_date_n2
- filterExpr: ((date = '2008-04-08') and ds is not null) (type: boolean)
+ filterExpr: ((date = '2008-04-08') and CAST( ds AS DATE) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 376 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((date = '2008-04-08') and ds is not null) (type: boolean)
+ predicate: ((date = '2008-04-08') and CAST( ds AS DATE) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: day(CAST( ds AS DATE)) (type: int)
@@ -1818,27 +1824,30 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: hr is not null (type: boolean)
+ filterExpr: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 389248 Basic stats: COMPLETE Column stats: COMPLETE
- Select Operator
- expressions: UDFToDouble(hr) (type: double)
- outputColumnNames: _col0
- Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- key expressions: _col0 (type: double)
- sort order: +
- Map-reduce partition columns: _col0 (type: double)
+ Filter Operator
+ predicate: UDFToDouble(hr) is not null (type: boolean)
+ Statistics: Num rows: 2000 Data size: 368000 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: UDFToDouble(hr) (type: double)
+ outputColumnNames: _col0
Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ key expressions: _col0 (type: double)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: double)
+ Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
Execution mode: llap
LLAP IO: no inputs
Map 4
Map Operator Tree:
TableScan
alias: srcpart_double_hour_n0
- filterExpr: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ filterExpr: ((UDFToDouble(hour) = 11.0D) and UDFToDouble(UDFToInteger((hr / 2.0D))) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ predicate: ((UDFToDouble(hour) = 11.0D) and UDFToDouble(UDFToInteger((hr / 2.0D))) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: UDFToDouble(UDFToInteger((hr / 2.0D))) (type: double)
@@ -1963,17 +1972,20 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: hr is not null (type: boolean)
+ filterExpr: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 389248 Basic stats: COMPLETE Column stats: COMPLETE
- Select Operator
- expressions: (UDFToDouble(hr) * 2.0D) (type: double)
- outputColumnNames: _col0
- Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- key expressions: _col0 (type: double)
- sort order: +
- Map-reduce partition columns: _col0 (type: double)
+ Filter Operator
+ predicate: UDFToDouble(hr) is not null (type: boolean)
+ Statistics: Num rows: 2000 Data size: 368000 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: (UDFToDouble(hr) * 2.0D) (type: double)
+ outputColumnNames: _col0
Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ key expressions: _col0 (type: double)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: double)
+ Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
Execution mode: llap
LLAP IO: no inputs
Map 4
@@ -2108,27 +2120,30 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: hr is not null (type: boolean)
+ filterExpr: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 389248 Basic stats: COMPLETE Column stats: COMPLETE
- Select Operator
- expressions: UDFToDouble(hr) (type: double)
- outputColumnNames: _col0
- Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- key expressions: _col0 (type: double)
- sort order: +
- Map-reduce partition columns: _col0 (type: double)
+ Filter Operator
+ predicate: UDFToDouble(hr) is not null (type: boolean)
+ Statistics: Num rows: 2000 Data size: 368000 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: UDFToDouble(hr) (type: double)
+ outputColumnNames: _col0
Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ key expressions: _col0 (type: double)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: double)
+ Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
Execution mode: llap
LLAP IO: no inputs
Map 4
Map Operator Tree:
TableScan
alias: srcpart_double_hour_n0
- filterExpr: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ filterExpr: ((UDFToDouble(hour) = 11.0D) and UDFToDouble(UDFToInteger((hr / 2.0D))) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ predicate: ((UDFToDouble(hour) = 11.0D) and UDFToDouble(UDFToInteger((hr / 2.0D))) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: UDFToDouble(UDFToInteger((hr / 2.0D))) (type: double)
@@ -2237,17 +2252,20 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: hr is not null (type: boolean)
+ filterExpr: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 389248 Basic stats: COMPLETE Column stats: COMPLETE
- Select Operator
- expressions: (UDFToDouble(hr) * 2.0D) (type: double)
- outputColumnNames: _col0
- Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- key expressions: _col0 (type: double)
- sort order: +
- Map-reduce partition columns: _col0 (type: double)
+ Filter Operator
+ predicate: UDFToDouble(hr) is not null (type: boolean)
+ Statistics: Num rows: 2000 Data size: 368000 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: (UDFToDouble(hr) * 2.0D) (type: double)
+ outputColumnNames: _col0
Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ key expressions: _col0 (type: double)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: double)
+ Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
Execution mode: llap
LLAP IO: no inputs
Map 4
@@ -2379,27 +2397,30 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: hr is not null (type: boolean)
+ filterExpr: CAST( (UDFToDouble(hr) * 2.0D) AS STRING) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 389248 Basic stats: COMPLETE Column stats: COMPLETE
- Select Operator
- expressions: CAST( (UDFToDouble(hr) * 2.0D) AS STRING) (type: string)
- outputColumnNames: _col0
+ Filter Operator
+ predicate: CAST( (UDFToDouble(hr) * 2.0D) AS STRING) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 368000 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- key expressions: _col0 (type: string)
- sort order: +
- Map-reduce partition columns: _col0 (type: string)
+ Select Operator
+ expressions: CAST( (UDFToDouble(hr) * 2.0D) AS STRING) (type: string)
+ outputColumnNames: _col0
Statistics: Num rows: 2000 Data size: 368000 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ key expressions: _col0 (type: string)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: string)
+ Statistics: Num rows: 2000 Data size: 368000 Basic stats: COMPLETE Column stats: COMPLETE
Execution mode: llap
LLAP IO: no inputs
Map 4
Map Operator Tree:
TableScan
alias: srcpart_double_hour_n0
- filterExpr: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ filterExpr: ((UDFToDouble(hour) = 11.0D) and CAST( hr AS STRING) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ predicate: ((UDFToDouble(hour) = 11.0D) and CAST( hr AS STRING) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: CAST( hr AS STRING) (type: string)
@@ -4602,41 +4623,44 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: ds is not null (type: boolean)
+ filterExpr: CAST( ds AS DATE) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 389248 Basic stats: COMPLETE Column stats: COMPLETE
- Select Operator
- expressions: day(CAST( ds AS DATE)) (type: int)
- outputColumnNames: _col0
- Statistics: Num rows: 2000 Data size: 8000 Basic stats: COMPLETE Column stats: COMPLETE
- Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 _col0 (type: int)
- 1 _col0 (type: int)
- input vertices:
- 1 Map 3
- Statistics: Num rows: 64 Data size: 512 Basic stats: COMPLETE Column stats: COMPLETE
- Group By Operator
- aggregations: count()
- minReductionHashAggr: 0.0
- mode: hash
- outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- sort order:
+ Filter Operator
+ predicate: CAST( ds AS DATE) is not null (type: boolean)
+ Statistics: Num rows: 2000 Data size: 368000 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: day(CAST( ds AS DATE)) (type: int)
+ outputColumnNames: _col0
+ Statistics: Num rows: 2000 Data size: 8000 Basic stats: COMPLETE Column stats: COMPLETE
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: int)
+ 1 _col0 (type: int)
+ input vertices:
+ 1 Map 3
+ Statistics: Num rows: 64 Data size: 512 Basic stats: COMPLETE Column stats: COMPLETE
+ Group By Operator
+ aggregations: count()
+ minReductionHashAggr: 0.0
+ mode: hash
+ outputColumnNames: _col0
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
- value expressions: _col0 (type: bigint)
+ Reduce Output Operator
+ sort order:
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ value expressions: _col0 (type: bigint)
Execution mode: llap
LLAP IO: no inputs
Map 3
Map Operator Tree:
TableScan
alias: srcpart_date_n2
- filterExpr: ((date = '2008-04-08') and ds is not null) (type: boolean)
+ filterExpr: ((date = '2008-04-08') and CAST( ds AS DATE) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 376 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((date = '2008-04-08') and ds is not null) (type: boolean)
+ predicate: ((date = '2008-04-08') and CAST( ds AS DATE) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: day(CAST( ds AS DATE)) (type: int)
@@ -5248,41 +5272,44 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: hr is not null (type: boolean)
+ filterExpr: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 389248 Basic stats: COMPLETE Column stats: COMPLETE
- Select Operator
- expressions: UDFToDouble(hr) (type: double)
- outputColumnNames: _col0
- Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
- Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 _col0 (type: double)
- 1 _col0 (type: double)
- input vertices:
- 1 Map 3
- Statistics: Num rows: 1000 Data size: 8000 Basic stats: COMPLETE Column stats: COMPLETE
- Group By Operator
- aggregations: count()
- minReductionHashAggr: 0.0
- mode: hash
- outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- sort order:
+ Filter Operator
+ predicate: UDFToDouble(hr) is not null (type: boolean)
+ Statistics: Num rows: 2000 Data size: 368000 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: UDFToDouble(hr) (type: double)
+ outputColumnNames: _col0
+ Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: double)
+ 1 _col0 (type: double)
+ input vertices:
+ 1 Map 3
+ Statistics: Num rows: 1000 Data size: 8000 Basic stats: COMPLETE Column stats: COMPLETE
+ Group By Operator
+ aggregations: count()
+ minReductionHashAggr: 0.0
+ mode: hash
+ outputColumnNames: _col0
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
- value expressions: _col0 (type: bigint)
+ Reduce Output Operator
+ sort order:
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ value expressions: _col0 (type: bigint)
Execution mode: llap
LLAP IO: no inputs
Map 3
Map Operator Tree:
TableScan
alias: srcpart_double_hour_n0
- filterExpr: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ filterExpr: ((UDFToDouble(hour) = 11.0D) and UDFToDouble(UDFToInteger((hr / 2.0D))) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ predicate: ((UDFToDouble(hour) = 11.0D) and UDFToDouble(UDFToInteger((hr / 2.0D))) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: UDFToDouble(UDFToInteger((hr / 2.0D))) (type: double)
@@ -5387,31 +5414,34 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: hr is not null (type: boolean)
+ filterExpr: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 389248 Basic stats: COMPLETE Column stats: COMPLETE
- Select Operator
- expressions: (UDFToDouble(hr) * 2.0D) (type: double)
- outputColumnNames: _col0
- Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
- Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 _col0 (type: double)
- 1 _col0 (type: double)
- input vertices:
- 1 Map 3
- Statistics: Num rows: 1000 Data size: 8000 Basic stats: COMPLETE Column stats: COMPLETE
- Group By Operator
- aggregations: count()
- minReductionHashAggr: 0.0
- mode: hash
- outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- sort order:
+ Filter Operator
+ predicate: UDFToDouble(hr) is not null (type: boolean)
+ Statistics: Num rows: 2000 Data size: 368000 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: (UDFToDouble(hr) * 2.0D) (type: double)
+ outputColumnNames: _col0
+ Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: double)
+ 1 _col0 (type: double)
+ input vertices:
+ 1 Map 3
+ Statistics: Num rows: 1000 Data size: 8000 Basic stats: COMPLETE Column stats: COMPLETE
+ Group By Operator
+ aggregations: count()
+ minReductionHashAggr: 0.0
+ mode: hash
+ outputColumnNames: _col0
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
- value expressions: _col0 (type: bigint)
+ Reduce Output Operator
+ sort order:
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ value expressions: _col0 (type: bigint)
Execution mode: llap
LLAP IO: no inputs
Map 3
@@ -6590,40 +6620,44 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart_orc
+ filterExpr: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 564000 Basic stats: COMPLETE Column stats: COMPLETE
- Select Operator
- expressions: ds (type: string), UDFToDouble(hr) (type: double)
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 2000 Data size: 384000 Basic stats: COMPLETE Column stats: COMPLETE
- Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 _col0 (type: string), _col1 (type: double)
- 1 _col0 (type: string), _col1 (type: double)
- input vertices:
- 1 Map 3
- Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
- Group By Operator
- aggregations: count()
- minReductionHashAggr: 0.0
- mode: hash
- outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- sort order:
+ Filter Operator
+ predicate: UDFToDouble(hr) is not null (type: boolean)
+ Statistics: Num rows: 2000 Data size: 376000 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: ds (type: string), UDFToDouble(hr) (type: double)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 2000 Data size: 384000 Basic stats: COMPLETE Column stats: COMPLETE
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: string), _col1 (type: double)
+ 1 _col0 (type: string), _col1 (type: double)
+ input vertices:
+ 1 Map 3
+ Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
+ Group By Operator
+ aggregations: count()
+ minReductionHashAggr: 0.0
+ mode: hash
+ outputColumnNames: _col0
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
- value expressions: _col0 (type: bigint)
+ Reduce Output Operator
+ sort order:
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ value expressions: _col0 (type: bigint)
Execution mode: llap
LLAP IO: all inputs
Map 3
Map Operator Tree:
TableScan
alias: srcpart_date_hour_n0
- filterExpr: ((date) IN ('2008-04-08', '2008-04-09') and (UDFToDouble(hour) = 11.0D) and ds is not null and hr is not null) (type: boolean)
+ filterExpr: ((date) IN ('2008-04-08', '2008-04-09') and (UDFToDouble(hour) = 11.0D) and ds is not null and UDFToDouble(hr) is not null) (type: boolean)
Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(hour) = 11.0D) and (date) IN ('2008-04-08', '2008-04-09') and ds is not null and hr is not null) (type: boolean)
+ predicate: ((UDFToDouble(hour) = 11.0D) and (date) IN ('2008-04-08', '2008-04-09') and UDFToDouble(hr) is not null and ds is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 720 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: ds (type: string), UDFToDouble(hr) (type: double)
diff --git ql/src/test/results/clientpositive/llap/dynamic_semijoin_reduction_2.q.out ql/src/test/results/clientpositive/llap/dynamic_semijoin_reduction_2.q.out
index 9813b8fcc3..96d3ccc510 100644
--- ql/src/test/results/clientpositive/llap/dynamic_semijoin_reduction_2.q.out
+++ ql/src/test/results/clientpositive/llap/dynamic_semijoin_reduction_2.q.out
@@ -151,10 +151,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: t2
- filterExpr: (tinyint_col_15 is not null and decimal2709_col_9 is not null and tinyint_col_20 is not null and smallint_col_19 is not null) (type: boolean)
+ filterExpr: (UDFToLong(tinyint_col_15) is not null and decimal2709_col_9 is not null and tinyint_col_20 is not null and UDFToInteger(smallint_col_19) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 124 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (decimal2709_col_9 is not null and smallint_col_19 is not null and tinyint_col_15 is not null and tinyint_col_20 is not null) (type: boolean)
+ predicate: (UDFToInteger(smallint_col_19) is not null and UDFToLong(tinyint_col_15) is not null and decimal2709_col_9 is not null and tinyint_col_20 is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 124 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: tinyint_col_15 (type: tinyint), decimal2709_col_9 (type: decimal(27,9)), tinyint_col_20 (type: tinyint), smallint_col_19 (type: smallint)
diff --git ql/src/test/results/clientpositive/llap/except_distinct.q.out ql/src/test/results/clientpositive/llap/except_distinct.q.out
index d54dda9714..bc98b284c0 100644
--- ql/src/test/results/clientpositive/llap/except_distinct.q.out
+++ ql/src/test/results/clientpositive/llap/except_distinct.q.out
@@ -311,7 +311,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3
Statistics: Num rows: 250 Data size: 48500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (((_col2 * 2) = _col3) and (_col2 > 0L)) (type: boolean)
+ predicate: (((_col2 * 2L) = _col3) and (_col2 > 0L)) (type: boolean)
Statistics: Num rows: 41 Data size: 7954 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: string)
@@ -557,7 +557,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3
Statistics: Num rows: 250 Data size: 48500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (((_col2 * 2) = _col3) and (_col2 > 0L)) (type: boolean)
+ predicate: (((_col2 * 2L) = _col3) and (_col2 > 0L)) (type: boolean)
Statistics: Num rows: 41 Data size: 7954 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: string)
@@ -600,7 +600,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3
Statistics: Num rows: 145 Data size: 28130 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (((_col2 * 2) = _col3) and (_col2 > 0L)) (type: boolean)
+ predicate: (((_col2 * 2L) = _col3) and (_col2 > 0L)) (type: boolean)
Statistics: Num rows: 24 Data size: 4656 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: string)
@@ -643,7 +643,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3
Statistics: Num rows: 137 Data size: 26578 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (((_col2 * 2) = _col3) and (_col2 > 0L)) (type: boolean)
+ predicate: (((_col2 * 2L) = _col3) and (_col2 > 0L)) (type: boolean)
Statistics: Num rows: 22 Data size: 4268 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: string)
@@ -820,7 +820,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 2 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (((_col1 * 2) = _col2) and (_col1 > 0L)) (type: boolean)
+ predicate: (((_col1 * 2L) = _col2) and (_col1 > 0L)) (type: boolean)
Statistics: Num rows: 1 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int)
diff --git ql/src/test/results/clientpositive/llap/explainuser_1.q.out ql/src/test/results/clientpositive/llap/explainuser_1.q.out
index 1ea8fdcbb2..7c45ac2e66 100644
--- ql/src/test/results/clientpositive/llap/explainuser_1.q.out
+++ ql/src/test/results/clientpositive/llap/explainuser_1.q.out
@@ -562,7 +562,7 @@ Stage-0
FORWARD [RS_20]
PartitionCols:_col5
Merge Join Operator [MERGEJOIN_63] (rows=1 width=117)
- Conds:RS_17._col0=RS_18._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7"],residual filter predicates:{((_col6 > 0) or _col2)} {(_col3 or (_col7 >= 1L))} {((_col4 + _col7) >= 0)}
+ Conds:RS_17._col0=RS_18._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7"],residual filter predicates:{((_col6 > 0) or _col2)} {(_col3 or (_col7 >= 1L))} {((_col4 + _col7) >= 0L)}
<-Map 1 [SIMPLE_EDGE] llap
SHUFFLE [RS_17]
PartitionCols:_col0
@@ -585,7 +585,7 @@ Stage-0
Group By Operator [GBY_6] (rows=1 width=101)
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, c_int, c_float
Filter Operator [FIL_38] (rows=2 width=93)
- predicate:(((UDFToFloat(c_int) + c_float) >= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
+ predicate:(((UDFToFloat(c_int) + c_float) >= 0.0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
TableScan [TS_3] (rows=20 width=88)
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
<-Reducer 9 [SIMPLE_EDGE] llap
@@ -601,7 +601,7 @@ Stage-0
Group By Operator [GBY_13] (rows=1 width=93)
Output:["_col0","_col1","_col2"],keys:key, c_int, c_float
Filter Operator [FIL_39] (rows=2 width=93)
- predicate:(((UDFToFloat(c_int) + c_float) >= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
+ predicate:(((UDFToFloat(c_int) + c_float) >= 0.0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
TableScan [TS_10] (rows=20 width=88)
default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
@@ -674,7 +674,7 @@ Stage-0
Group By Operator [GBY_6] (rows=1 width=101)
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, c_int, c_float
Filter Operator [FIL_35] (rows=2 width=93)
- predicate:(((UDFToFloat(c_int) + c_float) >= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
+ predicate:(((UDFToFloat(c_int) + c_float) >= 0.0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
TableScan [TS_3] (rows=20 width=88)
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
<-Reducer 8 [SIMPLE_EDGE] llap
@@ -690,7 +690,7 @@ Stage-0
Group By Operator [GBY_13] (rows=1 width=93)
Output:["_col0","_col1","_col2"],keys:key, c_int, c_float
Filter Operator [FIL_36] (rows=2 width=93)
- predicate:(((UDFToFloat(c_int) + c_float) >= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
+ predicate:(((UDFToFloat(c_int) + c_float) >= 0.0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
TableScan [TS_10] (rows=20 width=88)
default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
@@ -745,7 +745,7 @@ Stage-0
FORWARD [RS_20]
PartitionCols:_col5
Merge Join Operator [MERGEJOIN_62] (rows=1 width=117)
- Conds:RS_17._col0=RS_18._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7"],residual filter predicates:{((_col6 > 0) or _col2)} {(_col3 or (_col7 >= 1L))} {((_col4 + _col7) >= 0)}
+ Conds:RS_17._col0=RS_18._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7"],residual filter predicates:{((_col6 > 0) or _col2)} {(_col3 or (_col7 >= 1L))} {((_col4 + _col7) >= 0L)}
<-Map 1 [SIMPLE_EDGE] llap
SHUFFLE [RS_17]
PartitionCols:_col0
@@ -768,7 +768,7 @@ Stage-0
Group By Operator [GBY_6] (rows=1 width=101)
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, c_int, c_float
Filter Operator [FIL_37] (rows=2 width=93)
- predicate:(((UDFToFloat(c_int) + c_float) >= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
+ predicate:(((UDFToFloat(c_int) + c_float) >= 0.0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
TableScan [TS_3] (rows=20 width=88)
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
<-Reducer 9 [SIMPLE_EDGE] llap
@@ -784,7 +784,7 @@ Stage-0
Group By Operator [GBY_13] (rows=1 width=93)
Output:["_col0","_col1","_col2"],keys:key, c_int, c_float
Filter Operator [FIL_38] (rows=2 width=93)
- predicate:(((UDFToFloat(c_int) + c_float) >= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
+ predicate:(((UDFToFloat(c_int) + c_float) >= 0.0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
TableScan [TS_10] (rows=20 width=88)
default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
@@ -857,7 +857,7 @@ Stage-0
Group By Operator [GBY_6] (rows=1 width=101)
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, c_int, c_float
Filter Operator [FIL_35] (rows=2 width=93)
- predicate:(((UDFToFloat(c_int) + c_float) >= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
+ predicate:(((UDFToFloat(c_int) + c_float) >= 0.0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
TableScan [TS_3] (rows=20 width=88)
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
<-Reducer 8 [SIMPLE_EDGE] llap
@@ -873,7 +873,7 @@ Stage-0
Group By Operator [GBY_13] (rows=1 width=93)
Output:["_col0","_col1","_col2"],keys:key, c_int, c_float
Filter Operator [FIL_36] (rows=2 width=93)
- predicate:(((UDFToFloat(c_int) + c_float) >= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
+ predicate:(((UDFToFloat(c_int) + c_float) >= 0.0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
TableScan [TS_10] (rows=20 width=88)
default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
@@ -1930,7 +1930,7 @@ Stage-0
Group By Operator [GBY_3] (rows=1 width=101)
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, c_int, c_float
Filter Operator [FIL_42] (rows=1 width=93)
- predicate:((((c_int + 1) + 1) >= 0) and (((c_int + 1) > 0) or (UDFToDouble(key) >= 0.0D)) and ((UDFToFloat(c_int) + c_float) >= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (UDFToDouble(key) > 0.0D) and (c_float > 0.0))
+ predicate:((((c_int + 1) + 1) >= 0) and (((c_int + 1) > 0) or UDFToDouble(key) is not null) and ((UDFToFloat(c_int) + c_float) >= 0.0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (UDFToDouble(key) > 0.0D) and (c_float > 0.0))
TableScan [TS_0] (rows=20 width=88)
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
<-Reducer 8 [SIMPLE_EDGE] llap
@@ -1948,7 +1948,7 @@ Stage-0
Group By Operator [GBY_12] (rows=1 width=93)
Output:["_col0","_col1","_col2"],keys:key, c_int, c_float
Filter Operator [FIL_43] (rows=1 width=93)
- predicate:(((UDFToFloat(c_int) + c_float) >= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (UDFToDouble(key) > 0.0D) and (c_float > 0.0))
+ predicate:(((UDFToFloat(c_int) + c_float) >= 0.0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (UDFToDouble(key) > 0.0D) and (c_float > 0.0))
TableScan [TS_9] (rows=20 width=88)
default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
@@ -2624,7 +2624,7 @@ Stage-0
Select Operator [SEL_24] (rows=631 width=178)
Output:["_col0","_col1"]
Filter Operator [FIL_23] (rows=631 width=194)
- predicate:((_col2 = 0L) or (_col5 is null and _col0 is not null and (_col3 >= _col2)))
+ predicate:(((_col3 >= _col2) or (_col2 = 0L) or _col5 is not null or _col0 is null) and (_col0 is not null or (_col2 = 0L) or _col5 is not null) and (_col5 is null or (_col2 = 0L)))
Select Operator [SEL_22] (rows=631 width=194)
Output:["_col0","_col1","_col2","_col3","_col5"]
Merge Join Operator [MERGEJOIN_37] (rows=631 width=194)
@@ -2702,10 +2702,10 @@ Stage-0
Stage-1
Reducer 3 llap
File Output Operator [FS_24]
- Select Operator [SEL_23] (rows=19 width=223)
+ Select Operator [SEL_23] (rows=38 width=223)
Output:["_col0","_col1","_col2"]
- Filter Operator [FIL_22] (rows=19 width=234)
- predicate:CASE WHEN ((_col4 = 0L)) THEN (true) WHEN (_col4 is null) THEN (true) WHEN (_col8 is not null) THEN (false) WHEN (_col0 is null) THEN (null) WHEN ((_col5 < _col4)) THEN (false) ELSE (true) END
+ Filter Operator [FIL_22] (rows=38 width=234)
+ predicate:(((_col5 < _col4) is not true or (_col4 = 0L) or _col4 is null or _col8 is not null or _col0 is null) and (_col0 is not null or (_col4 = 0L) or _col4 is null or _col8 is not null) and (_col8 is null or (_col4 = 0L) or _col4 is null))
Merge Join Operator [MERGEJOIN_45] (rows=38 width=234)
Conds:RS_19._col0, _col1=RS_20._col0, _col1(Left Outer),Output:["_col0","_col1","_col2","_col4","_col5","_col8"]
<-Reducer 2 [SIMPLE_EDGE] llap
@@ -2794,7 +2794,7 @@ Stage-0
Select Operator [SEL_29] (rows=27 width=125)
Output:["_col0","_col1"]
Filter Operator [FIL_28] (rows=27 width=141)
- predicate:((_col2 = 0L) or (_col5 is null and _col1 is not null and (_col3 >= _col2)))
+ predicate:(((_col3 >= _col2) or (_col2 = 0L) or _col5 is not null or _col1 is null) and (_col1 is not null or (_col2 = 0L) or _col5 is not null) and (_col5 is null or (_col2 = 0L)))
Select Operator [SEL_27] (rows=27 width=141)
Output:["_col0","_col1","_col2","_col3","_col5"]
Merge Join Operator [MERGEJOIN_38] (rows=27 width=141)
@@ -2874,14 +2874,14 @@ Stage-0
Stage-1
Reducer 5 llap
File Output Operator [FS_36]
- Select Operator [SEL_35] (rows=3 width=106)
+ Select Operator [SEL_35] (rows=7 width=106)
Output:["_col0","_col1"]
<-Reducer 4 [SIMPLE_EDGE] llap
SHUFFLE [RS_34]
- Select Operator [SEL_33] (rows=3 width=106)
+ Select Operator [SEL_33] (rows=7 width=106)
Output:["_col0","_col1"]
- Filter Operator [FIL_32] (rows=3 width=118)
- predicate:CASE WHEN ((_col3 = 0L)) THEN (true) WHEN (_col3 is null) THEN (true) WHEN (_col7 is not null) THEN (false) WHEN (_col0 is null) THEN (null) WHEN ((_col4 < _col3)) THEN (false) ELSE (true) END
+ Filter Operator [FIL_32] (rows=7 width=114)
+ predicate:(((_col4 < _col3) is not true or (_col3 = 0L) or _col3 is null or _col7 is not null or _col0 is null) and (_col0 is not null or (_col3 = 0L) or _col3 is null or _col7 is not null) and (_col7 is null or (_col3 = 0L) or _col3 is null))
Merge Join Operator [MERGEJOIN_48] (rows=7 width=114)
Conds:RS_29._col0, _col1=RS_30._col0, _col1(Left Outer),Output:["_col0","_col1","_col3","_col4","_col7"]
<-Reducer 3 [SIMPLE_EDGE] llap
@@ -6260,13 +6260,13 @@ Stage-0
Select Operator [SEL_2] (rows=1 width=368)
Output:["_col0","_col1","_col2"]
Filter Operator [FIL_18] (rows=1 width=368)
- predicate:key is not null
+ predicate:UDFToDouble(key) is not null
TableScan [TS_0] (rows=1 width=368)
default@t1_n119,a,Tbl:COMPLETE,Col:NONE,Output:["key","val"]
<-Select Operator [SEL_5] (rows=500 width=12)
Output:["_col0","_col1"]
Filter Operator [FIL_19] (rows=500 width=87)
- predicate:key is not null
+ predicate:UDFToDouble(key) is not null
TableScan [TS_3] (rows=500 width=87)
default@src,c,Tbl:COMPLETE,Col:COMPLETE,Output:["key"]
diff --git ql/src/test/results/clientpositive/llap/groupby_rollup_empty.q.out ql/src/test/results/clientpositive/llap/groupby_rollup_empty.q.out
index e7c0ab975b..45d2a4d192 100644
--- ql/src/test/results/clientpositive/llap/groupby_rollup_empty.q.out
+++ ql/src/test/results/clientpositive/llap/groupby_rollup_empty.q.out
@@ -203,7 +203,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3
Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col3 (type: bigint), grouping(_col2, 0) (type: bigint), 'NULL,1' (type: string)
+ expressions: _col3 (type: bigint), grouping(_col2, 0L) (type: bigint), 'NULL,1' (type: string)
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: NONE
File Output Operator
diff --git ql/src/test/results/clientpositive/llap/join_constraints_optimization.q.out ql/src/test/results/clientpositive/llap/join_constraints_optimization.q.out
index 1098bb41f3..087db3c842 100644
--- ql/src/test/results/clientpositive/llap/join_constraints_optimization.q.out
+++ ql/src/test/results/clientpositive/llap/join_constraints_optimization.q.out
@@ -694,28 +694,27 @@ STAGE PLANS:
Tez
#### A masked pattern was here ####
Edges:
- Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 4 (SIMPLE_EDGE)
- Reducer 3 <- Map 5 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+ Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 3 (SIMPLE_EDGE)
#### A masked pattern was here ####
Vertices:
Map 1
Map Operator Tree:
TableScan
alias: lineorder_removal_n0
- Statistics: Num rows: 1 Data size: 20 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: lo_linenumber (type: int), lo_custkey (type: bigint), lo_orderdate (type: bigint)
- outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 1 Data size: 20 Basic stats: COMPLETE Column stats: NONE
+ expressions: lo_linenumber (type: int), lo_orderdate (type: bigint)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
- key expressions: _col2 (type: bigint)
+ key expressions: _col1 (type: bigint)
sort order: +
- Map-reduce partition columns: _col2 (type: bigint)
- Statistics: Num rows: 1 Data size: 20 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col0 (type: int), _col1 (type: bigint)
+ Map-reduce partition columns: _col1 (type: bigint)
+ Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col0 (type: int)
Execution mode: vectorized, llap
LLAP IO: no inputs
- Map 4
+ Map 3
Map Operator Tree:
TableScan
alias: dates_removal_n0
@@ -731,40 +730,7 @@ STAGE PLANS:
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
Execution mode: vectorized, llap
LLAP IO: no inputs
- Map 5
- Map Operator Tree:
- TableScan
- alias: customer_removal_n0
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: c_custkey (type: bigint)
- outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: bigint)
- sort order: +
- Map-reduce partition columns: _col0 (type: bigint)
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
- Execution mode: vectorized, llap
- LLAP IO: no inputs
Reducer 2
- Execution mode: llap
- Reduce Operator Tree:
- Merge Join Operator
- condition map:
- Left Outer Join 0 to 1
- keys:
- 0 _col2 (type: bigint)
- 1 _col0 (type: bigint)
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 22 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col1 (type: bigint)
- sort order: +
- Map-reduce partition columns: _col1 (type: bigint)
- Statistics: Num rows: 1 Data size: 22 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col0 (type: int)
- Reducer 3
Execution mode: llap
Reduce Operator Tree:
Merge Join Operator
@@ -774,10 +740,10 @@ STAGE PLANS:
0 _col1 (type: bigint)
1 _col0 (type: bigint)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 13 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 13 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
diff --git ql/src/test/results/clientpositive/llap/kryo.q.out ql/src/test/results/clientpositive/llap/kryo.q.out
index 7e10d64403..5641e8fcdd 100644
--- ql/src/test/results/clientpositive/llap/kryo.q.out
+++ ql/src/test/results/clientpositive/llap/kryo.q.out
@@ -54,7 +54,7 @@ STAGE PLANS:
predicate: (id) IN (1, 2, 3, 4, 5, 6) (type: boolean)
Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: if((id) IN (1, 2), if((id = 1), date_, date_), if((id = 3), CASE WHEN ((date_ is null or to_date(CAST( datetime AS TIMESTAMP)) is null)) THEN (null) WHEN ((CAST( date_ AS DATE) > to_date(CAST( datetime AS TIMESTAMP)))) THEN (date_) ELSE (CAST( to_date(CAST( datetime AS TIMESTAMP)) AS STRING)) END, null)) (type: string), id (type: int), CASE WHEN ((id = 6)) THEN (CASE WHEN ((concat(date_, ' 00:00:00') is null or datetime is null)) THEN (null) WHEN ((concat(date_, ' 00:00:00') > datetime)) THEN (concat(date_, ' 00:00:00')) ELSE (datetime) END) WHEN ((id = 5)) THEN (CASE WHEN ((date_ is null or datetime is null)) THEN (null) WHEN ((date_ > datetime)) THEN (date_) ELSE (datetime) END) WHEN ((id = 3)) THEN (concat(date_, ' 00:00:00')) WHEN ((id = 4)) THEN (concat(date_, ' 00:00:00')) WHEN ((id = 1)) THEN (date_) WHEN ((id = 2)) THEN (date_) ELSE (null) END (type: string)
+ expressions: if((id) IN (1, 2), if((id = 1), date_, date_), if((id = 3), CASE WHEN ((date_ is null or to_date(CAST( datetime AS TIMESTAMP)) is null)) THEN (null) WHEN ((CAST( date_ AS DATE) > to_date(CAST( datetime AS TIMESTAMP)))) THEN (date_) ELSE (CAST( to_date(CAST( datetime AS TIMESTAMP)) AS STRING)) END, null)) (type: string), id (type: int), CASE WHEN ((id = 6)) THEN (CASE WHEN ((concat(date_, ' 00:00:00') is null or datetime is null)) THEN (null) WHEN ((concat(date_, ' 00:00:00') > datetime)) THEN (concat(date_, ' 00:00:00')) ELSE (datetime) END) WHEN ((id = 5)) THEN (CASE WHEN ((date_ is null or datetime is null)) THEN (null) WHEN ((date_ > datetime)) THEN (date_) ELSE (datetime) END) WHEN ((id) IN (3, 4)) THEN (concat(date_, ' 00:00:00')) WHEN ((id) IN (1, 2)) THEN (date_) ELSE (null) END (type: string)
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: NONE
Group By Operator
diff --git ql/src/test/results/clientpositive/llap/lineage3.q.out ql/src/test/results/clientpositive/llap/lineage3.q.out
index 11e6904a12..b9ef761f49 100644
--- ql/src/test/results/clientpositive/llap/lineage3.q.out
+++ ql/src/test/results/clientpositive/llap/lineage3.q.out
@@ -10,7 +10,7 @@ insert into table d1 select x + length(y)
PREHOOK: type: QUERY
PREHOOK: Input: default@alltypesorc
PREHOOK: Output: default@d1
-{"version":"1.0","engine":"tez","database":"default","hash":"a1d51634883428cbc72084be0ec2e641","queryText":"from (select a.ctinyint x, b.cstring1 y\nfrom alltypesorc a join alltypesorc b on a.cint = b.cbigint) t_n20\ninsert into table d1 select x + length(y)","edges":[{"sources":[1,2],"targets":[0],"expression":"(UDFToInteger(a.ctinyint) + length(b.cstring1))","edgeType":"PROJECTION"},{"sources":[3],"targets":[0],"expression":"a.cint is not null","edgeType":"PREDICATE"},{"sources":[3,4],"targets":[0],"expression":"(UDFToLong(a.cint) = b.cbigint)","edgeType":"PREDICATE"},{"sources":[4],"targets":[0],"expression":"b.cbigint is not null","edgeType":"PREDICATE"},{"sources":[1,2],"targets":[0],"expression":"compute_stats((UDFToInteger(a.ctinyint) + length(b.cstring1)), 'hll')","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.d1.a"},{"id":1,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":2,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring1"},{"id":3,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cbigint"}]}
+{"version":"1.0","engine":"tez","database":"default","hash":"a1d51634883428cbc72084be0ec2e641","queryText":"from (select a.ctinyint x, b.cstring1 y\nfrom alltypesorc a join alltypesorc b on a.cint = b.cbigint) t_n20\ninsert into table d1 select x + length(y)","edges":[{"sources":[1,2],"targets":[0],"expression":"(UDFToInteger(a.ctinyint) + length(b.cstring1))","edgeType":"PROJECTION"},{"sources":[3],"targets":[0],"expression":"UDFToLong(a.cint) is not null","edgeType":"PREDICATE"},{"sources":[3,4],"targets":[0],"expression":"(UDFToLong(a.cint) = b.cbigint)","edgeType":"PREDICATE"},{"sources":[4],"targets":[0],"expression":"b.cbigint is not null","edgeType":"PREDICATE"},{"sources":[1,2],"targets":[0],"expression":"compute_stats((UDFToInteger(a.ctinyint) + length(b.cstring1)), 'hll')","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.d1.a"},{"id":1,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":2,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring1"},{"id":3,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cbigint"}]}
PREHOOK: query: drop table if exists d2
PREHOOK: type: DROPTABLE
PREHOOK: query: create table d2(b varchar(128))
@@ -25,7 +25,7 @@ PREHOOK: type: QUERY
PREHOOK: Input: default@alltypesorc
PREHOOK: Output: default@d1
PREHOOK: Output: default@d2
-{"version":"1.0","engine":"tez","database":"default","hash":"84e3cdc38011da5842162df175b2a494","queryText":"from (select a.ctinyint x, b.cstring1 y\nfrom alltypesorc a join alltypesorc b on a.cint = b.cbigint) t_n20\ninsert into table d1 select x where y is null\ninsert into table d2 select y where x > 0","edges":[{"sources":[2],"targets":[0],"expression":"UDFToInteger(x)","edgeType":"PROJECTION"},{"sources":[3],"targets":[0,1],"expression":"a.cint is not null","edgeType":"PREDICATE"},{"sources":[3,4],"targets":[0,1],"expression":"(UDFToLong(a.cint) = b.cbigint)","edgeType":"PREDICATE"},{"sources":[4],"targets":[0,1],"expression":"b.cbigint is not null","edgeType":"PREDICATE"},{"sources":[5],"targets":[0],"expression":"t_n20.y is null","edgeType":"PREDICATE"},{"sources":[5],"targets":[1],"expression":"CAST( y AS varchar(128))","edgeType":"PROJECTION"},{"sources":[2],"targets":[1,0],"expression":"(t_n20.x > 0Y)","edgeType":"PREDICATE"},{"sources":[2],"targets":[0],"expression":"compute_stats(UDFToInteger(x), 'hll')","edgeType":"PROJECTION"},{"sources":[5],"targets":[0],"expression":"compute_stats(CAST( y AS varchar(128)), 'hll')","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.d1.a"},{"id":1,"vertexType":"COLUMN","vertexId":"default.d2.b"},{"id":2,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":3,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cbigint"},{"id":5,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring1"}]}
+{"version":"1.0","engine":"tez","database":"default","hash":"84e3cdc38011da5842162df175b2a494","queryText":"from (select a.ctinyint x, b.cstring1 y\nfrom alltypesorc a join alltypesorc b on a.cint = b.cbigint) t_n20\ninsert into table d1 select x where y is null\ninsert into table d2 select y where x > 0","edges":[{"sources":[2],"targets":[0],"expression":"UDFToInteger(x)","edgeType":"PROJECTION"},{"sources":[3],"targets":[0,1],"expression":"UDFToLong(a.cint) is not null","edgeType":"PREDICATE"},{"sources":[3,4],"targets":[0,1],"expression":"(UDFToLong(a.cint) = b.cbigint)","edgeType":"PREDICATE"},{"sources":[4],"targets":[0,1],"expression":"b.cbigint is not null","edgeType":"PREDICATE"},{"sources":[5],"targets":[0],"expression":"t_n20.y is null","edgeType":"PREDICATE"},{"sources":[5],"targets":[1],"expression":"CAST( y AS varchar(128))","edgeType":"PROJECTION"},{"sources":[2],"targets":[1,0],"expression":"(t_n20.x > 0Y)","edgeType":"PREDICATE"},{"sources":[2],"targets":[0],"expression":"compute_stats(UDFToInteger(x), 'hll')","edgeType":"PROJECTION"},{"sources":[5],"targets":[0],"expression":"compute_stats(CAST( y AS varchar(128)), 'hll')","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.d1.a"},{"id":1,"vertexType":"COLUMN","vertexId":"default.d2.b"},{"id":2,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":3,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cbigint"},{"id":5,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring1"}]}
PREHOOK: query: drop table if exists t_n20
PREHOOK: type: DROPTABLE
PREHOOK: query: create table t_n20 as
@@ -86,7 +86,7 @@ order by a.ctinyint, a.cint
PREHOOK: type: QUERY
PREHOOK: Input: default@alltypesorc
#### A masked pattern was here ####
-{"version":"1.0","engine":"tez","database":"default","hash":"5e30ab16eecf1f308b78f727a59292c7","queryText":"select a.ctinyint, a.cint, count(a.cdouble)\n over(partition by a.ctinyint order by a.cint desc\n rows between 1 preceding and 1 following)\nfrom alltypesorc a inner join alltypesorc b on a.cint = b.cbigint\norder by a.ctinyint, a.cint","edges":[{"sources":[3],"targets":[0],"edgeType":"PROJECTION"},{"sources":[4],"targets":[1],"edgeType":"PROJECTION"},{"sources":[3,4,5,6],"targets":[2],"expression":"(tok_function count (. (tok_table_or_col $hdt$_0) cdouble) (tok_windowspec (tok_partitioningspec (tok_distributeby (. (tok_table_or_col $hdt$_0) ctinyint)) (tok_orderby (tok_tabsortcolnamedesc (tok_nulls_last (. (tok_table_or_col $hdt$_0) cint))))) (tok_windowrange (preceding 1) (following 1))))","edgeType":"PROJECTION"},{"sources":[4],"targets":[0,1,2],"expression":"a.cint is not null","edgeType":"PREDICATE"},{"sources":[4],"targets":[0,1,2],"expression":"UDFToLong(a.cint) is not null","edgeType":"PREDICATE"},{"sources":[4,6],"targets":[0,1,2],"expression":"(UDFToLong(a.cint) = b.cbigint)","edgeType":"PREDICATE"},{"sources":[6],"targets":[0,1,2],"expression":"b.cbigint is not null","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"a.ctinyint"},{"id":1,"vertexType":"COLUMN","vertexId":"a.cint"},{"id":2,"vertexType":"COLUMN","vertexId":"count_window_0"},{"id":3,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":5,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cdouble"},{"id":6,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cbigint"}]}
+{"version":"1.0","engine":"tez","database":"default","hash":"5e30ab16eecf1f308b78f727a59292c7","queryText":"select a.ctinyint, a.cint, count(a.cdouble)\n over(partition by a.ctinyint order by a.cint desc\n rows between 1 preceding and 1 following)\nfrom alltypesorc a inner join alltypesorc b on a.cint = b.cbigint\norder by a.ctinyint, a.cint","edges":[{"sources":[3],"targets":[0],"edgeType":"PROJECTION"},{"sources":[4],"targets":[1],"edgeType":"PROJECTION"},{"sources":[3,4,5,6],"targets":[2],"expression":"(tok_function count (. (tok_table_or_col $hdt$_0) cdouble) (tok_windowspec (tok_partitioningspec (tok_distributeby (. (tok_table_or_col $hdt$_0) ctinyint)) (tok_orderby (tok_tabsortcolnamedesc (tok_nulls_last (. (tok_table_or_col $hdt$_0) cint))))) (tok_windowrange (preceding 1) (following 1))))","edgeType":"PROJECTION"},{"sources":[4],"targets":[0,1,2],"expression":"UDFToLong(a.cint) is not null","edgeType":"PREDICATE"},{"sources":[4,6],"targets":[0,1,2],"expression":"(UDFToLong(a.cint) = b.cbigint)","edgeType":"PREDICATE"},{"sources":[6],"targets":[0,1,2],"expression":"b.cbigint is not null","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"a.ctinyint"},{"id":1,"vertexType":"COLUMN","vertexId":"a.cint"},{"id":2,"vertexType":"COLUMN","vertexId":"count_window_0"},{"id":3,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":5,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cdouble"},{"id":6,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cbigint"}]}
PREHOOK: query: with v2 as
(select cdouble, count(cint) over() a,
sum(cint + cbigint) over(partition by cboolean1) b
@@ -135,7 +135,7 @@ and x.ctinyint + length(c.cstring2) < 1000
PREHOOK: type: QUERY
PREHOOK: Input: default@alltypesorc
#### A masked pattern was here ####
-{"version":"1.0","engine":"tez","database":"default","hash":"15e00f9e88c1ad6b2f53a33a0c147f0e","queryText":"select x.ctinyint, x.cint, c.cbigint-100, c.cstring1\nfrom alltypesorc c\njoin (\n select a.ctinyint ctinyint, b.cint cint\n from (select * from alltypesorc a where cboolean1=false) a\n join alltypesorc b on (a.cint = b.cbigint - 224870380)\n ) x on (x.cint = c.cint)\nwhere x.ctinyint > 10\nand x.cint < 4.5\nand x.ctinyint + length(c.cstring2) < 1000","edges":[{"sources":[4],"targets":[0],"edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"expression":"(c.cbigint - 100L)","edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"},{"sources":[5],"targets":[0,1,2,3],"expression":"(CAST( c.cint AS decimal(11,1)) < 4.5)","edgeType":"PREDICATE"},{"sources":[5],"targets":[0,1,2,3],"expression":"(c.cint = b.cint)","edgeType":"PREDICATE"},{"sources":[5,6],"targets":[0,1,2,3],"expression":"((CAST( b.cint AS decimal(11,1)) < 4.5) and b.cbigint is not null)","edgeType":"PREDICATE"},{"sources":[6,5],"targets":[0,1,2,3],"expression":"((b.cbigint - 224870380) = UDFToLong(a.cint))","edgeType":"PREDICATE"},{"sources":[8,4,5],"targets":[0,1,2,3],"expression":"((a.cboolean1 = false) and (a.ctinyint > 10Y) and a.cint is not null)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"x.ctinyint"},{"id":1,"vertexType":"COLUMN","vertexId":"x.cint"},{"id":2,"vertexType":"COLUMN","vertexId":"_c2"},{"id":3,"vertexType":"COLUMN","vertexId":"c.cstring1"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":5,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":6,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cbigint"},{"id":7,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring1"},{"id":8,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cboolean1"}]}
+{"version":"1.0","engine":"tez","database":"default","hash":"15e00f9e88c1ad6b2f53a33a0c147f0e","queryText":"select x.ctinyint, x.cint, c.cbigint-100, c.cstring1\nfrom alltypesorc c\njoin (\n select a.ctinyint ctinyint, b.cint cint\n from (select * from alltypesorc a where cboolean1=false) a\n join alltypesorc b on (a.cint = b.cbigint - 224870380)\n ) x on (x.cint = c.cint)\nwhere x.ctinyint > 10\nand x.cint < 4.5\nand x.ctinyint + length(c.cstring2) < 1000","edges":[{"sources":[4],"targets":[0],"edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"expression":"(c.cbigint - 100L)","edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"},{"sources":[5],"targets":[0,1,2,3],"expression":"(CAST( c.cint AS decimal(11,1)) < 4.5)","edgeType":"PREDICATE"},{"sources":[5],"targets":[0,1,2,3],"expression":"(c.cint = b.cint)","edgeType":"PREDICATE"},{"sources":[5,6],"targets":[0,1,2,3],"expression":"((CAST( b.cint AS decimal(11,1)) < 4.5) and b.cbigint is not null)","edgeType":"PREDICATE"},{"sources":[6,5],"targets":[0,1,2,3],"expression":"((b.cbigint - 224870380L) = UDFToLong(a.cint))","edgeType":"PREDICATE"},{"sources":[4,5,8],"targets":[0,1,2,3],"expression":"((a.ctinyint > 10Y) and UDFToLong(a.cint) is not null and (not a.cboolean1))","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"x.ctinyint"},{"id":1,"vertexType":"COLUMN","vertexId":"x.cint"},{"id":2,"vertexType":"COLUMN","vertexId":"_c2"},{"id":3,"vertexType":"COLUMN","vertexId":"c.cstring1"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":5,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":6,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cbigint"},{"id":7,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring1"},{"id":8,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cboolean1"}]}
11 -654374827 857266369 OEfPnHnIYueoup
PREHOOK: query: select c1, x2, x3
from (
@@ -166,7 +166,7 @@ where key in (select key+18 from src1) order by key
PREHOOK: type: QUERY
PREHOOK: Input: default@src1
#### A masked pattern was here ####
-{"version":"1.0","engine":"tez","database":"default","hash":"06c63ecdebcc1ca975a34b0fe1b4bf38","queryText":"select key, value from src1\nwhere key in (select key+18 from src1) order by key","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[2],"targets":[0,1],"expression":"src1.key is not null","edgeType":"PREDICATE"},{"sources":[2],"targets":[0,1],"expression":"(UDFToDouble(src1.key) = (UDFToDouble(src1.key) + 18.0D))","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"key"},{"id":1,"vertexType":"COLUMN","vertexId":"value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"}]}
+{"version":"1.0","engine":"tez","database":"default","hash":"06c63ecdebcc1ca975a34b0fe1b4bf38","queryText":"select key, value from src1\nwhere key in (select key+18 from src1) order by key","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[2],"targets":[0,1],"expression":"UDFToDouble(src1.key) is not null","edgeType":"PREDICATE"},{"sources":[2],"targets":[0,1],"expression":"(UDFToDouble(src1.key) = (UDFToDouble(src1.key) + 18.0D))","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"key"},{"id":1,"vertexType":"COLUMN","vertexId":"value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"}]}
146 val_146
273 val_273
PREHOOK: query: select * from src1 a
@@ -178,7 +178,7 @@ PREHOOK: type: QUERY
PREHOOK: Input: default@alltypesorc
PREHOOK: Input: default@src1
#### A masked pattern was here ####
-{"version":"1.0","engine":"tez","database":"default","hash":"94e9cc0a67801fe1503a3cb0c5029d59","queryText":"select * from src1 a\nwhere exists\n (select cint from alltypesorc b\n where a.key = b.ctinyint + 300)\nand key > 300","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[2],"targets":[0,1],"expression":"(UDFToDouble(a.key) > 300.0D)","edgeType":"PREDICATE"},{"sources":[2],"targets":[0,1],"expression":"(a.key = a.key)","edgeType":"PREDICATE"},{"sources":[4],"targets":[0,1],"expression":"b.ctinyint is not null","edgeType":"PREDICATE"},{"sources":[4,2],"targets":[0,1],"expression":"(UDFToDouble((UDFToInteger(b.ctinyint) + 300)) = UDFToDouble(a.key))","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"a.key"},{"id":1,"vertexType":"COLUMN","vertexId":"a.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"}]}
+{"version":"1.0","engine":"tez","database":"default","hash":"94e9cc0a67801fe1503a3cb0c5029d59","queryText":"select * from src1 a\nwhere exists\n (select cint from alltypesorc b\n where a.key = b.ctinyint + 300)\nand key > 300","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[2],"targets":[0,1],"expression":"(UDFToDouble(a.key) > 300.0D)","edgeType":"PREDICATE"},{"sources":[2],"targets":[0,1],"expression":"(a.key = a.key)","edgeType":"PREDICATE"},{"sources":[4],"targets":[0,1],"expression":"UDFToDouble((UDFToInteger(b.ctinyint) + 300)) is not null","edgeType":"PREDICATE"},{"sources":[4,2],"targets":[0,1],"expression":"(UDFToDouble((UDFToInteger(b.ctinyint) + 300)) = UDFToDouble(a.key))","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"a.key"},{"id":1,"vertexType":"COLUMN","vertexId":"a.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"}]}
311 val_311
Warning: Shuffle Join MERGEJOIN[36][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
PREHOOK: query: select key, value from src1
@@ -186,7 +186,7 @@ where key not in (select key+18 from src1) order by key
PREHOOK: type: QUERY
PREHOOK: Input: default@src1
#### A masked pattern was here ####
-{"version":"1.0","engine":"tez","database":"default","hash":"cbc4367150807328dda0f1cf4c74b811","queryText":"select key, value from src1\nwhere key not in (select key+18 from src1) order by key","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[2],"targets":[0,1],"expression":"(UDFToDouble(src1.key) = (UDFToDouble(src1.key) + 18.0D))","edgeType":"PREDICATE"},{"sources":[4,2],"targets":[0,1],"expression":"((count(*) = 0L) or (true is null and src1.key is not null and (count((UDFToDouble(src1.key) + 18.0D)) >= count(*))))","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"key"},{"id":1,"vertexType":"COLUMN","vertexId":"value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"},{"id":4,"vertexType":"TABLE","vertexId":"default.src1"}]}
+{"version":"1.0","engine":"tez","database":"default","hash":"cbc4367150807328dda0f1cf4c74b811","queryText":"select key, value from src1\nwhere key not in (select key+18 from src1) order by key","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[2],"targets":[0,1],"expression":"(UDFToDouble(src1.key) = (UDFToDouble(src1.key) + 18.0D))","edgeType":"PREDICATE"},{"sources":[4,2],"targets":[0,1],"expression":"((true is null or (count(*) = 0L)) and (src1.key is not null or (count(*) = 0L) or true is not null) and ((count((UDFToDouble(src1.key) + 18.0D)) >= count(*)) or (count(*) = 0L) or true is not null or src1.key is null))","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"key"},{"id":1,"vertexType":"COLUMN","vertexId":"value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"},{"id":4,"vertexType":"TABLE","vertexId":"default.src1"}]}
PREHOOK: query: select * from src1 a
where not exists
(select cint from alltypesorc b
@@ -196,7 +196,7 @@ PREHOOK: type: QUERY
PREHOOK: Input: default@alltypesorc
PREHOOK: Input: default@src1
#### A masked pattern was here ####
-{"version":"1.0","engine":"tez","database":"default","hash":"723e79692e1de404c4ffb702097586da","queryText":"select * from src1 a\nwhere not exists\n (select cint from alltypesorc b\n where a.key = b.ctinyint + 300)\nand key > 300","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[2],"targets":[0,1],"expression":"(UDFToDouble(a.key) > 300.0D)","edgeType":"PREDICATE"},{"sources":[2],"targets":[0,1],"expression":"(a.key = a.key)","edgeType":"PREDICATE"},{"sources":[4],"targets":[0,1],"expression":"b.ctinyint is not null","edgeType":"PREDICATE"},{"sources":[4,2],"targets":[0,1],"expression":"(UDFToDouble((UDFToInteger(b.ctinyint) + 300)) = UDFToDouble(a.key))","edgeType":"PREDICATE"},{"sources":[],"targets":[0,1],"expression":"true is null","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"a.key"},{"id":1,"vertexType":"COLUMN","vertexId":"a.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"}]}
+{"version":"1.0","engine":"tez","database":"default","hash":"723e79692e1de404c4ffb702097586da","queryText":"select * from src1 a\nwhere not exists\n (select cint from alltypesorc b\n where a.key = b.ctinyint + 300)\nand key > 300","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[2],"targets":[0,1],"expression":"(UDFToDouble(a.key) > 300.0D)","edgeType":"PREDICATE"},{"sources":[2],"targets":[0,1],"expression":"(a.key = a.key)","edgeType":"PREDICATE"},{"sources":[4],"targets":[0,1],"expression":"UDFToDouble((UDFToInteger(b.ctinyint) + 300)) is not null","edgeType":"PREDICATE"},{"sources":[4,2],"targets":[0,1],"expression":"(UDFToDouble((UDFToInteger(b.ctinyint) + 300)) = UDFToDouble(a.key))","edgeType":"PREDICATE"},{"sources":[],"targets":[0,1],"expression":"true is null","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"a.key"},{"id":1,"vertexType":"COLUMN","vertexId":"a.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"}]}
369
401 val_401
406 val_406
@@ -297,7 +297,7 @@ PREHOOK: type: CREATEVIEW
PREHOOK: Input: default@alltypesorc
PREHOOK: Output: database:default
PREHOOK: Output: default@dest_v3
-{"version":"1.0","engine":"tez","database":"default","hash":"9848a9a38a4f6f031dc669e7e495f9ee","queryText":"create view dest_v3 (a1, a2, a3, a4, a5, a6, a7) as\n select x.csmallint, x.cbigint bint1, x.ctinyint, c.cbigint bint2, x.cint, x.cfloat, c.cstring1\n from alltypesorc c\n join (\n select a.csmallint csmallint, a.ctinyint ctinyint, a.cstring2 cstring2,\n a.cint cint, a.cstring1 ctring1, b.cfloat cfloat, b.cbigint cbigint\n from ( select * from alltypesorc a where cboolean1=true ) a\n join alltypesorc b on (a.csmallint = b.cint)\n ) x on (x.ctinyint = c.cbigint)\n where x.csmallint=11\n and x.cint > 899\n and x.cfloat > 4.5\n and c.cstring1 < '7'\n and x.cint + x.cfloat + length(c.cstring1) < 1000","edges":[{"sources":[],"targets":[0],"expression":"11S","edgeType":"PROJECTION"},{"sources":[7],"targets":[1,2],"edgeType":"PROJECTION"},{"sources":[8],"targets":[3],"edgeType":"PROJECTION"},{"sources":[9],"targets":[4],"edgeType":"PROJECTION"},{"sources":[10],"targets":[5],"edgeType":"PROJECTION"},{"sources":[11],"targets":[6],"edgeType":"PROJECTION"},{"sources":[11,7],"targets":[0,1,3,2,4,5,6],"expression":"((c.cstring1 < '7') and c.cbigint is not null)","edgeType":"PREDICATE"},{"sources":[7,8],"targets":[0,1,3,2,4,5,6],"expression":"(c.cbigint = UDFToLong(a.ctinyint))","edgeType":"PREDICATE"},{"sources":[12,13,9,8],"targets":[0,1,3,2,4,5,6],"expression":"(a.cboolean1 and (a.csmallint = 11S) and (a.cint > 899) and a.ctinyint is not null)","edgeType":"PREDICATE"},{"sources":[10,9],"targets":[0,1,3,2,4,5,6],"expression":"((b.cfloat > 4.5) and (b.cint = 11))","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_v3.csmallint"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_v3.bint1"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest_v3.bint2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest_v3.ctinyint"},{"id":4,"vertexType":"COLUMN","vertexId":"default.dest_v3.cint"},{"id":5,"vertexType":"COLUMN","vertexId":"default.dest_v3.cfloat"},{"id":6,"vertexType":"COLUMN","vertexId":"default.dest_v3.cstring1"},{"id":7,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cbigint"},{"id":8,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":9,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":10,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cfloat"},{"id":11,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring1"},{"id":12,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cboolean1"},{"id":13,"vertexType":"COLUMN","vertexId":"default.alltypesorc.csmallint"}]}
+{"version":"1.0","engine":"tez","database":"default","hash":"9848a9a38a4f6f031dc669e7e495f9ee","queryText":"create view dest_v3 (a1, a2, a3, a4, a5, a6, a7) as\n select x.csmallint, x.cbigint bint1, x.ctinyint, c.cbigint bint2, x.cint, x.cfloat, c.cstring1\n from alltypesorc c\n join (\n select a.csmallint csmallint, a.ctinyint ctinyint, a.cstring2 cstring2,\n a.cint cint, a.cstring1 ctring1, b.cfloat cfloat, b.cbigint cbigint\n from ( select * from alltypesorc a where cboolean1=true ) a\n join alltypesorc b on (a.csmallint = b.cint)\n ) x on (x.ctinyint = c.cbigint)\n where x.csmallint=11\n and x.cint > 899\n and x.cfloat > 4.5\n and c.cstring1 < '7'\n and x.cint + x.cfloat + length(c.cstring1) < 1000","edges":[{"sources":[],"targets":[0],"expression":"11S","edgeType":"PROJECTION"},{"sources":[7],"targets":[1,2],"edgeType":"PROJECTION"},{"sources":[8],"targets":[3],"edgeType":"PROJECTION"},{"sources":[9],"targets":[4],"edgeType":"PROJECTION"},{"sources":[10],"targets":[5],"edgeType":"PROJECTION"},{"sources":[11],"targets":[6],"edgeType":"PROJECTION"},{"sources":[11,7],"targets":[0,1,3,2,4,5,6],"expression":"((c.cstring1 < '7') and c.cbigint is not null)","edgeType":"PREDICATE"},{"sources":[7,8],"targets":[0,1,3,2,4,5,6],"expression":"(c.cbigint = UDFToLong(a.ctinyint))","edgeType":"PREDICATE"},{"sources":[12,13,9,8],"targets":[0,1,3,2,4,5,6],"expression":"(a.cboolean1 and (a.csmallint = 11S) and (a.cint > 899) and UDFToInteger(a.csmallint) is not null and UDFToLong(a.ctinyint) is not null)","edgeType":"PREDICATE"},{"sources":[10,9],"targets":[0,1,3,2,4,5,6],"expression":"((b.cfloat > 4.5) and (b.cint = 11))","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_v3.csmallint"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_v3.bint1"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest_v3.bint2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest_v3.ctinyint"},{"id":4,"vertexType":"COLUMN","vertexId":"default.dest_v3.cint"},{"id":5,"vertexType":"COLUMN","vertexId":"default.dest_v3.cfloat"},{"id":6,"vertexType":"COLUMN","vertexId":"default.dest_v3.cstring1"},{"id":7,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cbigint"},{"id":8,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":9,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":10,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cfloat"},{"id":11,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring1"},{"id":12,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cboolean1"},{"id":13,"vertexType":"COLUMN","vertexId":"default.alltypesorc.csmallint"}]}
PREHOOK: query: alter view dest_v3 as
select * from (
select sum(a.ctinyint) over (partition by a.csmallint order by a.csmallint) a,
diff --git ql/src/test/results/clientpositive/llap/mapjoin_hint.q.out ql/src/test/results/clientpositive/llap/mapjoin_hint.q.out
index 9350fcb982..a1478549ab 100644
--- ql/src/test/results/clientpositive/llap/mapjoin_hint.q.out
+++ ql/src/test/results/clientpositive/llap/mapjoin_hint.q.out
@@ -449,8 +449,8 @@ POSTHOOK: Lineage: part_null_n1.p_partkey SCRIPT []
POSTHOOK: Lineage: part_null_n1.p_retailprice SCRIPT []
POSTHOOK: Lineage: part_null_n1.p_size SCRIPT []
POSTHOOK: Lineage: part_null_n1.p_type SCRIPT []
-Warning: Shuffle Join MERGEJOIN[26][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
-Warning: Shuffle Join MERGEJOIN[27][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[25][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[26][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
PREHOOK: query: explain select /*+ mapjoin(None)*/ * from part where p_name = (select p_name from part_null_n1 where p_name is null)
PREHOOK: type: QUERY
PREHOOK: Input: default@part
@@ -470,73 +470,55 @@ STAGE PLANS:
Tez
#### A masked pattern was here ####
Edges:
- Reducer 2 <- Map 1 (CUSTOM_SIMPLE_EDGE)
- Reducer 3 <- Map 1 (XPROD_EDGE), Reducer 2 (XPROD_EDGE)
- Reducer 4 <- Map 5 (XPROD_EDGE), Reducer 3 (XPROD_EDGE)
+ Reducer 2 <- Map 1 (XPROD_EDGE), Reducer 5 (XPROD_EDGE)
+ Reducer 3 <- Map 4 (XPROD_EDGE), Reducer 2 (XPROD_EDGE)
+ Reducer 5 <- Map 4 (CUSTOM_SIMPLE_EDGE)
#### A masked pattern was here ####
Vertices:
Map 1
Map Operator Tree:
TableScan
- alias: part_null_n1
- filterExpr: p_name is null (type: boolean)
- Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
+ alias: part
+ Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: p_name is null (type: boolean)
- Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
+ predicate: false (type: boolean)
+ Statistics: Num rows: 1 Data size: 619 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
- Group By Operator
- aggregations: count()
- minReductionHashAggr: 0.99
- mode: hash
- outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- sort order:
- Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col0 (type: bigint)
+ expressions: p_partkey (type: int), p_name (type: string), 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)
+ outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
+ Statistics: Num rows: 1 Data size: 619 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
sort order:
- Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 619 Basic stats: COMPLETE Column stats: COMPLETE
+ value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
Execution mode: vectorized, llap
LLAP IO: no inputs
- Map 5
+ Map 4
Map Operator Tree:
TableScan
- alias: part
- filterExpr: (p_name = null) (type: boolean)
- Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
- Filter Operator
- predicate: (p_name = null) (type: boolean)
- Statistics: Num rows: 1 Data size: 619 Basic stats: COMPLETE Column stats: COMPLETE
- Select Operator
- 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)
- outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7
- Statistics: Num rows: 1 Data size: 498 Basic stats: COMPLETE Column stats: COMPLETE
+ alias: part_null_n1
+ Statistics: Num rows: 1 Data size: 32560 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+ Filter Operator
+ predicate: false (type: boolean)
+ Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+ Group By Operator
+ aggregations: count(0)
+ minReductionHashAggr: 0.0
+ mode: hash
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ sort order:
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ value expressions: _col0 (type: bigint)
Reduce Output Operator
sort order:
- Statistics: Num rows: 1 Data size: 498 Basic stats: COMPLETE Column stats: COMPLETE
- value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: int), _col5 (type: string), _col6 (type: double), _col7 (type: string)
+ Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
Execution mode: vectorized, llap
LLAP IO: no inputs
Reducer 2
- Execution mode: vectorized, llap
- Reduce Operator Tree:
- Group By Operator
- aggregations: count(VALUE._col0)
- mode: mergepartial
- outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: NONE
- Filter Operator
- predicate: (sq_count_check(_col0) <= 1) (type: boolean)
- Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- sort order:
- Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: NONE
- Reducer 3
Execution mode: llap
Reduce Operator Tree:
Merge Join Operator
@@ -545,11 +527,13 @@ STAGE PLANS:
keys:
0
1
- Statistics: Num rows: 1 Data size: 377 Basic stats: COMPLETE Column stats: NONE
+ outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
+ Statistics: Num rows: 1 Data size: 619 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
sort order:
- Statistics: Num rows: 1 Data size: 377 Basic stats: COMPLETE Column stats: NONE
- Reducer 4
+ Statistics: Num rows: 1 Data size: 619 Basic stats: COMPLETE Column stats: COMPLETE
+ value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
+ Reducer 3
Execution mode: llap
Reduce Operator Tree:
Merge Join Operator
@@ -558,19 +542,28 @@ STAGE PLANS:
keys:
0
1
- outputColumnNames: _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9
- Statistics: Num rows: 1 Data size: 876 Basic stats: COMPLETE Column stats: NONE
+ outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
+ Statistics: Num rows: 1 Data size: 619 Basic stats: COMPLETE Column stats: COMPLETE
+ File Output Operator
+ compressed: false
+ Statistics: Num rows: 1 Data size: 619 Basic stats: COMPLETE Column stats: COMPLETE
+ table:
+ input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ Reducer 5
+ Execution mode: vectorized, llap
+ Reduce Operator Tree:
+ Group By Operator
+ aggregations: count(VALUE._col0)
+ mode: mergepartial
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: _col2 (type: int), null (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: string), _col6 (type: int), _col7 (type: string), _col8 (type: double), _col9 (type: string)
- outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 1 Data size: 876 Basic stats: COMPLETE Column stats: NONE
- File Output Operator
- compressed: false
- Statistics: Num rows: 1 Data size: 876 Basic stats: COMPLETE Column stats: NONE
- table:
- input format: org.apache.hadoop.mapred.SequenceFileInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ sort order:
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
Stage: Stage-0
Fetch Operator
@@ -578,8 +571,8 @@ STAGE PLANS:
Processor Tree:
ListSink
-Warning: Map Join MAPJOIN[26][bigTable=?] in task 'Reducer 2' is a cross product
-Warning: Map Join MAPJOIN[27][bigTable=?] in task 'Map 4' is a cross product
+Warning: Map Join MAPJOIN[26][bigTable=?] in task 'Map 1' is a cross product
+Warning: Map Join MAPJOIN[25][bigTable=?] in task 'Map 1' is a cross product
PREHOOK: query: explain select * from part where p_name = (select p_name from part_null_n1 where p_name is null)
PREHOOK: type: QUERY
PREHOOK: Input: default@part
@@ -599,110 +592,89 @@ STAGE PLANS:
Tez
#### A masked pattern was here ####
Edges:
- Map 4 <- Reducer 2 (BROADCAST_EDGE)
- Reducer 2 <- Map 1 (CUSTOM_SIMPLE_EDGE), Map 3 (BROADCAST_EDGE)
+ Map 1 <- Map 2 (BROADCAST_EDGE), Reducer 3 (BROADCAST_EDGE)
+ Reducer 3 <- Map 2 (CUSTOM_SIMPLE_EDGE)
#### A masked pattern was here ####
Vertices:
Map 1
- Map Operator Tree:
- TableScan
- alias: part_null_n1
- filterExpr: p_name is null (type: boolean)
- Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
- Filter Operator
- predicate: p_name is null (type: boolean)
- Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
- Group By Operator
- aggregations: count()
- minReductionHashAggr: 0.99
- mode: hash
- outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- sort order:
- Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col0 (type: bigint)
- Execution mode: vectorized, llap
- LLAP IO: no inputs
- Map 3
- Map Operator Tree:
- TableScan
- alias: part_null_n1
- filterExpr: p_name is null (type: boolean)
- Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
- Filter Operator
- predicate: p_name is null (type: boolean)
- Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- sort order:
- Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
- Execution mode: vectorized, llap
- LLAP IO: no inputs
- Map 4
Map Operator Tree:
TableScan
alias: part
- filterExpr: (p_name = null) (type: boolean)
Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (p_name = null) (type: boolean)
+ predicate: false (type: boolean)
Statistics: Num rows: 1 Data size: 619 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- 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)
- outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7
- Statistics: Num rows: 1 Data size: 498 Basic stats: COMPLETE Column stats: COMPLETE
+ expressions: p_partkey (type: int), p_name (type: string), 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)
+ outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
+ Statistics: Num rows: 1 Data size: 619 Basic stats: COMPLETE Column stats: COMPLETE
Map Join Operator
condition map:
Inner Join 0 to 1
keys:
0
1
- outputColumnNames: _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9
+ outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
input vertices:
- 0 Reducer 2
- Statistics: Num rows: 1 Data size: 876 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: _col2 (type: int), null (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: string), _col6 (type: int), _col7 (type: string), _col8 (type: double), _col9 (type: string)
+ 1 Reducer 3
+ Statistics: Num rows: 1 Data size: 619 Basic stats: COMPLETE Column stats: COMPLETE
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0
+ 1
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 1 Data size: 876 Basic stats: COMPLETE Column stats: NONE
+ input vertices:
+ 1 Map 2
+ Statistics: Num rows: 1 Data size: 619 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 876 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 619 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
Execution mode: vectorized, llap
LLAP IO: no inputs
- Reducer 2
+ Map 2
+ Map Operator Tree:
+ TableScan
+ alias: part_null_n1
+ Statistics: Num rows: 1 Data size: 32560 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+ Filter Operator
+ predicate: false (type: boolean)
+ Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+ Group By Operator
+ aggregations: count(0)
+ minReductionHashAggr: 0.0
+ mode: hash
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ sort order:
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ value expressions: _col0 (type: bigint)
+ Reduce Output Operator
+ sort order:
+ Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+ Execution mode: vectorized, llap
+ LLAP IO: no inputs
+ Reducer 3
Execution mode: vectorized, llap
Reduce Operator Tree:
Group By Operator
aggregations: count(VALUE._col0)
mode: mergepartial
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: NONE
- Filter Operator
- predicate: (sq_count_check(_col0) <= 1) (type: boolean)
- Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: NONE
- Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0
- 1
- input vertices:
- 1 Map 3
- Statistics: Num rows: 1 Data size: 377 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- sort order:
- Statistics: Num rows: 1 Data size: 377 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ sort order:
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
Stage: Stage-0
Fetch Operator
diff --git ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_3.q.out ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_3.q.out
index e0efe3cc1e..93e852b509 100644
--- ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_3.q.out
+++ ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_3.q.out
@@ -524,10 +524,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: cmv_basetable_2
- filterExpr: ((c > 10) and (ROW__ID.writeid > 1) and a is not null) (type: boolean)
+ filterExpr: ((c > 10) and (ROW__ID.writeid > 1L) and a is not null) (type: boolean)
Statistics: Num rows: 3 Data size: 348 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((ROW__ID.writeid > 1) and (c > 10) and a is not null) (type: boolean)
+ predicate: ((ROW__ID.writeid > 1L) and (c > 10) and a is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: a (type: int), c (type: decimal(10,2))
diff --git ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_4.q.out ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_4.q.out
index 6c3ba6cd96..585b2e7330 100644
--- ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_4.q.out
+++ ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_4.q.out
@@ -755,10 +755,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: cmv_basetable_2_n2
- filterExpr: ((c > 10) and (ROW__ID.writeid > 1) and a is not null) (type: boolean)
+ filterExpr: ((c > 10) and (ROW__ID.writeid > 1L) and a is not null) (type: boolean)
Statistics: Num rows: 3 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((ROW__ID.writeid > 1) and (c > 10) and a is not null) (type: boolean)
+ predicate: ((ROW__ID.writeid > 1L) and (c > 10) and a is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: a (type: int), c (type: decimal(10,2)), d (type: int)
@@ -1726,10 +1726,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: cmv_basetable_2_n2
- filterExpr: ((c > 10) and (ROW__ID.writeid > 4) and a is not null) (type: boolean)
+ filterExpr: ((c > 10) and (ROW__ID.writeid > 4L) and a is not null) (type: boolean)
Statistics: Num rows: 3 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((ROW__ID.writeid > 4) and (c > 10) and a is not null) (type: boolean)
+ predicate: ((ROW__ID.writeid > 4L) and (c > 10) and a is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: a (type: int), c (type: decimal(10,2)), d (type: int)
diff --git ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_5.q.out ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_5.q.out
index d3e494dc4b..4091dd36d6 100644
--- ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_5.q.out
+++ ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_5.q.out
@@ -250,10 +250,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: cmv_basetable_2_n3
- filterExpr: ((c > 10) and (ROW__ID.writeid > 1) and a is not null) (type: boolean)
+ filterExpr: ((c > 10) and (ROW__ID.writeid > 1L) and a is not null) (type: boolean)
Statistics: Num rows: 3 Data size: 348 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((ROW__ID.writeid > 1) and (c > 10) and a is not null) (type: boolean)
+ predicate: ((ROW__ID.writeid > 1L) and (c > 10) and a is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: a (type: int), c (type: decimal(10,2))
@@ -976,10 +976,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: cmv_basetable_2_n3
- filterExpr: ((c > 10) and (ROW__ID.writeid > 4) and a is not null) (type: boolean)
+ filterExpr: ((c > 10) and (ROW__ID.writeid > 4L) and a is not null) (type: boolean)
Statistics: Num rows: 3 Data size: 348 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((ROW__ID.writeid > 4) and (c > 10) and a is not null) (type: boolean)
+ predicate: ((ROW__ID.writeid > 4L) and (c > 10) and a is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: a (type: int), c (type: decimal(10,2))
diff --git ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_rebuild_dummy.q.out ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_rebuild_dummy.q.out
index b55287deb0..2d2f5bbec6 100644
--- ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_rebuild_dummy.q.out
+++ ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_rebuild_dummy.q.out
@@ -524,10 +524,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: cmv_basetable_2_n0
- filterExpr: ((c > 10) and (ROW__ID.writeid > 1) and a is not null) (type: boolean)
+ filterExpr: ((c > 10) and (ROW__ID.writeid > 1L) and a is not null) (type: boolean)
Statistics: Num rows: 3 Data size: 348 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((ROW__ID.writeid > 1) and (c > 10) and a is not null) (type: boolean)
+ predicate: ((ROW__ID.writeid > 1L) and (c > 10) and a is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: a (type: int), c (type: decimal(10,2))
diff --git ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_time_window.q.out ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_time_window.q.out
index cf6a6bace1..f9100574d6 100644
--- ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_time_window.q.out
+++ ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_time_window.q.out
@@ -644,10 +644,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: cmv_basetable_2_n1
- filterExpr: ((c > 10) and (ROW__ID.writeid > 1) and a is not null) (type: boolean)
+ filterExpr: ((c > 10) and (ROW__ID.writeid > 1L) and a is not null) (type: boolean)
Statistics: Num rows: 3 Data size: 348 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((ROW__ID.writeid > 1) and (c > 10) and a is not null) (type: boolean)
+ predicate: ((ROW__ID.writeid > 1L) and (c > 10) and a is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: a (type: int), c (type: decimal(10,2))
diff --git ql/src/test/results/clientpositive/llap/materialized_view_rewrite_1.q.out ql/src/test/results/clientpositive/llap/materialized_view_rewrite_1.q.out
index d8aab03a22..b405c08fb0 100644
--- ql/src/test/results/clientpositive/llap/materialized_view_rewrite_1.q.out
+++ ql/src/test/results/clientpositive/llap/materialized_view_rewrite_1.q.out
@@ -1103,7 +1103,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: 'Sales' (type: varchar(256)), COALESCE(_col1,0) (type: bigint)
+ expressions: 'Sales' (type: varchar(256)), COALESCE(_col1,0L) (type: bigint)
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 97 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
@@ -1229,7 +1229,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: _col0 (type: int), 'Sales' (type: varchar(256)), COALESCE(_col1,0) (type: bigint)
+ expressions: _col0 (type: int), 'Sales' (type: varchar(256)), COALESCE(_col1,0L) (type: bigint)
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 1 Data size: 101 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
diff --git ql/src/test/results/clientpositive/llap/materialized_view_rewrite_10.q.out ql/src/test/results/clientpositive/llap/materialized_view_rewrite_10.q.out
index de13beaf75..b97b876070 100644
--- ql/src/test/results/clientpositive/llap/materialized_view_rewrite_10.q.out
+++ ql/src/test/results/clientpositive/llap/materialized_view_rewrite_10.q.out
@@ -335,7 +335,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: (UDFToDouble(_col0) / COALESCE(_col1,0)) (type: double)
+ expressions: (UDFToDouble(_col0) / COALESCE(_col1,0L)) (type: double)
outputColumnNames: _col0
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
diff --git ql/src/test/results/clientpositive/llap/materialized_view_rewrite_4.q.out ql/src/test/results/clientpositive/llap/materialized_view_rewrite_4.q.out
index 8566402bff..3bf2cb3a7c 100644
--- ql/src/test/results/clientpositive/llap/materialized_view_rewrite_4.q.out
+++ ql/src/test/results/clientpositive/llap/materialized_view_rewrite_4.q.out
@@ -206,7 +206,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 2 Data size: 212 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: _col0 (type: varchar(256)), COALESCE(_col1,0) (type: bigint), _col2 (type: bigint)
+ expressions: _col0 (type: varchar(256)), COALESCE(_col1,0L) (type: bigint), _col2 (type: bigint)
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 2 Data size: 212 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
@@ -396,7 +396,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 2 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: _col0 (type: int), COALESCE(_col1,0) (type: bigint), _col2 (type: bigint)
+ expressions: _col0 (type: int), COALESCE(_col1,0L) (type: bigint), _col2 (type: bigint)
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 2 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
diff --git ql/src/test/results/clientpositive/llap/materialized_view_rewrite_7.q.out ql/src/test/results/clientpositive/llap/materialized_view_rewrite_7.q.out
index 4d7b983226..ee96d28362 100644
--- ql/src/test/results/clientpositive/llap/materialized_view_rewrite_7.q.out
+++ ql/src/test/results/clientpositive/llap/materialized_view_rewrite_7.q.out
@@ -658,7 +658,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: _col0 (type: int), COALESCE(_col1,0) (type: bigint)
+ expressions: _col0 (type: int), COALESCE(_col1,0L) (type: bigint)
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
@@ -747,7 +747,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: _col0 (type: int), (COALESCE(_col1,0) + 1L) (type: bigint)
+ expressions: _col0 (type: int), (COALESCE(_col1,0L) + 1L) (type: bigint)
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
diff --git ql/src/test/results/clientpositive/llap/materialized_view_rewrite_no_join_opt.q.out ql/src/test/results/clientpositive/llap/materialized_view_rewrite_no_join_opt.q.out
index 9197bb6394..36a2b4d446 100644
--- ql/src/test/results/clientpositive/llap/materialized_view_rewrite_no_join_opt.q.out
+++ ql/src/test/results/clientpositive/llap/materialized_view_rewrite_no_join_opt.q.out
@@ -353,7 +353,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 2 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: _col0 (type: int), COALESCE(_col1,0) (type: bigint), _col2 (type: bigint)
+ expressions: _col0 (type: int), COALESCE(_col1,0L) (type: bigint), _col2 (type: bigint)
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 2 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
diff --git ql/src/test/results/clientpositive/llap/mergejoin.q.out ql/src/test/results/clientpositive/llap/mergejoin.q.out
index f1153e76dd..61d50b0c27 100644
--- ql/src/test/results/clientpositive/llap/mergejoin.q.out
+++ ql/src/test/results/clientpositive/llap/mergejoin.q.out
@@ -4053,8 +4053,7 @@ POSTHOOK: Input: default@tab_part_n10@ds=2008-04-08
#### A masked pattern was here ####
NULL NULL NULL 98 val_98 2008-04-08
NULL NULL NULL 98 val_98 2008-04-08
-Warning: Shuffle Join MERGEJOIN[20][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
-Warning: Shuffle Join MERGEJOIN[21][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[23][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
PREHOOK: query: select * from
(select * from tab_n9 where tab_n9.key = 0)a
full outer join
@@ -4623,8 +4622,7 @@ NULL NULL NULL NULL NULL NULL 97 val_97 2008-04-08
NULL NULL NULL NULL NULL NULL 97 val_97 2008-04-08
NULL NULL NULL NULL NULL NULL 98 val_98 2008-04-08
NULL NULL NULL NULL NULL NULL 98 val_98 2008-04-08
-Warning: Shuffle Join MERGEJOIN[19][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 4' is a cross product
-Warning: Shuffle Join MERGEJOIN[20][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[18][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
PREHOOK: query: select * from
(select * from tab_n9 where tab_n9.key = 0)a
join
diff --git ql/src/test/results/clientpositive/llap/optimize_join_ptp.q.out ql/src/test/results/clientpositive/llap/optimize_join_ptp.q.out
index abd7dbdf7a..7778102236 100644
--- ql/src/test/results/clientpositive/llap/optimize_join_ptp.q.out
+++ ql/src/test/results/clientpositive/llap/optimize_join_ptp.q.out
@@ -62,10 +62,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: t1_n97
- filterExpr: (k < 15) (type: boolean)
+ filterExpr: ((k < 15) and UDFToDouble(k) is not null) (type: boolean)
Statistics: Num rows: 3 Data size: 285 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (k < 15) (type: boolean)
+ predicate: ((k < 15) and UDFToDouble(k) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 95 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: v (type: string), k (type: int)
diff --git ql/src/test/results/clientpositive/llap/orc_ppd_varchar.q.out ql/src/test/results/clientpositive/llap/orc_ppd_varchar.q.out
index 12d6f67092..7ab1ab849b 100644
--- ql/src/test/results/clientpositive/llap/orc_ppd_varchar.q.out
+++ ql/src/test/results/clientpositive/llap/orc_ppd_varchar.q.out
@@ -26,7 +26,7 @@ POSTHOOK: query: select sum(hash(*)) from newtypesorc_n1 where v="bee"
POSTHOOK: type: QUERY
POSTHOOK: Input: default@newtypesorc_n1
#### A masked pattern was here ####
--252951929000
+-267266504500
PREHOOK: query: select sum(hash(*)) from newtypesorc_n1 where v="bee"
PREHOOK: type: QUERY
PREHOOK: Input: default@newtypesorc_n1
@@ -35,7 +35,7 @@ POSTHOOK: query: select sum(hash(*)) from newtypesorc_n1 where v="bee"
POSTHOOK: type: QUERY
POSTHOOK: Input: default@newtypesorc_n1
#### A masked pattern was here ####
--252951929000
+-267266504500
PREHOOK: query: select sum(hash(*)) from newtypesorc_n1 where v!="bee"
PREHOOK: type: QUERY
PREHOOK: Input: default@newtypesorc_n1
diff --git ql/src/test/results/clientpositive/llap/sharedwork.q.out ql/src/test/results/clientpositive/llap/sharedwork.q.out
index 9bd73f98b6..09c10b8a11 100644
--- ql/src/test/results/clientpositive/llap/sharedwork.q.out
+++ ql/src/test/results/clientpositive/llap/sharedwork.q.out
@@ -119,12 +119,12 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: table__323
- filterExpr: ((col_20) IN ('part1', 'part2', 'part3') and CAST( col_3 AS DATE) BETWEEN DATE'2018-07-01' AND DATE'2019-01-23') (type: boolean)
+ filterExpr: ((col_20) IN ('part1', 'part2', 'part3') and (UDFToDouble(col_7) is not null or col_7 is null) and CAST( col_3 AS DATE) BETWEEN DATE'2018-07-01' AND DATE'2019-01-23') (type: boolean)
Statistics: Num rows: 1 Data size: 592 Basic stats: COMPLETE Column stats: NONE
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: ((col_20) IN ('part1', 'part2', 'part3') and CAST( col_3 AS DATE) BETWEEN DATE'2018-07-01' AND DATE'2019-01-23') (type: boolean)
+ predicate: ((UDFToDouble(col_7) is not null or col_7 is null) and (col_20) IN ('part1', 'part2', 'part3') and CAST( col_3 AS DATE) BETWEEN DATE'2018-07-01' AND DATE'2019-01-23') (type: boolean)
Statistics: Num rows: 1 Data size: 592 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: col_1 (type: string), col_7 (type: string), col_20 (type: string), CAST( col_3 AS DATE) (type: date)
diff --git ql/src/test/results/clientpositive/llap/subquery_in.q.out ql/src/test/results/clientpositive/llap/subquery_in.q.out
index afcbddcef2..84611ce7b3 100644
--- ql/src/test/results/clientpositive/llap/subquery_in.q.out
+++ ql/src/test/results/clientpositive/llap/subquery_in.q.out
@@ -295,10 +295,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: part
- filterExpr: p_size is not null (type: boolean)
+ filterExpr: UDFToDouble(p_size) is not null (type: boolean)
Statistics: Num rows: 26 Data size: 3250 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: p_size is not null (type: boolean)
+ predicate: UDFToDouble(p_size) is not null (type: boolean)
Statistics: Num rows: 26 Data size: 3250 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: p_name (type: string), p_size (type: int)
@@ -397,7 +397,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (_col0 is not null and _col1 is not null) (type: boolean)
+ predicate: (UDFToDouble(_col0) is not null and _col1 is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: (UDFToDouble(_col0) / _col1) (type: double)
@@ -2153,9 +2153,7 @@ STAGE PLANS:
Tez
#### A masked pattern was here ####
Edges:
- Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
- Reducer 4 <- Map 3 (SIMPLE_EDGE), Reducer 6 (SIMPLE_EDGE)
- Reducer 6 <- Map 5 (SIMPLE_EDGE)
+ Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 3 (SIMPLE_EDGE)
#### A masked pattern was here ####
Vertices:
Map 1
@@ -2183,43 +2181,26 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: p
- filterExpr: (p_size is not null and p_partkey is not null and p_name is not null) (type: boolean)
+ filterExpr: (((p_size + 121150) = p_partkey) and p_size is not null and p_name is not null) (type: boolean)
Statistics: Num rows: 26 Data size: 3354 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (p_name is not null and p_partkey is not null and p_size is not null) (type: boolean)
- Statistics: Num rows: 26 Data size: 3354 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (((p_size + 121150) = p_partkey) and p_name is not null and p_size is not null) (type: boolean)
+ Statistics: Num rows: 13 Data size: 1677 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: p_partkey (type: int), p_name (type: string), p_size (type: int)
- outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 26 Data size: 3354 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- key expressions: _col2 (type: int), _col0 (type: int)
- sort order: ++
- Map-reduce partition columns: _col2 (type: int), _col0 (type: int)
- Statistics: Num rows: 26 Data size: 3354 Basic stats: COMPLETE Column stats: COMPLETE
- value expressions: _col1 (type: string)
- Execution mode: vectorized, llap
- LLAP IO: no inputs
- Map 5
- Map Operator Tree:
- TableScan
- alias: part
- filterExpr: p_size is not null (type: boolean)
- Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
- Filter Operator
- predicate: p_size is not null (type: boolean)
- Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
- Group By Operator
- keys: p_size (type: int)
- minReductionHashAggr: 0.0
- mode: hash
- outputColumnNames: _col0
- Statistics: Num rows: 13 Data size: 52 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- key expressions: _col0 (type: int)
- sort order: +
- Map-reduce partition columns: _col0 (type: int)
- Statistics: Num rows: 13 Data size: 52 Basic stats: COMPLETE Column stats: COMPLETE
+ expressions: p_name (type: string), p_size (type: int)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 13 Data size: 1625 Basic stats: COMPLETE Column stats: COMPLETE
+ Group By Operator
+ keys: _col0 (type: string), _col1 (type: int)
+ minReductionHashAggr: 0.0
+ mode: hash
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 6 Data size: 750 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ key expressions: _col0 (type: string), _col1 (type: int)
+ sort order: ++
+ Map-reduce partition columns: _col0 (type: string), _col1 (type: int)
+ Statistics: Num rows: 6 Data size: 750 Basic stats: COMPLETE Column stats: COMPLETE
Execution mode: vectorized, llap
LLAP IO: no inputs
Reducer 2
@@ -2240,49 +2221,6 @@ STAGE PLANS:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- Reducer 4
- Execution mode: llap
- Reduce Operator Tree:
- Merge Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 _col2 (type: int), _col0 (type: int)
- 1 _col0 (type: int), _col1 (type: int)
- outputColumnNames: _col1, _col3
- Statistics: Num rows: 13 Data size: 1625 Basic stats: COMPLETE Column stats: COMPLETE
- Select Operator
- expressions: _col1 (type: string), _col3 (type: int)
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 13 Data size: 1625 Basic stats: COMPLETE Column stats: COMPLETE
- Group By Operator
- keys: _col0 (type: string), _col1 (type: int)
- minReductionHashAggr: 0.0
- mode: hash
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 6 Data size: 750 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- key expressions: _col0 (type: string), _col1 (type: int)
- sort order: ++
- Map-reduce partition columns: _col0 (type: string), _col1 (type: int)
- Statistics: Num rows: 6 Data size: 750 Basic stats: COMPLETE Column stats: COMPLETE
- Reducer 6
- Execution mode: vectorized, llap
- Reduce Operator Tree:
- Group By Operator
- keys: KEY._col0 (type: int)
- mode: mergepartial
- outputColumnNames: _col0
- Statistics: Num rows: 13 Data size: 52 Basic stats: COMPLETE Column stats: COMPLETE
- Select Operator
- expressions: _col0 (type: int), (_col0 + 121150) (type: int)
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 13 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- key expressions: _col0 (type: int), _col1 (type: int)
- sort order: ++
- Map-reduce partition columns: _col0 (type: int), _col1 (type: int)
- Statistics: Num rows: 13 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
Stage: Stage-0
Fetch Operator
@@ -3997,12 +3935,12 @@ STAGE PLANS:
Select Operator
expressions: p_name (type: string), p_type (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 26 Data size: 5850 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 26 Data size: 5954 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col1 (type: string)
sort order: +
Map-reduce partition columns: _col1 (type: string)
- Statistics: Num rows: 26 Data size: 5850 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 26 Data size: 5954 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col0 (type: string)
Execution mode: vectorized, llap
LLAP IO: no inputs
@@ -4054,10 +3992,10 @@ STAGE PLANS:
keys:
0 _col1 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col0, _col3
+ outputColumnNames: _col0, _col4
Statistics: Num rows: 28 Data size: 3500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: _col0 (type: string), _col3 (type: int)
+ expressions: _col0 (type: string), _col4 (type: int)
outputColumnNames: _col0, _col1
Statistics: Num rows: 28 Data size: 3500 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
@@ -4451,10 +4389,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: part
- filterExpr: (p_type is not null and p_size is not null) (type: boolean)
+ filterExpr: (p_type is not null and UDFToLong(p_size) is not null) (type: boolean)
Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (p_size is not null and p_type is not null) (type: boolean)
+ predicate: (UDFToLong(p_size) is not null and p_type is not null) (type: boolean)
Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: p_partkey (type: int), p_name (type: string), 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)
@@ -4515,7 +4453,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col10
Statistics: Num rows: 40 Data size: 24880 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (sq_count_check(CASE WHEN (_col10 is null) THEN (0) ELSE (_col10) END, true) > 0) (type: boolean)
+ predicate: (sq_count_check(CASE WHEN (_col10 is null) THEN (0L) ELSE (_col10) END, true) > 0) (type: boolean)
Statistics: Num rows: 13 Data size: 8095 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
@@ -4631,10 +4569,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: part
- filterExpr: (p_partkey is not null and p_size is not null) (type: boolean)
+ filterExpr: (p_partkey is not null and UDFToDouble(p_size) is not null) (type: boolean)
Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (p_partkey is not null and p_size is not null) (type: boolean)
+ predicate: (UDFToDouble(p_size) is not null and p_partkey is not null) (type: boolean)
Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: p_partkey (type: int), p_name (type: string), 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)
@@ -4700,7 +4638,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 13 Data size: 260 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (_col1 is not null and _col2 is not null) (type: boolean)
+ predicate: (UDFToDouble(_col1) is not null and _col2 is not null) (type: boolean)
Statistics: Num rows: 13 Data size: 260 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int), (UDFToDouble(_col1) / _col2) (type: double)
@@ -5043,7 +4981,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col10
Statistics: Num rows: 40 Data size: 24880 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (sq_count_check(CASE WHEN (_col10 is null) THEN (0) ELSE (_col10) END, true) > 0) (type: boolean)
+ predicate: (sq_count_check(CASE WHEN (_col10 is null) THEN (0L) ELSE (_col10) END, true) > 0) (type: boolean)
Statistics: Num rows: 13 Data size: 8095 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
@@ -5084,15 +5022,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col10, _col11, _col14
Statistics: Num rows: 13 Data size: 8307 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN ((_col10 = 0L)) THEN (true) WHEN (_col10 is null) THEN (true) WHEN (_col14 is not null) THEN (false) WHEN (_col5 is null) THEN (null) WHEN ((_col11 < _col10)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 6 Data size: 3834 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (((_col11 < _col10) is not true or (_col10 = 0L) or _col10 is null or _col14 is not null or _col5 is null) and (_col14 is null or (_col10 = 0L) or _col10 is null) and (_col5 is not null or (_col10 = 0L) or _col10 is null or _col14 is not null)) (type: boolean)
+ Statistics: Num rows: 1 Data size: 639 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 6 Data size: 3714 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 1 Data size: 619 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 6 Data size: 3714 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 1 Data size: 619 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -5297,7 +5235,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col10
Statistics: Num rows: 39 Data size: 24253 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (sq_count_check(CASE WHEN (_col10 is null) THEN (0) ELSE (_col10) END, true) > 0) (type: boolean)
+ predicate: (sq_count_check(CASE WHEN (_col10 is null) THEN (0L) ELSE (_col10) END, true) > 0) (type: boolean)
Statistics: Num rows: 13 Data size: 8087 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
@@ -5338,15 +5276,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col10, _col11, _col14
Statistics: Num rows: 13 Data size: 8307 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN ((_col10 = 0L)) THEN (true) WHEN (_col10 is null) THEN (true) WHEN (_col14 is not null) THEN (false) WHEN (_col5 is null) THEN (null) WHEN ((_col11 < _col10)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 6 Data size: 3834 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (((_col11 < _col10) is not true or (_col10 = 0L) or _col10 is null or _col14 is not null or _col5 is null) and (_col14 is null or (_col10 = 0L) or _col10 is null) and (_col5 is not null or (_col10 = 0L) or _col10 is null or _col14 is not null)) (type: boolean)
+ Statistics: Num rows: 1 Data size: 639 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 6 Data size: 3714 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 1 Data size: 619 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 6 Data size: 3714 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 1 Data size: 619 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -5397,7 +5335,7 @@ STAGE PLANS:
Statistics: Num rows: 13 Data size: 260 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col1 (type: bigint), _col2 (type: bigint)
Filter Operator
- predicate: (_col1 is not null and _col2 is not null) (type: boolean)
+ predicate: (UDFToDouble(_col1) is not null and _col2 is not null) (type: boolean)
Statistics: Num rows: 13 Data size: 260 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: (UDFToDouble(_col1) / _col2) (type: double), _col0 (type: int), true (type: boolean)
@@ -5485,10 +5423,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: t_n22
- filterExpr: i is not null (type: boolean)
+ filterExpr: UDFToLong(i) is not null (type: boolean)
Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: i is not null (type: boolean)
+ predicate: UDFToLong(i) is not null (type: boolean)
Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: i (type: int)
@@ -5707,10 +5645,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: t_n22
- filterExpr: (j is not null and i is not null) (type: boolean)
+ filterExpr: (j is not null and UDFToLong(i) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (i is not null and j is not null) (type: boolean)
+ predicate: (UDFToLong(i) is not null and j is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: i (type: int), j (type: int)
diff --git ql/src/test/results/clientpositive/llap/subquery_in_having.q.out ql/src/test/results/clientpositive/llap/subquery_in_having.q.out
index ddb7b421d9..a905927023 100644
--- ql/src/test/results/clientpositive/llap/subquery_in_having.q.out
+++ ql/src/test/results/clientpositive/llap/subquery_in_having.q.out
@@ -1827,7 +1827,7 @@ STAGE PLANS:
1 Reducer 9
Statistics: Num rows: 1 Data size: 668 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((_col4 = 0L)) THEN (true) WHEN (_col4 is null) THEN (true) WHEN (_col8 is not null) THEN (false) WHEN (_col2 is null) THEN (null) WHEN ((_col5 < _col4)) THEN (false) ELSE (true) END (type: boolean)
+ predicate: (((_col5 < _col4) is not true or (_col4 = 0L) or _col4 is null or _col8 is not null or _col2 is null) and (_col2 is not null or (_col4 = 0L) or _col4 is null or _col8 is not null) and (_col8 is null or (_col4 = 0L) or _col4 is null)) (type: boolean)
Statistics: Num rows: 1 Data size: 668 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: string), _col1 (type: string), _col2 (type: bigint)
diff --git ql/src/test/results/clientpositive/llap/subquery_multi.q.out ql/src/test/results/clientpositive/llap/subquery_multi.q.out
index e04b2a6f94..a6b8885ef4 100644
--- ql/src/test/results/clientpositive/llap/subquery_multi.q.out
+++ ql/src/test/results/clientpositive/llap/subquery_multi.q.out
@@ -386,7 +386,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col10, _col11, _col13
Statistics: Num rows: 1 Data size: 1355 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((_col10 = 0L) or (_col13 is null and _col3 is not null and (_col11 >= _col10))) (type: boolean)
+ predicate: (((_col11 >= _col10) or (_col10 = 0L) or _col13 is not null or _col3 is null) and (_col13 is null or (_col10 = 0L)) and (_col3 is not null or (_col10 = 0L) or _col13 is not null)) (type: boolean)
Statistics: Num rows: 1 Data size: 1355 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
@@ -608,7 +608,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col10, _col11, _col13
Statistics: Num rows: 1 Data size: 1355 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((_col10 = 0L) or (_col13 is null and _col3 is not null and (_col11 >= _col10))) (type: boolean)
+ predicate: (((_col11 >= _col10) or (_col10 = 0L) or _col13 is not null or _col3 is null) and (_col13 is null or (_col10 = 0L)) and (_col3 is not null or (_col10 = 0L) or _col13 is not null)) (type: boolean)
Statistics: Num rows: 1 Data size: 1355 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
@@ -859,7 +859,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col10, _col11, _col13
Statistics: Num rows: 1 Data size: 1355 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((_col10 = 0L) or (_col13 is null and (_col11 >= _col10))) (type: boolean)
+ predicate: (((_col11 >= _col10) or (_col10 = 0L) or _col13 is not null or _col3 is null) and (_col13 is null or (_col10 = 0L))) (type: boolean)
Statistics: Num rows: 1 Data size: 1355 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
@@ -1084,7 +1084,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col12
Statistics: Num rows: 1 Data size: 1335 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((_col12 is null and _col1 is not null and (_col10 >= _col9)) or (_col9 = 0L)) (type: boolean)
+ predicate: (((_col10 >= _col9) or (_col9 = 0L) or _col12 is not null or _col1 is null) and (_col1 is not null or (_col9 = 0L) or _col12 is not null) and (_col12 is null or (_col9 = 0L))) (type: boolean)
Statistics: Num rows: 1 Data size: 1335 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
@@ -1745,6 +1745,46 @@ POSTHOOK: Input: default@tempty
85768 almond antique chartreuse lavender yellow Manufacturer#1 Brand#12 LARGE BRUSHED STEEL 34 SM BAG 1753.76 refull
86428 almond aquamarine burnished black steel Manufacturer#1 Brand#12 STANDARD ANODIZED STEEL 28 WRAP BAG 1414.42 arefully
90681 almond antique chartreuse khaki white Manufacturer#3 Brand#31 MEDIUM BURNISHED TIN 17 SM CASE 1671.68 are slyly after the sl
+PREHOOK: query: explain cbo select * from part_null where
+ p_brand NOT IN (select p_container from part where part.p_type = part_null.p_type
+ AND p_brand IN (select p_brand from part pp where part.p_type = pp.p_type))
+PREHOOK: type: QUERY
+PREHOOK: Input: default@part
+PREHOOK: Input: default@part_null
+#### A masked pattern was here ####
+POSTHOOK: query: explain cbo select * from part_null where
+ p_brand NOT IN (select p_container from part where part.p_type = part_null.p_type
+ AND p_brand IN (select p_brand from part pp where part.p_type = pp.p_type))
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@part
+POSTHOOK: Input: default@part_null
+#### A masked pattern was here ####
+CBO PLAN:
+HiveProject(p_partkey=[$0], p_name=[$1], p_mfgr=[$2], p_brand=[$3], p_type=[$4], p_size=[$5], p_container=[$6], p_retailprice=[$7], p_comment=[$8])
+ HiveFilter(condition=[AND(OR(IS NULL($14), =($10, 0), IS NULL($10)), OR(IS NOT NULL($3), =($10, 0), IS NULL($10), IS NOT NULL($14)), OR(IS NOT TRUE(<($11, $10)), =($10, 0), IS NULL($10), IS NOT NULL($14), IS NULL($3)))])
+ HiveJoin(condition=[AND(=($3, $12), =($13, $4))], joinType=[left], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[=($9, $4)], joinType=[left], algorithm=[none], cost=[not available])
+ HiveProject(p_partkey=[$0], p_name=[$1], p_mfgr=[$2], p_brand=[$3], p_type=[$4], p_size=[$5], p_container=[$6], p_retailprice=[$7], p_comment=[$8])
+ HiveTableScan(table=[[default, part_null]], table:alias=[part_null])
+ HiveProject(p_type=[$0], c=[$1], ck=[$2])
+ HiveAggregate(group=[{1}], c=[COUNT()], ck=[COUNT($2)])
+ HiveSemiJoin(condition=[AND(=($1, $4), =($0, $3))], joinType=[inner])
+ HiveProject(p_brand=[$3], p_type=[$4], p_container=[$6])
+ HiveFilter(condition=[AND(IS NOT NULL($4), IS NOT NULL($3))])
+ HiveTableScan(table=[[default, part]], table:alias=[part])
+ HiveProject(p_brand=[$3], p_type=[$4])
+ HiveFilter(condition=[AND(IS NOT NULL($4), IS NOT NULL($3))])
+ HiveTableScan(table=[[default, part]], table:alias=[pp])
+ HiveProject(p_container=[$1], p_type=[$0], $f2=[true])
+ HiveAggregate(group=[{1, 2}])
+ HiveSemiJoin(condition=[AND(=($1, $4), =($0, $3))], joinType=[inner])
+ HiveProject(p_brand=[$3], p_type=[$4], p_container=[$6])
+ HiveFilter(condition=[AND(IS NOT NULL($4), IS NOT NULL($3), IS NOT NULL($6))])
+ HiveTableScan(table=[[default, part]], table:alias=[part])
+ HiveProject(p_brand=[$3], p_type=[$4])
+ HiveFilter(condition=[AND(IS NOT NULL($4), IS NOT NULL($3))])
+ HiveTableScan(table=[[default, part]], table:alias=[pp])
+
PREHOOK: query: explain select * from part_null where p_name IN ( select p_name from part where part.p_type = part_null.p_type)
AND p_brand NOT IN (select p_container from part where part.p_type = part_null.p_type
AND p_brand IN (select p_brand from part pp where part.p_type = pp.p_type))
@@ -1953,15 +1993,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col10, _col11, _col14
Statistics: Num rows: 16 Data size: 3891 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((_col10 = 0L)) THEN (true) WHEN (_col10 is null) THEN (true) WHEN (_col14 is not null) THEN (false) WHEN (_col3 is null) THEN (null) WHEN ((_col11 < _col10)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 8 Data size: 1945 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col11 < _col10) is not true or (_col10 = 0L) or _col10 is null or _col14 is not null or _col3 is null) and (_col14 is null or (_col10 = 0L) or _col10 is null) and (_col3 is not null or (_col10 = 0L) or _col10 is null or _col14 is not null)) (type: boolean)
+ Statistics: Num rows: 16 Data size: 3891 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 8 Data size: 1945 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 16 Data size: 3891 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 8 Data size: 1945 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 16 Data size: 3891 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -2462,15 +2502,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col10, _col11, _col14
Statistics: Num rows: 16 Data size: 5484 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((_col10 = 0L)) THEN (true) WHEN (_col10 is null) THEN (true) WHEN (_col14 is not null) THEN (false) WHEN (_col3 is null) THEN (null) WHEN ((_col11 < _col10)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 8 Data size: 2742 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col11 < _col10) is not true or (_col10 = 0L) or _col10 is null or _col14 is not null or _col3 is null) and (_col14 is null or (_col10 = 0L) or _col10 is null) and (_col3 is not null or (_col10 = 0L) or _col10 is null or _col14 is not null)) (type: boolean)
+ Statistics: Num rows: 16 Data size: 5484 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 8 Data size: 2742 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 16 Data size: 5484 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 8 Data size: 2742 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 16 Data size: 5484 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -2736,15 +2776,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col10, _col11, _col14
Statistics: Num rows: 16 Data size: 3891 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((_col10 = 0L)) THEN (true) WHEN (_col10 is null) THEN (true) WHEN (_col14 is not null) THEN (false) WHEN (_col3 is null) THEN (null) WHEN ((_col11 < _col10)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 8 Data size: 1945 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col11 < _col10) is not true or (_col10 = 0L) or _col10 is null or _col14 is not null or _col3 is null) and (_col14 is null or (_col10 = 0L) or _col10 is null) and (_col3 is not null or (_col10 = 0L) or _col10 is null or _col14 is not null)) (type: boolean)
+ Statistics: Num rows: 16 Data size: 3891 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 8 Data size: 1945 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 16 Data size: 3891 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 8 Data size: 1945 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 16 Data size: 3891 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -3197,7 +3237,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col2, _col4, _col5, _col7
Statistics: Num rows: 2 Data size: 64 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((_col4 = 0L) or (_col7 is null and _col2 is not null and (_col5 >= _col4))) (type: boolean)
+ predicate: (((_col5 >= _col4) or (_col4 = 0L) or _col7 is not null or _col2 is null) and (_col2 is not null or (_col4 = 0L) or _col7 is not null) and (_col7 is null or (_col4 = 0L))) (type: boolean)
Statistics: Num rows: 2 Data size: 64 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int), 1 (type: int)
@@ -4120,15 +4160,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col12
Statistics: Num rows: 27 Data size: 17153 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((_col0 = 3) or CASE WHEN ((_col9 = 0L)) THEN (true) WHEN (_col12 is not null) THEN (false) WHEN (_col5 is null) THEN (null) WHEN ((_col10 < _col9)) THEN (null) ELSE (true) END) (type: boolean)
- Statistics: Num rows: 14 Data size: 8898 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (((_col9 <> 0L) and _col12 is null and (_col10 >= _col9) and _col5 is not null) or (_col0 = 3) or (_col9 = 0L)) (type: boolean)
+ Statistics: Num rows: 27 Data size: 17153 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 14 Data size: 8666 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 27 Data size: 16713 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 14 Data size: 8666 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 27 Data size: 16713 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -4343,7 +4383,7 @@ STAGE PLANS:
outputColumnNames: _col1, _col2, _col4, _col5
Statistics: Num rows: 631 Data size: 65521 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((_col4 is not null and (_col2 <> 0L)) or _col1 is not null or _col5 is not null) (type: boolean)
+ predicate: (((_col2 <> 0L) and _col4 is not null) or _col1 is not null or _col5 is not null) (type: boolean)
Statistics: Num rows: 631 Data size: 65521 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
Statistics: Num rows: 631 Data size: 65521 Basic stats: COMPLETE Column stats: COMPLETE
diff --git ql/src/test/results/clientpositive/llap/subquery_notin.q.out ql/src/test/results/clientpositive/llap/subquery_notin.q.out
index 37d9253f4e..c21810cf07 100644
--- ql/src/test/results/clientpositive/llap/subquery_notin.q.out
+++ ql/src/test/results/clientpositive/llap/subquery_notin.q.out
@@ -117,7 +117,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col5
Statistics: Num rows: 631 Data size: 122942 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((_col2 = 0L) or (_col5 is null and _col0 is not null and (_col3 >= _col2))) (type: boolean)
+ predicate: (((_col3 >= _col2) or (_col2 = 0L) or _col5 is not null or _col0 is null) and (_col0 is not null or (_col2 = 0L) or _col5 is not null) and (_col5 is null or (_col2 = 0L))) (type: boolean)
Statistics: Num rows: 631 Data size: 122942 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: string)
@@ -406,15 +406,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col4, _col5, _col8
Statistics: Num rows: 38 Data size: 8914 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN ((_col4 = 0L)) THEN (true) WHEN (_col4 is null) THEN (true) WHEN (_col8 is not null) THEN (false) WHEN (_col0 is null) THEN (null) WHEN ((_col5 < _col4)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 19 Data size: 4457 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (((_col5 < _col4) is not true or (_col4 = 0L) or _col4 is null or _col8 is not null or _col0 is null) and (_col0 is not null or (_col4 = 0L) or _col4 is null or _col8 is not null) and (_col8 is null or (_col4 = 0L) or _col4 is null)) (type: boolean)
+ Statistics: Num rows: 38 Data size: 8914 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col1 (type: string), _col0 (type: string), _col2 (type: int)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 19 Data size: 4237 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 38 Data size: 8474 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 19 Data size: 4237 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 38 Data size: 8474 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -691,7 +691,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col5
Statistics: Num rows: 27 Data size: 3815 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((_col2 = 0L) or (_col5 is null and _col1 is not null and (_col3 >= _col2))) (type: boolean)
+ predicate: (((_col3 >= _col2) or (_col2 = 0L) or _col5 is not null or _col1 is null) and (_col1 is not null or (_col2 = 0L) or _col5 is not null) and (_col5 is null or (_col2 = 0L))) (type: boolean)
Statistics: Num rows: 27 Data size: 3815 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: int)
@@ -964,7 +964,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col4
Statistics: Num rows: 33 Data size: 7527 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (sq_count_check(CASE WHEN (_col4 is null) THEN (0) ELSE (_col4) END, true) > 0) (type: boolean)
+ predicate: (sq_count_check(CASE WHEN (_col4 is null) THEN (0L) ELSE (_col4) END, true) > 0) (type: boolean)
Statistics: Num rows: 11 Data size: 2517 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
@@ -1005,15 +1005,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col4, _col5, _col8
Statistics: Num rows: 15 Data size: 3605 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN ((_col4 = 0L)) THEN (true) WHEN (_col4 is null) THEN (true) WHEN (_col8 is not null) THEN (false) WHEN (_col2 is null) THEN (null) WHEN ((_col5 < _col4)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 7 Data size: 1685 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (((_col5 < _col4) is not true or (_col4 = 0L) or _col4 is null or _col8 is not null or _col2 is null) and (_col2 is not null or (_col4 = 0L) or _col4 is null or _col8 is not null) and (_col8 is null or (_col4 = 0L) or _col4 is null)) (type: boolean)
+ Statistics: Num rows: 15 Data size: 3605 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col1 (type: string), _col0 (type: string), _col2 (type: int)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 7 Data size: 1561 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 15 Data size: 3345 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 7 Data size: 1561 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 15 Data size: 3345 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -1485,7 +1485,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src
- filterExpr: ((key < '11') or ((key < '11') and CASE WHEN ((key > '104')) THEN (null) ELSE ((key < '11')) END)) (type: boolean)
+ filterExpr: ((key < '11') or ((key < '11') and (key > '104') is not true)) (type: boolean)
properties:
insideView TRUE
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
@@ -1502,7 +1502,7 @@ STAGE PLANS:
Map-reduce partition columns: _col0 (type: string)
Statistics: Num rows: 166 Data size: 14442 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((key < '11') and CASE WHEN ((key > '104')) THEN (null) ELSE ((key < '11')) END) (type: boolean)
+ predicate: ((key < '11') and (key > '104') is not true) (type: boolean)
Statistics: Num rows: 83 Data size: 7221 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: CASE WHEN ((key > '104')) THEN (null) ELSE (key) END (type: string)
@@ -1569,7 +1569,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col4
Statistics: Num rows: 230 Data size: 23950 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((_col1 = 0L) or (_col4 is null and _col0 is not null and (_col2 >= _col1))) (type: boolean)
+ predicate: (((_col2 >= _col1) or (_col1 = 0L) or _col4 is not null or _col0 is null) and (_col0 is not null or (_col1 = 0L) or _col4 is not null) and (_col4 is null or (_col1 = 0L))) (type: boolean)
Statistics: Num rows: 230 Data size: 23950 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string)
@@ -1753,15 +1753,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col10, _col11, _col14
Statistics: Num rows: 64 Data size: 40340 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN ((_col10 = 0L)) THEN (true) WHEN (_col10 is null) THEN (true) WHEN (_col14 is not null) THEN (false) WHEN (_col5 is null) THEN (null) WHEN ((_col11 < _col10)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 32 Data size: 20180 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (((_col11 < _col10) is not true or (_col10 = 0L) or _col10 is null or _col14 is not null or _col5 is null) and (_col14 is null or (_col10 = 0L) or _col10 is null) and (_col5 is not null or (_col10 = 0L) or _col10 is null or _col14 is not null)) (type: boolean)
+ Statistics: Num rows: 64 Data size: 40340 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 32 Data size: 19808 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 64 Data size: 39616 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 32 Data size: 19808 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 64 Data size: 39616 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -1935,7 +1935,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col12
Statistics: Num rows: 33 Data size: 20987 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((_col12 is null and _col5 is not null and (_col10 >= _col9)) or (_col9 = 0L)) (type: boolean)
+ predicate: (((_col10 >= _col9) or (_col9 = 0L) or _col12 is not null or _col5 is null) and (_col12 is null or (_col9 = 0L)) and (_col5 is not null or (_col9 = 0L) or _col12 is not null)) (type: boolean)
Statistics: Num rows: 33 Data size: 20987 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
@@ -2153,7 +2153,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col12
Statistics: Num rows: 32 Data size: 20348 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((_col12 is null and _col0 is not null and _col5 is not null and (_col10 >= _col9)) or (_col9 = 0L)) (type: boolean)
+ predicate: (((_col0 is not null and _col5 is not null) or (_col9 = 0L) or _col12 is not null) and ((_col10 >= _col9) or (_col9 = 0L) or _col12 is not null or _col0 is null or _col5 is null) and (_col12 is null or (_col9 = 0L))) (type: boolean)
Statistics: Num rows: 32 Data size: 20348 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
@@ -2417,10 +2417,10 @@ STAGE PLANS:
outputColumnNames: _col1, _col3, _col4, _col7
Statistics: Num rows: 48 Data size: 660 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN ((_col3 = 0L)) THEN (true) WHEN (_col3 is null) THEN (true) WHEN (_col7 is not null) THEN (false) WHEN ((_col1 + 100) is null) THEN (null) WHEN ((_col4 < _col3)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 24 Data size: 340 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (((_col4 < _col3) is not true or (_col3 = 0L) or _col3 is null or _col7 is not null or _col1 is null) and (_col1 is not null or (_col3 = 0L) or _col3 is null or _col7 is not null) and (_col7 is null or (_col3 = 0L) or _col3 is null)) (type: boolean)
+ Statistics: Num rows: 48 Data size: 660 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- Statistics: Num rows: 24 Data size: 340 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 48 Data size: 660 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: count()
minReductionHashAggr: 0.0
@@ -2609,7 +2609,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col12
Statistics: Num rows: 32 Data size: 20348 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((_col12 is null and _col7 is not null and (_col10 >= _col9)) or (_col9 = 0L)) (type: boolean)
+ predicate: (((_col10 >= _col9) or (_col9 = 0L) or _col12 is not null or _col7 is null) and (_col12 is null or (_col9 = 0L)) and (_col7 is not null or (_col9 = 0L) or _col12 is not null)) (type: boolean)
Statistics: Num rows: 32 Data size: 20348 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
@@ -2720,13 +2720,10 @@ STAGE PLANS:
Tez
#### A masked pattern was here ####
Edges:
- Reducer 10 <- Map 9 (SIMPLE_EDGE)
- Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 6 (ONE_TO_ONE_EDGE)
- Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 8 (ONE_TO_ONE_EDGE)
- Reducer 5 <- Map 4 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE)
- Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
- Reducer 7 <- Map 4 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE)
- Reducer 8 <- Reducer 7 (SIMPLE_EDGE)
+ Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 5 (ONE_TO_ONE_EDGE)
+ Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 6 (ONE_TO_ONE_EDGE)
+ Reducer 5 <- Map 4 (SIMPLE_EDGE)
+ Reducer 6 <- Map 4 (SIMPLE_EDGE)
#### A masked pattern was here ####
Vertices:
Map 1
@@ -2750,80 +2747,48 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: p
- filterExpr: ((p_size is not null and p_partkey is not null) or (p_size is not null and p_partkey is not null and p_name is not null)) (type: boolean)
+ filterExpr: ((((p_size + 121150) = p_partkey) and p_size is not null) or (((p_size + 121150) = p_partkey) and p_size is not null and p_name is not null)) (type: boolean)
Statistics: Num rows: 26 Data size: 3354 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (p_partkey is not null and p_size is not null) (type: boolean)
- Statistics: Num rows: 26 Data size: 3354 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (((p_size + 121150) = p_partkey) and p_size is not null) (type: boolean)
+ Statistics: Num rows: 13 Data size: 1677 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: p_partkey (type: int), p_name (type: string), p_size (type: int)
- outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 26 Data size: 3354 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- key expressions: _col2 (type: int), _col0 (type: int)
- sort order: ++
- Map-reduce partition columns: _col2 (type: int), _col0 (type: int)
- Statistics: Num rows: 26 Data size: 3354 Basic stats: COMPLETE Column stats: COMPLETE
- value expressions: _col1 (type: string)
+ expressions: p_name (type: string), p_size (type: int)
+ outputColumnNames: p_name, p_size
+ Statistics: Num rows: 13 Data size: 1677 Basic stats: COMPLETE Column stats: COMPLETE
+ Group By Operator
+ aggregations: count(), count(p_name)
+ keys: p_size (type: int)
+ minReductionHashAggr: 0.0
+ mode: hash
+ outputColumnNames: _col0, _col1, _col2
+ Statistics: Num rows: 6 Data size: 120 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ key expressions: _col0 (type: int)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: int)
+ Statistics: Num rows: 6 Data size: 120 Basic stats: COMPLETE Column stats: COMPLETE
+ value expressions: _col1 (type: bigint), _col2 (type: bigint)
Filter Operator
- predicate: (p_name is not null and p_partkey is not null and p_size is not null) (type: boolean)
- Statistics: Num rows: 26 Data size: 3354 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (((p_size + 121150) = p_partkey) and p_name is not null and p_size is not null) (type: boolean)
+ Statistics: Num rows: 13 Data size: 1677 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: p_partkey (type: int), p_name (type: string), p_size (type: int)
- outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 26 Data size: 3354 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- key expressions: _col2 (type: int), _col0 (type: int)
- sort order: ++
- Map-reduce partition columns: _col2 (type: int), _col0 (type: int)
- Statistics: Num rows: 26 Data size: 3354 Basic stats: COMPLETE Column stats: COMPLETE
- value expressions: _col1 (type: string)
- Execution mode: vectorized, llap
- LLAP IO: no inputs
- Map 9
- Map Operator Tree:
- TableScan
- alias: part
- filterExpr: p_size is not null (type: boolean)
- Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
- Filter Operator
- predicate: p_size is not null (type: boolean)
- Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
- Group By Operator
- keys: p_size (type: int)
- minReductionHashAggr: 0.0
- mode: hash
- outputColumnNames: _col0
- Statistics: Num rows: 13 Data size: 52 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- key expressions: _col0 (type: int)
- sort order: +
- Map-reduce partition columns: _col0 (type: int)
- Statistics: Num rows: 13 Data size: 52 Basic stats: COMPLETE Column stats: COMPLETE
+ expressions: p_name (type: string), p_size (type: int)
+ outputColumnNames: p_name, p_size
+ Statistics: Num rows: 13 Data size: 1677 Basic stats: COMPLETE Column stats: COMPLETE
+ Group By Operator
+ keys: p_name (type: string), p_size (type: int)
+ minReductionHashAggr: 0.0
+ mode: hash
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 6 Data size: 750 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ key expressions: _col0 (type: string), _col1 (type: int)
+ sort order: ++
+ Map-reduce partition columns: _col0 (type: string), _col1 (type: int)
+ Statistics: Num rows: 6 Data size: 750 Basic stats: COMPLETE Column stats: COMPLETE
Execution mode: vectorized, llap
LLAP IO: no inputs
- Reducer 10
- Execution mode: vectorized, llap
- Reduce Operator Tree:
- Group By Operator
- keys: KEY._col0 (type: int)
- mode: mergepartial
- outputColumnNames: _col0
- Statistics: Num rows: 13 Data size: 52 Basic stats: COMPLETE Column stats: COMPLETE
- Select Operator
- expressions: _col0 (type: int), (_col0 + 121150) (type: int)
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 13 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- key expressions: _col0 (type: int), _col1 (type: int)
- sort order: ++
- Map-reduce partition columns: _col0 (type: int), _col1 (type: int)
- Statistics: Num rows: 13 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- key expressions: _col0 (type: int), _col1 (type: int)
- sort order: ++
- Map-reduce partition columns: _col0 (type: int), _col1 (type: int)
- Statistics: Num rows: 13 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
Reducer 2
Execution mode: llap
Reduce Operator Tree:
@@ -2853,44 +2818,20 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col10, _col11, _col14
Statistics: Num rows: 40 Data size: 25032 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN ((_col10 = 0L)) THEN (true) WHEN (_col10 is null) THEN (true) WHEN (_col14 is not null) THEN (false) WHEN (_col1 is null) THEN (null) WHEN ((_col11 < _col10)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 20 Data size: 12524 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (((_col11 < _col10) is not true or (_col10 = 0L) or _col10 is null or _col14 is not null or _col1 is null) and (_col1 is not null or (_col10 = 0L) or _col10 is null or _col14 is not null) and (_col14 is null or (_col10 = 0L) or _col10 is null)) (type: boolean)
+ Statistics: Num rows: 40 Data size: 25032 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 20 Data size: 12380 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 40 Data size: 24760 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 20 Data size: 12380 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 40 Data size: 24760 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
Reducer 5
- Execution mode: llap
- Reduce Operator Tree:
- Merge Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 _col2 (type: int), _col0 (type: int)
- 1 _col0 (type: int), _col1 (type: int)
- outputColumnNames: _col1, _col3
- Statistics: Num rows: 13 Data size: 1625 Basic stats: COMPLETE Column stats: COMPLETE
- Group By Operator
- aggregations: count(), count(_col1)
- keys: _col3 (type: int)
- minReductionHashAggr: 0.0
- mode: hash
- outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 6 Data size: 120 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- key expressions: _col0 (type: int)
- sort order: +
- Map-reduce partition columns: _col0 (type: int)
- Statistics: Num rows: 6 Data size: 120 Basic stats: COMPLETE Column stats: COMPLETE
- value expressions: _col1 (type: bigint), _col2 (type: bigint)
- Reducer 6
Execution mode: vectorized, llap
Reduce Operator Tree:
Group By Operator
@@ -2905,29 +2846,7 @@ STAGE PLANS:
Map-reduce partition columns: _col0 (type: int)
Statistics: Num rows: 6 Data size: 120 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col1 (type: bigint), _col2 (type: bigint)
- Reducer 7
- Execution mode: llap
- Reduce Operator Tree:
- Merge Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 _col2 (type: int), _col0 (type: int)
- 1 _col0 (type: int), _col1 (type: int)
- outputColumnNames: _col1, _col3
- Statistics: Num rows: 13 Data size: 1625 Basic stats: COMPLETE Column stats: COMPLETE
- Group By Operator
- keys: _col1 (type: string), _col3 (type: int)
- minReductionHashAggr: 0.0
- mode: hash
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 6 Data size: 750 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- key expressions: _col0 (type: string), _col1 (type: int)
- sort order: ++
- Map-reduce partition columns: _col0 (type: string), _col1 (type: int)
- Statistics: Num rows: 6 Data size: 750 Basic stats: COMPLETE Column stats: COMPLETE
- Reducer 8
+ Reducer 6
Execution mode: vectorized, llap
Reduce Operator Tree:
Group By Operator
@@ -3091,15 +3010,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col11, _col12, _col16
Statistics: Num rows: 59 Data size: 37149 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN ((_col11 = 0L)) THEN (true) WHEN (_col11 is null) THEN (true) WHEN (_col16 is not null) THEN (false) WHEN (_col1 is null) THEN (null) WHEN ((_col12 < _col11)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 29 Data size: 18267 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (((_col12 < _col11) is not true or (_col11 = 0L) or _col11 is null or _col16 is not null or _col1 is null) and (_col1 is not null or (_col11 = 0L) or _col11 is null or _col16 is not null) and (_col16 is null or (_col11 = 0L) or _col11 is null)) (type: boolean)
+ Statistics: Num rows: 59 Data size: 37149 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 29 Data size: 17951 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 59 Data size: 36521 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 29 Data size: 17951 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 59 Data size: 36521 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -3196,7 +3115,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: part
- filterExpr: (p_brand is not null or (p_brand is not null and p_type is not null)) (type: boolean)
+ filterExpr: (p_brand is not null or (p_brand is not null and UDFToDouble(p_type) is not null)) (type: boolean)
Statistics: Num rows: 26 Data size: 5096 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: p_brand is not null (type: boolean)
@@ -3219,7 +3138,7 @@ STAGE PLANS:
Statistics: Num rows: 13 Data size: 1404 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col1 (type: bigint), _col2 (type: bigint)
Filter Operator
- predicate: (p_brand is not null and p_type is not null) (type: boolean)
+ predicate: (UDFToDouble(p_type) is not null and p_brand is not null) (type: boolean)
Statistics: Num rows: 26 Data size: 5096 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: (UDFToDouble(p_type) + 2.0D) (type: double), p_brand (type: string)
@@ -3267,15 +3186,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col4, _col5, _col8
Statistics: Num rows: 58 Data size: 13682 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN ((_col4 = 0L)) THEN (true) WHEN (_col4 is null) THEN (true) WHEN (_col8 is not null) THEN (false) WHEN (_col1 is null) THEN (null) WHEN ((_col5 < _col4)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 29 Data size: 6849 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (((_col5 < _col4) is not true or (_col4 = 0L) or _col4 is null or _col8 is not null or _col1 is null) and (_col1 is not null or (_col4 = 0L) or _col4 is null or _col8 is not null) and (_col8 is null or (_col4 = 0L) or _col4 is null)) (type: boolean)
+ Statistics: Num rows: 58 Data size: 13682 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 29 Data size: 3509 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 58 Data size: 7018 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 29 Data size: 3509 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 58 Data size: 7018 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -3505,15 +3424,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col4, _col5, _col8
Statistics: Num rows: 46 Data size: 10734 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN ((_col4 = 0L)) THEN (true) WHEN (_col4 is null) THEN (true) WHEN (_col8 is not null) THEN (false) WHEN (_col1 is null) THEN (null) WHEN ((_col5 < _col4)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 23 Data size: 5375 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (((_col5 < _col4) is not true or (_col4 = 0L) or _col4 is null or _col8 is not null or _col1 is null) and (_col1 is not null or (_col4 = 0L) or _col4 is null or _col8 is not null) and (_col8 is null or (_col4 = 0L) or _col4 is null)) (type: boolean)
+ Statistics: Num rows: 46 Data size: 10734 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 23 Data size: 2783 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 46 Data size: 5566 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 23 Data size: 2783 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 46 Data size: 5566 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -3763,7 +3682,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col5
Statistics: Num rows: 907 Data size: 177590 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((_col2 = 0L) or (_col5 is null and _col1 is not null and (_col3 >= _col2))) (type: boolean)
+ predicate: (((_col3 >= _col2) or (_col2 = 0L) or _col5 is not null or _col1 is null) and (_col1 is not null or (_col2 = 0L) or _col5 is not null) and (_col5 is null or (_col2 = 0L))) (type: boolean)
Statistics: Num rows: 907 Data size: 177590 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string)
@@ -4062,12 +3981,12 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col3, _col4, _col7
Statistics: Num rows: 1623 Data size: 309794 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN ((_col3 = 0L)) THEN (true) WHEN (_col3 is null) THEN (true) WHEN (_col7 is not null) THEN (false) WHEN (_col1 is null) THEN (null) WHEN ((_col4 < _col3)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 811 Data size: 154810 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (((_col4 < _col3) is not true or (_col3 = 0L) or _col3 is null or _col7 is not null or _col1 is null) and (_col1 is not null or (_col3 = 0L) or _col3 is null or _col7 is not null) and (_col7 is null or (_col3 = 0L) or _col3 is null)) (type: boolean)
+ Statistics: Num rows: 1401 Data size: 267414 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 811 Data size: 154810 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 1401 Data size: 267414 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: count()
keys: _col0 (type: string)
@@ -4325,7 +4244,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col12
Statistics: Num rows: 33 Data size: 20987 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((_col12 is null and _col5 is not null and (_col10 >= _col9)) or (_col9 = 0L)) (type: boolean)
+ predicate: (((_col10 >= _col9) or (_col9 = 0L) or _col12 is not null or _col5 is null) and (_col12 is null or (_col9 = 0L)) and (_col5 is not null or (_col9 = 0L) or _col12 is not null)) (type: boolean)
Statistics: Num rows: 33 Data size: 20987 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
@@ -4544,7 +4463,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col12
Statistics: Num rows: 33 Data size: 20987 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((_col12 is null and _col5 is not null and (_col10 >= _col9)) or (_col9 = 0L)) (type: boolean)
+ predicate: (((_col10 >= _col9) or (_col9 = 0L) or _col12 is not null or _col5 is null) and (_col12 is null or (_col9 = 0L)) and (_col5 is not null or (_col9 = 0L) or _col12 is not null)) (type: boolean)
Statistics: Num rows: 33 Data size: 20987 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
@@ -4833,7 +4752,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col5
Statistics: Num rows: 539 Data size: 104726 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((_col2 = 0L) or (_col5 is null and _col0 is not null and (_col3 >= _col2))) (type: boolean)
+ predicate: (((_col3 >= _col2) or (_col2 = 0L) or _col5 is not null or _col0 is null) and (_col0 is not null or (_col2 = 0L) or _col5 is not null) and (_col5 is null or (_col2 = 0L))) (type: boolean)
Statistics: Num rows: 539 Data size: 104726 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: string)
@@ -5433,7 +5352,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: part
- filterExpr: (p_brand is not null or (p_brand is not null and p_type is not null)) (type: boolean)
+ filterExpr: (p_brand is not null or (p_brand is not null and UDFToDouble(p_type) is not null)) (type: boolean)
Statistics: Num rows: 26 Data size: 5096 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
predicate: p_brand is not null (type: boolean)
@@ -5452,7 +5371,7 @@ STAGE PLANS:
Statistics: Num rows: 13 Data size: 1404 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col1 (type: bigint), _col2 (type: bigint)
Filter Operator
- predicate: (p_brand is not null and p_type is not null) (type: boolean)
+ predicate: (UDFToDouble(p_type) is not null and p_brand is not null) (type: boolean)
Statistics: Num rows: 26 Data size: 5096 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
keys: p_brand (type: string), p_type (type: string)
@@ -5471,10 +5390,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: e
- filterExpr: p_size is not null (type: boolean)
+ filterExpr: UDFToDouble((p_size + 100)) is not null (type: boolean)
Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: p_size is not null (type: boolean)
+ predicate: UDFToDouble((p_size + 100)) is not null (type: boolean)
Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
keys: p_size (type: int)
@@ -5532,10 +5451,10 @@ STAGE PLANS:
outputColumnNames: _col1, _col3, _col4, _col7
Statistics: Num rows: 53 Data size: 780 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN ((_col3 = 0L)) THEN (true) WHEN (_col3 is null) THEN (true) WHEN (_col7 is not null) THEN (false) WHEN ((_col1 + 100) is null) THEN (null) WHEN ((_col4 < _col3)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 26 Data size: 388 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (((_col4 < _col3) is not true or (_col3 = 0L) or _col3 is null or _col7 is not null or _col1 is null) and (_col1 is not null or (_col3 = 0L) or _col3 is null or _col7 is not null) and (_col7 is null or (_col3 = 0L) or _col3 is null)) (type: boolean)
+ Statistics: Num rows: 53 Data size: 780 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- Statistics: Num rows: 26 Data size: 388 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 53 Data size: 780 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: count()
minReductionHashAggr: 0.0
@@ -5767,7 +5686,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col4
Statistics: Num rows: 5 Data size: 108 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((_col1 = 0L) or (_col4 is null and _col0 is not null and (_col2 >= _col1))) (type: boolean)
+ predicate: (((_col2 >= _col1) or (_col1 = 0L) or _col4 is not null or _col0 is null) and (_col0 is not null or (_col1 = 0L) or _col4 is not null) and (_col4 is null or (_col1 = 0L))) (type: boolean)
Statistics: Num rows: 5 Data size: 108 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int)
@@ -5848,11 +5767,12 @@ STAGE PLANS:
#### A masked pattern was here ####
Edges:
Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 7 (ONE_TO_ONE_EDGE)
- Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 8 (ONE_TO_ONE_EDGE)
+ Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 9 (ONE_TO_ONE_EDGE)
Reducer 5 <- Map 4 (SIMPLE_EDGE)
- Reducer 6 <- Map 9 (SIMPLE_EDGE), Reducer 5 (SIMPLE_EDGE)
+ Reducer 6 <- Map 10 (SIMPLE_EDGE), Reducer 5 (SIMPLE_EDGE)
Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
- Reducer 8 <- Reducer 6 (SIMPLE_EDGE)
+ Reducer 8 <- Map 10 (SIMPLE_EDGE), Reducer 5 (SIMPLE_EDGE)
+ Reducer 9 <- Reducer 8 (SIMPLE_EDGE)
#### A masked pattern was here ####
Vertices:
Map 1
@@ -5872,14 +5792,48 @@ STAGE PLANS:
value expressions: _col0 (type: int)
Execution mode: vectorized, llap
LLAP IO: no inputs
+ Map 10
+ Map Operator Tree:
+ TableScan
+ alias: t2_n0
+ filterExpr: (UDFToDouble(c1) is not null or (UDFToDouble(c1) is not null and c1 is not null)) (type: boolean)
+ Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE
+ Filter Operator
+ predicate: UDFToDouble(c1) is not null (type: boolean)
+ Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: c1 (type: int), UDFToDouble(c1) (type: double)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 2 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ key expressions: _col1 (type: double)
+ sort order: +
+ Map-reduce partition columns: _col1 (type: double)
+ Statistics: Num rows: 2 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
+ value expressions: _col0 (type: int)
+ Filter Operator
+ predicate: (UDFToDouble(c1) is not null and c1 is not null) (type: boolean)
+ Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: c1 (type: int), UDFToDouble(c1) (type: double)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ key expressions: _col1 (type: double)
+ sort order: +
+ Map-reduce partition columns: _col1 (type: double)
+ Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE
+ value expressions: _col0 (type: int)
+ Execution mode: vectorized, llap
+ LLAP IO: no inputs
Map 4
Map Operator Tree:
TableScan
alias: t1_n0
- filterExpr: c2 is not null (type: boolean)
+ filterExpr: UDFToDouble(c2) is not null (type: boolean)
Statistics: Num rows: 4 Data size: 352 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: c2 is not null (type: boolean)
+ predicate: UDFToDouble(c2) is not null (type: boolean)
Statistics: Num rows: 3 Data size: 264 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
keys: c2 (type: char(100))
@@ -5894,27 +5848,6 @@ STAGE PLANS:
Statistics: Num rows: 1 Data size: 88 Basic stats: COMPLETE Column stats: COMPLETE
Execution mode: vectorized, llap
LLAP IO: no inputs
- Map 9
- Map Operator Tree:
- TableScan
- alias: t2_n0
- filterExpr: c1 is not null (type: boolean)
- Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE
- Filter Operator
- predicate: c1 is not null (type: boolean)
- Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
- Select Operator
- expressions: c1 (type: int), UDFToDouble(c1) (type: double)
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 2 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- key expressions: _col1 (type: double)
- sort order: +
- Map-reduce partition columns: _col1 (type: double)
- Statistics: Num rows: 2 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
- value expressions: _col0 (type: int)
- Execution mode: vectorized, llap
- LLAP IO: no inputs
Reducer 2
Execution mode: llap
Reduce Operator Tree:
@@ -5944,15 +5877,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col3, _col4, _col7
Statistics: Num rows: 6 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN ((_col3 = 0L)) THEN (true) WHEN (_col3 is null) THEN (true) WHEN (_col7 is not null) THEN (false) WHEN (_col0 is null) THEN (null) WHEN ((_col4 < _col3)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 3 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (((_col4 < _col3) is not true or (_col3 = 0L) or _col3 is null or _col7 is not null or _col0 is null) and (_col0 is not null or (_col3 = 0L) or _col3 is null or _col7 is not null) and (_col7 is null or (_col3 = 0L) or _col3 is null)) (type: boolean)
+ Statistics: Num rows: 6 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -5975,6 +5908,12 @@ STAGE PLANS:
Map-reduce partition columns: _col1 (type: double)
Statistics: Num rows: 1 Data size: 96 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col0 (type: char(100))
+ Reduce Output Operator
+ key expressions: _col1 (type: double)
+ sort order: +
+ Map-reduce partition columns: _col1 (type: double)
+ Statistics: Num rows: 1 Data size: 96 Basic stats: COMPLETE Column stats: COMPLETE
+ value expressions: _col0 (type: char(100))
Reducer 6
Execution mode: llap
Reduce Operator Tree:
@@ -5999,17 +5938,6 @@ STAGE PLANS:
Map-reduce partition columns: _col0 (type: char(100))
Statistics: Num rows: 1 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col1 (type: bigint), _col2 (type: bigint)
- Group By Operator
- keys: _col2 (type: int), _col0 (type: char(100))
- minReductionHashAggr: 0.0
- mode: hash
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 92 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- key expressions: _col0 (type: int), _col1 (type: char(100))
- sort order: ++
- Map-reduce partition columns: _col0 (type: int), _col1 (type: char(100))
- Statistics: Num rows: 1 Data size: 92 Basic stats: COMPLETE Column stats: COMPLETE
Reducer 7
Execution mode: vectorized, llap
Reduce Operator Tree:
@@ -6026,6 +5954,28 @@ STAGE PLANS:
Statistics: Num rows: 1 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col1 (type: bigint), _col2 (type: bigint)
Reducer 8
+ Execution mode: llap
+ Reduce Operator Tree:
+ Merge Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col1 (type: double)
+ 1 _col1 (type: double)
+ outputColumnNames: _col0, _col2
+ Statistics: Num rows: 1 Data size: 92 Basic stats: COMPLETE Column stats: COMPLETE
+ Group By Operator
+ keys: _col2 (type: int), _col0 (type: char(100))
+ minReductionHashAggr: 0.0
+ mode: hash
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 1 Data size: 92 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ key expressions: _col0 (type: int), _col1 (type: char(100))
+ sort order: ++
+ Map-reduce partition columns: _col0 (type: int), _col1 (type: char(100))
+ Statistics: Num rows: 1 Data size: 92 Basic stats: COMPLETE Column stats: COMPLETE
+ Reducer 9
Execution mode: vectorized, llap
Reduce Operator Tree:
Group By Operator
@@ -6225,15 +6175,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col3, _col4, _col7
Statistics: Num rows: 3 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN ((_col3 = 0L)) THEN (true) WHEN (_col3 is null) THEN (true) WHEN (_col7 is not null) THEN (false) WHEN (_col1 is null) THEN (null) WHEN ((_col4 < _col3)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 1 Data size: 28 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (((_col4 < _col3) is not true or (_col3 = 0L) or _col3 is null or _col7 is not null or _col1 is null) and (_col1 is not null or (_col3 = 0L) or _col3 is null or _col7 is not null) and (_col7 is null or (_col3 = 0L) or _col3 is null)) (type: boolean)
+ Statistics: Num rows: 3 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -6473,15 +6423,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col3, _col4, _col6
Statistics: Num rows: 2 Data size: 56 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN ((_col3 = 0L)) THEN (true) WHEN (_col3 is null) THEN (true) WHEN (_col6 is not null) THEN (false) WHEN (_col1 is null) THEN (null) WHEN ((_col4 < _col3)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 1 Data size: 28 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (((_col4 < _col3) is not true or (_col3 = 0L) or _col3 is null or _col6 is not null or _col1 is null) and (_col1 is not null or (_col3 = 0L) or _col3 is null or _col6 is not null) and (_col6 is null or (_col3 = 0L) or _col3 is null)) (type: boolean)
+ Statistics: Num rows: 2 Data size: 56 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int), _col1 (type: int)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -6724,15 +6674,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col3, _col4, _col6
Statistics: Num rows: 3 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN ((_col3 = 0L)) THEN (true) WHEN (_col3 is null) THEN (true) WHEN (_col6 is not null) THEN (false) WHEN (_col1 is null) THEN (null) WHEN ((_col4 < _col3)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 1 Data size: 28 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (((_col4 < _col3) is not true or (_col3 = 0L) or _col3 is null or _col6 is not null or _col1 is null) and (_col1 is not null or (_col3 = 0L) or _col3 is null or _col6 is not null) and (_col6 is null or (_col3 = 0L) or _col3 is null)) (type: boolean)
+ Statistics: Num rows: 3 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -6917,15 +6867,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col3, _col4, _col7
Statistics: Num rows: 4 Data size: 88 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN ((_col3 = 0L)) THEN (true) WHEN (_col3 is null) THEN (true) WHEN (_col7 is not null) THEN (false) WHEN (_col0 is null) THEN (null) WHEN ((_col4 < _col3)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 2 Data size: 44 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (((_col4 < _col3) is not true or (_col3 = 0L) or _col3 is null or _col7 is not null or _col0 is null) and (_col0 is not null or (_col3 = 0L) or _col3 is null or _col7 is not null) and (_col7 is null or (_col3 = 0L) or _col3 is null)) (type: boolean)
+ Statistics: Num rows: 4 Data size: 88 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 4 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 4 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -7083,7 +7033,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col5
Statistics: Num rows: 3 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((_col2 = 0L) or (_col5 is null and _col1 is not null and (_col3 >= _col2))) (type: boolean)
+ predicate: (((_col3 >= _col2) or (_col2 = 0L) or _col5 is not null or _col1 is null) and (_col1 is not null or (_col2 = 0L) or _col5 is not null) and (_col5 is null or (_col2 = 0L))) (type: boolean)
Statistics: Num rows: 3 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int)
@@ -7258,7 +7208,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col4
Statistics: Num rows: 4 Data size: 88 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((_col1 = 0L) or (_col4 is null and _col0 is not null and (_col2 >= _col1))) (type: boolean)
+ predicate: (((_col2 >= _col1) or (_col1 = 0L) or _col4 is not null or _col0 is null) and (_col0 is not null or (_col1 = 0L) or _col4 is not null) and (_col4 is null or (_col1 = 0L))) (type: boolean)
Statistics: Num rows: 4 Data size: 88 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int)
@@ -7431,15 +7381,15 @@ STAGE PLANS:
residual filter predicates: {(_col1 > _col6)}
Statistics: Num rows: 1145 Data size: 236851 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN ((_col3 = 0L)) THEN (true) WHEN (_col3 is null) THEN (true) WHEN (_col7 is not null) THEN (false) WHEN (_col0 is null) THEN (null) WHEN ((_col4 < _col3)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 572 Data size: 118384 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (((_col4 < _col3) is not true or (_col3 = 0L) or _col3 is null or _col7 is not null or _col0 is null) and (_col0 is not null or (_col3 = 0L) or _col3 is null or _col7 is not null) and (_col7 is null or (_col3 = 0L) or _col3 is null)) (type: boolean)
+ Statistics: Num rows: 1145 Data size: 236851 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 572 Data size: 101816 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 1145 Data size: 203810 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 572 Data size: 101816 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 1145 Data size: 203810 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
diff --git ql/src/test/results/clientpositive/llap/subquery_null_agg.q.out ql/src/test/results/clientpositive/llap/subquery_null_agg.q.out
index 2c306da6d9..6de536290b 100644
--- ql/src/test/results/clientpositive/llap/subquery_null_agg.q.out
+++ ql/src/test/results/clientpositive/llap/subquery_null_agg.q.out
@@ -6,8 +6,8 @@ POSTHOOK: query: CREATE TABLE table_7 (int_col INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@table_7
-Warning: Shuffle Join MERGEJOIN[29][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
-Warning: Shuffle Join MERGEJOIN[30][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
+Warning: Shuffle Join MERGEJOIN[24][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[25][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
PREHOOK: query: explain
SELECT
(t1.int_col) * (t1.int_col) AS int_col
@@ -59,10 +59,9 @@ STAGE PLANS:
Tez
#### A masked pattern was here ####
Edges:
- Reducer 2 <- Map 1 (CUSTOM_SIMPLE_EDGE), Reducer 4 (CUSTOM_SIMPLE_EDGE)
- Reducer 3 <- Reducer 2 (XPROD_EDGE), Reducer 5 (XPROD_EDGE)
- Reducer 4 <- Map 1 (SIMPLE_EDGE)
- Reducer 5 <- Map 1 (CUSTOM_SIMPLE_EDGE)
+ Reducer 2 <- Map 1 (CUSTOM_SIMPLE_EDGE), Map 5 (CUSTOM_SIMPLE_EDGE)
+ Reducer 3 <- Reducer 2 (XPROD_EDGE), Reducer 4 (XPROD_EDGE)
+ Reducer 4 <- Map 1 (CUSTOM_SIMPLE_EDGE)
#### A masked pattern was here ####
Vertices:
Map 1
@@ -79,29 +78,35 @@ STAGE PLANS:
predicate: false (type: boolean)
Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: COMPLETE
Group By Operator
- keys: true (type: boolean)
+ aggregations: count()
minReductionHashAggr: 0.99
mode: hash
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: COMPLETE
+ Statistics: Num rows: 1 Data size: 8 Basic stats: PARTIAL Column stats: COMPLETE
Reduce Output Operator
- key expressions: _col0 (type: boolean)
- sort order: +
- Map-reduce partition columns: _col0 (type: boolean)
- Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: COMPLETE
+ sort order:
+ Statistics: Num rows: 1 Data size: 8 Basic stats: PARTIAL Column stats: COMPLETE
+ value expressions: _col0 (type: bigint)
+ Execution mode: vectorized, llap
+ LLAP IO: no inputs
+ Map 5
+ Map Operator Tree:
+ TableScan
+ alias: table_7
+ Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: COMPLETE
+ Select Operator
+ Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: COMPLETE
Filter Operator
predicate: false (type: boolean)
Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: COMPLETE
- Group By Operator
- aggregations: count()
- minReductionHashAggr: 0.99
- mode: hash
+ Select Operator
+ expressions: true (type: boolean)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 8 Basic stats: PARTIAL Column stats: COMPLETE
+ Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: COMPLETE
Reduce Output Operator
sort order:
- Statistics: Num rows: 1 Data size: 8 Basic stats: PARTIAL Column stats: COMPLETE
- value expressions: _col0 (type: bigint)
+ Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: COMPLETE
+ value expressions: _col0 (type: boolean)
Execution mode: vectorized, llap
LLAP IO: no inputs
Reducer 2
@@ -128,14 +133,14 @@ STAGE PLANS:
keys:
0
1
- outputColumnNames: _col1, _col2
+ outputColumnNames: _col1, _col2, _col3
Statistics: Num rows: 1 Data size: 10 Basic stats: PARTIAL Column stats: NONE
Select Operator
- expressions: _col2 (type: bigint), _col1 (type: boolean)
- outputColumnNames: _col1, _col2
+ expressions: _col2 (type: bigint), _col3 (type: bigint), _col1 (type: boolean)
+ outputColumnNames: _col1, _col2, _col3
Statistics: Num rows: 1 Data size: 10 Basic stats: PARTIAL Column stats: NONE
Filter Operator
- predicate: ((_col1 = 0L) or _col2 is null) (type: boolean)
+ predicate: ((_col1 = 0L) or (_col3 is null and (_col2 >= _col1))) (type: boolean)
Statistics: Num rows: 1 Data size: 10 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: null (type: void)
@@ -149,22 +154,6 @@ STAGE PLANS:
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
Reducer 4
- Execution mode: vectorized, llap
- Reduce Operator Tree:
- Group By Operator
- keys: KEY._col0 (type: boolean)
- mode: mergepartial
- outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: COMPLETE
- Select Operator
- expressions: true (type: boolean)
- outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: COMPLETE
- Reduce Output Operator
- sort order:
- Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: COMPLETE
- value expressions: _col0 (type: boolean)
- Reducer 5
Execution mode: vectorized, llap
Reduce Operator Tree:
Group By Operator
@@ -172,10 +161,14 @@ STAGE PLANS:
mode: mergepartial
outputColumnNames: _col0
Statistics: Num rows: 1 Data size: 8 Basic stats: PARTIAL Column stats: COMPLETE
- Reduce Output Operator
- sort order:
+ Select Operator
+ expressions: _col0 (type: bigint), _col0 (type: bigint)
+ outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 8 Basic stats: PARTIAL Column stats: COMPLETE
- value expressions: _col0 (type: bigint)
+ Reduce Output Operator
+ sort order:
+ Statistics: Num rows: 1 Data size: 8 Basic stats: PARTIAL Column stats: COMPLETE
+ value expressions: _col0 (type: bigint), _col1 (type: bigint)
Stage: Stage-0
Fetch Operator
diff --git ql/src/test/results/clientpositive/llap/subquery_scalar.q.out ql/src/test/results/clientpositive/llap/subquery_scalar.q.out
index 1016a64525..c4f8307f6d 100644
--- ql/src/test/results/clientpositive/llap/subquery_scalar.q.out
+++ ql/src/test/results/clientpositive/llap/subquery_scalar.q.out
@@ -355,8 +355,8 @@ STAGE PLANS:
Processor Tree:
ListSink
-Warning: Shuffle Join MERGEJOIN[26][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
-Warning: Shuffle Join MERGEJOIN[27][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[25][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[26][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
PREHOOK: query: explain select * from part where p_name = (select p_name from part_null_n0 where p_name is null)
PREHOOK: type: QUERY
PREHOOK: Input: default@part
@@ -376,73 +376,55 @@ STAGE PLANS:
Tez
#### A masked pattern was here ####
Edges:
- Reducer 2 <- Map 1 (CUSTOM_SIMPLE_EDGE)
- Reducer 3 <- Map 1 (XPROD_EDGE), Reducer 2 (XPROD_EDGE)
- Reducer 4 <- Map 5 (XPROD_EDGE), Reducer 3 (XPROD_EDGE)
+ Reducer 2 <- Map 1 (XPROD_EDGE), Reducer 5 (XPROD_EDGE)
+ Reducer 3 <- Map 4 (XPROD_EDGE), Reducer 2 (XPROD_EDGE)
+ Reducer 5 <- Map 4 (CUSTOM_SIMPLE_EDGE)
#### A masked pattern was here ####
Vertices:
Map 1
Map Operator Tree:
TableScan
- alias: part_null_n0
- filterExpr: p_name is null (type: boolean)
- Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
+ alias: part
+ Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: p_name is null (type: boolean)
- Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
+ predicate: false (type: boolean)
+ Statistics: Num rows: 1 Data size: 619 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
- Group By Operator
- aggregations: count()
- minReductionHashAggr: 0.99
- mode: hash
- outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- sort order:
- Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col0 (type: bigint)
+ expressions: p_partkey (type: int), p_name (type: string), 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)
+ outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
+ Statistics: Num rows: 1 Data size: 619 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
sort order:
- Statistics: Num rows: 1 Data size: 184 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 619 Basic stats: COMPLETE Column stats: COMPLETE
+ value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
Execution mode: vectorized, llap
LLAP IO: no inputs
- Map 5
+ Map 4
Map Operator Tree:
TableScan
- alias: part
- filterExpr: (p_name = null) (type: boolean)
- Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE
- Filter Operator
- predicate: (p_name = null) (type: boolean)
- Statistics: Num rows: 1 Data size: 619 Basic stats: COMPLETE Column stats: COMPLETE
- Select Operator
- 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)
- outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7
- Statistics: Num rows: 1 Data size: 498 Basic stats: COMPLETE Column stats: COMPLETE
+ alias: part_null_n0
+ Statistics: Num rows: 1 Data size: 32560 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+ Filter Operator
+ predicate: false (type: boolean)
+ Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+ Group By Operator
+ aggregations: count(0)
+ minReductionHashAggr: 0.0
+ mode: hash
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ sort order:
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ value expressions: _col0 (type: bigint)
Reduce Output Operator
sort order:
- Statistics: Num rows: 1 Data size: 498 Basic stats: COMPLETE Column stats: COMPLETE
- value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: int), _col5 (type: string), _col6 (type: double), _col7 (type: string)
+ Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
Execution mode: vectorized, llap
LLAP IO: no inputs
Reducer 2
- Execution mode: vectorized, llap
- Reduce Operator Tree:
- Group By Operator
- aggregations: count(VALUE._col0)
- mode: mergepartial
- outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: NONE
- Filter Operator
- predicate: (sq_count_check(_col0) <= 1) (type: boolean)
- Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- sort order:
- Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: NONE
- Reducer 3
Execution mode: llap
Reduce Operator Tree:
Merge Join Operator
@@ -451,11 +433,13 @@ STAGE PLANS:
keys:
0
1
- Statistics: Num rows: 1 Data size: 377 Basic stats: COMPLETE Column stats: NONE
+ outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
+ Statistics: Num rows: 1 Data size: 619 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
sort order:
- Statistics: Num rows: 1 Data size: 377 Basic stats: COMPLETE Column stats: NONE
- Reducer 4
+ Statistics: Num rows: 1 Data size: 619 Basic stats: COMPLETE Column stats: COMPLETE
+ value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
+ Reducer 3
Execution mode: llap
Reduce Operator Tree:
Merge Join Operator
@@ -464,19 +448,28 @@ STAGE PLANS:
keys:
0
1
- outputColumnNames: _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9
- Statistics: Num rows: 1 Data size: 876 Basic stats: COMPLETE Column stats: NONE
+ outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
+ Statistics: Num rows: 1 Data size: 619 Basic stats: COMPLETE Column stats: COMPLETE
+ File Output Operator
+ compressed: false
+ Statistics: Num rows: 1 Data size: 619 Basic stats: COMPLETE Column stats: COMPLETE
+ table:
+ input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ Reducer 5
+ Execution mode: vectorized, llap
+ Reduce Operator Tree:
+ Group By Operator
+ aggregations: count(VALUE._col0)
+ mode: mergepartial
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: _col2 (type: int), null (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: string), _col6 (type: int), _col7 (type: string), _col8 (type: double), _col9 (type: string)
- outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 1 Data size: 876 Basic stats: COMPLETE Column stats: NONE
- File Output Operator
- compressed: false
- Statistics: Num rows: 1 Data size: 876 Basic stats: COMPLETE Column stats: NONE
- table:
- input format: org.apache.hadoop.mapred.SequenceFileInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ sort order:
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
Stage: Stage-0
Fetch Operator
@@ -484,8 +477,8 @@ STAGE PLANS:
Processor Tree:
ListSink
-Warning: Shuffle Join MERGEJOIN[26][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
-Warning: Shuffle Join MERGEJOIN[27][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Stage 'Reducer 4' is a cross product
+Warning: Shuffle Join MERGEJOIN[25][tables = [$hdt$_0, $hdt$_1]] in Stage 'Reducer 2' is a cross product
+Warning: Shuffle Join MERGEJOIN[26][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
PREHOOK: query: select * from part where p_name = (select p_name from part_null_n0 where p_name is null)
PREHOOK: type: QUERY
PREHOOK: Input: default@part
@@ -2480,7 +2473,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10
Statistics: Num rows: 39 Data size: 24309 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN (_col10 is null) THEN ((UDFToLong(_col5) <> 0)) ELSE ((UDFToLong(_col5) <> _col9)) END (type: boolean)
+ predicate: CASE WHEN (_col10 is null) THEN ((UDFToLong(_col5) <> 0L)) ELSE ((UDFToLong(_col5) <> _col9)) END (type: boolean)
Statistics: Num rows: 19 Data size: 11845 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
@@ -3595,15 +3588,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col10, _col11, _col13
Statistics: Num rows: 7 Data size: 3595 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((_col10 = 0L) or (_col13 is null and _col3 is not null and (_col11 >= _col10))) (type: boolean)
- Statistics: Num rows: 4 Data size: 2054 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col11 >= _col10) or (_col10 = 0L) or _col13 is not null or _col3 is null) and (_col13 is null or (_col10 = 0L)) and (_col3 is not null or (_col10 = 0L) or _col13 is not null)) (type: boolean)
+ Statistics: Num rows: 6 Data size: 3081 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 4 Data size: 2054 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 6 Data size: 3081 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 4 Data size: 2054 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 6 Data size: 3081 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -3845,17 +3838,17 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col12
Statistics: Num rows: 14 Data size: 2025 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((_col12 is null and _col3 is not null and (_col10 >= _col9)) or (_col9 = 0L)) (type: boolean)
- Statistics: Num rows: 9 Data size: 1301 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col10 >= _col9) or (_col9 = 0L) or _col12 is not null or _col3 is null) and (_col12 is null or (_col9 = 0L)) and (_col3 is not null or (_col9 = 0L) or _col12 is not null)) (type: boolean)
+ Statistics: Num rows: 14 Data size: 2025 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 9 Data size: 1301 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 14 Data size: 2025 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col4 (type: string)
sort order: +
Map-reduce partition columns: _col4 (type: string)
- Statistics: Num rows: 9 Data size: 1301 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 14 Data size: 2025 Basic stats: COMPLETE Column stats: NONE
value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
Reducer 5
Execution mode: llap
@@ -3868,14 +3861,14 @@ STAGE PLANS:
1 _col1 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9
residual filter predicates: {(not (_col1 like _col9))}
- Statistics: Num rows: 5 Data size: 795 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 8 Data size: 1187 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 5 Data size: 795 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 8 Data size: 1187 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 5 Data size: 795 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 8 Data size: 1187 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -4955,7 +4948,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11
Statistics: Num rows: 6 Data size: 2025 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN (_col11 is null) THEN ((UDFToLong(_col2) <> 0)) ELSE ((UDFToLong(_col2) <> _col10)) END (type: boolean)
+ predicate: CASE WHEN (_col11 is null) THEN ((UDFToLong(_col2) <> 0L)) ELSE ((UDFToLong(_col2) <> _col10)) END (type: boolean)
Statistics: Num rows: 3 Data size: 1065 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: int), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: int), _col7 (type: boolean), _col8 (type: boolean), _col9 (type: date)
@@ -5231,7 +5224,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11
Statistics: Num rows: 6 Data size: 2025 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN (_col11 is null) THEN ((UDFToLong(_col2) <> 0)) ELSE ((UDFToLong(_col2) <> _col10)) END (type: boolean)
+ predicate: CASE WHEN (_col11 is null) THEN ((UDFToLong(_col2) <> 0L)) ELSE ((UDFToLong(_col2) <> _col10)) END (type: boolean)
Statistics: Num rows: 3 Data size: 1065 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: int), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: int), _col7 (type: boolean), _col8 (type: boolean), _col9 (type: date)
@@ -5255,7 +5248,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col13, _col14
Statistics: Num rows: 4 Data size: 1428 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN (_col14 is null) THEN ((UDFToLong(_col0) > 0)) ELSE ((UDFToLong(_col0) > _col13)) END (type: boolean)
+ predicate: CASE WHEN (_col14 is null) THEN ((UDFToLong(_col0) > 0L)) ELSE ((UDFToLong(_col0) > _col13)) END (type: boolean)
Statistics: Num rows: 2 Data size: 714 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: int), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: int), _col7 (type: boolean), _col8 (type: boolean), _col9 (type: date)
@@ -6336,7 +6329,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10
Statistics: Num rows: 40 Data size: 24940 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN (_col10 is null) THEN ((UDFToLong(_col5) <> 0)) ELSE ((UDFToLong(_col5) <> _col9)) END (type: boolean)
+ predicate: CASE WHEN (_col10 is null) THEN ((UDFToLong(_col5) <> 0L)) ELSE ((UDFToLong(_col5) <> _col9)) END (type: boolean)
Statistics: Num rows: 20 Data size: 12476 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
@@ -6556,15 +6549,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3
Statistics: Num rows: 2 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN (_col3 is null) THEN (true) ELSE ((_col2 = 0L)) END (type: boolean)
- Statistics: Num rows: 1 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: ((_col2 = 0L) or _col3 is null) (type: boolean)
+ Statistics: Num rows: 2 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int), _col1 (type: int)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -6900,15 +6893,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3
Statistics: Num rows: 2 Data size: 17 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN (_col3 is null) THEN (true) ELSE ((_col2 = 0L)) END (type: boolean)
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+ predicate: ((_col2 = 0L) or _col3 is null) (type: boolean)
+ Statistics: Num rows: 2 Data size: 17 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: int)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 17 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 17 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
diff --git ql/src/test/results/clientpositive/llap/subquery_select.q.out ql/src/test/results/clientpositive/llap/subquery_select.q.out
index ab56f905e0..0a01852b9f 100644
--- ql/src/test/results/clientpositive/llap/subquery_select.q.out
+++ ql/src/test/results/clientpositive/llap/subquery_select.q.out
@@ -98,7 +98,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col3, _col4, _col5
Statistics: Num rows: 27 Data size: 440 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: _col0 (type: int), CASE WHEN (_col4) THEN (false) WHEN (_col3 is not null) THEN (true) WHEN (_col1) THEN (null) WHEN (_col5) THEN (null) ELSE (false) END (type: boolean)
+ expressions: _col0 (type: int), ((_col3 is not null and _col4) or ((_col1 or _col5) and null and _col4 and _col3 is null)) (type: boolean)
outputColumnNames: _col0, _col1
Statistics: Num rows: 27 Data size: 216 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
@@ -140,7 +140,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: (_col0 = 0L) (type: boolean), (_col1 < _col0) (type: boolean)
+ expressions: (_col0 <> 0L) (type: boolean), (_col1 < _col0) (type: boolean)
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
@@ -298,7 +298,7 @@ STAGE PLANS:
outputColumnNames: _col1, _col2, _col4, _col5, _col6, _col9
Statistics: Num rows: 48 Data size: 852 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: _col1 (type: int), CASE WHEN (_col5) THEN (false) WHEN (_col4 is null) THEN (false) WHEN (_col9 is not null) THEN (true) WHEN (_col2) THEN (null) WHEN (_col6) THEN (null) ELSE (false) END (type: boolean)
+ expressions: _col1 (type: int), ((_col9 is not null and (_col5 or _col4 is null) is not true) or ((_col2 or _col6) is true and null and (_col5 or _col4 is null) is not true and _col9 is null)) (type: boolean)
outputColumnNames: _col0, _col1
Statistics: Num rows: 48 Data size: 384 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
@@ -434,15 +434,15 @@ STAGE PLANS:
alias: part
Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: p_size (type: int), p_size is null (type: boolean)
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 26 Data size: 208 Basic stats: COMPLETE Column stats: COMPLETE
+ expressions: p_size (type: int), p_size is null (type: boolean), p_size is not null (type: boolean)
+ outputColumnNames: _col0, _col1, _col2
+ Statistics: Num rows: 26 Data size: 312 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col0 (type: int)
sort order: +
Map-reduce partition columns: _col0 (type: int)
- Statistics: Num rows: 26 Data size: 208 Basic stats: COMPLETE Column stats: COMPLETE
- value expressions: _col1 (type: boolean)
+ Statistics: Num rows: 26 Data size: 312 Basic stats: COMPLETE Column stats: COMPLETE
+ value expressions: _col1 (type: boolean), _col2 (type: boolean)
Select Operator
expressions: p_size (type: int)
outputColumnNames: p_size
@@ -482,12 +482,12 @@ STAGE PLANS:
keys:
0 _col0 (type: int)
1 _col0 (type: int)
- outputColumnNames: _col0, _col1, _col3
- Statistics: Num rows: 27 Data size: 224 Basic stats: COMPLETE Column stats: COMPLETE
+ outputColumnNames: _col0, _col1, _col2, _col4
+ Statistics: Num rows: 27 Data size: 332 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
sort order:
- Statistics: Num rows: 27 Data size: 224 Basic stats: COMPLETE Column stats: COMPLETE
- value expressions: _col0 (type: int), _col1 (type: boolean), _col3 (type: boolean)
+ Statistics: Num rows: 27 Data size: 332 Basic stats: COMPLETE Column stats: COMPLETE
+ value expressions: _col0 (type: int), _col1 (type: boolean), _col2 (type: boolean), _col4 (type: boolean)
Reducer 3
Execution mode: llap
Reduce Operator Tree:
@@ -497,10 +497,10 @@ STAGE PLANS:
keys:
0
1
- outputColumnNames: _col0, _col1, _col3, _col4, _col5
- Statistics: Num rows: 27 Data size: 440 Basic stats: COMPLETE Column stats: COMPLETE
+ outputColumnNames: _col0, _col1, _col2, _col4, _col5, _col6, _col7, _col8
+ Statistics: Num rows: 27 Data size: 764 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: _col0 (type: int), CASE WHEN (_col4) THEN (true) WHEN (_col3 is not null) THEN (false) WHEN (_col1) THEN (null) WHEN (_col5) THEN (null) ELSE (true) END (type: boolean)
+ expressions: _col0 (type: int), (_col5 or ((_col1 or _col6) and null and _col7 and _col4 is null) or (_col7 and _col4 is null and _col2 and _col8)) (type: boolean)
outputColumnNames: _col0, _col1
Statistics: Num rows: 27 Data size: 216 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
@@ -542,13 +542,13 @@ STAGE PLANS:
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: (_col0 = 0L) (type: boolean), (_col1 < _col0) (type: boolean)
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ expressions: (_col0 = 0L) (type: boolean), (_col1 < _col0) (type: boolean), (_col0 <> 0L) (type: boolean), (_col1 >= _col0) (type: boolean)
+ outputColumnNames: _col0, _col1, _col2, _col3
+ Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
sort order:
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
- value expressions: _col0 (type: boolean), _col1 (type: boolean)
+ Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
+ value expressions: _col0 (type: boolean), _col1 (type: boolean), _col2 (type: boolean), _col3 (type: boolean)
Stage: Stage-0
Fetch Operator
@@ -727,7 +727,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col3
Statistics: Num rows: 40 Data size: 4440 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (sq_count_check(CASE WHEN (_col3 is null) THEN (0) ELSE (_col3) END, true) > 0) (type: boolean)
+ predicate: (sq_count_check(CASE WHEN (_col3 is null) THEN (0L) ELSE (_col3) END, true) > 0) (type: boolean)
Statistics: Num rows: 13 Data size: 1452 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: int), _col1 is null (type: boolean)
@@ -768,7 +768,7 @@ STAGE PLANS:
outputColumnNames: _col1, _col2, _col4, _col5, _col6, _col9
Statistics: Num rows: 13 Data size: 364 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: _col1 (type: int), CASE WHEN (_col5) THEN (true) WHEN (_col4 is null) THEN (true) WHEN (_col9 is not null) THEN (false) WHEN (_col2) THEN (null) WHEN (_col6) THEN (null) ELSE (true) END (type: boolean)
+ expressions: _col1 (type: int), ((_col5 or _col4 is null) is true or ((_col2 or _col6) is true and null and (_col5 or _col4 is null) is not true and _col9 is null) or ((_col5 or _col4 is null) is not true and _col9 is null and (_col2 or _col6) is not true)) (type: boolean)
outputColumnNames: _col0, _col1
Statistics: Num rows: 13 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
@@ -1516,7 +1516,7 @@ STAGE PLANS:
outputColumnNames: _col1, _col2, _col3
Statistics: Num rows: 37 Data size: 316 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: _col1 (type: int), CASE WHEN (_col3 is null) THEN (0) ELSE (_col2) END (type: bigint)
+ expressions: _col1 (type: int), CASE WHEN (_col3 is null) THEN (0L) ELSE (_col2) END (type: bigint)
outputColumnNames: _col0, _col1
Statistics: Num rows: 37 Data size: 444 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
@@ -2328,7 +2328,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col3, _col4, _col5
Statistics: Num rows: 27 Data size: 440 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: _col0 (type: int), CASE WHEN (_col4) THEN (false) WHEN (_col3 is not null) THEN (true) WHEN (_col1) THEN (null) WHEN (_col5) THEN (null) ELSE (false) END (type: boolean)
+ expressions: _col0 (type: int), ((_col3 is not null and _col4) or ((_col1 or _col5) and null and _col4 and _col3 is null)) (type: boolean)
outputColumnNames: _col0, _col1
Statistics: Num rows: 27 Data size: 216 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
@@ -2365,7 +2365,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: (_col0 = 0L) (type: boolean), (_col1 < _col0) (type: boolean)
+ expressions: (_col0 <> 0L) (type: boolean), (_col1 < _col0) (type: boolean)
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
@@ -2914,7 +2914,7 @@ STAGE PLANS:
outputColumnNames: _col1, _col2, _col3
Statistics: Num rows: 36 Data size: 324 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: _col1 (type: int), CASE WHEN (_col3 is null) THEN (false) ELSE (_col2 is null) END (type: boolean)
+ expressions: _col1 (type: int), (_col2 is null and _col3 is not null) (type: boolean)
outputColumnNames: _col0, _col1
Statistics: Num rows: 36 Data size: 288 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
@@ -3348,7 +3348,7 @@ STAGE PLANS:
outputColumnNames: _col2, _col3, _col4, _col6, _col7, _col8, _col11, _col13, _col14, _col15
Statistics: Num rows: 49 Data size: 1476 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: _col2 (type: int), (CASE WHEN (_col7) THEN (false) WHEN (_col6 is null) THEN (false) WHEN (_col11 is not null) THEN (true) WHEN (_col3) THEN (null) WHEN (_col8) THEN (null) ELSE (false) END and CASE WHEN (_col14) THEN (false) WHEN (_col13 is not null) THEN (true) WHEN (_col4) THEN (null) WHEN (_col15) THEN (null) ELSE (false) END) (type: boolean)
+ expressions: _col2 (type: int), (((_col11 is not null and (_col7 or _col6 is null) is not true) or ((_col3 or _col8) is true and null and (_col7 or _col6 is null) is not true and _col11 is null)) and ((_col13 is not null and _col14) or ((_col4 or _col15) and null and _col14 and _col13 is null))) (type: boolean)
outputColumnNames: _col0, _col1
Statistics: Num rows: 49 Data size: 392 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
@@ -3420,7 +3420,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: (_col0 = 0L) (type: boolean), (_col1 < _col0) (type: boolean)
+ expressions: (_col0 <> 0L) (type: boolean), (_col1 < _col0) (type: boolean)
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
@@ -3721,7 +3721,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col3, _col4, _col5
Statistics: Num rows: 27 Data size: 440 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: _col0 (type: int), CASE WHEN (_col4) THEN (false) WHEN (_col3 is not null) THEN (true) WHEN (_col1) THEN (null) WHEN (_col5) THEN (null) ELSE (false) END (type: boolean)
+ expressions: _col0 (type: int), ((_col3 is not null and _col4) or ((_col1 or _col5) and null and _col4 and _col3 is null)) (type: boolean)
outputColumnNames: _col0, _col1
Statistics: Num rows: 27 Data size: 216 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
@@ -3802,7 +3802,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: (_col0 = 0L) (type: boolean), (_col1 < _col0) (type: boolean)
+ expressions: (_col0 <> 0L) (type: boolean), (_col1 < _col0) (type: boolean)
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
@@ -4399,7 +4399,7 @@ STAGE PLANS:
outputColumnNames: _col1, _col3, _col4
Statistics: Num rows: 32 Data size: 304 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: _col1 (type: int), CASE WHEN (_col4 is null) THEN (0) ELSE (_col3) END (type: bigint)
+ expressions: _col1 (type: int), CASE WHEN (_col4 is null) THEN (0L) ELSE (_col3) END (type: bigint)
outputColumnNames: _col0, _col1
Statistics: Num rows: 32 Data size: 356 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
diff --git ql/src/test/results/clientpositive/llap/subquery_views.q.out ql/src/test/results/clientpositive/llap/subquery_views.q.out
index fbc9f5b82d..945ec44949 100644
--- ql/src/test/results/clientpositive/llap/subquery_views.q.out
+++ ql/src/test/results/clientpositive/llap/subquery_views.q.out
@@ -281,17 +281,17 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col4, _col5, _col8
Statistics: Num rows: 386 Data size: 73020 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN ((_col4 = 0L)) THEN (true) WHEN (_col4 is null) THEN (true) WHEN (_col8 is not null) THEN (false) WHEN ((_col5 < _col4)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 193 Data size: 36518 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (((_col5 < _col4) is not true or (_col4 = 0L) or _col4 is null or _col8 is not null or _col0 is null) and (_col8 is null or (_col4 = 0L) or _col4 is null)) (type: boolean)
+ Statistics: Num rows: 373 Data size: 70566 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 193 Data size: 34354 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 373 Data size: 66394 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col0 (type: string)
sort order: +
Map-reduce partition columns: _col0 (type: string)
- Statistics: Num rows: 193 Data size: 34354 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 373 Data size: 66394 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col1 (type: string)
Reducer 4
Execution mode: llap
@@ -303,10 +303,10 @@ STAGE PLANS:
0 _col0 (type: string)
1 _col0 (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 193 Data size: 34354 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 373 Data size: 66394 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 193 Data size: 34354 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 373 Data size: 66394 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -379,12 +379,12 @@ STAGE PLANS:
outputColumnNames: _col0, _col4, _col5, _col8
Statistics: Num rows: 319 Data size: 30993 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN ((_col4 = 0L)) THEN (true) WHEN (_col4 is null) THEN (true) WHEN (_col8 is not null) THEN (false) WHEN (_col0 is null) THEN (null) WHEN ((_col5 < _col4)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 159 Data size: 15453 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (((_col5 < _col4) is not true or (_col4 = 0L) or _col4 is null or _col8 is not null or _col0 is null) and (_col0 is not null or (_col4 = 0L) or _col4 is null or _col8 is not null) and (_col8 is null or (_col4 = 0L) or _col4 is null)) (type: boolean)
+ Statistics: Num rows: 304 Data size: 29540 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 159 Data size: 13833 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 304 Data size: 26448 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
keys: _col0 (type: string)
minReductionHashAggr: 0.0
diff --git ql/src/test/results/clientpositive/llap/tez_dynpart_hashjoin_2.q.out ql/src/test/results/clientpositive/llap/tez_dynpart_hashjoin_2.q.out
index c1156759d2..87c47cd58e 100644
--- ql/src/test/results/clientpositive/llap/tez_dynpart_hashjoin_2.q.out
+++ ql/src/test/results/clientpositive/llap/tez_dynpart_hashjoin_2.q.out
@@ -46,20 +46,20 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: a
- filterExpr: (csmallint < 100S) (type: boolean)
+ filterExpr: ((csmallint < 100S) and UDFToInteger(csmallint) is not null) (type: boolean)
Statistics: Num rows: 12288 Data size: 3093170 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (csmallint < 100S) (type: boolean)
- Statistics: Num rows: 4096 Data size: 1031250 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: ((csmallint < 100S) and UDFToInteger(csmallint) is not null) (type: boolean)
+ Statistics: Num rows: 3058 Data size: 769960 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: ctinyint (type: tinyint), csmallint (type: smallint), cint (type: int), cbigint (type: bigint), cfloat (type: float), cdouble (type: double), cstring1 (type: string), cstring2 (type: string), ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), cboolean1 (type: boolean), cboolean2 (type: boolean), UDFToInteger(csmallint) (type: int)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12
- Statistics: Num rows: 4096 Data size: 1043486 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3058 Data size: 779096 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col12 (type: int)
sort order: +
Map-reduce partition columns: _col12 (type: int)
- Statistics: Num rows: 4096 Data size: 1043486 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3058 Data size: 779096 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col0 (type: tinyint), _col1 (type: smallint), _col2 (type: int), _col3 (type: bigint), _col4 (type: float), _col5 (type: double), _col6 (type: string), _col7 (type: string), _col8 (type: timestamp), _col9 (type: timestamp), _col10 (type: boolean), _col11 (type: boolean)
Execution mode: vectorized, llap
LLAP IO: all inputs
@@ -67,10 +67,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: b
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToInteger(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToInteger(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: UDFToInteger(key) (type: int)
@@ -251,20 +251,20 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: a
- filterExpr: (csmallint < 100S) (type: boolean)
+ filterExpr: ((csmallint < 100S) and UDFToInteger(csmallint) is not null) (type: boolean)
Statistics: Num rows: 12288 Data size: 3093170 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (csmallint < 100S) (type: boolean)
- Statistics: Num rows: 4096 Data size: 1031250 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: ((csmallint < 100S) and UDFToInteger(csmallint) is not null) (type: boolean)
+ Statistics: Num rows: 3058 Data size: 769960 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: ctinyint (type: tinyint), csmallint (type: smallint), cint (type: int), cbigint (type: bigint), cfloat (type: float), cdouble (type: double), cstring1 (type: string), cstring2 (type: string), ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), cboolean1 (type: boolean), cboolean2 (type: boolean), UDFToInteger(csmallint) (type: int)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12
- Statistics: Num rows: 4096 Data size: 1043486 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3058 Data size: 779096 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col12 (type: int)
sort order: +
Map-reduce partition columns: _col12 (type: int)
- Statistics: Num rows: 4096 Data size: 1043486 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3058 Data size: 779096 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col0 (type: tinyint), _col1 (type: smallint), _col2 (type: int), _col3 (type: bigint), _col4 (type: float), _col5 (type: double), _col6 (type: string), _col7 (type: string), _col8 (type: timestamp), _col9 (type: timestamp), _col10 (type: boolean), _col11 (type: boolean)
Execution mode: vectorized, llap
LLAP IO: all inputs
@@ -272,10 +272,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: b
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToInteger(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToInteger(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: UDFToInteger(key) (type: int)
@@ -456,20 +456,20 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: a
- filterExpr: (csmallint < 100S) (type: boolean)
+ filterExpr: ((csmallint < 100S) and UDFToInteger(csmallint) is not null) (type: boolean)
Statistics: Num rows: 12288 Data size: 3093170 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (csmallint < 100S) (type: boolean)
- Statistics: Num rows: 4096 Data size: 1031250 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: ((csmallint < 100S) and UDFToInteger(csmallint) is not null) (type: boolean)
+ Statistics: Num rows: 3058 Data size: 769960 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: ctinyint (type: tinyint), csmallint (type: smallint), cint (type: int), cbigint (type: bigint), cfloat (type: float), cdouble (type: double), cstring1 (type: string), cstring2 (type: string), ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), cboolean1 (type: boolean), cboolean2 (type: boolean), UDFToInteger(csmallint) (type: int)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12
- Statistics: Num rows: 4096 Data size: 1043486 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3058 Data size: 779096 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col12 (type: int)
sort order: +
Map-reduce partition columns: _col12 (type: int)
- Statistics: Num rows: 4096 Data size: 1043486 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3058 Data size: 779096 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col0 (type: tinyint), _col1 (type: smallint), _col2 (type: int), _col3 (type: bigint), _col4 (type: float), _col5 (type: double), _col6 (type: string), _col7 (type: string), _col8 (type: timestamp), _col9 (type: timestamp), _col10 (type: boolean), _col11 (type: boolean)
Execution mode: vectorized, llap
LLAP IO: all inputs
@@ -477,10 +477,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: b
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToInteger(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToInteger(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: UDFToInteger(key) (type: int)
diff --git ql/src/test/results/clientpositive/llap/tez_smb_reduce_side.q.out ql/src/test/results/clientpositive/llap/tez_smb_reduce_side.q.out
index 93a1716064..90326ca7b2 100644
--- ql/src/test/results/clientpositive/llap/tez_smb_reduce_side.q.out
+++ ql/src/test/results/clientpositive/llap/tez_smb_reduce_side.q.out
@@ -697,15 +697,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col2, _col3, _col5
Statistics: Num rows: 5 Data size: 72 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN ((_col2 = 0L)) THEN (true) WHEN (_col2 is null) THEN (true) WHEN (_col5 is not null) THEN (false) WHEN (_col0 is null) THEN (null) WHEN ((_col3 < _col2)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 2 Data size: 32 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (((_col3 < _col2) is not true or (_col2 = 0L) or _col2 is null or _col5 is not null or _col0 is null) and (_col0 is not null or (_col2 = 0L) or _col2 is null or _col5 is not null) and (_col5 is null or (_col2 = 0L) or _col2 is null)) (type: boolean)
+ Statistics: Num rows: 5 Data size: 72 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -920,15 +920,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col2, _col3, _col5
Statistics: Num rows: 5 Data size: 72 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN ((_col2 = 0L)) THEN (true) WHEN (_col2 is null) THEN (true) WHEN (_col5 is not null) THEN (false) WHEN (_col0 is null) THEN (null) WHEN ((_col3 < _col2)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 2 Data size: 32 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (((_col3 < _col2) is not true or (_col2 = 0L) or _col2 is null or _col5 is not null or _col0 is null) and (_col0 is not null or (_col2 = 0L) or _col2 is null or _col5 is not null) and (_col5 is null or (_col2 = 0L) or _col2 is null)) (type: boolean)
+ Statistics: Num rows: 5 Data size: 72 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
diff --git ql/src/test/results/clientpositive/llap/tez_vector_dynpart_hashjoin_2.q.out ql/src/test/results/clientpositive/llap/tez_vector_dynpart_hashjoin_2.q.out
index c1156759d2..87c47cd58e 100644
--- ql/src/test/results/clientpositive/llap/tez_vector_dynpart_hashjoin_2.q.out
+++ ql/src/test/results/clientpositive/llap/tez_vector_dynpart_hashjoin_2.q.out
@@ -46,20 +46,20 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: a
- filterExpr: (csmallint < 100S) (type: boolean)
+ filterExpr: ((csmallint < 100S) and UDFToInteger(csmallint) is not null) (type: boolean)
Statistics: Num rows: 12288 Data size: 3093170 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (csmallint < 100S) (type: boolean)
- Statistics: Num rows: 4096 Data size: 1031250 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: ((csmallint < 100S) and UDFToInteger(csmallint) is not null) (type: boolean)
+ Statistics: Num rows: 3058 Data size: 769960 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: ctinyint (type: tinyint), csmallint (type: smallint), cint (type: int), cbigint (type: bigint), cfloat (type: float), cdouble (type: double), cstring1 (type: string), cstring2 (type: string), ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), cboolean1 (type: boolean), cboolean2 (type: boolean), UDFToInteger(csmallint) (type: int)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12
- Statistics: Num rows: 4096 Data size: 1043486 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3058 Data size: 779096 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col12 (type: int)
sort order: +
Map-reduce partition columns: _col12 (type: int)
- Statistics: Num rows: 4096 Data size: 1043486 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3058 Data size: 779096 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col0 (type: tinyint), _col1 (type: smallint), _col2 (type: int), _col3 (type: bigint), _col4 (type: float), _col5 (type: double), _col6 (type: string), _col7 (type: string), _col8 (type: timestamp), _col9 (type: timestamp), _col10 (type: boolean), _col11 (type: boolean)
Execution mode: vectorized, llap
LLAP IO: all inputs
@@ -67,10 +67,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: b
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToInteger(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToInteger(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: UDFToInteger(key) (type: int)
@@ -251,20 +251,20 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: a
- filterExpr: (csmallint < 100S) (type: boolean)
+ filterExpr: ((csmallint < 100S) and UDFToInteger(csmallint) is not null) (type: boolean)
Statistics: Num rows: 12288 Data size: 3093170 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (csmallint < 100S) (type: boolean)
- Statistics: Num rows: 4096 Data size: 1031250 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: ((csmallint < 100S) and UDFToInteger(csmallint) is not null) (type: boolean)
+ Statistics: Num rows: 3058 Data size: 769960 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: ctinyint (type: tinyint), csmallint (type: smallint), cint (type: int), cbigint (type: bigint), cfloat (type: float), cdouble (type: double), cstring1 (type: string), cstring2 (type: string), ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), cboolean1 (type: boolean), cboolean2 (type: boolean), UDFToInteger(csmallint) (type: int)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12
- Statistics: Num rows: 4096 Data size: 1043486 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3058 Data size: 779096 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col12 (type: int)
sort order: +
Map-reduce partition columns: _col12 (type: int)
- Statistics: Num rows: 4096 Data size: 1043486 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3058 Data size: 779096 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col0 (type: tinyint), _col1 (type: smallint), _col2 (type: int), _col3 (type: bigint), _col4 (type: float), _col5 (type: double), _col6 (type: string), _col7 (type: string), _col8 (type: timestamp), _col9 (type: timestamp), _col10 (type: boolean), _col11 (type: boolean)
Execution mode: vectorized, llap
LLAP IO: all inputs
@@ -272,10 +272,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: b
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToInteger(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToInteger(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: UDFToInteger(key) (type: int)
@@ -456,20 +456,20 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: a
- filterExpr: (csmallint < 100S) (type: boolean)
+ filterExpr: ((csmallint < 100S) and UDFToInteger(csmallint) is not null) (type: boolean)
Statistics: Num rows: 12288 Data size: 3093170 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (csmallint < 100S) (type: boolean)
- Statistics: Num rows: 4096 Data size: 1031250 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: ((csmallint < 100S) and UDFToInteger(csmallint) is not null) (type: boolean)
+ Statistics: Num rows: 3058 Data size: 769960 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: ctinyint (type: tinyint), csmallint (type: smallint), cint (type: int), cbigint (type: bigint), cfloat (type: float), cdouble (type: double), cstring1 (type: string), cstring2 (type: string), ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), cboolean1 (type: boolean), cboolean2 (type: boolean), UDFToInteger(csmallint) (type: int)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12
- Statistics: Num rows: 4096 Data size: 1043486 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3058 Data size: 779096 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col12 (type: int)
sort order: +
Map-reduce partition columns: _col12 (type: int)
- Statistics: Num rows: 4096 Data size: 1043486 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 3058 Data size: 779096 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col0 (type: tinyint), _col1 (type: smallint), _col2 (type: int), _col3 (type: bigint), _col4 (type: float), _col5 (type: double), _col6 (type: string), _col7 (type: string), _col8 (type: timestamp), _col9 (type: timestamp), _col10 (type: boolean), _col11 (type: boolean)
Execution mode: vectorized, llap
LLAP IO: all inputs
@@ -477,10 +477,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: b
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToInteger(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToInteger(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: UDFToInteger(key) (type: int)
diff --git ql/src/test/results/clientpositive/llap/unionDistinct_1.q.out ql/src/test/results/clientpositive/llap/unionDistinct_1.q.out
index 3d6fe204be..2c6163b714 100644
--- ql/src/test/results/clientpositive/llap/unionDistinct_1.q.out
+++ ql/src/test/results/clientpositive/llap/unionDistinct_1.q.out
@@ -3832,6 +3832,19 @@ POSTHOOK: Input: default@dst_union22_delta_n0@ds=1
POSTHOOK: Input: default@dst_union22_n0
POSTHOOK: Input: default@dst_union22_n0@ds=1
POSTHOOK: Output: default@dst_union22_n0@ds=2
+OPTIMIZED SQL: SELECT `k1`, `k2`, `k3`, `k4`
+FROM (SELECT `k1`, `k2`, `k3`, `k4`
+FROM `default`.`dst_union22_delta_n0`
+WHERE `ds` = '1' AND `k0` <= 50
+UNION ALL
+SELECT `t2`.`k1`, `t2`.`k2`, `t4`.`k3`, `t4`.`k4`
+FROM (SELECT `k1`, `k2`, `ds` = '1' AS `=`
+FROM `default`.`dst_union22_n0`
+WHERE `k1` > 20) AS `t2`
+LEFT JOIN (SELECT `k1`, `k3`, `k4`
+FROM `default`.`dst_union22_delta_n0`
+WHERE `ds` = '1' AND `k0` > 50 AND `k1` > 20) AS `t4` ON `t2`.`k1` = `t4`.`k1` AND `t2`.`=`)
+GROUP BY `k1`, `k2`, `k3`, `k4`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-2 depends on stages: Stage-1
diff --git ql/src/test/results/clientpositive/llap/vector_adaptor_usage_mode.q.out ql/src/test/results/clientpositive/llap/vector_adaptor_usage_mode.q.out
index 93c7e5aa61..4a1a1e5fce 100644
--- ql/src/test/results/clientpositive/llap/vector_adaptor_usage_mode.q.out
+++ ql/src/test/results/clientpositive/llap/vector_adaptor_usage_mode.q.out
@@ -790,7 +790,7 @@ STAGE PLANS:
enabled: true
enabledConditionsMet: hive.vectorized.use.vectorized.input.format IS true
inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
- notVectorizedReason: SELECT operator: Could not vectorize expression (mode = PROJECTION): GenericUDFBridge ==> log (Column[value], Const decimal(20,10) 10) because hive.vectorized.adaptor.usage.mode=none
+ notVectorizedReason: SELECT operator: Could not vectorize expression (mode = PROJECTION): GenericUDFBridge ==> log (Column[value], Const decimal(2,0) 10) because hive.vectorized.adaptor.usage.mode=none
vectorized: false
Stage: Stage-0
@@ -972,7 +972,7 @@ STAGE PLANS:
enabled: true
enabledConditionsMet: hive.vectorized.use.vectorized.input.format IS true
inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
- notVectorizedReason: SELECT operator: Could not vectorize expression (mode = PROJECTION): GenericUDFBridge ==> log (Column[value], Const decimal(20,10) 10) because hive.vectorized.adaptor.usage.mode=chosen and the UDF wasn't one of the chosen ones
+ notVectorizedReason: SELECT operator: Could not vectorize expression (mode = PROJECTION): GenericUDFBridge ==> log (Column[value], Const decimal(2,0) 10) because hive.vectorized.adaptor.usage.mode=chosen and the UDF wasn't one of the chosen ones
vectorized: false
Stage: Stage-0
diff --git ql/src/test/results/clientpositive/llap/vector_case_when_1.q.out ql/src/test/results/clientpositive/llap/vector_case_when_1.q.out
index 6529758a3a..08200b419b 100644
--- ql/src/test/results/clientpositive/llap/vector_case_when_1.q.out
+++ ql/src/test/results/clientpositive/llap/vector_case_when_1.q.out
@@ -209,13 +209,13 @@ STAGE PLANS:
native: true
vectorizationSchemaColumns: [0:l_orderkey:int, 1:l_partkey:int, 2:l_suppkey:int, 3:l_linenumber:int, 4:l_quantity:int, 5:l_extendedprice:double, 6:l_discount:double, 7:l_tax:decimal(10,2)/DECIMAL_64, 8:l_returnflag:char(1), 9:l_linestatus:char(1), 10:l_shipdate:date, 11:l_commitdate:date, 12:l_receiptdate:date, 13:l_shipinstruct:varchar(20), 14:l_shipmode:char(10), 15:l_comment:string, 16:ROW__ID:struct]
Select Operator
- expressions: l_quantity (type: int), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE ('Huge number') END (type: string), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE (null) END (type: string), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN (null) ELSE (null) END (type: string), if((l_shipmode = 'SHIP '), date_add(l_shipdate, 10), date_add(l_shipdate, 5)) (type: date), CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0) END (type: double), CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0.0D) END (type: double), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), null, l_tax) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, null) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax) (type: decimal(12,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0) (type: decimal(12,2)), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0) (type: decimal(10,2)), if((l_partkey > 30), CAST( l_receiptdate AS TIMESTAMP), CAST( l_commitdate AS TIMESTAMP)) (type: timestamp), if((l_suppkey > 10000), datediff(l_receiptdate, l_commitdate), null) (type: int), if((l_suppkey > 10000), null, datediff(l_receiptdate, l_commitdate)) (type: int), if(((l_suppkey % 500) > 100), DATE'2009-01-01', DATE'2009-12-31') (type: date)
+ expressions: l_quantity (type: int), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE ('Huge number') END (type: string), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE (null) END (type: string), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') ELSE (null) END (type: string), if((l_shipmode = 'SHIP '), date_add(l_shipdate, 10), date_add(l_shipdate, 5)) (type: date), CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0) END (type: double), CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0.0D) END (type: double), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), null, l_tax) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, null) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax) (type: decimal(12,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0) (type: decimal(12,2)), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0) (type: decimal(10,2)), if((l_partkey > 30), CAST( l_receiptdate AS TIMESTAMP), CAST( l_commitdate AS TIMESTAMP)) (type: timestamp), if((l_suppkey > 10000), datediff(l_receiptdate, l_commitdate), null) (type: int), if((l_suppkey > 10000), null, datediff(l_receiptdate, l_commitdate)) (type: int), if(((l_suppkey % 500) > 100), DATE'2009-01-01', DATE'2009-12-31') (type: date)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [4, 21, 26, 31, 35, 39, 43, 45, 47, 49, 51, 53, 55, 59, 62, 65, 68]
- selectExpressions: VectorUDFAdaptor(CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE ('Huge number') END)(children: LongColEqualLongScalar(col 4:int, val 1) -> 17:boolean, LongColEqualLongScalar(col 4:int, val 2) -> 18:boolean, LongColLessLongScalar(col 4:int, val 10) -> 19:boolean, LongColLessLongScalar(col 4:int, val 100) -> 20:boolean) -> 21:string, VectorUDFAdaptor(CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE (null) END)(children: LongColEqualLongScalar(col 4:int, val 1) -> 22:boolean, LongColEqualLongScalar(col 4:int, val 2) -> 23:boolean, LongColLessLongScalar(col 4:int, val 10) -> 24:boolean, LongColLessLongScalar(col 4:int, val 100) -> 25:boolean) -> 26:string, VectorUDFAdaptor(CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN (null) ELSE (null) END)(children: LongColEqualLongScalar(col 4:int, val 1) -> 27:boolean, LongColEqualLongScalar(col 4:int, val 2) -> 28:boolean, LongColLessLongScalar(col 4:int, val 10) -> 29:boolean, LongColLessLongScalar(col 4:int, val 100) -> 30:boolean) -> 31:string, IfExprLongColumnLongColumn(col 32:boolean, col 33:date, col 34:date)(children: StringGroupColEqualCharScalar(col 14:char(10), val SHIP) -> 32:boolean, VectorUDFDateAddColScalar(col 10:date, val 10) -> 33:date, VectorUDFDateAddColScalar(col 10:date, val 5) -> 34:date) -> 35:date, VectorUDFAdaptor(CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0) END)(children: StringGroupColEqualCharScalar(col 8:char(1), val N) -> 36:boolean, DoubleColMultiplyDoubleColumn(col 5:double, col 37:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 37:double) -> 38:double) -> 39:double, VectorUDFAdaptor(CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0.0D) END)(children: StringGroupColEqualCharScalar(col 8:char(1), val N) -> 40:boolean, DoubleColMultiplyDoubleColumn(col 5:double, col 41:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 41:double) -> 42:double) -> 43:double, VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), null, l_tax))(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 44:boolean) -> 45:decimal(10,2), VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, null))(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 46:boolean) -> 47:decimal(10,2), VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax))(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 48:boolean) -> 49:decimal(12,2), VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0))(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 50:boolean) -> 51:decimal(12,2), IfExprDecimal64ScalarDecimal64Column(col 52:boolean, decimal64Val 0, decimalVal 0, col 7:decimal(10,2)/DECIMAL_64)(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 52:boolean) -> 53:decimal(10,2)/DECIMAL_64, IfExprDecimal64ColumnDecimal64Scalar(col 54:boolean, col 7:decimal(10,2)/DECIMAL_64, decimal64Val 0, decimalVal 0)(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 54:boolean) -> 55:decimal(10,2)/DECIMAL_64, IfExprTimestampColumnColumn(col 56:boolean, col 57:timestampcol 58:timestamp)(children: LongColGreaterLongScalar(col 1:int, val 30) -> 56:boolean, CastDateToTimestamp(col 12:date) -> 57:timestamp, CastDateToTimestamp(col 11:date) -> 58:timestamp) -> 59:timestamp, VectorUDFAdaptor(if((l_suppkey > 10000), datediff(l_receiptdate, l_commitdate), null))(children: LongColGreaterLongScalar(col 2:int, val 10000) -> 60:boolean, VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 61:int) -> 62:int, VectorUDFAdaptor(if((l_suppkey > 10000), null, datediff(l_receiptdate, l_commitdate)))(children: LongColGreaterLongScalar(col 2:int, val 10000) -> 63:boolean, VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 64:int) -> 65:int, IfExprLongScalarLongScalar(col 67:boolean, val 14245, val 14609)(children: LongColGreaterLongScalar(col 66:int, val 100)(children: LongColModuloLongScalar(col 2:int, val 500) -> 66:int) -> 67:boolean) -> 68:date
+ projectedOutputColumnNums: [4, 21, 26, 30, 34, 38, 42, 44, 46, 48, 50, 52, 54, 58, 61, 64, 67]
+ selectExpressions: VectorUDFAdaptor(CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE ('Huge number') END)(children: LongColEqualLongScalar(col 4:int, val 1) -> 17:boolean, LongColEqualLongScalar(col 4:int, val 2) -> 18:boolean, LongColLessLongScalar(col 4:int, val 10) -> 19:boolean, LongColLessLongScalar(col 4:int, val 100) -> 20:boolean) -> 21:string, VectorUDFAdaptor(CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE (null) END)(children: LongColEqualLongScalar(col 4:int, val 1) -> 22:boolean, LongColEqualLongScalar(col 4:int, val 2) -> 23:boolean, LongColLessLongScalar(col 4:int, val 10) -> 24:boolean, LongColLessLongScalar(col 4:int, val 100) -> 25:boolean) -> 26:string, VectorUDFAdaptor(CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') ELSE (null) END)(children: LongColEqualLongScalar(col 4:int, val 1) -> 27:boolean, LongColEqualLongScalar(col 4:int, val 2) -> 28:boolean, LongColLessLongScalar(col 4:int, val 10) -> 29:boolean) -> 30:string, IfExprLongColumnLongColumn(col 31:boolean, col 32:date, col 33:date)(children: StringGroupColEqualCharScalar(col 14:char(10), val SHIP) -> 31:boolean, VectorUDFDateAddColScalar(col 10:date, val 10) -> 32:date, VectorUDFDateAddColScalar(col 10:date, val 5) -> 33:date) -> 34:date, VectorUDFAdaptor(CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0) END)(children: StringGroupColEqualCharScalar(col 8:char(1), val N) -> 35:boolean, DoubleColMultiplyDoubleColumn(col 5:double, col 36:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 36:double) -> 37:double) -> 38:double, VectorUDFAdaptor(CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0.0D) END)(children: StringGroupColEqualCharScalar(col 8:char(1), val N) -> 39:boolean, DoubleColMultiplyDoubleColumn(col 5:double, col 40:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 40:double) -> 41:double) -> 42:double, VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), null, l_tax))(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 43:boolean) -> 44:decimal(10,2), VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, null))(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 45:boolean) -> 46:decimal(10,2), VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax))(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 47:boolean) -> 48:decimal(12,2), VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0))(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 49:boolean) -> 50:decimal(12,2), IfExprDecimal64ScalarDecimal64Column(col 51:boolean, decimal64Val 0, decimalVal 0, col 7:decimal(10,2)/DECIMAL_64)(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 51:boolean) -> 52:decimal(10,2)/DECIMAL_64, IfExprDecimal64ColumnDecimal64Scalar(col 53:boolean, col 7:decimal(10,2)/DECIMAL_64, decimal64Val 0, decimalVal 0)(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 53:boolean) -> 54:decimal(10,2)/DECIMAL_64, IfExprTimestampColumnColumn(col 55:boolean, col 56:timestampcol 57:timestamp)(children: LongColGreaterLongScalar(col 1:int, val 30) -> 55:boolean, CastDateToTimestamp(col 12:date) -> 56:timestamp, CastDateToTimestamp(col 11:date) -> 57:timestamp) -> 58:timestamp, VectorUDFAdaptor(if((l_suppkey > 10000), datediff(l_receiptdate, l_commitdate), null))(children: LongColGreaterLongScalar(col 2:int, val 10000) -> 59:boolean, VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 60:int) -> 61:int, VectorUDFAdaptor(if((l_suppkey > 10000), null, datediff(l_receiptdate, l_commitdate)))(children: LongColGreaterLongScalar(col 2:int, val 10000) -> 62:boolean, VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 63:int) -> 64:int, IfExprLongScalarLongScalar(col 66:boolean, val 14245, val 14609)(children: LongColGreaterLongScalar(col 65:int, val 100)(children: LongColModuloLongScalar(col 2:int, val 500) -> 65:int) -> 66:boolean) -> 67:date
Statistics: Num rows: 101 Data size: 141804 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
@@ -243,7 +243,7 @@ STAGE PLANS:
includeColumns: [1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14]
dataColumns: l_orderkey:int, l_partkey:int, l_suppkey:int, l_linenumber:int, l_quantity:int, l_extendedprice:double, l_discount:double, l_tax:decimal(10,2)/DECIMAL_64, l_returnflag:char(1), l_linestatus:char(1), l_shipdate:date, l_commitdate:date, l_receiptdate:date, l_shipinstruct:varchar(20), l_shipmode:char(10), l_comment:string
partitionColumnCount: 0
- scratchColumnTypeNames: [bigint, bigint, bigint, bigint, string, bigint, bigint, bigint, bigint, string, bigint, bigint, bigint, bigint, string, bigint, bigint, bigint, bigint, bigint, double, double, double, bigint, double, double, double, bigint, decimal(10,2), bigint, decimal(10,2), bigint, decimal(12,2), bigint, decimal(12,2), bigint, decimal(10,2)/DECIMAL_64, bigint, decimal(10,2)/DECIMAL_64, bigint, timestamp, timestamp, timestamp, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint]
+ scratchColumnTypeNames: [bigint, bigint, bigint, bigint, string, bigint, bigint, bigint, bigint, string, bigint, bigint, bigint, string, bigint, bigint, bigint, bigint, bigint, double, double, double, bigint, double, double, double, bigint, decimal(10,2), bigint, decimal(10,2), bigint, decimal(12,2), bigint, decimal(12,2), bigint, decimal(10,2)/DECIMAL_64, bigint, decimal(10,2)/DECIMAL_64, bigint, timestamp, timestamp, timestamp, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint]
Stage: Stage-0
Fetch Operator
@@ -546,13 +546,13 @@ STAGE PLANS:
native: true
vectorizationSchemaColumns: [0:l_orderkey:int, 1:l_partkey:int, 2:l_suppkey:int, 3:l_linenumber:int, 4:l_quantity:int, 5:l_extendedprice:double, 6:l_discount:double, 7:l_tax:decimal(10,2)/DECIMAL_64, 8:l_returnflag:char(1), 9:l_linestatus:char(1), 10:l_shipdate:date, 11:l_commitdate:date, 12:l_receiptdate:date, 13:l_shipinstruct:varchar(20), 14:l_shipmode:char(10), 15:l_comment:string, 16:ROW__ID:struct]
Select Operator
- expressions: l_quantity (type: int), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE ('Huge number') END (type: string), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE (null) END (type: string), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN (null) ELSE (null) END (type: string), if((l_shipmode = 'SHIP '), date_add(l_shipdate, 10), date_add(l_shipdate, 5)) (type: date), CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0) END (type: double), CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0.0D) END (type: double), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), null, l_tax) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, null) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax) (type: decimal(12,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0) (type: decimal(12,2)), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0) (type: decimal(10,2)), if((l_partkey > 30), CAST( l_receiptdate AS TIMESTAMP), CAST( l_commitdate AS TIMESTAMP)) (type: timestamp), if((l_suppkey > 10000), datediff(l_receiptdate, l_commitdate), null) (type: int), if((l_suppkey > 10000), null, datediff(l_receiptdate, l_commitdate)) (type: int), if(((l_suppkey % 500) > 100), DATE'2009-01-01', DATE'2009-12-31') (type: date)
+ expressions: l_quantity (type: int), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE ('Huge number') END (type: string), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE (null) END (type: string), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') ELSE (null) END (type: string), if((l_shipmode = 'SHIP '), date_add(l_shipdate, 10), date_add(l_shipdate, 5)) (type: date), CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0) END (type: double), CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0.0D) END (type: double), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), null, l_tax) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, null) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax) (type: decimal(12,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0) (type: decimal(12,2)), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0) (type: decimal(10,2)), if((l_partkey > 30), CAST( l_receiptdate AS TIMESTAMP), CAST( l_commitdate AS TIMESTAMP)) (type: timestamp), if((l_suppkey > 10000), datediff(l_receiptdate, l_commitdate), null) (type: int), if((l_suppkey > 10000), null, datediff(l_receiptdate, l_commitdate)) (type: int), if(((l_suppkey % 500) > 100), DATE'2009-01-01', DATE'2009-12-31') (type: date)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16
Select Vectorization:
className: VectorSelectOperator
native: true
projectedOutputColumnNums: [4, 24, 33, 40, 44, 49, 53, 55, 57, 59, 61, 63, 65, 69, 72, 75, 78]
- selectExpressions: IfExprStringScalarStringGroupColumn(col 17:boolean, val Singlecol 23:string)(children: LongColEqualLongScalar(col 4:int, val 1) -> 17:boolean, IfExprStringScalarStringGroupColumn(col 18:boolean, val Twocol 22:string)(children: LongColEqualLongScalar(col 4:int, val 2) -> 18:boolean, IfExprStringScalarStringGroupColumn(col 19:boolean, val Somecol 21:string)(children: LongColLessLongScalar(col 4:int, val 10) -> 19:boolean, IfExprStringScalarStringScalar(col 20:boolean, val Many, val Huge number)(children: LongColLessLongScalar(col 4:int, val 100) -> 20:boolean) -> 21:string) -> 22:string) -> 23:string) -> 24:string, IfExprStringScalarStringGroupColumn(col 25:boolean, val Singlecol 32:string)(children: LongColEqualLongScalar(col 4:int, val 1) -> 25:boolean, IfExprStringScalarStringGroupColumn(col 26:boolean, val Twocol 31:string)(children: LongColEqualLongScalar(col 4:int, val 2) -> 26:boolean, IfExprStringScalarStringGroupColumn(col 27:boolean, val Somecol 30:string)(children: LongColLessLongScalar(col 4:int, val 10) -> 27:boolean, IfExprColumnNull(col 28:boolean, col 29:string, null)(children: LongColLessLongScalar(col 4:int, val 100) -> 28:boolean, ConstantVectorExpression(val Many) -> 29:string) -> 30:string) -> 31:string) -> 32:string) -> 33:string, IfExprStringScalarStringGroupColumn(col 34:boolean, val Singlecol 39:string)(children: LongColEqualLongScalar(col 4:int, val 1) -> 34:boolean, IfExprStringScalarStringGroupColumn(col 35:boolean, val Twocol 38:string)(children: LongColEqualLongScalar(col 4:int, val 2) -> 35:boolean, IfExprStringScalarStringGroupColumn(col 36:boolean, val Somecol 37:string)(children: LongColLessLongScalar(col 4:int, val 10) -> 36:boolean, IfExprNullNull(null, null) -> 37:string) -> 38:string) -> 39:string) -> 40:string, IfExprLongColumnLongColumn(col 41:boolean, col 42:date, col 43:date)(children: StringGroupColEqualCharScalar(col 14:char(10), val SHIP) -> 41:boolean, VectorUDFDateAddColScalar(col 10:date, val 10) -> 42:date, VectorUDFDateAddColScalar(col 10:date, val 5) -> 43:date) -> 44:date, IfExprDoubleColumnDoubleColumn(col 45:boolean, col 47:doublecol 48:double)(children: StringGroupColEqualCharScalar(col 8:char(1), val N) -> 45:boolean, DoubleColMultiplyDoubleColumn(col 5:double, col 46:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 46:double) -> 47:double, ConstantVectorExpression(val 0.0) -> 48:double) -> 49:double, IfExprDoubleColumnDoubleScalar(col 50:boolean, col 52:double, val 0.0)(children: StringGroupColEqualCharScalar(col 8:char(1), val N) -> 50:boolean, DoubleColMultiplyDoubleColumn(col 5:double, col 51:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 51:double) -> 52:double) -> 53:double, IfExprNullColumn(col 54:boolean, null, col 79)(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 54:boolean, ConvertDecimal64ToDecimal(col 7:decimal(10,2)/DECIMAL_64) -> 79:decimal(10,2)) -> 55:decimal(10,2), IfExprColumnNull(col 56:boolean, col 80:decimal(10,2), null)(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 56:boolean, ConvertDecimal64ToDecimal(col 7:decimal(10,2)/DECIMAL_64) -> 80:decimal(10,2)) -> 57:decimal(10,2), VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax))(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 58:boolean) -> 59:decimal(12,2), VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0))(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 60:boolean) -> 61:decimal(12,2), IfExprDecimal64ScalarDecimal64Column(col 62:boolean, decimal64Val 0, decimalVal 0, col 7:decimal(10,2)/DECIMAL_64)(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 62:boolean) -> 63:decimal(10,2)/DECIMAL_64, IfExprDecimal64ColumnDecimal64Scalar(col 64:boolean, col 7:decimal(10,2)/DECIMAL_64, decimal64Val 0, decimalVal 0)(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 64:boolean) -> 65:decimal(10,2)/DECIMAL_64, IfExprTimestampColumnColumn(col 66:boolean, col 67:timestampcol 68:timestamp)(children: LongColGreaterLongScalar(col 1:int, val 30) -> 66:boolean, CastDateToTimestamp(col 12:date) -> 67:timestamp, CastDateToTimestamp(col 11:date) -> 68:timestamp) -> 69:timestamp, IfExprColumnNull(col 70:boolean, col 71:int, null)(children: LongColGreaterLongScalar(col 2:int, val 10000) -> 70:boolean, VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 71:int) -> 72:int, IfExprNullColumn(col 73:boolean, null, col 74)(children: LongColGreaterLongScalar(col 2:int, val 10000) -> 73:boolean, VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 74:int) -> 75:int, IfExprLongScalarLongScalar(col 77:boolean, val 14245, val 14609)(children: LongColGreaterLongScalar(col 76:int, val 100)(children: LongColModuloLongScalar(col 2:int, val 500) -> 76:int) -> 77:boolean) -> 78:date
+ selectExpressions: IfExprStringScalarStringGroupColumn(col 17:boolean, val Singlecol 23:string)(children: LongColEqualLongScalar(col 4:int, val 1) -> 17:boolean, IfExprStringScalarStringGroupColumn(col 18:boolean, val Twocol 22:string)(children: LongColEqualLongScalar(col 4:int, val 2) -> 18:boolean, IfExprStringScalarStringGroupColumn(col 19:boolean, val Somecol 21:string)(children: LongColLessLongScalar(col 4:int, val 10) -> 19:boolean, IfExprStringScalarStringScalar(col 20:boolean, val Many, val Huge number)(children: LongColLessLongScalar(col 4:int, val 100) -> 20:boolean) -> 21:string) -> 22:string) -> 23:string) -> 24:string, IfExprStringScalarStringGroupColumn(col 25:boolean, val Singlecol 32:string)(children: LongColEqualLongScalar(col 4:int, val 1) -> 25:boolean, IfExprStringScalarStringGroupColumn(col 26:boolean, val Twocol 31:string)(children: LongColEqualLongScalar(col 4:int, val 2) -> 26:boolean, IfExprStringScalarStringGroupColumn(col 27:boolean, val Somecol 30:string)(children: LongColLessLongScalar(col 4:int, val 10) -> 27:boolean, IfExprColumnNull(col 28:boolean, col 29:string, null)(children: LongColLessLongScalar(col 4:int, val 100) -> 28:boolean, ConstantVectorExpression(val Many) -> 29:string) -> 30:string) -> 31:string) -> 32:string) -> 33:string, IfExprStringScalarStringGroupColumn(col 34:boolean, val Singlecol 39:string)(children: LongColEqualLongScalar(col 4:int, val 1) -> 34:boolean, IfExprStringScalarStringGroupColumn(col 35:boolean, val Twocol 38:string)(children: LongColEqualLongScalar(col 4:int, val 2) -> 35:boolean, IfExprColumnNull(col 36:boolean, col 37:string, null)(children: LongColLessLongScalar(col 4:int, val 10) -> 36:boolean, ConstantVectorExpression(val Some) -> 37:string) -> 38:string) -> 39:string) -> 40:string, IfExprLongColumnLongColumn(col 41:boolean, col 42:date, col 43:date)(children: StringGroupColEqualCharScalar(col 14:char(10), val SHIP) -> 41:boolean, VectorUDFDateAddColScalar(col 10:date, val 10) -> 42:date, VectorUDFDateAddColScalar(col 10:date, val 5) -> 43:date) -> 44:date, IfExprDoubleColumnDoubleColumn(col 45:boolean, col 47:doublecol 48:double)(children: StringGroupColEqualCharScalar(col 8:char(1), val N) -> 45:boolean, DoubleColMultiplyDoubleColumn(col 5:double, col 46:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 46:double) -> 47:double, ConstantVectorExpression(val 0.0) -> 48:double) -> 49:double, IfExprDoubleColumnDoubleScalar(col 50:boolean, col 52:double, val 0.0)(children: StringGroupColEqualCharScalar(col 8:char(1), val N) -> 50:boolean, DoubleColMultiplyDoubleColumn(col 5:double, col 51:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 51:double) -> 52:double) -> 53:double, IfExprNullColumn(col 54:boolean, null, col 79)(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 54:boolean, ConvertDecimal64ToDecimal(col 7:decimal(10,2)/DECIMAL_64) -> 79:decimal(10,2)) -> 55:decimal(10,2), IfExprColumnNull(col 56:boolean, col 80:decimal(10,2), null)(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 56:boolean, ConvertDecimal64ToDecimal(col 7:decimal(10,2)/DECIMAL_64) -> 80:decimal(10,2)) -> 57:decimal(10,2), VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax))(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 58:boolean) -> 59:decimal(12,2), VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0))(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 60:boolean) -> 61:decimal(12,2), IfExprDecimal64ScalarDecimal64Column(col 62:boolean, decimal64Val 0, decimalVal 0, col 7:decimal(10,2)/DECIMAL_64)(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 62:boolean) -> 63:decimal(10,2)/DECIMAL_64, IfExprDecimal64ColumnDecimal64Scalar(col 64:boolean, col 7:decimal(10,2)/DECIMAL_64, decimal64Val 0, decimalVal 0)(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 64:boolean) -> 65:decimal(10,2)/DECIMAL_64, IfExprTimestampColumnColumn(col 66:boolean, col 67:timestampcol 68:timestamp)(children: LongColGreaterLongScalar(col 1:int, val 30) -> 66:boolean, CastDateToTimestamp(col 12:date) -> 67:timestamp, CastDateToTimestamp(col 11:date) -> 68:timestamp) -> 69:timestamp, IfExprColumnNull(col 70:boolean, col 71:int, null)(children: LongColGreaterLongScalar(col 2:int, val 10000) -> 70:boolean, VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 71:int) -> 72:int, IfExprNullColumn(col 73:boolean, null, col 74)(children: LongColGreaterLongScalar(col 2:int, val 10000) -> 73:boolean, VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 74:int) -> 75:int, IfExprLongScalarLongScalar(col 77:boolean, val 14245, val 14609)(children: LongColGreaterLongScalar(col 76:int, val 100)(children: LongColModuloLongScalar(col 2:int, val 500) -> 76:int) -> 77:boolean) -> 78:date
Statistics: Num rows: 101 Data size: 141804 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
@@ -883,13 +883,13 @@ STAGE PLANS:
native: true
vectorizationSchemaColumns: [0:l_orderkey:int, 1:l_partkey:int, 2:l_suppkey:int, 3:l_linenumber:int, 4:l_quantity:int, 5:l_extendedprice:double, 6:l_discount:double, 7:l_tax:decimal(10,2)/DECIMAL_64, 8:l_returnflag:char(1), 9:l_linestatus:char(1), 10:l_shipdate:date, 11:l_commitdate:date, 12:l_receiptdate:date, 13:l_shipinstruct:varchar(20), 14:l_shipmode:char(10), 15:l_comment:string, 16:ROW__ID:struct]
Select Operator
- expressions: l_quantity (type: int), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE ('Huge number') END (type: string), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE (null) END (type: string), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN (null) ELSE (null) END (type: string), if((l_shipmode = 'SHIP '), date_add(l_shipdate, 10), date_add(l_shipdate, 5)) (type: date), CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0) END (type: double), CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0.0D) END (type: double), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), null, l_tax) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, null) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax) (type: decimal(12,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0) (type: decimal(12,2)), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0) (type: decimal(10,2)), if((l_partkey > 30), CAST( l_receiptdate AS TIMESTAMP), CAST( l_commitdate AS TIMESTAMP)) (type: timestamp), if((l_suppkey > 10000), datediff(l_receiptdate, l_commitdate), null) (type: int), if((l_suppkey > 10000), null, datediff(l_receiptdate, l_commitdate)) (type: int), if(((l_suppkey % 500) > 100), DATE'2009-01-01', DATE'2009-12-31') (type: date)
+ expressions: l_quantity (type: int), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE ('Huge number') END (type: string), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE (null) END (type: string), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') ELSE (null) END (type: string), if((l_shipmode = 'SHIP '), date_add(l_shipdate, 10), date_add(l_shipdate, 5)) (type: date), CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0) END (type: double), CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0.0D) END (type: double), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), null, l_tax) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, null) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax) (type: decimal(12,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0) (type: decimal(12,2)), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0) (type: decimal(10,2)), if((l_partkey > 30), CAST( l_receiptdate AS TIMESTAMP), CAST( l_commitdate AS TIMESTAMP)) (type: timestamp), if((l_suppkey > 10000), datediff(l_receiptdate, l_commitdate), null) (type: int), if((l_suppkey > 10000), null, datediff(l_receiptdate, l_commitdate)) (type: int), if(((l_suppkey % 500) > 100), DATE'2009-01-01', DATE'2009-12-31') (type: date)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [4, 27, 39, 49, 53, 58, 63, 65, 67, 72, 77, 79, 81, 85, 88, 91, 94]
- selectExpressions: IfExprColumnCondExpr(col 17:boolean, col 18:stringcol 26:string)(children: LongColEqualLongScalar(col 4:int, val 1) -> 17:boolean, ConstantVectorExpression(val Single) -> 18:string, IfExprColumnCondExpr(col 19:boolean, col 20:stringcol 25:string)(children: LongColEqualLongScalar(col 4:int, val 2) -> 19:boolean, ConstantVectorExpression(val Two) -> 20:string, IfExprColumnCondExpr(col 21:boolean, col 22:stringcol 24:string)(children: LongColLessLongScalar(col 4:int, val 10) -> 21:boolean, ConstantVectorExpression(val Some) -> 22:string, IfExprStringScalarStringScalar(col 23:boolean, val Many, val Huge number)(children: LongColLessLongScalar(col 4:int, val 100) -> 23:boolean) -> 24:string) -> 25:string) -> 26:string) -> 27:string, IfExprColumnCondExpr(col 28:boolean, col 29:stringcol 38:string)(children: LongColEqualLongScalar(col 4:int, val 1) -> 28:boolean, ConstantVectorExpression(val Single) -> 29:string, IfExprColumnCondExpr(col 30:boolean, col 31:stringcol 37:string)(children: LongColEqualLongScalar(col 4:int, val 2) -> 30:boolean, ConstantVectorExpression(val Two) -> 31:string, IfExprColumnCondExpr(col 32:boolean, col 33:stringcol 36:string)(children: LongColLessLongScalar(col 4:int, val 10) -> 32:boolean, ConstantVectorExpression(val Some) -> 33:string, IfExprColumnNull(col 34:boolean, col 35:string, null)(children: LongColLessLongScalar(col 4:int, val 100) -> 34:boolean, ConstantVectorExpression(val Many) -> 35:string) -> 36:string) -> 37:string) -> 38:string) -> 39:string, IfExprColumnCondExpr(col 40:boolean, col 41:stringcol 48:string)(children: LongColEqualLongScalar(col 4:int, val 1) -> 40:boolean, ConstantVectorExpression(val Single) -> 41:string, IfExprColumnCondExpr(col 42:boolean, col 43:stringcol 47:string)(children: LongColEqualLongScalar(col 4:int, val 2) -> 42:boolean, ConstantVectorExpression(val Two) -> 43:string, IfExprColumnCondExpr(col 44:boolean, col 45:stringcol 46:string)(children: LongColLessLongScalar(col 4:int, val 10) -> 44:boolean, ConstantVectorExpression(val Some) -> 45:string, IfExprNullNull(null, null) -> 46:string) -> 47:string) -> 48:string) -> 49:string, IfExprCondExprCondExpr(col 50:boolean, col 51:datecol 52:date)(children: StringGroupColEqualCharScalar(col 14:char(10), val SHIP) -> 50:boolean, VectorUDFDateAddColScalar(col 10:date, val 10) -> 51:date, VectorUDFDateAddColScalar(col 10:date, val 5) -> 52:date) -> 53:date, IfExprCondExprCondExpr(col 54:boolean, col 56:doublecol 57:double)(children: StringGroupColEqualCharScalar(col 8:char(1), val N) -> 54:boolean, DoubleColMultiplyDoubleColumn(col 5:double, col 55:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 55:double) -> 56:double, ConstantVectorExpression(val 0.0) -> 57:double) -> 58:double, IfExprCondExprColumn(col 59:boolean, col 61:double, col 62:double)(children: StringGroupColEqualCharScalar(col 8:char(1), val N) -> 59:boolean, DoubleColMultiplyDoubleColumn(col 5:double, col 60:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 60:double) -> 61:double, ConstantVectorExpression(val 0.0) -> 62:double) -> 63:double, IfExprNullColumn(col 64:boolean, null, col 95)(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 64:boolean, ConvertDecimal64ToDecimal(col 7:decimal(10,2)/DECIMAL_64) -> 95:decimal(10,2)) -> 65:decimal(10,2), IfExprColumnNull(col 66:boolean, col 96:decimal(10,2), null)(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 66:boolean, ConvertDecimal64ToDecimal(col 7:decimal(10,2)/DECIMAL_64) -> 96:decimal(10,2)) -> 67:decimal(10,2), VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax))(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 71:boolean) -> 72:decimal(12,2), VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0))(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 76:boolean) -> 77:decimal(12,2), IfExprDecimal64ScalarDecimal64Column(col 78:boolean, decimal64Val 0, decimalVal 0, col 7:decimal(10,2)/DECIMAL_64)(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 78:boolean) -> 79:decimal(10,2)/DECIMAL_64, IfExprDecimal64ColumnDecimal64Scalar(col 80:boolean, col 7:decimal(10,2)/DECIMAL_64, decimal64Val 0, decimalVal 0)(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 80:boolean) -> 81:decimal(10,2)/DECIMAL_64, IfExprCondExprCondExpr(col 82:boolean, col 83:timestampcol 84:timestamp)(children: LongColGreaterLongScalar(col 1:int, val 30) -> 82:boolean, CastDateToTimestamp(col 12:date) -> 83:timestamp, CastDateToTimestamp(col 11:date) -> 84:timestamp) -> 85:timestamp, IfExprCondExprNull(col 86:boolean, col 87:int, null)(children: LongColGreaterLongScalar(col 2:int, val 10000) -> 86:boolean, VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 87:int) -> 88:int, IfExprNullCondExpr(col 89:boolean, null, col 90:int)(children: LongColGreaterLongScalar(col 2:int, val 10000) -> 89:boolean, VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 90:int) -> 91:int, IfExprLongScalarLongScalar(col 93:boolean, val 14245, val 14609)(children: LongColGreaterLongScalar(col 92:int, val 100)(children: LongColModuloLongScalar(col 2:int, val 500) -> 92:int) -> 93:boolean) -> 94:date
+ projectedOutputColumnNums: [4, 27, 39, 48, 52, 57, 62, 64, 66, 71, 76, 78, 80, 84, 87, 90, 93]
+ selectExpressions: IfExprColumnCondExpr(col 17:boolean, col 18:stringcol 26:string)(children: LongColEqualLongScalar(col 4:int, val 1) -> 17:boolean, ConstantVectorExpression(val Single) -> 18:string, IfExprColumnCondExpr(col 19:boolean, col 20:stringcol 25:string)(children: LongColEqualLongScalar(col 4:int, val 2) -> 19:boolean, ConstantVectorExpression(val Two) -> 20:string, IfExprColumnCondExpr(col 21:boolean, col 22:stringcol 24:string)(children: LongColLessLongScalar(col 4:int, val 10) -> 21:boolean, ConstantVectorExpression(val Some) -> 22:string, IfExprStringScalarStringScalar(col 23:boolean, val Many, val Huge number)(children: LongColLessLongScalar(col 4:int, val 100) -> 23:boolean) -> 24:string) -> 25:string) -> 26:string) -> 27:string, IfExprColumnCondExpr(col 28:boolean, col 29:stringcol 38:string)(children: LongColEqualLongScalar(col 4:int, val 1) -> 28:boolean, ConstantVectorExpression(val Single) -> 29:string, IfExprColumnCondExpr(col 30:boolean, col 31:stringcol 37:string)(children: LongColEqualLongScalar(col 4:int, val 2) -> 30:boolean, ConstantVectorExpression(val Two) -> 31:string, IfExprColumnCondExpr(col 32:boolean, col 33:stringcol 36:string)(children: LongColLessLongScalar(col 4:int, val 10) -> 32:boolean, ConstantVectorExpression(val Some) -> 33:string, IfExprColumnNull(col 34:boolean, col 35:string, null)(children: LongColLessLongScalar(col 4:int, val 100) -> 34:boolean, ConstantVectorExpression(val Many) -> 35:string) -> 36:string) -> 37:string) -> 38:string) -> 39:string, IfExprColumnCondExpr(col 40:boolean, col 41:stringcol 47:string)(children: LongColEqualLongScalar(col 4:int, val 1) -> 40:boolean, ConstantVectorExpression(val Single) -> 41:string, IfExprColumnCondExpr(col 42:boolean, col 43:stringcol 46:string)(children: LongColEqualLongScalar(col 4:int, val 2) -> 42:boolean, ConstantVectorExpression(val Two) -> 43:string, IfExprColumnNull(col 44:boolean, col 45:string, null)(children: LongColLessLongScalar(col 4:int, val 10) -> 44:boolean, ConstantVectorExpression(val Some) -> 45:string) -> 46:string) -> 47:string) -> 48:string, IfExprCondExprCondExpr(col 49:boolean, col 50:datecol 51:date)(children: StringGroupColEqualCharScalar(col 14:char(10), val SHIP) -> 49:boolean, VectorUDFDateAddColScalar(col 10:date, val 10) -> 50:date, VectorUDFDateAddColScalar(col 10:date, val 5) -> 51:date) -> 52:date, IfExprCondExprCondExpr(col 53:boolean, col 55:doublecol 56:double)(children: StringGroupColEqualCharScalar(col 8:char(1), val N) -> 53:boolean, DoubleColMultiplyDoubleColumn(col 5:double, col 54:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 54:double) -> 55:double, ConstantVectorExpression(val 0.0) -> 56:double) -> 57:double, IfExprCondExprColumn(col 58:boolean, col 60:double, col 61:double)(children: StringGroupColEqualCharScalar(col 8:char(1), val N) -> 58:boolean, DoubleColMultiplyDoubleColumn(col 5:double, col 59:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 59:double) -> 60:double, ConstantVectorExpression(val 0.0) -> 61:double) -> 62:double, IfExprNullColumn(col 63:boolean, null, col 94)(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 63:boolean, ConvertDecimal64ToDecimal(col 7:decimal(10,2)/DECIMAL_64) -> 94:decimal(10,2)) -> 64:decimal(10,2), IfExprColumnNull(col 65:boolean, col 95:decimal(10,2), null)(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 65:boolean, ConvertDecimal64ToDecimal(col 7:decimal(10,2)/DECIMAL_64) -> 95:decimal(10,2)) -> 66:decimal(10,2), VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax))(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 70:boolean) -> 71:decimal(12,2), VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0))(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 75:boolean) -> 76:decimal(12,2), IfExprDecimal64ScalarDecimal64Column(col 77:boolean, decimal64Val 0, decimalVal 0, col 7:decimal(10,2)/DECIMAL_64)(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 77:boolean) -> 78:decimal(10,2)/DECIMAL_64, IfExprDecimal64ColumnDecimal64Scalar(col 79:boolean, col 7:decimal(10,2)/DECIMAL_64, decimal64Val 0, decimalVal 0)(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 79:boolean) -> 80:decimal(10,2)/DECIMAL_64, IfExprCondExprCondExpr(col 81:boolean, col 82:timestampcol 83:timestamp)(children: LongColGreaterLongScalar(col 1:int, val 30) -> 81:boolean, CastDateToTimestamp(col 12:date) -> 82:timestamp, CastDateToTimestamp(col 11:date) -> 83:timestamp) -> 84:timestamp, IfExprCondExprNull(col 85:boolean, col 86:int, null)(children: LongColGreaterLongScalar(col 2:int, val 10000) -> 85:boolean, VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 86:int) -> 87:int, IfExprNullCondExpr(col 88:boolean, null, col 89:int)(children: LongColGreaterLongScalar(col 2:int, val 10000) -> 88:boolean, VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 89:int) -> 90:int, IfExprLongScalarLongScalar(col 92:boolean, val 14245, val 14609)(children: LongColGreaterLongScalar(col 91:int, val 100)(children: LongColModuloLongScalar(col 2:int, val 500) -> 91:int) -> 92:boolean) -> 93:date
Statistics: Num rows: 101 Data size: 141804 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
@@ -917,7 +917,7 @@ STAGE PLANS:
includeColumns: [1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14]
dataColumns: l_orderkey:int, l_partkey:int, l_suppkey:int, l_linenumber:int, l_quantity:int, l_extendedprice:double, l_discount:double, l_tax:decimal(10,2)/DECIMAL_64, l_returnflag:char(1), l_linestatus:char(1), l_shipdate:date, l_commitdate:date, l_receiptdate:date, l_shipinstruct:varchar(20), l_shipmode:char(10), l_comment:string
partitionColumnCount: 0
- scratchColumnTypeNames: [bigint, string, bigint, string, bigint, string, bigint, string, string, string, string, bigint, string, bigint, string, bigint, string, bigint, string, string, string, string, string, bigint, string, bigint, string, bigint, string, string, string, string, string, bigint, bigint, bigint, bigint, bigint, double, double, double, double, bigint, double, double, double, double, bigint, decimal(10,2), bigint, decimal(10,2), bigint, bigint, decimal(12,2), bigint, decimal(12,2), bigint, decimal(12,2), bigint, bigint, decimal(12,2), bigint, decimal(10,2)/DECIMAL_64, bigint, decimal(10,2)/DECIMAL_64, bigint, timestamp, timestamp, timestamp, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, decimal(10,2), decimal(10,2)]
+ scratchColumnTypeNames: [bigint, string, bigint, string, bigint, string, bigint, string, string, string, string, bigint, string, bigint, string, bigint, string, bigint, string, string, string, string, string, bigint, string, bigint, string, bigint, string, string, string, string, bigint, bigint, bigint, bigint, bigint, double, double, double, double, bigint, double, double, double, double, bigint, decimal(10,2), bigint, decimal(10,2), bigint, bigint, decimal(12,2), bigint, decimal(12,2), bigint, decimal(12,2), bigint, bigint, decimal(12,2), bigint, decimal(10,2)/DECIMAL_64, bigint, decimal(10,2)/DECIMAL_64, bigint, timestamp, timestamp, timestamp, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, decimal(10,2), decimal(10,2)]
Stage: Stage-0
Fetch Operator
diff --git ql/src/test/results/clientpositive/llap/vector_case_when_2.q.out ql/src/test/results/clientpositive/llap/vector_case_when_2.q.out
index 218a5cff17..d7a7c2f9f9 100644
--- ql/src/test/results/clientpositive/llap/vector_case_when_2.q.out
+++ ql/src/test/results/clientpositive/llap/vector_case_when_2.q.out
@@ -144,13 +144,13 @@ STAGE PLANS:
native: true
vectorizationSchemaColumns: [0:cdate:date, 1:ctimestamp1:timestamp, 2:stimestamp1:string, 3:ctimestamp2:timestamp, 4:ROW__ID:struct]
Select Operator
- expressions: ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), CASE WHEN ((ctimestamp2 <= TIMESTAMP'1800-12-31 00:00:00')) THEN ('1800s or Earlier') WHEN ((ctimestamp2 < TIMESTAMP'1900-01-01 00:00:00')) THEN ('1900s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE ('Unknown') END (type: string), CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE (null) END (type: string), CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN (null) ELSE (null) END (type: string), if((ctimestamp1 < TIMESTAMP'1974-10-04 17:21:03.989'), year(ctimestamp1), year(ctimestamp2)) (type: int), CASE WHEN ((stimestamp1 like '%19%')) THEN (stimestamp1) ELSE ('2018-03-08 23:04:59') END (type: string), if((ctimestamp1 = TIMESTAMP'2021-09-24 03:18:32.413655165'), null, minute(ctimestamp1)) (type: int), if(((ctimestamp2 >= TIMESTAMP'5344-10-04 18:40:08.165') and (ctimestamp2 < TIMESTAMP'6631-11-13 16:31:29.702202248')), minute(ctimestamp1), null) (type: int), if(((UDFToDouble(ctimestamp1) % 500.0D) > 100.0D), date_add(cdate, 1), date_add(cdate, 365)) (type: date), stimestamp1 (type: string)
+ expressions: ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), CASE WHEN ((ctimestamp2 <= TIMESTAMP'1800-12-31 00:00:00')) THEN ('1800s or Earlier') WHEN ((ctimestamp2 < TIMESTAMP'1900-01-01 00:00:00')) THEN ('1900s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE ('Unknown') END (type: string), CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE (null) END (type: string), CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') ELSE (null) END (type: string), if((ctimestamp1 < TIMESTAMP'1974-10-04 17:21:03.989'), year(ctimestamp1), year(ctimestamp2)) (type: int), CASE WHEN ((stimestamp1 like '%19%')) THEN (stimestamp1) ELSE ('2018-03-08 23:04:59') END (type: string), if((ctimestamp1 = TIMESTAMP'2021-09-24 03:18:32.413655165'), null, minute(ctimestamp1)) (type: int), if(((ctimestamp2 >= TIMESTAMP'5344-10-04 18:40:08.165') and (ctimestamp2 < TIMESTAMP'6631-11-13 16:31:29.702202248')), minute(ctimestamp1), null) (type: int), if(((UDFToDouble(ctimestamp1) % 500.0D) > 100.0D), date_add(cdate, 1), date_add(cdate, 365)) (type: date), stimestamp1 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [1, 3, 9, 14, 19, 23, 25, 28, 33, 39, 2]
- selectExpressions: VectorUDFAdaptor(CASE WHEN ((ctimestamp2 <= TIMESTAMP'1800-12-31 00:00:00')) THEN ('1800s or Earlier') WHEN ((ctimestamp2 < TIMESTAMP'1900-01-01 00:00:00')) THEN ('1900s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE ('Unknown') END)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 1800-12-31 00:00:00) -> 5:boolean, TimestampColLessTimestampScalar(col 3:timestamp, val 1900-01-01 00:00:00) -> 6:boolean, TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 7:boolean, TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2015-12-31 23:59:59.999999999) -> 8:boolean) -> 9:string, VectorUDFAdaptor(CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE (null) END)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2000-12-31 23:59:59.999999999) -> 10:boolean, TimestampColLessTimestampScalar(col 3:timestamp, val 2006-01-01 00:00:00) -> 11:boolean, TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 12:boolean, TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2015-12-31 23:59:59.999999999) -> 13:boolean) -> 14:string, VectorUDFAdaptor(CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN (null) ELSE (null) END)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2000-12-31 23:59:59.999999999) -> 15:boolean, TimestampColLessTimestampScalar(col 3:timestamp, val 2006-01-01 00:00:00) -> 16:boolean, TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 17:boolean, TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2015-12-31 23:59:59.999999999) -> 18:boolean) -> 19:string, IfExprLongColumnLongColumn(col 20:boolean, col 21:int, col 22:int)(children: TimestampColLessTimestampScalar(col 1:timestamp, val 1974-10-04 17:21:03.989) -> 20:boolean, VectorUDFYearTimestamp(col 1:timestamp, field YEAR) -> 21:int, VectorUDFYearTimestamp(col 3:timestamp, field YEAR) -> 22:int) -> 23:int, VectorUDFAdaptor(CASE WHEN ((stimestamp1 like '%19%')) THEN (stimestamp1) ELSE ('2018-03-08 23:04:59') END)(children: SelectStringColLikeStringScalar(col 2:string) -> 24:boolean) -> 25:string, VectorUDFAdaptor(if((ctimestamp1 = TIMESTAMP'2021-09-24 03:18:32.413655165'), null, minute(ctimestamp1)))(children: TimestampColEqualTimestampScalar(col 1:timestamp, val 2021-09-24 03:18:32.413655165) -> 26:boolean, VectorUDFMinuteTimestamp(col 1:timestamp, field MINUTE) -> 27:int) -> 28:int, VectorUDFAdaptor(if(((ctimestamp2 >= TIMESTAMP'5344-10-04 18:40:08.165') and (ctimestamp2 < TIMESTAMP'6631-11-13 16:31:29.702202248')), minute(ctimestamp1), null))(children: ColAndCol(col 29:boolean, col 30:boolean)(children: TimestampColGreaterEqualTimestampScalar(col 3:timestamp, val 5344-10-04 18:40:08.165) -> 29:boolean, TimestampColLessTimestampScalar(col 3:timestamp, val 6631-11-13 16:31:29.702202248) -> 30:boolean) -> 31:boolean, VectorUDFMinuteTimestamp(col 1:timestamp, field MINUTE) -> 32:int) -> 33:int, IfExprLongColumnLongColumn(col 36:boolean, col 37:date, col 38:date)(children: DoubleColGreaterDoubleScalar(col 35:double, val 100.0)(children: DoubleColModuloDoubleScalar(col 34:double, val 500.0)(children: CastTimestampToDouble(col 1:timestamp) -> 34:double) -> 35:double) -> 36:boolean, VectorUDFDateAddColScalar(col 0:date, val 1) -> 37:date, VectorUDFDateAddColScalar(col 0:date, val 365) -> 38:date) -> 39:date
+ projectedOutputColumnNums: [1, 3, 9, 14, 18, 22, 24, 27, 32, 38, 2]
+ selectExpressions: VectorUDFAdaptor(CASE WHEN ((ctimestamp2 <= TIMESTAMP'1800-12-31 00:00:00')) THEN ('1800s or Earlier') WHEN ((ctimestamp2 < TIMESTAMP'1900-01-01 00:00:00')) THEN ('1900s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE ('Unknown') END)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 1800-12-31 00:00:00) -> 5:boolean, TimestampColLessTimestampScalar(col 3:timestamp, val 1900-01-01 00:00:00) -> 6:boolean, TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 7:boolean, TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2015-12-31 23:59:59.999999999) -> 8:boolean) -> 9:string, VectorUDFAdaptor(CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE (null) END)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2000-12-31 23:59:59.999999999) -> 10:boolean, TimestampColLessTimestampScalar(col 3:timestamp, val 2006-01-01 00:00:00) -> 11:boolean, TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 12:boolean, TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2015-12-31 23:59:59.999999999) -> 13:boolean) -> 14:string, VectorUDFAdaptor(CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') ELSE (null) END)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2000-12-31 23:59:59.999999999) -> 15:boolean, TimestampColLessTimestampScalar(col 3:timestamp, val 2006-01-01 00:00:00) -> 16:boolean, TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 17:boolean) -> 18:string, IfExprLongColumnLongColumn(col 19:boolean, col 20:int, col 21:int)(children: TimestampColLessTimestampScalar(col 1:timestamp, val 1974-10-04 17:21:03.989) -> 19:boolean, VectorUDFYearTimestamp(col 1:timestamp, field YEAR) -> 20:int, VectorUDFYearTimestamp(col 3:timestamp, field YEAR) -> 21:int) -> 22:int, VectorUDFAdaptor(CASE WHEN ((stimestamp1 like '%19%')) THEN (stimestamp1) ELSE ('2018-03-08 23:04:59') END)(children: SelectStringColLikeStringScalar(col 2:string) -> 23:boolean) -> 24:string, VectorUDFAdaptor(if((ctimestamp1 = TIMESTAMP'2021-09-24 03:18:32.413655165'), null, minute(ctimestamp1)))(children: TimestampColEqualTimestampScalar(col 1:timestamp, val 2021-09-24 03:18:32.413655165) -> 25:boolean, VectorUDFMinuteTimestamp(col 1:timestamp, field MINUTE) -> 26:int) -> 27:int, VectorUDFAdaptor(if(((ctimestamp2 >= TIMESTAMP'5344-10-04 18:40:08.165') and (ctimestamp2 < TIMESTAMP'6631-11-13 16:31:29.702202248')), minute(ctimestamp1), null))(children: ColAndCol(col 28:boolean, col 29:boolean)(children: TimestampColGreaterEqualTimestampScalar(col 3:timestamp, val 5344-10-04 18:40:08.165) -> 28:boolean, TimestampColLessTimestampScalar(col 3:timestamp, val 6631-11-13 16:31:29.702202248) -> 29:boolean) -> 30:boolean, VectorUDFMinuteTimestamp(col 1:timestamp, field MINUTE) -> 31:int) -> 32:int, IfExprLongColumnLongColumn(col 35:boolean, col 36:date, col 37:date)(children: DoubleColGreaterDoubleScalar(col 34:double, val 100.0)(children: DoubleColModuloDoubleScalar(col 33:double, val 500.0)(children: CastTimestampToDouble(col 1:timestamp) -> 33:double) -> 34:double) -> 35:boolean, VectorUDFDateAddColScalar(col 0:date, val 1) -> 36:date, VectorUDFDateAddColScalar(col 0:date, val 365) -> 37:date) -> 38:date
Statistics: Num rows: 51 Data size: 50745 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col0 (type: timestamp), _col10 (type: string), _col1 (type: timestamp)
@@ -160,7 +160,7 @@ STAGE PLANS:
keyColumns: 1:timestamp, 2:string, 3:timestamp
native: true
nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
- valueColumns: 9:string, 14:string, 19:string, 23:int, 25:string, 28:int, 33:int, 39:date
+ valueColumns: 9:string, 14:string, 18:string, 22:int, 24:string, 27:int, 32:int, 38:date
Statistics: Num rows: 51 Data size: 50745 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: int), _col8 (type: int), _col9 (type: date)
Execution mode: vectorized, llap
@@ -179,7 +179,7 @@ STAGE PLANS:
includeColumns: [0, 1, 2, 3]
dataColumns: cdate:date, ctimestamp1:timestamp, stimestamp1:string, ctimestamp2:timestamp
partitionColumnCount: 0
- scratchColumnTypeNames: [bigint, bigint, bigint, bigint, string, bigint, bigint, bigint, bigint, string, bigint, bigint, bigint, bigint, string, bigint, bigint, bigint, bigint, bigint, string, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, double, double, bigint, bigint, bigint, bigint]
+ scratchColumnTypeNames: [bigint, bigint, bigint, bigint, string, bigint, bigint, bigint, bigint, string, bigint, bigint, bigint, string, bigint, bigint, bigint, bigint, bigint, string, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, double, double, bigint, bigint, bigint, bigint]
Reducer 2
Execution mode: vectorized, llap
Reduce Vectorization:
@@ -433,13 +433,13 @@ STAGE PLANS:
native: true
vectorizationSchemaColumns: [0:cdate:date, 1:ctimestamp1:timestamp, 2:stimestamp1:string, 3:ctimestamp2:timestamp, 4:ROW__ID:struct]
Select Operator
- expressions: ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), CASE WHEN ((ctimestamp2 <= TIMESTAMP'1800-12-31 00:00:00')) THEN ('1800s or Earlier') WHEN ((ctimestamp2 < TIMESTAMP'1900-01-01 00:00:00')) THEN ('1900s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE ('Unknown') END (type: string), CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE (null) END (type: string), CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN (null) ELSE (null) END (type: string), if((ctimestamp1 < TIMESTAMP'1974-10-04 17:21:03.989'), year(ctimestamp1), year(ctimestamp2)) (type: int), CASE WHEN ((stimestamp1 like '%19%')) THEN (stimestamp1) ELSE ('2018-03-08 23:04:59') END (type: string), if((ctimestamp1 = TIMESTAMP'2021-09-24 03:18:32.413655165'), null, minute(ctimestamp1)) (type: int), if(((ctimestamp2 >= TIMESTAMP'5344-10-04 18:40:08.165') and (ctimestamp2 < TIMESTAMP'6631-11-13 16:31:29.702202248')), minute(ctimestamp1), null) (type: int), if(((UDFToDouble(ctimestamp1) % 500.0D) > 100.0D), date_add(cdate, 1), date_add(cdate, 365)) (type: date), stimestamp1 (type: string)
+ expressions: ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), CASE WHEN ((ctimestamp2 <= TIMESTAMP'1800-12-31 00:00:00')) THEN ('1800s or Earlier') WHEN ((ctimestamp2 < TIMESTAMP'1900-01-01 00:00:00')) THEN ('1900s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE ('Unknown') END (type: string), CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE (null) END (type: string), CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') ELSE (null) END (type: string), if((ctimestamp1 < TIMESTAMP'1974-10-04 17:21:03.989'), year(ctimestamp1), year(ctimestamp2)) (type: int), CASE WHEN ((stimestamp1 like '%19%')) THEN (stimestamp1) ELSE ('2018-03-08 23:04:59') END (type: string), if((ctimestamp1 = TIMESTAMP'2021-09-24 03:18:32.413655165'), null, minute(ctimestamp1)) (type: int), if(((ctimestamp2 >= TIMESTAMP'5344-10-04 18:40:08.165') and (ctimestamp2 < TIMESTAMP'6631-11-13 16:31:29.702202248')), minute(ctimestamp1), null) (type: int), if(((UDFToDouble(ctimestamp1) % 500.0D) > 100.0D), date_add(cdate, 1), date_add(cdate, 365)) (type: date), stimestamp1 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10
Select Vectorization:
className: VectorSelectOperator
native: true
projectedOutputColumnNums: [1, 3, 12, 21, 28, 32, 34, 37, 42, 48, 2]
- selectExpressions: IfExprStringScalarStringGroupColumn(col 5:boolean, val 1800s or Earliercol 11:string)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 1800-12-31 00:00:00) -> 5:boolean, IfExprStringScalarStringGroupColumn(col 6:boolean, val 1900scol 10:string)(children: TimestampColLessTimestampScalar(col 3:timestamp, val 1900-01-01 00:00:00) -> 6:boolean, IfExprStringScalarStringGroupColumn(col 7:boolean, val Late 2000scol 9:string)(children: TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 7:boolean, IfExprStringScalarStringScalar(col 8:boolean, val Early 2010s, val Unknown)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2015-12-31 23:59:59.999999999) -> 8:boolean) -> 9:string) -> 10:string) -> 11:string) -> 12:string, IfExprStringScalarStringGroupColumn(col 13:boolean, val Oldcol 20:string)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2000-12-31 23:59:59.999999999) -> 13:boolean, IfExprStringScalarStringGroupColumn(col 14:boolean, val Early 2000scol 19:string)(children: TimestampColLessTimestampScalar(col 3:timestamp, val 2006-01-01 00:00:00) -> 14:boolean, IfExprStringScalarStringGroupColumn(col 15:boolean, val Late 2000scol 18:string)(children: TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 15:boolean, IfExprColumnNull(col 16:boolean, col 17:string, null)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2015-12-31 23:59:59.999999999) -> 16:boolean, ConstantVectorExpression(val Early 2010s) -> 17:string) -> 18:string) -> 19:string) -> 20:string) -> 21:string, IfExprStringScalarStringGroupColumn(col 22:boolean, val Oldcol 27:string)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2000-12-31 23:59:59.999999999) -> 22:boolean, IfExprStringScalarStringGroupColumn(col 23:boolean, val Early 2000scol 26:string)(children: TimestampColLessTimestampScalar(col 3:timestamp, val 2006-01-01 00:00:00) -> 23:boolean, IfExprStringScalarStringGroupColumn(col 24:boolean, val Late 2000scol 25:string)(children: TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 24:boolean, IfExprNullNull(null, null) -> 25:string) -> 26:string) -> 27:string) -> 28:string, IfExprLongColumnLongColumn(col 29:boolean, col 30:int, col 31:int)(children: TimestampColLessTimestampScalar(col 1:timestamp, val 1974-10-04 17:21:03.989) -> 29:boolean, VectorUDFYearTimestamp(col 1:timestamp, field YEAR) -> 30:int, VectorUDFYearTimestamp(col 3:timestamp, field YEAR) -> 31:int) -> 32:int, IfExprStringGroupColumnStringScalar(col 33:boolean, col 2:string, val 2018-03-08 23:04:59)(children: SelectStringColLikeStringScalar(col 2:string) -> 33:boolean) -> 34:string, IfExprNullColumn(col 35:boolean, null, col 36)(children: TimestampColEqualTimestampScalar(col 1:timestamp, val 2021-09-24 03:18:32.413655165) -> 35:boolean, VectorUDFMinuteTimestamp(col 1:timestamp, field MINUTE) -> 36:int) -> 37:int, IfExprColumnNull(col 40:boolean, col 41:int, null)(children: ColAndCol(col 38:boolean, col 39:boolean)(children: TimestampColGreaterEqualTimestampScalar(col 3:timestamp, val 5344-10-04 18:40:08.165) -> 38:boolean, TimestampColLessTimestampScalar(col 3:timestamp, val 6631-11-13 16:31:29.702202248) -> 39:boolean) -> 40:boolean, VectorUDFMinuteTimestamp(col 1:timestamp, field MINUTE) -> 41:int) -> 42:int, IfExprLongColumnLongColumn(col 45:boolean, col 46:date, col 47:date)(children: DoubleColGreaterDoubleScalar(col 44:double, val 100.0)(children: DoubleColModuloDoubleScalar(col 43:double, val 500.0)(children: CastTimestampToDouble(col 1:timestamp) -> 43:double) -> 44:double) -> 45:boolean, VectorUDFDateAddColScalar(col 0:date, val 1) -> 46:date, VectorUDFDateAddColScalar(col 0:date, val 365) -> 47:date) -> 48:date
+ selectExpressions: IfExprStringScalarStringGroupColumn(col 5:boolean, val 1800s or Earliercol 11:string)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 1800-12-31 00:00:00) -> 5:boolean, IfExprStringScalarStringGroupColumn(col 6:boolean, val 1900scol 10:string)(children: TimestampColLessTimestampScalar(col 3:timestamp, val 1900-01-01 00:00:00) -> 6:boolean, IfExprStringScalarStringGroupColumn(col 7:boolean, val Late 2000scol 9:string)(children: TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 7:boolean, IfExprStringScalarStringScalar(col 8:boolean, val Early 2010s, val Unknown)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2015-12-31 23:59:59.999999999) -> 8:boolean) -> 9:string) -> 10:string) -> 11:string) -> 12:string, IfExprStringScalarStringGroupColumn(col 13:boolean, val Oldcol 20:string)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2000-12-31 23:59:59.999999999) -> 13:boolean, IfExprStringScalarStringGroupColumn(col 14:boolean, val Early 2000scol 19:string)(children: TimestampColLessTimestampScalar(col 3:timestamp, val 2006-01-01 00:00:00) -> 14:boolean, IfExprStringScalarStringGroupColumn(col 15:boolean, val Late 2000scol 18:string)(children: TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 15:boolean, IfExprColumnNull(col 16:boolean, col 17:string, null)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2015-12-31 23:59:59.999999999) -> 16:boolean, ConstantVectorExpression(val Early 2010s) -> 17:string) -> 18:string) -> 19:string) -> 20:string) -> 21:string, IfExprStringScalarStringGroupColumn(col 22:boolean, val Oldcol 27:string)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2000-12-31 23:59:59.999999999) -> 22:boolean, IfExprStringScalarStringGroupColumn(col 23:boolean, val Early 2000scol 26:string)(children: TimestampColLessTimestampScalar(col 3:timestamp, val 2006-01-01 00:00:00) -> 23:boolean, IfExprColumnNull(col 24:boolean, col 25:string, null)(children: TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 24:boolean, ConstantVectorExpression(val Late 2000s) -> 25:string) -> 26:string) -> 27:string) -> 28:string, IfExprLongColumnLongColumn(col 29:boolean, col 30:int, col 31:int)(children: TimestampColLessTimestampScalar(col 1:timestamp, val 1974-10-04 17:21:03.989) -> 29:boolean, VectorUDFYearTimestamp(col 1:timestamp, field YEAR) -> 30:int, VectorUDFYearTimestamp(col 3:timestamp, field YEAR) -> 31:int) -> 32:int, IfExprStringGroupColumnStringScalar(col 33:boolean, col 2:string, val 2018-03-08 23:04:59)(children: SelectStringColLikeStringScalar(col 2:string) -> 33:boolean) -> 34:string, IfExprNullColumn(col 35:boolean, null, col 36)(children: TimestampColEqualTimestampScalar(col 1:timestamp, val 2021-09-24 03:18:32.413655165) -> 35:boolean, VectorUDFMinuteTimestamp(col 1:timestamp, field MINUTE) -> 36:int) -> 37:int, IfExprColumnNull(col 40:boolean, col 41:int, null)(children: ColAndCol(col 38:boolean, col 39:boolean)(children: TimestampColGreaterEqualTimestampScalar(col 3:timestamp, val 5344-10-04 18:40:08.165) -> 38:boolean, TimestampColLessTimestampScalar(col 3:timestamp, val 6631-11-13 16:31:29.702202248) -> 39:boolean) -> 40:boolean, VectorUDFMinuteTimestamp(col 1:timestamp, field MINUTE) -> 41:int) -> 42:int, IfExprLongColumnLongColumn(col 45:boolean, col 46:date, col 47:date)(children: DoubleColGreaterDoubleScalar(col 44:double, val 100.0)(children: DoubleColModuloDoubleScalar(col 43:double, val 500.0)(children: CastTimestampToDouble(col 1:timestamp) -> 43:double) -> 44:double) -> 45:boolean, VectorUDFDateAddColScalar(col 0:date, val 1) -> 46:date, VectorUDFDateAddColScalar(col 0:date, val 365) -> 47:date) -> 48:date
Statistics: Num rows: 51 Data size: 50745 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col0 (type: timestamp), _col10 (type: string), _col1 (type: timestamp)
@@ -722,13 +722,13 @@ STAGE PLANS:
native: true
vectorizationSchemaColumns: [0:cdate:date, 1:ctimestamp1:timestamp, 2:stimestamp1:string, 3:ctimestamp2:timestamp, 4:ROW__ID:struct]
Select Operator
- expressions: ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), CASE WHEN ((ctimestamp2 <= TIMESTAMP'1800-12-31 00:00:00')) THEN ('1800s or Earlier') WHEN ((ctimestamp2 < TIMESTAMP'1900-01-01 00:00:00')) THEN ('1900s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE ('Unknown') END (type: string), CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE (null) END (type: string), CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN (null) ELSE (null) END (type: string), if((ctimestamp1 < TIMESTAMP'1974-10-04 17:21:03.989'), year(ctimestamp1), year(ctimestamp2)) (type: int), CASE WHEN ((stimestamp1 like '%19%')) THEN (stimestamp1) ELSE ('2018-03-08 23:04:59') END (type: string), if((ctimestamp1 = TIMESTAMP'2021-09-24 03:18:32.413655165'), null, minute(ctimestamp1)) (type: int), if(((ctimestamp2 >= TIMESTAMP'5344-10-04 18:40:08.165') and (ctimestamp2 < TIMESTAMP'6631-11-13 16:31:29.702202248')), minute(ctimestamp1), null) (type: int), if(((UDFToDouble(ctimestamp1) % 500.0D) > 100.0D), date_add(cdate, 1), date_add(cdate, 365)) (type: date), stimestamp1 (type: string)
+ expressions: ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), CASE WHEN ((ctimestamp2 <= TIMESTAMP'1800-12-31 00:00:00')) THEN ('1800s or Earlier') WHEN ((ctimestamp2 < TIMESTAMP'1900-01-01 00:00:00')) THEN ('1900s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE ('Unknown') END (type: string), CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE (null) END (type: string), CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') ELSE (null) END (type: string), if((ctimestamp1 < TIMESTAMP'1974-10-04 17:21:03.989'), year(ctimestamp1), year(ctimestamp2)) (type: int), CASE WHEN ((stimestamp1 like '%19%')) THEN (stimestamp1) ELSE ('2018-03-08 23:04:59') END (type: string), if((ctimestamp1 = TIMESTAMP'2021-09-24 03:18:32.413655165'), null, minute(ctimestamp1)) (type: int), if(((ctimestamp2 >= TIMESTAMP'5344-10-04 18:40:08.165') and (ctimestamp2 < TIMESTAMP'6631-11-13 16:31:29.702202248')), minute(ctimestamp1), null) (type: int), if(((UDFToDouble(ctimestamp1) % 500.0D) > 100.0D), date_add(cdate, 1), date_add(cdate, 365)) (type: date), stimestamp1 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [1, 3, 15, 27, 37, 41, 43, 46, 51, 57, 2]
- selectExpressions: IfExprColumnCondExpr(col 5:boolean, col 6:stringcol 14:string)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 1800-12-31 00:00:00) -> 5:boolean, ConstantVectorExpression(val 1800s or Earlier) -> 6:string, IfExprColumnCondExpr(col 7:boolean, col 8:stringcol 13:string)(children: TimestampColLessTimestampScalar(col 3:timestamp, val 1900-01-01 00:00:00) -> 7:boolean, ConstantVectorExpression(val 1900s) -> 8:string, IfExprColumnCondExpr(col 9:boolean, col 10:stringcol 12:string)(children: TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 9:boolean, ConstantVectorExpression(val Late 2000s) -> 10:string, IfExprStringScalarStringScalar(col 11:boolean, val Early 2010s, val Unknown)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2015-12-31 23:59:59.999999999) -> 11:boolean) -> 12:string) -> 13:string) -> 14:string) -> 15:string, IfExprColumnCondExpr(col 16:boolean, col 17:stringcol 26:string)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2000-12-31 23:59:59.999999999) -> 16:boolean, ConstantVectorExpression(val Old) -> 17:string, IfExprColumnCondExpr(col 18:boolean, col 19:stringcol 25:string)(children: TimestampColLessTimestampScalar(col 3:timestamp, val 2006-01-01 00:00:00) -> 18:boolean, ConstantVectorExpression(val Early 2000s) -> 19:string, IfExprColumnCondExpr(col 20:boolean, col 21:stringcol 24:string)(children: TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 20:boolean, ConstantVectorExpression(val Late 2000s) -> 21:string, IfExprColumnNull(col 22:boolean, col 23:string, null)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2015-12-31 23:59:59.999999999) -> 22:boolean, ConstantVectorExpression(val Early 2010s) -> 23:string) -> 24:string) -> 25:string) -> 26:string) -> 27:string, IfExprColumnCondExpr(col 28:boolean, col 29:stringcol 36:string)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2000-12-31 23:59:59.999999999) -> 28:boolean, ConstantVectorExpression(val Old) -> 29:string, IfExprColumnCondExpr(col 30:boolean, col 31:stringcol 35:string)(children: TimestampColLessTimestampScalar(col 3:timestamp, val 2006-01-01 00:00:00) -> 30:boolean, ConstantVectorExpression(val Early 2000s) -> 31:string, IfExprColumnCondExpr(col 32:boolean, col 33:stringcol 34:string)(children: TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 32:boolean, ConstantVectorExpression(val Late 2000s) -> 33:string, IfExprNullNull(null, null) -> 34:string) -> 35:string) -> 36:string) -> 37:string, IfExprCondExprCondExpr(col 38:boolean, col 39:intcol 40:int)(children: TimestampColLessTimestampScalar(col 1:timestamp, val 1974-10-04 17:21:03.989) -> 38:boolean, VectorUDFYearTimestamp(col 1:timestamp, field YEAR) -> 39:int, VectorUDFYearTimestamp(col 3:timestamp, field YEAR) -> 40:int) -> 41:int, IfExprStringGroupColumnStringScalar(col 42:boolean, col 2:string, val 2018-03-08 23:04:59)(children: SelectStringColLikeStringScalar(col 2:string) -> 42:boolean) -> 43:string, IfExprNullCondExpr(col 44:boolean, null, col 45:int)(children: TimestampColEqualTimestampScalar(col 1:timestamp, val 2021-09-24 03:18:32.413655165) -> 44:boolean, VectorUDFMinuteTimestamp(col 1:timestamp, field MINUTE) -> 45:int) -> 46:int, IfExprCondExprNull(col 49:boolean, col 50:int, null)(children: ColAndCol(col 47:boolean, col 48:boolean)(children: TimestampColGreaterEqualTimestampScalar(col 3:timestamp, val 5344-10-04 18:40:08.165) -> 47:boolean, TimestampColLessTimestampScalar(col 3:timestamp, val 6631-11-13 16:31:29.702202248) -> 48:boolean) -> 49:boolean, VectorUDFMinuteTimestamp(col 1:timestamp, field MINUTE) -> 50:int) -> 51:int, IfExprCondExprCondExpr(col 54:boolean, col 55:datecol 56:date)(children: DoubleColGreaterDoubleScalar(col 53:double, val 100.0)(children: DoubleColModuloDoubleScalar(col 52:double, val 500.0)(children: CastTimestampToDouble(col 1:timestamp) -> 52:double) -> 53:double) -> 54:boolean, VectorUDFDateAddColScalar(col 0:date, val 1) -> 55:date, VectorUDFDateAddColScalar(col 0:date, val 365) -> 56:date) -> 57:date
+ projectedOutputColumnNums: [1, 3, 15, 27, 36, 40, 42, 45, 50, 56, 2]
+ selectExpressions: IfExprColumnCondExpr(col 5:boolean, col 6:stringcol 14:string)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 1800-12-31 00:00:00) -> 5:boolean, ConstantVectorExpression(val 1800s or Earlier) -> 6:string, IfExprColumnCondExpr(col 7:boolean, col 8:stringcol 13:string)(children: TimestampColLessTimestampScalar(col 3:timestamp, val 1900-01-01 00:00:00) -> 7:boolean, ConstantVectorExpression(val 1900s) -> 8:string, IfExprColumnCondExpr(col 9:boolean, col 10:stringcol 12:string)(children: TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 9:boolean, ConstantVectorExpression(val Late 2000s) -> 10:string, IfExprStringScalarStringScalar(col 11:boolean, val Early 2010s, val Unknown)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2015-12-31 23:59:59.999999999) -> 11:boolean) -> 12:string) -> 13:string) -> 14:string) -> 15:string, IfExprColumnCondExpr(col 16:boolean, col 17:stringcol 26:string)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2000-12-31 23:59:59.999999999) -> 16:boolean, ConstantVectorExpression(val Old) -> 17:string, IfExprColumnCondExpr(col 18:boolean, col 19:stringcol 25:string)(children: TimestampColLessTimestampScalar(col 3:timestamp, val 2006-01-01 00:00:00) -> 18:boolean, ConstantVectorExpression(val Early 2000s) -> 19:string, IfExprColumnCondExpr(col 20:boolean, col 21:stringcol 24:string)(children: TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 20:boolean, ConstantVectorExpression(val Late 2000s) -> 21:string, IfExprColumnNull(col 22:boolean, col 23:string, null)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2015-12-31 23:59:59.999999999) -> 22:boolean, ConstantVectorExpression(val Early 2010s) -> 23:string) -> 24:string) -> 25:string) -> 26:string) -> 27:string, IfExprColumnCondExpr(col 28:boolean, col 29:stringcol 35:string)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2000-12-31 23:59:59.999999999) -> 28:boolean, ConstantVectorExpression(val Old) -> 29:string, IfExprColumnCondExpr(col 30:boolean, col 31:stringcol 34:string)(children: TimestampColLessTimestampScalar(col 3:timestamp, val 2006-01-01 00:00:00) -> 30:boolean, ConstantVectorExpression(val Early 2000s) -> 31:string, IfExprColumnNull(col 32:boolean, col 33:string, null)(children: TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 32:boolean, ConstantVectorExpression(val Late 2000s) -> 33:string) -> 34:string) -> 35:string) -> 36:string, IfExprCondExprCondExpr(col 37:boolean, col 38:intcol 39:int)(children: TimestampColLessTimestampScalar(col 1:timestamp, val 1974-10-04 17:21:03.989) -> 37:boolean, VectorUDFYearTimestamp(col 1:timestamp, field YEAR) -> 38:int, VectorUDFYearTimestamp(col 3:timestamp, field YEAR) -> 39:int) -> 40:int, IfExprStringGroupColumnStringScalar(col 41:boolean, col 2:string, val 2018-03-08 23:04:59)(children: SelectStringColLikeStringScalar(col 2:string) -> 41:boolean) -> 42:string, IfExprNullCondExpr(col 43:boolean, null, col 44:int)(children: TimestampColEqualTimestampScalar(col 1:timestamp, val 2021-09-24 03:18:32.413655165) -> 43:boolean, VectorUDFMinuteTimestamp(col 1:timestamp, field MINUTE) -> 44:int) -> 45:int, IfExprCondExprNull(col 48:boolean, col 49:int, null)(children: ColAndCol(col 46:boolean, col 47:boolean)(children: TimestampColGreaterEqualTimestampScalar(col 3:timestamp, val 5344-10-04 18:40:08.165) -> 46:boolean, TimestampColLessTimestampScalar(col 3:timestamp, val 6631-11-13 16:31:29.702202248) -> 47:boolean) -> 48:boolean, VectorUDFMinuteTimestamp(col 1:timestamp, field MINUTE) -> 49:int) -> 50:int, IfExprCondExprCondExpr(col 53:boolean, col 54:datecol 55:date)(children: DoubleColGreaterDoubleScalar(col 52:double, val 100.0)(children: DoubleColModuloDoubleScalar(col 51:double, val 500.0)(children: CastTimestampToDouble(col 1:timestamp) -> 51:double) -> 52:double) -> 53:boolean, VectorUDFDateAddColScalar(col 0:date, val 1) -> 54:date, VectorUDFDateAddColScalar(col 0:date, val 365) -> 55:date) -> 56:date
Statistics: Num rows: 51 Data size: 50745 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col0 (type: timestamp), _col10 (type: string), _col1 (type: timestamp)
@@ -738,7 +738,7 @@ STAGE PLANS:
keyColumns: 1:timestamp, 2:string, 3:timestamp
native: true
nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
- valueColumns: 15:string, 27:string, 37:string, 41:int, 43:string, 46:int, 51:int, 57:date
+ valueColumns: 15:string, 27:string, 36:string, 40:int, 42:string, 45:int, 50:int, 56:date
Statistics: Num rows: 51 Data size: 50745 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: int), _col8 (type: int), _col9 (type: date)
Execution mode: vectorized, llap
@@ -757,7 +757,7 @@ STAGE PLANS:
includeColumns: [0, 1, 2, 3]
dataColumns: cdate:date, ctimestamp1:timestamp, stimestamp1:string, ctimestamp2:timestamp
partitionColumnCount: 0
- scratchColumnTypeNames: [bigint, string, bigint, string, bigint, string, bigint, string, string, string, string, bigint, string, bigint, string, bigint, string, bigint, string, string, string, string, string, bigint, string, bigint, string, bigint, string, string, string, string, string, bigint, bigint, bigint, bigint, bigint, string, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, double, double, bigint, bigint, bigint, bigint]
+ scratchColumnTypeNames: [bigint, string, bigint, string, bigint, string, bigint, string, string, string, string, bigint, string, bigint, string, bigint, string, bigint, string, string, string, string, string, bigint, string, bigint, string, bigint, string, string, string, string, bigint, bigint, bigint, bigint, bigint, string, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, double, double, bigint, bigint, bigint, bigint]
Reducer 2
Execution mode: vectorized, llap
Reduce Vectorization:
diff --git ql/src/test/results/clientpositive/llap/vector_char_mapjoin1.q.out ql/src/test/results/clientpositive/llap/vector_char_mapjoin1.q.out
index d6f01ae582..6ece71e3d9 100644
--- ql/src/test/results/clientpositive/llap/vector_char_mapjoin1.q.out
+++ ql/src/test/results/clientpositive/llap/vector_char_mapjoin1.q.out
@@ -507,7 +507,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: a
- filterExpr: c2 is not null (type: boolean)
+ filterExpr: CAST( c2 AS STRING) is not null (type: boolean)
Statistics: Num rows: 3 Data size: 273 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -515,8 +515,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: SelectColumnIsNotNull(col 1:char(10))
- predicate: c2 is not null (type: boolean)
+ predicateExpression: SelectColumnIsNotNull(col 1:string)(children: col 1:char(10))
+ predicate: CAST( c2 AS STRING) is not null (type: boolean)
Statistics: Num rows: 3 Data size: 273 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: c1 (type: int), c2 (type: char(10)), CAST( c2 AS STRING) (type: string)
diff --git ql/src/test/results/clientpositive/llap/vector_coalesce_3.q.out ql/src/test/results/clientpositive/llap/vector_coalesce_3.q.out
index 493cfca23a..0a341490e1 100644
--- ql/src/test/results/clientpositive/llap/vector_coalesce_3.q.out
+++ ql/src/test/results/clientpositive/llap/vector_coalesce_3.q.out
@@ -162,13 +162,13 @@ STAGE PLANS:
native: true
vectorizationSchemaColumns: [0:member:bigint, 1:attr:bigint, 2:ROW__ID:struct]
Select Operator
- expressions: member (type: bigint), CASE WHEN (CASE WHEN (attr is not null) THEN ((attr > 1L)) ELSE (true) END) THEN (attr) ELSE (null) END (type: bigint)
+ expressions: member (type: bigint), CASE WHEN (((attr > 1L) or attr is null)) THEN (attr) ELSE (null) END (type: bigint)
outputColumnNames: _col0, _col1
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [0, 7]
- selectExpressions: IfExprColumnNull(col 6:boolean, col 1:bigint, null)(children: IfExprCondExprColumn(col 3:boolean, col 4:boolean, col 5:boolean)(children: IsNotNull(col 1:bigint) -> 3:boolean, LongColGreaterLongScalar(col 1:bigint, val 1) -> 4:boolean, ConstantVectorExpression(val 1) -> 5:boolean) -> 6:boolean, col 1:bigint) -> 7:bigint
+ projectedOutputColumnNums: [0, 6]
+ selectExpressions: IfExprColumnNull(col 5:boolean, col 1:bigint, null)(children: ColOrCol(col 3:boolean, col 4:boolean)(children: LongColGreaterLongScalar(col 1:bigint, val 1) -> 3:boolean, IsNull(col 1:bigint) -> 4:boolean) -> 5:boolean, col 1:bigint) -> 6:bigint
Statistics: Num rows: 3 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col0 (type: bigint)
@@ -179,7 +179,7 @@ STAGE PLANS:
keyColumns: 0:bigint
native: true
nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
- valueColumns: 7:bigint
+ valueColumns: 6:bigint
Statistics: Num rows: 3 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col1 (type: bigint)
Execution mode: vectorized, llap
@@ -198,7 +198,7 @@ STAGE PLANS:
includeColumns: [0, 1]
dataColumns: member:bigint, attr:bigint
partitionColumnCount: 0
- scratchColumnTypeNames: [bigint, bigint, bigint, bigint, bigint]
+ scratchColumnTypeNames: [bigint, bigint, bigint, bigint]
Stage: Stage-0
Fetch Operator
diff --git ql/src/test/results/clientpositive/llap/vector_date_1.q.out ql/src/test/results/clientpositive/llap/vector_date_1.q.out
index e79a7b7e9e..399d566fdf 100644
--- ql/src/test/results/clientpositive/llap/vector_date_1.q.out
+++ ql/src/test/results/clientpositive/llap/vector_date_1.q.out
@@ -119,13 +119,13 @@ STAGE PLANS:
native: true
vectorizationSchemaColumns: [0:dt1:date, 1:dt2:date, 2:ROW__ID:struct]
Select Operator
- expressions: dt1 (type: date), dt2 (type: date), (dt1 = dt1) (type: boolean), (dt1 <> dt2) (type: boolean), (dt1 <= dt1) (type: boolean), (dt1 <= dt2) (type: boolean), (dt1 < dt2) (type: boolean), (dt2 >= dt2) (type: boolean), (dt2 >= dt1) (type: boolean), (dt2 > dt1) (type: boolean)
- outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9
+ expressions: dt1 (type: date), dt2 (type: date), (null or dt1 is not null) (type: boolean), (dt1 <> dt2) (type: boolean), (dt1 <= dt2) (type: boolean), (dt1 < dt2) (type: boolean), (null or dt2 is not null) (type: boolean), (dt2 >= dt1) (type: boolean), (dt2 > dt1) (type: boolean)
+ outputColumnNames: _col0, _col1, _col2, _col3, _col5, _col6, _col7, _col8, _col9
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [0, 1, 3, 4, 5, 6, 7, 8, 9, 10]
- selectExpressions: LongColEqualLongColumn(col 0:date, col 0:date) -> 3:boolean, LongColNotEqualLongColumn(col 0:date, col 1:date) -> 4:boolean, LongColLessEqualLongColumn(col 0:date, col 0:date) -> 5:boolean, LongColLessEqualLongColumn(col 0:date, col 1:date) -> 6:boolean, LongColLessLongColumn(col 0:date, col 1:date) -> 7:boolean, LongColGreaterEqualLongColumn(col 1:date, col 1:date) -> 8:boolean, LongColGreaterEqualLongColumn(col 1:date, col 0:date) -> 9:boolean, LongColGreaterLongColumn(col 1:date, col 0:date) -> 10:boolean
+ projectedOutputColumnNums: [0, 1, 4, 5, 6, 7, 9, 10, 11]
+ selectExpressions: VectorUDFAdaptor((null or dt1 is not null))(children: IsNotNull(col 0:date) -> 3:boolean) -> 4:boolean, LongColNotEqualLongColumn(col 0:date, col 1:date) -> 5:boolean, LongColLessEqualLongColumn(col 0:date, col 1:date) -> 6:boolean, LongColLessLongColumn(col 0:date, col 1:date) -> 7:boolean, VectorUDFAdaptor((null or dt2 is not null))(children: IsNotNull(col 1:date) -> 8:boolean) -> 9:boolean, LongColGreaterEqualLongColumn(col 1:date, col 0:date) -> 10:boolean, LongColGreaterLongColumn(col 1:date, col 0:date) -> 11:boolean
Statistics: Num rows: 3 Data size: 432 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col0 (type: date)
@@ -135,9 +135,9 @@ STAGE PLANS:
keyColumns: 0:date
native: true
nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
- valueColumns: 1:date, 3:boolean, 4:boolean, 5:boolean, 6:boolean, 7:boolean, 8:boolean, 9:boolean, 10:boolean
+ valueColumns: 1:date, 4:boolean, 5:boolean, 6:boolean, 7:boolean, 9:boolean, 10:boolean, 11:boolean
Statistics: Num rows: 3 Data size: 432 Basic stats: COMPLETE Column stats: COMPLETE
- value expressions: _col1 (type: date), _col2 (type: boolean), _col3 (type: boolean), _col4 (type: boolean), _col5 (type: boolean), _col6 (type: boolean), _col7 (type: boolean), _col8 (type: boolean), _col9 (type: boolean)
+ value expressions: _col1 (type: date), _col2 (type: boolean), _col3 (type: boolean), _col5 (type: boolean), _col6 (type: boolean), _col7 (type: boolean), _col8 (type: boolean), _col9 (type: boolean)
Execution mode: vectorized, llap
LLAP IO: all inputs
Map Vectorization:
@@ -147,14 +147,14 @@ STAGE PLANS:
featureSupportInUse: [DECIMAL_64]
inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
allNative: true
- usesVectorUDFAdaptor: false
+ usesVectorUDFAdaptor: true
vectorized: true
rowBatchContext:
dataColumnCount: 2
includeColumns: [0, 1]
dataColumns: dt1:date, dt2:date
partitionColumnCount: 0
- scratchColumnTypeNames: [bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint]
+ scratchColumnTypeNames: [bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint]
Reducer 2
Execution mode: vectorized, llap
Reduce Vectorization:
@@ -166,18 +166,18 @@ STAGE PLANS:
usesVectorUDFAdaptor: false
vectorized: true
rowBatchContext:
- dataColumnCount: 10
- dataColumns: KEY.reducesinkkey0:date, VALUE._col0:date, VALUE._col1:boolean, VALUE._col2:boolean, VALUE._col3:boolean, VALUE._col4:boolean, VALUE._col5:boolean, VALUE._col6:boolean, VALUE._col7:boolean, VALUE._col8:boolean
+ dataColumnCount: 9
+ dataColumns: KEY.reducesinkkey0:date, VALUE._col0:date, VALUE._col1:boolean, VALUE._col2:boolean, VALUE._col3:boolean, VALUE._col4:boolean, VALUE._col5:boolean, VALUE._col6:boolean, VALUE._col7:boolean
partitionColumnCount: 0
scratchColumnTypeNames: []
Reduce Operator Tree:
Select Operator
- expressions: KEY.reducesinkkey0 (type: date), VALUE._col0 (type: date), VALUE._col1 (type: boolean), VALUE._col2 (type: boolean), VALUE._col3 (type: boolean), VALUE._col4 (type: boolean), VALUE._col5 (type: boolean), VALUE._col6 (type: boolean), VALUE._col7 (type: boolean), VALUE._col8 (type: boolean)
+ expressions: KEY.reducesinkkey0 (type: date), VALUE._col0 (type: date), VALUE._col1 (type: boolean), VALUE._col2 (type: boolean), VALUE._col1 (type: boolean), VALUE._col3 (type: boolean), VALUE._col4 (type: boolean), VALUE._col5 (type: boolean), VALUE._col6 (type: boolean), VALUE._col7 (type: boolean)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
+ projectedOutputColumnNums: [0, 1, 2, 3, 2, 4, 5, 6, 7, 8]
Statistics: Num rows: 3 Data size: 432 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
@@ -288,13 +288,13 @@ STAGE PLANS:
native: true
vectorizationSchemaColumns: [0:dt1:date, 1:dt2:date, 2:ROW__ID:struct]
Select Operator
- expressions: dt1 (type: date), dt2 (type: date), (dt1 <> dt1) (type: boolean), (dt1 = dt2) (type: boolean), (dt1 < dt1) (type: boolean), (dt1 >= dt2) (type: boolean), (dt1 > dt2) (type: boolean), (dt2 > dt2) (type: boolean), (dt2 <= dt1) (type: boolean), (dt2 < dt1) (type: boolean)
- outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9
+ expressions: dt1 (type: date), dt2 (type: date), (null and dt1 is null) (type: boolean), (dt1 = dt2) (type: boolean), (dt1 >= dt2) (type: boolean), (dt1 > dt2) (type: boolean), (null and dt2 is null) (type: boolean), (dt2 <= dt1) (type: boolean), (dt2 < dt1) (type: boolean)
+ outputColumnNames: _col0, _col1, _col2, _col3, _col5, _col6, _col7, _col8, _col9
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [0, 1, 3, 4, 5, 6, 7, 8, 9, 10]
- selectExpressions: LongColNotEqualLongColumn(col 0:date, col 0:date) -> 3:boolean, LongColEqualLongColumn(col 0:date, col 1:date) -> 4:boolean, LongColLessLongColumn(col 0:date, col 0:date) -> 5:boolean, LongColGreaterEqualLongColumn(col 0:date, col 1:date) -> 6:boolean, LongColGreaterLongColumn(col 0:date, col 1:date) -> 7:boolean, LongColGreaterLongColumn(col 1:date, col 1:date) -> 8:boolean, LongColLessEqualLongColumn(col 1:date, col 0:date) -> 9:boolean, LongColLessLongColumn(col 1:date, col 0:date) -> 10:boolean
+ projectedOutputColumnNums: [0, 1, 4, 5, 6, 7, 9, 10, 11]
+ selectExpressions: VectorUDFAdaptor((null and dt1 is null))(children: IsNull(col 0:date) -> 3:boolean) -> 4:boolean, LongColEqualLongColumn(col 0:date, col 1:date) -> 5:boolean, LongColGreaterEqualLongColumn(col 0:date, col 1:date) -> 6:boolean, LongColGreaterLongColumn(col 0:date, col 1:date) -> 7:boolean, VectorUDFAdaptor((null and dt2 is null))(children: IsNull(col 1:date) -> 8:boolean) -> 9:boolean, LongColLessEqualLongColumn(col 1:date, col 0:date) -> 10:boolean, LongColLessLongColumn(col 1:date, col 0:date) -> 11:boolean
Statistics: Num rows: 3 Data size: 432 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col0 (type: date)
@@ -304,9 +304,9 @@ STAGE PLANS:
keyColumns: 0:date
native: true
nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
- valueColumns: 1:date, 3:boolean, 4:boolean, 5:boolean, 6:boolean, 7:boolean, 8:boolean, 9:boolean, 10:boolean
+ valueColumns: 1:date, 4:boolean, 5:boolean, 6:boolean, 7:boolean, 9:boolean, 10:boolean, 11:boolean
Statistics: Num rows: 3 Data size: 432 Basic stats: COMPLETE Column stats: COMPLETE
- value expressions: _col1 (type: date), _col2 (type: boolean), _col3 (type: boolean), _col4 (type: boolean), _col5 (type: boolean), _col6 (type: boolean), _col7 (type: boolean), _col8 (type: boolean), _col9 (type: boolean)
+ value expressions: _col1 (type: date), _col2 (type: boolean), _col3 (type: boolean), _col5 (type: boolean), _col6 (type: boolean), _col7 (type: boolean), _col8 (type: boolean), _col9 (type: boolean)
Execution mode: vectorized, llap
LLAP IO: all inputs
Map Vectorization:
@@ -316,14 +316,14 @@ STAGE PLANS:
featureSupportInUse: [DECIMAL_64]
inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
allNative: true
- usesVectorUDFAdaptor: false
+ usesVectorUDFAdaptor: true
vectorized: true
rowBatchContext:
dataColumnCount: 2
includeColumns: [0, 1]
dataColumns: dt1:date, dt2:date
partitionColumnCount: 0
- scratchColumnTypeNames: [bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint]
+ scratchColumnTypeNames: [bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint]
Reducer 2
Execution mode: vectorized, llap
Reduce Vectorization:
@@ -335,18 +335,18 @@ STAGE PLANS:
usesVectorUDFAdaptor: false
vectorized: true
rowBatchContext:
- dataColumnCount: 10
- dataColumns: KEY.reducesinkkey0:date, VALUE._col0:date, VALUE._col1:boolean, VALUE._col2:boolean, VALUE._col3:boolean, VALUE._col4:boolean, VALUE._col5:boolean, VALUE._col6:boolean, VALUE._col7:boolean, VALUE._col8:boolean
+ dataColumnCount: 9
+ dataColumns: KEY.reducesinkkey0:date, VALUE._col0:date, VALUE._col1:boolean, VALUE._col2:boolean, VALUE._col3:boolean, VALUE._col4:boolean, VALUE._col5:boolean, VALUE._col6:boolean, VALUE._col7:boolean
partitionColumnCount: 0
scratchColumnTypeNames: []
Reduce Operator Tree:
Select Operator
- expressions: KEY.reducesinkkey0 (type: date), VALUE._col0 (type: date), VALUE._col1 (type: boolean), VALUE._col2 (type: boolean), VALUE._col3 (type: boolean), VALUE._col4 (type: boolean), VALUE._col5 (type: boolean), VALUE._col6 (type: boolean), VALUE._col7 (type: boolean), VALUE._col8 (type: boolean)
+ expressions: KEY.reducesinkkey0 (type: date), VALUE._col0 (type: date), VALUE._col1 (type: boolean), VALUE._col2 (type: boolean), VALUE._col1 (type: boolean), VALUE._col3 (type: boolean), VALUE._col4 (type: boolean), VALUE._col5 (type: boolean), VALUE._col6 (type: boolean), VALUE._col7 (type: boolean)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
+ projectedOutputColumnNums: [0, 1, 2, 3, 2, 4, 5, 6, 7, 8]
Statistics: Num rows: 3 Data size: 432 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
@@ -788,7 +788,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: vector_date_1
- filterExpr: ((dt1 = dt1) and (dt1 <> dt2) and (dt1 < dt2) and (dt1 <= dt2) and (dt2 > dt1) and (dt2 >= dt1)) (type: boolean)
+ filterExpr: ((dt1 <> dt2) and (dt1 < dt2) and (dt1 <= dt2) and (dt2 > dt1) and (dt2 >= dt1)) (type: boolean)
Statistics: Num rows: 3 Data size: 336 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -797,8 +797,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children: FilterLongColEqualLongColumn(col 0:date, col 0:date), FilterLongColNotEqualLongColumn(col 0:date, col 1:date), FilterLongColLessLongColumn(col 0:date, col 1:date), FilterLongColLessEqualLongColumn(col 0:date, col 1:date), FilterLongColGreaterLongColumn(col 1:date, col 0:date), FilterLongColGreaterEqualLongColumn(col 1:date, col 0:date))
- predicate: ((dt1 < dt2) and (dt1 <= dt2) and (dt1 <> dt2) and (dt1 = dt1) and (dt2 > dt1) and (dt2 >= dt1)) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: FilterLongColNotEqualLongColumn(col 0:date, col 1:date), FilterLongColLessLongColumn(col 0:date, col 1:date), FilterLongColLessEqualLongColumn(col 0:date, col 1:date), FilterLongColGreaterLongColumn(col 1:date, col 0:date), FilterLongColGreaterEqualLongColumn(col 1:date, col 0:date))
+ predicate: ((dt1 < dt2) and (dt1 <= dt2) and (dt1 <> dt2) and (dt2 > dt1) and (dt2 >= dt1)) (type: boolean)
Statistics: Num rows: 1 Data size: 112 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: dt1 (type: date), dt2 (type: date)
diff --git ql/src/test/results/clientpositive/llap/vector_decimal_math_funcs.q.out ql/src/test/results/clientpositive/llap/vector_decimal_math_funcs.q.out
index b26fb62e17..648eb83c34 100644
--- ql/src/test/results/clientpositive/llap/vector_decimal_math_funcs.q.out
+++ ql/src/test/results/clientpositive/llap/vector_decimal_math_funcs.q.out
@@ -119,7 +119,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: decimal_test_n0
- filterExpr: (((cbigint % 500) = 0) and (sin(cdecimal1) >= -1.0D)) (type: boolean)
+ filterExpr: (((cbigint % 500L) = 0L) and (sin(cdecimal1) >= -1.0D)) (type: boolean)
Statistics: Num rows: 12289 Data size: 1100992 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -129,7 +129,7 @@ STAGE PLANS:
className: VectorFilterOperator
native: true
predicateExpression: FilterExprAndExpr(children: FilterLongColEqualLongScalar(col 5:bigint, val 0)(children: LongColModuloLongScalar(col 0:bigint, val 500) -> 5:bigint), FilterDoubleColGreaterEqualDoubleScalar(col 7:double, val -1.0)(children: FuncSinDoubleToDouble(col 6:double)(children: CastDecimalToDouble(col 2:decimal(20,10)) -> 6:double) -> 7:double))
- predicate: (((cbigint % 500) = 0) and (sin(cdecimal1) >= -1.0D)) (type: boolean)
+ predicate: (((cbigint % 500L) = 0L) and (sin(cdecimal1) >= -1.0D)) (type: boolean)
Statistics: Num rows: 2048 Data size: 183600 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: cdecimal1 (type: decimal(20,10)), round(cdecimal1, 2) (type: decimal(13,2)), round(cdecimal1) (type: decimal(11,0)), floor(cdecimal1) (type: decimal(11,0)), ceil(cdecimal1) (type: decimal(11,0)), round(exp(cdecimal1), 58) (type: double), ln(cdecimal1) (type: double), log10(cdecimal1) (type: double), log2(cdecimal1) (type: double), log2((cdecimal1 - 15601)) (type: double), log(2, cdecimal1) (type: double), power(log2(cdecimal1), 2) (type: double), power(log2(cdecimal1), 2) (type: double), sqrt(cdecimal1) (type: double), abs(cdecimal1) (type: decimal(20,10)), sin(cdecimal1) (type: double), asin(cdecimal1) (type: double), cos(cdecimal1) (type: double), acos(cdecimal1) (type: double), atan(cdecimal1) (type: double), degrees(cdecimal1) (type: double), radians(cdecimal1) (type: double), cdecimal1 (type: decimal(20,10)), (- cdecimal1) (type: decimal(20,10)), sign(cdecimal1) (type: int), cos(((- sin(log(cdecimal1))) + 3.14159D)) (type: double)
@@ -370,7 +370,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: decimal_test_small
- filterExpr: (((cbigint % 500) = 0) and (sin(cdecimal1) >= -1.0D)) (type: boolean)
+ filterExpr: (((cbigint % 500L) = 0L) and (sin(cdecimal1) >= -1.0D)) (type: boolean)
Statistics: Num rows: 12288 Data size: 1100992 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -380,7 +380,7 @@ STAGE PLANS:
className: VectorFilterOperator
native: true
predicateExpression: FilterExprAndExpr(children: FilterLongColEqualLongScalar(col 5:bigint, val 0)(children: LongColModuloLongScalar(col 0:bigint, val 500) -> 5:bigint), FilterDoubleColGreaterEqualDoubleScalar(col 8:double, val -1.0)(children: FuncSinDoubleToDouble(col 7:double)(children: CastDecimalToDouble(col 6:decimal(12,4))(children: ConvertDecimal64ToDecimal(col 2:decimal(12,4)/DECIMAL_64) -> 6:decimal(12,4)) -> 7:double) -> 8:double))
- predicate: (((cbigint % 500) = 0) and (sin(cdecimal1) >= -1.0D)) (type: boolean)
+ predicate: (((cbigint % 500L) = 0L) and (sin(cdecimal1) >= -1.0D)) (type: boolean)
Statistics: Num rows: 2048 Data size: 183600 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: cdecimal1 (type: decimal(12,4)), round(cdecimal1, 2) (type: decimal(11,2)), round(cdecimal1) (type: decimal(9,0)), floor(cdecimal1) (type: decimal(9,0)), ceil(cdecimal1) (type: decimal(9,0)), round(exp(cdecimal1), 58) (type: double), ln(cdecimal1) (type: double), log10(cdecimal1) (type: double), log2(cdecimal1) (type: double), log2((cdecimal1 - 15601)) (type: double), log(2, cdecimal1) (type: double), power(log2(cdecimal1), 2) (type: double), power(log2(cdecimal1), 2) (type: double), sqrt(cdecimal1) (type: double), abs(cdecimal1) (type: decimal(12,4)), sin(cdecimal1) (type: double), asin(cdecimal1) (type: double), cos(cdecimal1) (type: double), acos(cdecimal1) (type: double), atan(cdecimal1) (type: double), degrees(cdecimal1) (type: double), radians(cdecimal1) (type: double), cdecimal1 (type: decimal(12,4)), (- cdecimal1) (type: decimal(12,4)), sign(cdecimal1) (type: int), cos(((- sin(log(cdecimal1))) + 3.14159D)) (type: double)
diff --git ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets_grouping.q.out ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets_grouping.q.out
index 16fe26fb6b..d1c270e629 100644
--- ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets_grouping.q.out
+++ ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets_grouping.q.out
@@ -143,7 +143,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 9 Data size: 136 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint), grouping(_col2, 1) (type: bigint), grouping(_col2, 0) (type: bigint)
+ expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint), grouping(_col2, 1L) (type: bigint), grouping(_col2, 0L) (type: bigint)
outputColumnNames: _col0, _col1, _col2, _col3, _col4
Select Vectorization:
className: VectorSelectOperator
@@ -308,7 +308,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 12 Data size: 180 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint), grouping(_col2, 1) (type: bigint), grouping(_col2, 0) (type: bigint)
+ expressions: _col0 (type: int), _col1 (type: int), _col2 (type: bigint), grouping(_col2, 1L) (type: bigint), grouping(_col2, 0L) (type: bigint)
outputColumnNames: _col0, _col1, _col2, _col3, _col4
Select Vectorization:
className: VectorSelectOperator
@@ -484,7 +484,7 @@ STAGE PLANS:
className: VectorFilterOperator
native: true
predicateExpression: FilterLongColEqualLongScalar(col 3:bigint, val 1)(children: GroupingColumn(col 2, mask 2) -> 3:bigint)
- predicate: (grouping(_col2, 1) = 1) (type: boolean)
+ predicate: (grouping(_col2, 1L) = 1L) (type: boolean)
Statistics: Num rows: 6 Data size: 92 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int), _col1 (type: int)
@@ -657,10 +657,10 @@ STAGE PLANS:
className: VectorFilterOperator
native: true
predicateExpression: FilterExprOrExpr(children: FilterLongColEqualLongScalar(col 3:bigint, val 1)(children: GroupingColumn(col 2, mask 2) -> 3:bigint), FilterLongColEqualLongScalar(col 4:bigint, val 1)(children: GroupingColumn(col 2, mask 1) -> 4:bigint))
- predicate: ((grouping(_col2, 0) = 1) or (grouping(_col2, 1) = 1)) (type: boolean)
+ predicate: ((grouping(_col2, 0L) = 1L) or (grouping(_col2, 1L) = 1L)) (type: boolean)
Statistics: Num rows: 12 Data size: 180 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: _col0 (type: int), _col1 (type: int), (grouping(_col2, 1) + grouping(_col2, 0)) (type: bigint), CASE WHEN (((grouping(_col2, 1) + grouping(_col2, 0)) = 1)) THEN (_col0) ELSE (null) END (type: int)
+ expressions: _col0 (type: int), _col1 (type: int), (grouping(_col2, 1L) + grouping(_col2, 0L)) (type: bigint), CASE WHEN (((grouping(_col2, 1L) + grouping(_col2, 0L)) = 1L)) THEN (_col0) ELSE (null) END (type: int)
outputColumnNames: _col0, _col1, _col2, _col3
Select Vectorization:
className: VectorSelectOperator
diff --git ql/src/test/results/clientpositive/llap/vector_groupby_mapjoin.q.out ql/src/test/results/clientpositive/llap/vector_groupby_mapjoin.q.out
index 229814f46d..258545b6e0 100644
--- ql/src/test/results/clientpositive/llap/vector_groupby_mapjoin.q.out
+++ ql/src/test/results/clientpositive/llap/vector_groupby_mapjoin.q.out
@@ -93,8 +93,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprOrExpr(children: FilterLongColEqualLongScalar(col 4:bigint, val 0), FilterExprAndExpr(children: SelectColumnIsNull(col 3:boolean), SelectColumnIsNotNull(col 0:string), FilterLongColGreaterEqualLongColumn(col 5:bigint, col 4:bigint)))
- predicate: ((_col2 = 0L) or (_col5 is null and _col0 is not null and (_col3 >= _col2))) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: FilterExprOrExpr(children: SelectColumnIsNull(col 3:boolean), FilterLongColEqualLongScalar(col 4:bigint, val 0)), FilterExprOrExpr(children: SelectColumnIsNotNull(col 0:string), FilterLongColEqualLongScalar(col 4:bigint, val 0), SelectColumnIsNotNull(col 3:boolean)), FilterExprOrExpr(children: FilterLongColGreaterEqualLongColumn(col 5:bigint, col 4:bigint), FilterLongColEqualLongScalar(col 4:bigint, val 0), SelectColumnIsNotNull(col 3:boolean), SelectColumnIsNull(col 0:string)))
+ predicate: (((_col3 >= _col2) or (_col2 = 0L) or _col5 is not null or _col0 is null) and (_col0 is not null or (_col2 = 0L) or _col5 is not null) and (_col5 is null or (_col2 = 0L))) (type: boolean)
Statistics: Num rows: 895 Data size: 175214 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: string)
diff --git ql/src/test/results/clientpositive/llap/vector_interval_2.q.out ql/src/test/results/clientpositive/llap/vector_interval_2.q.out
index 28da5049af..4ba67196a1 100644
--- ql/src/test/results/clientpositive/llap/vector_interval_2.q.out
+++ ql/src/test/results/clientpositive/llap/vector_interval_2.q.out
@@ -134,13 +134,13 @@ STAGE PLANS:
TableScan Vectorization:
native: true
Select Operator
- expressions: str1 (type: string), (CAST( str1 AS INTERVAL YEAR TO MONTH) = CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) <= CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) <= CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) < CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) >= CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str2 AS INTERVAL YEAR TO MONTH) >= CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str2 AS INTERVAL YEAR TO MONTH) > CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) <> CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) = INTERVAL'1-2') (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) <= INTERVAL'1-2') (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) <= INTERVAL'1-3') (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) < INTERVAL'1-3') (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) >= INTERVAL'1-2') (type: boolean), (CAST( str2 AS INTERVAL YEAR TO MONTH) >= INTERVAL'1-2') (type: boolean), (CAST( str2 AS INTERVAL YEAR TO MONTH) > INTERVAL'1-2') (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) <> INTERVAL'1-3') (type: boolean), (INTERVAL'1-2' = CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-2' <= CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-2' <= CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-2' < CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-2' >= CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-3' >= CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-3' > CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-2' <> CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean)
- outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24
+ expressions: str1 (type: string), (null or CAST( str1 AS INTERVAL YEAR TO MONTH) is not null) (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) <= CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) < CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str2 AS INTERVAL YEAR TO MONTH) >= CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str2 AS INTERVAL YEAR TO MONTH) > CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) <> CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) = INTERVAL'1-2') (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) <= INTERVAL'1-2') (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) <= INTERVAL'1-3') (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) < INTERVAL'1-3') (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) >= INTERVAL'1-2') (type: boolean), (CAST( str2 AS INTERVAL YEAR TO MONTH) >= INTERVAL'1-2') (type: boolean), (CAST( str2 AS INTERVAL YEAR TO MONTH) > INTERVAL'1-2') (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) <> INTERVAL'1-3') (type: boolean), (INTERVAL'1-2' = CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-2' <= CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-2' <= CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-2' < CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-2' >= CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-3' >= CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-3' > CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-2' <> CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean)
+ outputColumnNames: _col0, _col1, _col3, _col4, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [2, 9, 12, 15, 18, 21, 24, 27, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62]
- selectExpressions: LongColEqualLongColumn(col 7:interval_year_month, col 8:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 7:interval_year_month, CastStringToIntervalYearMonth(col 2:string) -> 8:interval_year_month) -> 9:boolean, LongColLessEqualLongColumn(col 10:interval_year_month, col 11:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 10:interval_year_month, CastStringToIntervalYearMonth(col 2:string) -> 11:interval_year_month) -> 12:boolean, LongColLessEqualLongColumn(col 13:interval_year_month, col 14:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 13:interval_year_month, CastStringToIntervalYearMonth(col 3:string) -> 14:interval_year_month) -> 15:boolean, LongColLessLongColumn(col 16:interval_year_month, col 17:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 16:interval_year_month, CastStringToIntervalYearMonth(col 3:string) -> 17:interval_year_month) -> 18:boolean, LongColGreaterEqualLongColumn(col 19:interval_year_month, col 20:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 19:interval_year_month, CastStringToIntervalYearMonth(col 2:string) -> 20:interval_year_month) -> 21:boolean, LongColGreaterEqualLongColumn(col 22:interval_year_month, col 23:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 22:interval_year_month, CastStringToIntervalYearMonth(col 2:string) -> 23:interval_year_month) -> 24:boolean, LongColGreaterLongColumn(col 25:interval_year_month, col 26:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 25:interval_year_month, CastStringToIntervalYearMonth(col 2:string) -> 26:interval_year_month) -> 27:boolean, LongColNotEqualLongColumn(col 28:interval_year_month, col 29:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 28:interval_year_month, CastStringToIntervalYearMonth(col 3:string) -> 29:interval_year_month) -> 30:boolean, IntervalYearMonthColEqualIntervalYearMonthScalar(col 31:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 2:string) -> 31:interval_year_month) -> 32:boolean, IntervalYearMonthColLessEqualIntervalYearMonthScalar(col 33:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 2:string) -> 33:interval_year_month) -> 34:boolean, IntervalYearMonthColLessEqualIntervalYearMonthScalar(col 35:interval_year_month, val 15)(children: CastStringToIntervalYearMonth(col 2:string) -> 35:interval_year_month) -> 36:boolean, IntervalYearMonthColLessIntervalYearMonthScalar(col 37:interval_year_month, val 15)(children: CastStringToIntervalYearMonth(col 2:string) -> 37:interval_year_month) -> 38:boolean, IntervalYearMonthColGreaterEqualIntervalYearMonthScalar(col 39:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 2:string) -> 39:interval_year_month) -> 40:boolean, IntervalYearMonthColGreaterEqualIntervalYearMonthScalar(col 41:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 3:string) -> 41:interval_year_month) -> 42:boolean, IntervalYearMonthColGreaterIntervalYearMonthScalar(col 43:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 3:string) -> 43:interval_year_month) -> 44:boolean, IntervalYearMonthColNotEqualIntervalYearMonthScalar(col 45:interval_year_month, val 15)(children: CastStringToIntervalYearMonth(col 2:string) -> 45:interval_year_month) -> 46:boolean, IntervalYearMonthScalarEqualIntervalYearMonthColumn(val 14, col 47:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 47:interval_year_month) -> 48:boolean, IntervalYearMonthScalarLessEqualIntervalYearMonthColumn(val 14, col 49:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 49:interval_year_month) -> 50:boolean, IntervalYearMonthScalarLessEqualIntervalYearMonthColumn(val 14, col 51:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 51:interval_year_month) -> 52:boolean, IntervalYearMonthScalarLessIntervalYearMonthColumn(val 14, col 53:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 53:interval_year_month) -> 54:boolean, IntervalYearMonthScalarGreaterEqualIntervalYearMonthColumn(val 14, col 55:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 55:interval_year_month) -> 56:boolean, IntervalYearMonthScalarGreaterEqualIntervalYearMonthColumn(val 15, col 57:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 57:interval_year_month) -> 58:boolean, IntervalYearMonthScalarGreaterIntervalYearMonthColumn(val 15, col 59:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 59:interval_year_month) -> 60:boolean, IntervalYearMonthScalarNotEqualIntervalYearMonthColumn(val 14, col 61:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 61:interval_year_month) -> 62:boolean
+ projectedOutputColumnNums: [2, 9, 12, 15, 18, 21, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56]
+ selectExpressions: VectorUDFAdaptor((null or CAST( str1 AS INTERVAL YEAR TO MONTH) is not null))(children: IsNotNull(col 7:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 7:interval_year_month) -> 8:boolean) -> 9:boolean, LongColLessEqualLongColumn(col 10:interval_year_month, col 11:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 10:interval_year_month, CastStringToIntervalYearMonth(col 3:string) -> 11:interval_year_month) -> 12:boolean, LongColLessLongColumn(col 13:interval_year_month, col 14:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 13:interval_year_month, CastStringToIntervalYearMonth(col 3:string) -> 14:interval_year_month) -> 15:boolean, LongColGreaterEqualLongColumn(col 16:interval_year_month, col 17:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 16:interval_year_month, CastStringToIntervalYearMonth(col 2:string) -> 17:interval_year_month) -> 18:boolean, LongColGreaterLongColumn(col 19:interval_year_month, col 20:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 19:interval_year_month, CastStringToIntervalYearMonth(col 2:string) -> 20:interval_year_month) -> 21:boolean, LongColNotEqualLongColumn(col 22:interval_year_month, col 23:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 22:interval_year_month, CastStringToIntervalYearMonth(col 3:string) -> 23:interval_year_month) -> 24:boolean, IntervalYearMonthColEqualIntervalYearMonthScalar(col 25:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 2:string) -> 25:interval_year_month) -> 26:boolean, IntervalYearMonthColLessEqualIntervalYearMonthScalar(col 27:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 2:string) -> 27:interval_year_month) -> 28:boolean, IntervalYearMonthColLessEqualIntervalYearMonthScalar(col 29:interval_year_month, val 15)(children: CastStringToIntervalYearMonth(col 2:string) -> 29:interval_year_month) -> 30:boolean, IntervalYearMonthColLessIntervalYearMonthScalar(col 31:interval_year_month, val 15)(children: CastStringToIntervalYearMonth(col 2:string) -> 31:interval_year_month) -> 32:boolean, IntervalYearMonthColGreaterEqualIntervalYearMonthScalar(col 33:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 2:string) -> 33:interval_year_month) -> 34:boolean, IntervalYearMonthColGreaterEqualIntervalYearMonthScalar(col 35:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 3:string) -> 35:interval_year_month) -> 36:boolean, IntervalYearMonthColGreaterIntervalYearMonthScalar(col 37:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 3:string) -> 37:interval_year_month) -> 38:boolean, IntervalYearMonthColNotEqualIntervalYearMonthScalar(col 39:interval_year_month, val 15)(children: CastStringToIntervalYearMonth(col 2:string) -> 39:interval_year_month) -> 40:boolean, IntervalYearMonthScalarEqualIntervalYearMonthColumn(val 14, col 41:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 41:interval_year_month) -> 42:boolean, IntervalYearMonthScalarLessEqualIntervalYearMonthColumn(val 14, col 43:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 43:interval_year_month) -> 44:boolean, IntervalYearMonthScalarLessEqualIntervalYearMonthColumn(val 14, col 45:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 45:interval_year_month) -> 46:boolean, IntervalYearMonthScalarLessIntervalYearMonthColumn(val 14, col 47:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 47:interval_year_month) -> 48:boolean, IntervalYearMonthScalarGreaterEqualIntervalYearMonthColumn(val 14, col 49:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 49:interval_year_month) -> 50:boolean, IntervalYearMonthScalarGreaterEqualIntervalYearMonthColumn(val 15, col 51:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 51:interval_year_month) -> 52:boolean, IntervalYearMonthScalarGreaterIntervalYearMonthColumn(val 15, col 53:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 53:interval_year_month) -> 54:boolean, IntervalYearMonthScalarNotEqualIntervalYearMonthColumn(val 14, col 55:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 55:interval_year_month) -> 56:boolean
Statistics: Num rows: 2 Data size: 366 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col0 (type: string)
@@ -150,7 +150,7 @@ STAGE PLANS:
native: true
nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
Statistics: Num rows: 2 Data size: 366 Basic stats: COMPLETE Column stats: COMPLETE
- value expressions: _col1 (type: boolean), _col2 (type: boolean), _col3 (type: boolean), _col4 (type: boolean), _col5 (type: boolean), _col6 (type: boolean), _col7 (type: boolean), _col8 (type: boolean), _col9 (type: boolean), _col10 (type: boolean), _col11 (type: boolean), _col12 (type: boolean), _col13 (type: boolean), _col14 (type: boolean), _col15 (type: boolean), _col16 (type: boolean), _col17 (type: boolean), _col18 (type: boolean), _col19 (type: boolean), _col20 (type: boolean), _col21 (type: boolean), _col22 (type: boolean), _col23 (type: boolean), _col24 (type: boolean)
+ value expressions: _col1 (type: boolean), _col3 (type: boolean), _col4 (type: boolean), _col6 (type: boolean), _col7 (type: boolean), _col8 (type: boolean), _col9 (type: boolean), _col10 (type: boolean), _col11 (type: boolean), _col12 (type: boolean), _col13 (type: boolean), _col14 (type: boolean), _col15 (type: boolean), _col16 (type: boolean), _col17 (type: boolean), _col18 (type: boolean), _col19 (type: boolean), _col20 (type: boolean), _col21 (type: boolean), _col22 (type: boolean), _col23 (type: boolean), _col24 (type: boolean)
Execution mode: vectorized, llap
LLAP IO: all inputs
Map Vectorization:
@@ -160,7 +160,7 @@ STAGE PLANS:
featureSupportInUse: [DECIMAL_64]
inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
allNative: true
- usesVectorUDFAdaptor: false
+ usesVectorUDFAdaptor: true
vectorized: true
Reducer 2
Execution mode: vectorized, llap
@@ -172,12 +172,12 @@ STAGE PLANS:
vectorized: true
Reduce Operator Tree:
Select Operator
- expressions: KEY.reducesinkkey0 (type: string), VALUE._col0 (type: boolean), VALUE._col1 (type: boolean), VALUE._col2 (type: boolean), VALUE._col3 (type: boolean), VALUE._col4 (type: boolean), VALUE._col5 (type: boolean), VALUE._col6 (type: boolean), VALUE._col7 (type: boolean), VALUE._col8 (type: boolean), VALUE._col9 (type: boolean), VALUE._col10 (type: boolean), VALUE._col11 (type: boolean), VALUE._col12 (type: boolean), VALUE._col13 (type: boolean), VALUE._col14 (type: boolean), VALUE._col15 (type: boolean), VALUE._col16 (type: boolean), VALUE._col17 (type: boolean), VALUE._col18 (type: boolean), VALUE._col19 (type: boolean), VALUE._col20 (type: boolean), VALUE._col21 (type: boolean), VALUE._col22 (type: boolean), VALUE._col23 (type: boolean)
+ expressions: KEY.reducesinkkey0 (type: string), VALUE._col0 (type: boolean), VALUE._col0 (type: boolean), VALUE._col1 (type: boolean), VALUE._col2 (type: boolean), VALUE._col0 (type: boolean), VALUE._col3 (type: boolean), VALUE._col4 (type: boolean), VALUE._col5 (type: boolean), VALUE._col6 (type: boolean), VALUE._col7 (type: boolean), VALUE._col8 (type: boolean), VALUE._col9 (type: boolean), VALUE._col10 (type: boolean), VALUE._col11 (type: boolean), VALUE._col12 (type: boolean), VALUE._col13 (type: boolean), VALUE._col14 (type: boolean), VALUE._col15 (type: boolean), VALUE._col16 (type: boolean), VALUE._col17 (type: boolean), VALUE._col18 (type: boolean), VALUE._col19 (type: boolean), VALUE._col20 (type: boolean), VALUE._col21 (type: boolean)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24]
+ projectedOutputColumnNums: [0, 1, 1, 2, 3, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22]
Statistics: Num rows: 2 Data size: 366 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
@@ -344,13 +344,13 @@ STAGE PLANS:
TableScan Vectorization:
native: true
Select Operator
- expressions: str1 (type: string), (CAST( str1 AS INTERVAL YEAR TO MONTH) <> CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) >= CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) > CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str2 AS INTERVAL YEAR TO MONTH) <= CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str2 AS INTERVAL YEAR TO MONTH) < CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) <> INTERVAL'1-2') (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) >= INTERVAL'1-3') (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) > INTERVAL'1-3') (type: boolean), (CAST( str2 AS INTERVAL YEAR TO MONTH) <= INTERVAL'1-2') (type: boolean), (CAST( str2 AS INTERVAL YEAR TO MONTH) < INTERVAL'1-2') (type: boolean), (INTERVAL'1-2' <> CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-2' >= CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-2' > CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-3' <= CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-3' < CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean)
+ expressions: str1 (type: string), (null and CAST( str1 AS INTERVAL YEAR TO MONTH) is null) (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) >= CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) > CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str2 AS INTERVAL YEAR TO MONTH) <= CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str2 AS INTERVAL YEAR TO MONTH) < CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) <> INTERVAL'1-2') (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) >= INTERVAL'1-3') (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) > INTERVAL'1-3') (type: boolean), (CAST( str2 AS INTERVAL YEAR TO MONTH) <= INTERVAL'1-2') (type: boolean), (CAST( str2 AS INTERVAL YEAR TO MONTH) < INTERVAL'1-2') (type: boolean), (INTERVAL'1-2' <> CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-2' >= CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-2' > CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-3' <= CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (INTERVAL'1-3' < CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col7, _col8, _col9, _col10, _col11, _col13, _col14, _col15, _col16, _col17
Select Vectorization:
className: VectorSelectOperator
native: true
projectedOutputColumnNums: [2, 9, 12, 15, 18, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41]
- selectExpressions: LongColNotEqualLongColumn(col 7:interval_year_month, col 8:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 7:interval_year_month, CastStringToIntervalYearMonth(col 2:string) -> 8:interval_year_month) -> 9:boolean, LongColGreaterEqualLongColumn(col 10:interval_year_month, col 11:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 10:interval_year_month, CastStringToIntervalYearMonth(col 3:string) -> 11:interval_year_month) -> 12:boolean, LongColGreaterLongColumn(col 13:interval_year_month, col 14:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 13:interval_year_month, CastStringToIntervalYearMonth(col 3:string) -> 14:interval_year_month) -> 15:boolean, LongColLessEqualLongColumn(col 16:interval_year_month, col 17:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 16:interval_year_month, CastStringToIntervalYearMonth(col 2:string) -> 17:interval_year_month) -> 18:boolean, LongColLessLongColumn(col 19:interval_year_month, col 20:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 19:interval_year_month, CastStringToIntervalYearMonth(col 2:string) -> 20:interval_year_month) -> 21:boolean, IntervalYearMonthColNotEqualIntervalYearMonthScalar(col 22:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 2:string) -> 22:interval_year_month) -> 23:boolean, IntervalYearMonthColGreaterEqualIntervalYearMonthScalar(col 24:interval_year_month, val 15)(children: CastStringToIntervalYearMonth(col 2:string) -> 24:interval_year_month) -> 25:boolean, IntervalYearMonthColGreaterIntervalYearMonthScalar(col 26:interval_year_month, val 15)(children: CastStringToIntervalYearMonth(col 2:string) -> 26:interval_year_month) -> 27:boolean, IntervalYearMonthColLessEqualIntervalYearMonthScalar(col 28:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 3:string) -> 28:interval_year_month) -> 29:boolean, IntervalYearMonthColLessIntervalYearMonthScalar(col 30:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 3:string) -> 30:interval_year_month) -> 31:boolean, IntervalYearMonthScalarNotEqualIntervalYearMonthColumn(val 14, col 32:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 32:interval_year_month) -> 33:boolean, IntervalYearMonthScalarGreaterEqualIntervalYearMonthColumn(val 14, col 34:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 34:interval_year_month) -> 35:boolean, IntervalYearMonthScalarGreaterIntervalYearMonthColumn(val 14, col 36:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 36:interval_year_month) -> 37:boolean, IntervalYearMonthScalarLessEqualIntervalYearMonthColumn(val 15, col 38:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 38:interval_year_month) -> 39:boolean, IntervalYearMonthScalarLessIntervalYearMonthColumn(val 15, col 40:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 40:interval_year_month) -> 41:boolean
+ selectExpressions: VectorUDFAdaptor((null and CAST( str1 AS INTERVAL YEAR TO MONTH) is null))(children: IsNull(col 7:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 7:interval_year_month) -> 8:boolean) -> 9:boolean, LongColGreaterEqualLongColumn(col 10:interval_year_month, col 11:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 10:interval_year_month, CastStringToIntervalYearMonth(col 3:string) -> 11:interval_year_month) -> 12:boolean, LongColGreaterLongColumn(col 13:interval_year_month, col 14:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 13:interval_year_month, CastStringToIntervalYearMonth(col 3:string) -> 14:interval_year_month) -> 15:boolean, LongColLessEqualLongColumn(col 16:interval_year_month, col 17:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 16:interval_year_month, CastStringToIntervalYearMonth(col 2:string) -> 17:interval_year_month) -> 18:boolean, LongColLessLongColumn(col 19:interval_year_month, col 20:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 19:interval_year_month, CastStringToIntervalYearMonth(col 2:string) -> 20:interval_year_month) -> 21:boolean, IntervalYearMonthColNotEqualIntervalYearMonthScalar(col 22:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 2:string) -> 22:interval_year_month) -> 23:boolean, IntervalYearMonthColGreaterEqualIntervalYearMonthScalar(col 24:interval_year_month, val 15)(children: CastStringToIntervalYearMonth(col 2:string) -> 24:interval_year_month) -> 25:boolean, IntervalYearMonthColGreaterIntervalYearMonthScalar(col 26:interval_year_month, val 15)(children: CastStringToIntervalYearMonth(col 2:string) -> 26:interval_year_month) -> 27:boolean, IntervalYearMonthColLessEqualIntervalYearMonthScalar(col 28:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 3:string) -> 28:interval_year_month) -> 29:boolean, IntervalYearMonthColLessIntervalYearMonthScalar(col 30:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 3:string) -> 30:interval_year_month) -> 31:boolean, IntervalYearMonthScalarNotEqualIntervalYearMonthColumn(val 14, col 32:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 32:interval_year_month) -> 33:boolean, IntervalYearMonthScalarGreaterEqualIntervalYearMonthColumn(val 14, col 34:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 34:interval_year_month) -> 35:boolean, IntervalYearMonthScalarGreaterIntervalYearMonthColumn(val 14, col 36:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 36:interval_year_month) -> 37:boolean, IntervalYearMonthScalarLessEqualIntervalYearMonthColumn(val 15, col 38:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 38:interval_year_month) -> 39:boolean, IntervalYearMonthScalarLessIntervalYearMonthColumn(val 15, col 40:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 40:interval_year_month) -> 41:boolean
Statistics: Num rows: 2 Data size: 318 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col0 (type: string)
@@ -370,7 +370,7 @@ STAGE PLANS:
featureSupportInUse: [DECIMAL_64]
inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
allNative: true
- usesVectorUDFAdaptor: false
+ usesVectorUDFAdaptor: true
vectorized: true
Reducer 2
Execution mode: vectorized, llap
@@ -554,13 +554,13 @@ STAGE PLANS:
TableScan Vectorization:
native: true
Select Operator
- expressions: str3 (type: string), (CAST( str3 AS INTERVAL DAY TO SECOND) = CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) <= CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) <= CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) < CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) >= CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str4 AS INTERVAL DAY TO SECOND) >= CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str4 AS INTERVAL DAY TO SECOND) > CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) <> CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) = INTERVAL'1 02:03:04.000000000') (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) <= INTERVAL'1 02:03:04.000000000') (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) <= INTERVAL'1 02:03:05.000000000') (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) < INTERVAL'1 02:03:05.000000000') (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) >= INTERVAL'1 02:03:04.000000000') (type: boolean), (CAST( str4 AS INTERVAL DAY TO SECOND) >= INTERVAL'1 02:03:04.000000000') (type: boolean), (CAST( str4 AS INTERVAL DAY TO SECOND) > INTERVAL'1 02:03:04.000000000') (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) <> INTERVAL'1 02:03:05.000000000') (type: boolean), (INTERVAL'1 02:03:04.000000000' = CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:04.000000000' <= CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:04.000000000' <= CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:04.000000000' < CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:04.000000000' >= CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:05.000000000' >= CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:05.000000000' > CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:04.000000000' <> CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean)
- outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24
+ expressions: str3 (type: string), (null or CAST( str3 AS INTERVAL DAY TO SECOND) is not null) (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) <= CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) < CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str4 AS INTERVAL DAY TO SECOND) >= CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str4 AS INTERVAL DAY TO SECOND) > CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) <> CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) = INTERVAL'1 02:03:04.000000000') (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) <= INTERVAL'1 02:03:04.000000000') (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) <= INTERVAL'1 02:03:05.000000000') (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) < INTERVAL'1 02:03:05.000000000') (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) >= INTERVAL'1 02:03:04.000000000') (type: boolean), (CAST( str4 AS INTERVAL DAY TO SECOND) >= INTERVAL'1 02:03:04.000000000') (type: boolean), (CAST( str4 AS INTERVAL DAY TO SECOND) > INTERVAL'1 02:03:04.000000000') (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) <> INTERVAL'1 02:03:05.000000000') (type: boolean), (INTERVAL'1 02:03:04.000000000' = CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:04.000000000' <= CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:04.000000000' <= CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:04.000000000' < CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:04.000000000' >= CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:05.000000000' >= CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:05.000000000' > CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:04.000000000' <> CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean)
+ outputColumnNames: _col0, _col1, _col3, _col4, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [4, 9, 12, 15, 18, 21, 24, 27, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62]
- selectExpressions: IntervalDayTimeColEqualIntervalDayTimeColumn(col 7:interval_day_time, col 8:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 7:interval_day_time, CastStringToIntervalDayTime(col 4:string) -> 8:interval_day_time) -> 9:boolean, IntervalDayTimeColLessEqualIntervalDayTimeColumn(col 10:interval_day_time, col 11:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 10:interval_day_time, CastStringToIntervalDayTime(col 4:string) -> 11:interval_day_time) -> 12:boolean, IntervalDayTimeColLessEqualIntervalDayTimeColumn(col 13:interval_day_time, col 14:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 13:interval_day_time, CastStringToIntervalDayTime(col 5:string) -> 14:interval_day_time) -> 15:boolean, IntervalDayTimeColLessIntervalDayTimeColumn(col 16:interval_day_time, col 17:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 16:interval_day_time, CastStringToIntervalDayTime(col 5:string) -> 17:interval_day_time) -> 18:boolean, IntervalDayTimeColGreaterEqualIntervalDayTimeColumn(col 19:interval_day_time, col 20:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 19:interval_day_time, CastStringToIntervalDayTime(col 4:string) -> 20:interval_day_time) -> 21:boolean, IntervalDayTimeColGreaterEqualIntervalDayTimeColumn(col 22:interval_day_time, col 23:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 22:interval_day_time, CastStringToIntervalDayTime(col 4:string) -> 23:interval_day_time) -> 24:boolean, IntervalDayTimeColGreaterIntervalDayTimeColumn(col 25:interval_day_time, col 26:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 25:interval_day_time, CastStringToIntervalDayTime(col 4:string) -> 26:interval_day_time) -> 27:boolean, IntervalDayTimeColNotEqualIntervalDayTimeColumn(col 28:interval_day_time, col 29:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 28:interval_day_time, CastStringToIntervalDayTime(col 5:string) -> 29:interval_day_time) -> 30:boolean, IntervalDayTimeColEqualIntervalDayTimeScalar(col 31:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 31:interval_day_time) -> 32:boolean, IntervalDayTimeColLessEqualIntervalDayTimeScalar(col 33:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 33:interval_day_time) -> 34:boolean, IntervalDayTimeColLessEqualIntervalDayTimeScalar(col 35:interval_day_time, val 1 02:03:05.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 35:interval_day_time) -> 36:boolean, IntervalDayTimeColLessIntervalDayTimeScalar(col 37:interval_day_time, val 1 02:03:05.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 37:interval_day_time) -> 38:boolean, IntervalDayTimeColGreaterEqualIntervalDayTimeScalar(col 39:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 39:interval_day_time) -> 40:boolean, IntervalDayTimeColGreaterEqualIntervalDayTimeScalar(col 41:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 5:string) -> 41:interval_day_time) -> 42:boolean, IntervalDayTimeColGreaterIntervalDayTimeScalar(col 43:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 5:string) -> 43:interval_day_time) -> 44:boolean, IntervalDayTimeColNotEqualIntervalDayTimeScalar(col 45:interval_day_time, val 1 02:03:05.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 45:interval_day_time) -> 46:boolean, IntervalDayTimeScalarEqualIntervalDayTimeColumn(val 1 02:03:04.000000000, col 47:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 47:interval_day_time) -> 48:boolean, IntervalDayTimeScalarLessEqualIntervalDayTimeColumn(val 1 02:03:04.000000000, col 49:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 49:interval_day_time) -> 50:boolean, IntervalDayTimeScalarLessEqualIntervalDayTimeColumn(val 1 02:03:04.000000000, col 51:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 51:interval_day_time) -> 52:boolean, IntervalDayTimeScalarLessIntervalDayTimeColumn(val 1 02:03:04.000000000, col 53:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 53:interval_day_time) -> 54:boolean, IntervalDayTimeScalarGreaterEqualIntervalDayTimeColumn(val 1 02:03:04.000000000, col 55:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 55:interval_day_time) -> 56:boolean, IntervalDayTimeScalarGreaterEqualIntervalDayTimeColumn(val 1 02:03:05.000000000, col 57:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 57:interval_day_time) -> 58:boolean, IntervalDayTimeScalarGreaterIntervalDayTimeColumn(val 1 02:03:05.000000000, col 59:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 59:interval_day_time) -> 60:boolean, IntervalDayTimeScalarNotEqualIntervalDayTimeColumn(val 1 02:03:04.000000000, col 61:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 61:interval_day_time) -> 62:boolean
+ projectedOutputColumnNums: [4, 9, 12, 15, 18, 21, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56]
+ selectExpressions: VectorUDFAdaptor((null or CAST( str3 AS INTERVAL DAY TO SECOND) is not null))(children: IsNotNull(col 7:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 7:interval_day_time) -> 8:boolean) -> 9:boolean, IntervalDayTimeColLessEqualIntervalDayTimeColumn(col 10:interval_day_time, col 11:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 10:interval_day_time, CastStringToIntervalDayTime(col 5:string) -> 11:interval_day_time) -> 12:boolean, IntervalDayTimeColLessIntervalDayTimeColumn(col 13:interval_day_time, col 14:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 13:interval_day_time, CastStringToIntervalDayTime(col 5:string) -> 14:interval_day_time) -> 15:boolean, IntervalDayTimeColGreaterEqualIntervalDayTimeColumn(col 16:interval_day_time, col 17:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 16:interval_day_time, CastStringToIntervalDayTime(col 4:string) -> 17:interval_day_time) -> 18:boolean, IntervalDayTimeColGreaterIntervalDayTimeColumn(col 19:interval_day_time, col 20:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 19:interval_day_time, CastStringToIntervalDayTime(col 4:string) -> 20:interval_day_time) -> 21:boolean, IntervalDayTimeColNotEqualIntervalDayTimeColumn(col 22:interval_day_time, col 23:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 22:interval_day_time, CastStringToIntervalDayTime(col 5:string) -> 23:interval_day_time) -> 24:boolean, IntervalDayTimeColEqualIntervalDayTimeScalar(col 25:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 25:interval_day_time) -> 26:boolean, IntervalDayTimeColLessEqualIntervalDayTimeScalar(col 27:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 27:interval_day_time) -> 28:boolean, IntervalDayTimeColLessEqualIntervalDayTimeScalar(col 29:interval_day_time, val 1 02:03:05.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 29:interval_day_time) -> 30:boolean, IntervalDayTimeColLessIntervalDayTimeScalar(col 31:interval_day_time, val 1 02:03:05.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 31:interval_day_time) -> 32:boolean, IntervalDayTimeColGreaterEqualIntervalDayTimeScalar(col 33:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 33:interval_day_time) -> 34:boolean, IntervalDayTimeColGreaterEqualIntervalDayTimeScalar(col 35:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 5:string) -> 35:interval_day_time) -> 36:boolean, IntervalDayTimeColGreaterIntervalDayTimeScalar(col 37:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 5:string) -> 37:interval_day_time) -> 38:boolean, IntervalDayTimeColNotEqualIntervalDayTimeScalar(col 39:interval_day_time, val 1 02:03:05.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 39:interval_day_time) -> 40:boolean, IntervalDayTimeScalarEqualIntervalDayTimeColumn(val 1 02:03:04.000000000, col 41:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 41:interval_day_time) -> 42:boolean, IntervalDayTimeScalarLessEqualIntervalDayTimeColumn(val 1 02:03:04.000000000, col 43:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 43:interval_day_time) -> 44:boolean, IntervalDayTimeScalarLessEqualIntervalDayTimeColumn(val 1 02:03:04.000000000, col 45:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 45:interval_day_time) -> 46:boolean, IntervalDayTimeScalarLessIntervalDayTimeColumn(val 1 02:03:04.000000000, col 47:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 47:interval_day_time) -> 48:boolean, IntervalDayTimeScalarGreaterEqualIntervalDayTimeColumn(val 1 02:03:04.000000000, col 49:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 49:interval_day_time) -> 50:boolean, IntervalDayTimeScalarGreaterEqualIntervalDayTimeColumn(val 1 02:03:05.000000000, col 51:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 51:interval_day_time) -> 52:boolean, IntervalDayTimeScalarGreaterIntervalDayTimeColumn(val 1 02:03:05.000000000, col 53:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 53:interval_day_time) -> 54:boolean, IntervalDayTimeScalarNotEqualIntervalDayTimeColumn(val 1 02:03:04.000000000, col 55:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 55:interval_day_time) -> 56:boolean
Statistics: Num rows: 2 Data size: 374 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col0 (type: string)
@@ -570,7 +570,7 @@ STAGE PLANS:
native: true
nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
Statistics: Num rows: 2 Data size: 374 Basic stats: COMPLETE Column stats: COMPLETE
- value expressions: _col1 (type: boolean), _col2 (type: boolean), _col3 (type: boolean), _col4 (type: boolean), _col5 (type: boolean), _col6 (type: boolean), _col7 (type: boolean), _col8 (type: boolean), _col9 (type: boolean), _col10 (type: boolean), _col11 (type: boolean), _col12 (type: boolean), _col13 (type: boolean), _col14 (type: boolean), _col15 (type: boolean), _col16 (type: boolean), _col17 (type: boolean), _col18 (type: boolean), _col19 (type: boolean), _col20 (type: boolean), _col21 (type: boolean), _col22 (type: boolean), _col23 (type: boolean), _col24 (type: boolean)
+ value expressions: _col1 (type: boolean), _col3 (type: boolean), _col4 (type: boolean), _col6 (type: boolean), _col7 (type: boolean), _col8 (type: boolean), _col9 (type: boolean), _col10 (type: boolean), _col11 (type: boolean), _col12 (type: boolean), _col13 (type: boolean), _col14 (type: boolean), _col15 (type: boolean), _col16 (type: boolean), _col17 (type: boolean), _col18 (type: boolean), _col19 (type: boolean), _col20 (type: boolean), _col21 (type: boolean), _col22 (type: boolean), _col23 (type: boolean), _col24 (type: boolean)
Execution mode: vectorized, llap
LLAP IO: all inputs
Map Vectorization:
@@ -580,7 +580,7 @@ STAGE PLANS:
featureSupportInUse: [DECIMAL_64]
inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
allNative: true
- usesVectorUDFAdaptor: false
+ usesVectorUDFAdaptor: true
vectorized: true
Reducer 2
Execution mode: vectorized, llap
@@ -592,12 +592,12 @@ STAGE PLANS:
vectorized: true
Reduce Operator Tree:
Select Operator
- expressions: KEY.reducesinkkey0 (type: string), VALUE._col0 (type: boolean), VALUE._col1 (type: boolean), VALUE._col2 (type: boolean), VALUE._col3 (type: boolean), VALUE._col4 (type: boolean), VALUE._col5 (type: boolean), VALUE._col6 (type: boolean), VALUE._col7 (type: boolean), VALUE._col8 (type: boolean), VALUE._col9 (type: boolean), VALUE._col10 (type: boolean), VALUE._col11 (type: boolean), VALUE._col12 (type: boolean), VALUE._col13 (type: boolean), VALUE._col14 (type: boolean), VALUE._col15 (type: boolean), VALUE._col16 (type: boolean), VALUE._col17 (type: boolean), VALUE._col18 (type: boolean), VALUE._col19 (type: boolean), VALUE._col20 (type: boolean), VALUE._col21 (type: boolean), VALUE._col22 (type: boolean), VALUE._col23 (type: boolean)
+ expressions: KEY.reducesinkkey0 (type: string), VALUE._col0 (type: boolean), VALUE._col0 (type: boolean), VALUE._col1 (type: boolean), VALUE._col2 (type: boolean), VALUE._col0 (type: boolean), VALUE._col3 (type: boolean), VALUE._col4 (type: boolean), VALUE._col5 (type: boolean), VALUE._col6 (type: boolean), VALUE._col7 (type: boolean), VALUE._col8 (type: boolean), VALUE._col9 (type: boolean), VALUE._col10 (type: boolean), VALUE._col11 (type: boolean), VALUE._col12 (type: boolean), VALUE._col13 (type: boolean), VALUE._col14 (type: boolean), VALUE._col15 (type: boolean), VALUE._col16 (type: boolean), VALUE._col17 (type: boolean), VALUE._col18 (type: boolean), VALUE._col19 (type: boolean), VALUE._col20 (type: boolean), VALUE._col21 (type: boolean)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24]
+ projectedOutputColumnNums: [0, 1, 1, 2, 3, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22]
Statistics: Num rows: 2 Data size: 374 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
@@ -764,13 +764,13 @@ STAGE PLANS:
TableScan Vectorization:
native: true
Select Operator
- expressions: str3 (type: string), (CAST( str3 AS INTERVAL DAY TO SECOND) <> CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) >= CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) > CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str4 AS INTERVAL DAY TO SECOND) <= CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str4 AS INTERVAL DAY TO SECOND) < CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) <> INTERVAL'1 02:03:04.000000000') (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) >= INTERVAL'1 02:03:05.000000000') (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) > INTERVAL'1 02:03:05.000000000') (type: boolean), (CAST( str4 AS INTERVAL DAY TO SECOND) <= INTERVAL'1 02:03:04.000000000') (type: boolean), (CAST( str4 AS INTERVAL DAY TO SECOND) < INTERVAL'1 02:03:04.000000000') (type: boolean), (INTERVAL'1 02:03:04.000000000' <> CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:04.000000000' >= CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:04.000000000' > CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:05.000000000' <= CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:05.000000000' < CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean)
+ expressions: str3 (type: string), (null and CAST( str3 AS INTERVAL DAY TO SECOND) is null) (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) >= CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) > CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str4 AS INTERVAL DAY TO SECOND) <= CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str4 AS INTERVAL DAY TO SECOND) < CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) <> INTERVAL'1 02:03:04.000000000') (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) >= INTERVAL'1 02:03:05.000000000') (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) > INTERVAL'1 02:03:05.000000000') (type: boolean), (CAST( str4 AS INTERVAL DAY TO SECOND) <= INTERVAL'1 02:03:04.000000000') (type: boolean), (CAST( str4 AS INTERVAL DAY TO SECOND) < INTERVAL'1 02:03:04.000000000') (type: boolean), (INTERVAL'1 02:03:04.000000000' <> CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:04.000000000' >= CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:04.000000000' > CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:05.000000000' <= CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (INTERVAL'1 02:03:05.000000000' < CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col7, _col8, _col9, _col10, _col11, _col13, _col14, _col15, _col16, _col17
Select Vectorization:
className: VectorSelectOperator
native: true
projectedOutputColumnNums: [4, 9, 12, 15, 18, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41]
- selectExpressions: IntervalDayTimeColNotEqualIntervalDayTimeColumn(col 7:interval_day_time, col 8:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 7:interval_day_time, CastStringToIntervalDayTime(col 4:string) -> 8:interval_day_time) -> 9:boolean, IntervalDayTimeColGreaterEqualIntervalDayTimeColumn(col 10:interval_day_time, col 11:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 10:interval_day_time, CastStringToIntervalDayTime(col 5:string) -> 11:interval_day_time) -> 12:boolean, IntervalDayTimeColGreaterIntervalDayTimeColumn(col 13:interval_day_time, col 14:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 13:interval_day_time, CastStringToIntervalDayTime(col 5:string) -> 14:interval_day_time) -> 15:boolean, IntervalDayTimeColLessEqualIntervalDayTimeColumn(col 16:interval_day_time, col 17:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 16:interval_day_time, CastStringToIntervalDayTime(col 4:string) -> 17:interval_day_time) -> 18:boolean, IntervalDayTimeColLessIntervalDayTimeColumn(col 19:interval_day_time, col 20:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 19:interval_day_time, CastStringToIntervalDayTime(col 4:string) -> 20:interval_day_time) -> 21:boolean, IntervalDayTimeColNotEqualIntervalDayTimeScalar(col 22:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 22:interval_day_time) -> 23:boolean, IntervalDayTimeColGreaterEqualIntervalDayTimeScalar(col 24:interval_day_time, val 1 02:03:05.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 24:interval_day_time) -> 25:boolean, IntervalDayTimeColGreaterIntervalDayTimeScalar(col 26:interval_day_time, val 1 02:03:05.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 26:interval_day_time) -> 27:boolean, IntervalDayTimeColLessEqualIntervalDayTimeScalar(col 28:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 5:string) -> 28:interval_day_time) -> 29:boolean, IntervalDayTimeColLessIntervalDayTimeScalar(col 30:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 5:string) -> 30:interval_day_time) -> 31:boolean, IntervalDayTimeScalarNotEqualIntervalDayTimeColumn(val 1 02:03:04.000000000, col 32:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 32:interval_day_time) -> 33:boolean, IntervalDayTimeScalarGreaterEqualIntervalDayTimeColumn(val 1 02:03:04.000000000, col 34:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 34:interval_day_time) -> 35:boolean, IntervalDayTimeScalarGreaterIntervalDayTimeColumn(val 1 02:03:04.000000000, col 36:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 36:interval_day_time) -> 37:boolean, IntervalDayTimeScalarLessEqualIntervalDayTimeColumn(val 1 02:03:05.000000000, col 38:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 38:interval_day_time) -> 39:boolean, IntervalDayTimeScalarLessIntervalDayTimeColumn(val 1 02:03:05.000000000, col 40:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 40:interval_day_time) -> 41:boolean
+ selectExpressions: VectorUDFAdaptor((null and CAST( str3 AS INTERVAL DAY TO SECOND) is null))(children: IsNull(col 7:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 7:interval_day_time) -> 8:boolean) -> 9:boolean, IntervalDayTimeColGreaterEqualIntervalDayTimeColumn(col 10:interval_day_time, col 11:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 10:interval_day_time, CastStringToIntervalDayTime(col 5:string) -> 11:interval_day_time) -> 12:boolean, IntervalDayTimeColGreaterIntervalDayTimeColumn(col 13:interval_day_time, col 14:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 13:interval_day_time, CastStringToIntervalDayTime(col 5:string) -> 14:interval_day_time) -> 15:boolean, IntervalDayTimeColLessEqualIntervalDayTimeColumn(col 16:interval_day_time, col 17:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 16:interval_day_time, CastStringToIntervalDayTime(col 4:string) -> 17:interval_day_time) -> 18:boolean, IntervalDayTimeColLessIntervalDayTimeColumn(col 19:interval_day_time, col 20:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 19:interval_day_time, CastStringToIntervalDayTime(col 4:string) -> 20:interval_day_time) -> 21:boolean, IntervalDayTimeColNotEqualIntervalDayTimeScalar(col 22:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 22:interval_day_time) -> 23:boolean, IntervalDayTimeColGreaterEqualIntervalDayTimeScalar(col 24:interval_day_time, val 1 02:03:05.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 24:interval_day_time) -> 25:boolean, IntervalDayTimeColGreaterIntervalDayTimeScalar(col 26:interval_day_time, val 1 02:03:05.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 26:interval_day_time) -> 27:boolean, IntervalDayTimeColLessEqualIntervalDayTimeScalar(col 28:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 5:string) -> 28:interval_day_time) -> 29:boolean, IntervalDayTimeColLessIntervalDayTimeScalar(col 30:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 5:string) -> 30:interval_day_time) -> 31:boolean, IntervalDayTimeScalarNotEqualIntervalDayTimeColumn(val 1 02:03:04.000000000, col 32:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 32:interval_day_time) -> 33:boolean, IntervalDayTimeScalarGreaterEqualIntervalDayTimeColumn(val 1 02:03:04.000000000, col 34:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 34:interval_day_time) -> 35:boolean, IntervalDayTimeScalarGreaterIntervalDayTimeColumn(val 1 02:03:04.000000000, col 36:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 36:interval_day_time) -> 37:boolean, IntervalDayTimeScalarLessEqualIntervalDayTimeColumn(val 1 02:03:05.000000000, col 38:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 38:interval_day_time) -> 39:boolean, IntervalDayTimeScalarLessIntervalDayTimeColumn(val 1 02:03:05.000000000, col 40:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 40:interval_day_time) -> 41:boolean
Statistics: Num rows: 2 Data size: 326 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col0 (type: string)
@@ -790,7 +790,7 @@ STAGE PLANS:
featureSupportInUse: [DECIMAL_64]
inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
allNative: true
- usesVectorUDFAdaptor: false
+ usesVectorUDFAdaptor: true
vectorized: true
Reducer 2
Execution mode: vectorized, llap
@@ -956,7 +956,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: vector_interval_2
- filterExpr: ((CAST( str1 AS INTERVAL YEAR TO MONTH) = CAST( str1 AS INTERVAL YEAR TO MONTH)) and (CAST( str1 AS INTERVAL YEAR TO MONTH) <> CAST( str2 AS INTERVAL YEAR TO MONTH)) and (CAST( str1 AS INTERVAL YEAR TO MONTH) <= CAST( str2 AS INTERVAL YEAR TO MONTH)) and (CAST( str1 AS INTERVAL YEAR TO MONTH) < CAST( str2 AS INTERVAL YEAR TO MONTH)) and (CAST( str2 AS INTERVAL YEAR TO MONTH) >= CAST( str1 AS INTERVAL YEAR TO MONTH)) and (CAST( str2 AS INTERVAL YEAR TO MONTH) > CAST( str1 AS INTERVAL YEAR TO MONTH)) and (CAST( str1 AS INTERVAL YEAR TO MONTH) = INTERVAL'1-2') and (CAST( str1 AS INTERVAL YEAR TO MONTH) <> INTERVAL'1-3') and (CAST( str1 AS INTERVAL YEAR TO MONTH) <= INTERVAL'1-3') and (CAST( str1 AS INTERVAL YEAR TO MONTH) < INTERVAL'1-3') and (CAST( str2 AS INTERVAL YEAR TO MONTH) >= INTERVAL'1-2') and (CAST( str2 AS INTERVAL YEAR TO MONTH) > INTERVAL'1-2') and (INTERVAL'1-2' = CAST( str1 AS INTERVAL YEAR TO MONTH)) and (INTERVAL'1-2' <> CAST( str2 AS INTERVAL YEAR TO MONTH)) and (INTERVAL'1-2' <= CAST( str2 AS INTERVAL YEAR TO MONTH)) and (INTERVAL'1-2' < CAST( str2 AS INTERVAL YEAR TO MONTH)) and (INTERVAL'1-3' >= CAST( str1 AS INTERVAL YEAR TO MONTH)) and (INTERVAL'1-3' > CAST( str1 AS INTERVAL YEAR TO MONTH))) (type: boolean)
+ filterExpr: ((CAST( str1 AS INTERVAL YEAR TO MONTH) <> CAST( str2 AS INTERVAL YEAR TO MONTH)) and (CAST( str1 AS INTERVAL YEAR TO MONTH) <= CAST( str2 AS INTERVAL YEAR TO MONTH)) and (CAST( str1 AS INTERVAL YEAR TO MONTH) < CAST( str2 AS INTERVAL YEAR TO MONTH)) and (CAST( str2 AS INTERVAL YEAR TO MONTH) >= CAST( str1 AS INTERVAL YEAR TO MONTH)) and (CAST( str2 AS INTERVAL YEAR TO MONTH) > CAST( str1 AS INTERVAL YEAR TO MONTH)) and (CAST( str1 AS INTERVAL YEAR TO MONTH) = INTERVAL'1-2') and (CAST( str1 AS INTERVAL YEAR TO MONTH) <> INTERVAL'1-3') and (CAST( str1 AS INTERVAL YEAR TO MONTH) <= INTERVAL'1-3') and (CAST( str1 AS INTERVAL YEAR TO MONTH) < INTERVAL'1-3') and (CAST( str2 AS INTERVAL YEAR TO MONTH) >= INTERVAL'1-2') and (CAST( str2 AS INTERVAL YEAR TO MONTH) > INTERVAL'1-2') and (INTERVAL'1-2' = CAST( str1 AS INTERVAL YEAR TO MONTH)) and (INTERVAL'1-2' <> CAST( str2 AS INTERVAL YEAR TO MONTH)) and (INTERVAL'1-2' <= CAST( str2 AS INTERVAL YEAR TO MONTH)) and (INTERVAL'1-2' < CAST( str2 AS INTERVAL YEAR TO MONTH)) and (INTERVAL'1-3' >= CAST( str1 AS INTERVAL YEAR TO MONTH)) and (INTERVAL'1-3' > CAST( str1 AS INTERVAL YEAR TO MONTH))) (type: boolean)
Statistics: Num rows: 2 Data size: 428 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -964,8 +964,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children: FilterLongColEqualLongColumn(col 7:interval_year_month, col 8:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 7:interval_year_month, CastStringToIntervalYearMonth(col 2:string) -> 8:interval_year_month), FilterLongColNotEqualLongColumn(col 9:interval_year_month, col 10:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 9:interval_year_month, CastStringToIntervalYearMonth(col 3:string) -> 10:interval_year_month), FilterLongColLessEqualLongColumn(col 11:interval_year_month, col 12:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 11:interval_year_month, CastStringToIntervalYearMonth(col 3:string) -> 12:interval_year_month), FilterLongColLessLongColumn(col 13:interval_year_month, col 14:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 13:interval_year_month, CastStringToIntervalYearMonth(col 3:string) -> 14:interval_year_month), FilterLongColGreaterEqualLongColumn(col 15:interval_year_month, col 16:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 15:interval_year_month, CastStringToIntervalYearMonth(col 2:string) -> 16:interval_year_month), FilterLongColGreaterLongColumn(col 17:interval_year_month, col 18:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 17:interval_year_month, CastStringToIntervalYearMonth(col 2:string) -> 18:interval_year_month), FilterIntervalYearMonthColEqualIntervalYearMonthScalar(col 19:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 2:string) -> 19:interval_year_month), FilterIntervalYearMonthColNotEqualIntervalYearMonthScalar(col 20:interval_year_month, val 15)(children: CastStringToIntervalYearMonth(col 2:string) -> 20:interval_year_month), FilterIntervalYearMonthColLessEqualIntervalYearMonthScalar(col 21:interval_year_month, val 15)(children: CastStringToIntervalYearMonth(col 2:string) -> 21:interval_year_month), FilterIntervalYearMonthColLessIntervalYearMonthScalar(col 22:interval_year_month, val 15)(children: CastStringToIntervalYearMonth(col 2:string) -> 22:interval_year_month), FilterIntervalYearMonthColGreaterEqualIntervalYearMonthScalar(col 23:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 3:string) -> 23:interval_year_month), FilterIntervalYearMonthColGreaterIntervalYearMonthScalar(col 24:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 3:string) -> 24:interval_year_month), FilterIntervalYearMonthScalarEqualIntervalYearMonthColumn(val 14, col 25:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 25:interval_year_month), FilterIntervalYearMonthScalarNotEqualIntervalYearMonthColumn(val 14, col 26:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 26:interval_year_month), FilterIntervalYearMonthScalarLessEqualIntervalYearMonthColumn(val 14, col 27:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 27:interval_year_month), FilterIntervalYearMonthScalarLessIntervalYearMonthColumn(val 14, col 28:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 28:interval_year_month), FilterIntervalYearMonthScalarGreaterEqualIntervalYearMonthColumn(val 15, col 29:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 29:interval_year_month), FilterIntervalYearMonthScalarGreaterIntervalYearMonthColumn(val 15, col 30:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 30:interval_year_month))
- predicate: ((CAST( str1 AS INTERVAL YEAR TO MONTH) < CAST( str2 AS INTERVAL YEAR TO MONTH)) and (CAST( str1 AS INTERVAL YEAR TO MONTH) < INTERVAL'1-3') and (CAST( str1 AS INTERVAL YEAR TO MONTH) <= CAST( str2 AS INTERVAL YEAR TO MONTH)) and (CAST( str1 AS INTERVAL YEAR TO MONTH) <= INTERVAL'1-3') and (CAST( str1 AS INTERVAL YEAR TO MONTH) <> CAST( str2 AS INTERVAL YEAR TO MONTH)) and (CAST( str1 AS INTERVAL YEAR TO MONTH) <> INTERVAL'1-3') and (CAST( str1 AS INTERVAL YEAR TO MONTH) = CAST( str1 AS INTERVAL YEAR TO MONTH)) and (CAST( str1 AS INTERVAL YEAR TO MONTH) = INTERVAL'1-2') and (CAST( str2 AS INTERVAL YEAR TO MONTH) > CAST( str1 AS INTERVAL YEAR TO MONTH)) and (CAST( str2 AS INTERVAL YEAR TO MONTH) > INTERVAL'1-2') and (CAST( str2 AS INTERVAL YEAR TO MONTH) >= CAST( str1 AS INTERVAL YEAR TO MONTH)) and (CAST( str2 AS INTERVAL YEAR TO MONTH) >= INTERVAL'1-2') and (INTERVAL'1-2' < CAST( str2 AS INTERVAL YEAR TO MONTH)) and (INTERVAL'1-2' <= CAST( str2 AS INTERVAL YEAR TO MONTH)) and (INTERVAL'1-2' <> CAST( str2 AS INTERVAL YEAR TO MONTH)) and (INTERVAL'1-2' = CAST( str1 AS INTERVAL YEAR TO MONTH)) and (INTERVAL'1-3' > CAST( str1 AS INTERVAL YEAR TO MONTH)) and (INTERVAL'1-3' >= CAST( str1 AS INTERVAL YEAR TO MONTH))) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: FilterLongColNotEqualLongColumn(col 7:interval_year_month, col 8:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 7:interval_year_month, CastStringToIntervalYearMonth(col 3:string) -> 8:interval_year_month), FilterLongColLessEqualLongColumn(col 9:interval_year_month, col 10:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 9:interval_year_month, CastStringToIntervalYearMonth(col 3:string) -> 10:interval_year_month), FilterLongColLessLongColumn(col 11:interval_year_month, col 12:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 11:interval_year_month, CastStringToIntervalYearMonth(col 3:string) -> 12:interval_year_month), FilterLongColGreaterEqualLongColumn(col 13:interval_year_month, col 14:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 13:interval_year_month, CastStringToIntervalYearMonth(col 2:string) -> 14:interval_year_month), FilterLongColGreaterLongColumn(col 15:interval_year_month, col 16:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 15:interval_year_month, CastStringToIntervalYearMonth(col 2:string) -> 16:interval_year_month), FilterIntervalYearMonthColEqualIntervalYearMonthScalar(col 17:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 2:string) -> 17:interval_year_month), FilterIntervalYearMonthColNotEqualIntervalYearMonthScalar(col 18:interval_year_month, val 15)(children: CastStringToIntervalYearMonth(col 2:string) -> 18:interval_year_month), FilterIntervalYearMonthColLessEqualIntervalYearMonthScalar(col 19:interval_year_month, val 15)(children: CastStringToIntervalYearMonth(col 2:string) -> 19:interval_year_month), FilterIntervalYearMonthColLessIntervalYearMonthScalar(col 20:interval_year_month, val 15)(children: CastStringToIntervalYearMonth(col 2:string) -> 20:interval_year_month), FilterIntervalYearMonthColGreaterEqualIntervalYearMonthScalar(col 21:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 3:string) -> 21:interval_year_month), FilterIntervalYearMonthColGreaterIntervalYearMonthScalar(col 22:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 3:string) -> 22:interval_year_month), FilterIntervalYearMonthScalarEqualIntervalYearMonthColumn(val 14, col 23:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 23:interval_year_month), FilterIntervalYearMonthScalarNotEqualIntervalYearMonthColumn(val 14, col 24:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 24:interval_year_month), FilterIntervalYearMonthScalarLessEqualIntervalYearMonthColumn(val 14, col 25:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 25:interval_year_month), FilterIntervalYearMonthScalarLessIntervalYearMonthColumn(val 14, col 26:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 26:interval_year_month), FilterIntervalYearMonthScalarGreaterEqualIntervalYearMonthColumn(val 15, col 27:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 27:interval_year_month), FilterIntervalYearMonthScalarGreaterIntervalYearMonthColumn(val 15, col 28:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 28:interval_year_month))
+ predicate: ((CAST( str1 AS INTERVAL YEAR TO MONTH) < CAST( str2 AS INTERVAL YEAR TO MONTH)) and (CAST( str1 AS INTERVAL YEAR TO MONTH) < INTERVAL'1-3') and (CAST( str1 AS INTERVAL YEAR TO MONTH) <= CAST( str2 AS INTERVAL YEAR TO MONTH)) and (CAST( str1 AS INTERVAL YEAR TO MONTH) <= INTERVAL'1-3') and (CAST( str1 AS INTERVAL YEAR TO MONTH) <> CAST( str2 AS INTERVAL YEAR TO MONTH)) and (CAST( str1 AS INTERVAL YEAR TO MONTH) <> INTERVAL'1-3') and (CAST( str1 AS INTERVAL YEAR TO MONTH) = INTERVAL'1-2') and (CAST( str2 AS INTERVAL YEAR TO MONTH) > CAST( str1 AS INTERVAL YEAR TO MONTH)) and (CAST( str2 AS INTERVAL YEAR TO MONTH) > INTERVAL'1-2') and (CAST( str2 AS INTERVAL YEAR TO MONTH) >= CAST( str1 AS INTERVAL YEAR TO MONTH)) and (CAST( str2 AS INTERVAL YEAR TO MONTH) >= INTERVAL'1-2') and (INTERVAL'1-2' < CAST( str2 AS INTERVAL YEAR TO MONTH)) and (INTERVAL'1-2' <= CAST( str2 AS INTERVAL YEAR TO MONTH)) and (INTERVAL'1-2' <> CAST( str2 AS INTERVAL YEAR TO MONTH)) and (INTERVAL'1-2' = CAST( str1 AS INTERVAL YEAR TO MONTH)) and (INTERVAL'1-3' > CAST( str1 AS INTERVAL YEAR TO MONTH)) and (INTERVAL'1-3' >= CAST( str1 AS INTERVAL YEAR TO MONTH))) (type: boolean)
Statistics: Num rows: 1 Data size: 214 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: ts (type: timestamp)
@@ -1155,7 +1155,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: vector_interval_2
- filterExpr: ((CAST( str3 AS INTERVAL DAY TO SECOND) = CAST( str3 AS INTERVAL DAY TO SECOND)) and (CAST( str3 AS INTERVAL DAY TO SECOND) <> CAST( str4 AS INTERVAL DAY TO SECOND)) and (CAST( str3 AS INTERVAL DAY TO SECOND) <= CAST( str4 AS INTERVAL DAY TO SECOND)) and (CAST( str3 AS INTERVAL DAY TO SECOND) < CAST( str4 AS INTERVAL DAY TO SECOND)) and (CAST( str4 AS INTERVAL DAY TO SECOND) >= CAST( str3 AS INTERVAL DAY TO SECOND)) and (CAST( str4 AS INTERVAL DAY TO SECOND) > CAST( str3 AS INTERVAL DAY TO SECOND)) and (CAST( str3 AS INTERVAL DAY TO SECOND) = INTERVAL'1 02:03:04.000000000') and (CAST( str3 AS INTERVAL DAY TO SECOND) <> INTERVAL'1 02:03:05.000000000') and (CAST( str3 AS INTERVAL DAY TO SECOND) <= INTERVAL'1 02:03:05.000000000') and (CAST( str3 AS INTERVAL DAY TO SECOND) < INTERVAL'1 02:03:05.000000000') and (CAST( str4 AS INTERVAL DAY TO SECOND) >= INTERVAL'1 02:03:04.000000000') and (CAST( str4 AS INTERVAL DAY TO SECOND) > INTERVAL'1 02:03:04.000000000') and (INTERVAL'1 02:03:04.000000000' = CAST( str3 AS INTERVAL DAY TO SECOND)) and (INTERVAL'1 02:03:04.000000000' <> CAST( str4 AS INTERVAL DAY TO SECOND)) and (INTERVAL'1 02:03:04.000000000' <= CAST( str4 AS INTERVAL DAY TO SECOND)) and (INTERVAL'1 02:03:04.000000000' < CAST( str4 AS INTERVAL DAY TO SECOND)) and (INTERVAL'1 02:03:05.000000000' >= CAST( str3 AS INTERVAL DAY TO SECOND)) and (INTERVAL'1 02:03:05.000000000' > CAST( str3 AS INTERVAL DAY TO SECOND))) (type: boolean)
+ filterExpr: ((CAST( str3 AS INTERVAL DAY TO SECOND) <> CAST( str4 AS INTERVAL DAY TO SECOND)) and (CAST( str3 AS INTERVAL DAY TO SECOND) <= CAST( str4 AS INTERVAL DAY TO SECOND)) and (CAST( str3 AS INTERVAL DAY TO SECOND) < CAST( str4 AS INTERVAL DAY TO SECOND)) and (CAST( str4 AS INTERVAL DAY TO SECOND) >= CAST( str3 AS INTERVAL DAY TO SECOND)) and (CAST( str4 AS INTERVAL DAY TO SECOND) > CAST( str3 AS INTERVAL DAY TO SECOND)) and (CAST( str3 AS INTERVAL DAY TO SECOND) = INTERVAL'1 02:03:04.000000000') and (CAST( str3 AS INTERVAL DAY TO SECOND) <> INTERVAL'1 02:03:05.000000000') and (CAST( str3 AS INTERVAL DAY TO SECOND) <= INTERVAL'1 02:03:05.000000000') and (CAST( str3 AS INTERVAL DAY TO SECOND) < INTERVAL'1 02:03:05.000000000') and (CAST( str4 AS INTERVAL DAY TO SECOND) >= INTERVAL'1 02:03:04.000000000') and (CAST( str4 AS INTERVAL DAY TO SECOND) > INTERVAL'1 02:03:04.000000000') and (INTERVAL'1 02:03:04.000000000' = CAST( str3 AS INTERVAL DAY TO SECOND)) and (INTERVAL'1 02:03:04.000000000' <> CAST( str4 AS INTERVAL DAY TO SECOND)) and (INTERVAL'1 02:03:04.000000000' <= CAST( str4 AS INTERVAL DAY TO SECOND)) and (INTERVAL'1 02:03:04.000000000' < CAST( str4 AS INTERVAL DAY TO SECOND)) and (INTERVAL'1 02:03:05.000000000' >= CAST( str3 AS INTERVAL DAY TO SECOND)) and (INTERVAL'1 02:03:05.000000000' > CAST( str3 AS INTERVAL DAY TO SECOND))) (type: boolean)
Statistics: Num rows: 2 Data size: 444 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -1163,8 +1163,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children: FilterIntervalDayTimeColEqualIntervalDayTimeColumn(col 7:interval_day_time, col 8:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 7:interval_day_time, CastStringToIntervalDayTime(col 4:string) -> 8:interval_day_time), FilterIntervalDayTimeColNotEqualIntervalDayTimeColumn(col 9:interval_day_time, col 10:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 9:interval_day_time, CastStringToIntervalDayTime(col 5:string) -> 10:interval_day_time), FilterIntervalDayTimeColLessEqualIntervalDayTimeColumn(col 11:interval_day_time, col 12:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 11:interval_day_time, CastStringToIntervalDayTime(col 5:string) -> 12:interval_day_time), FilterIntervalDayTimeColLessIntervalDayTimeColumn(col 13:interval_day_time, col 14:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 13:interval_day_time, CastStringToIntervalDayTime(col 5:string) -> 14:interval_day_time), FilterIntervalDayTimeColGreaterEqualIntervalDayTimeColumn(col 15:interval_day_time, col 16:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 15:interval_day_time, CastStringToIntervalDayTime(col 4:string) -> 16:interval_day_time), FilterIntervalDayTimeColGreaterIntervalDayTimeColumn(col 17:interval_day_time, col 18:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 17:interval_day_time, CastStringToIntervalDayTime(col 4:string) -> 18:interval_day_time), FilterIntervalDayTimeColEqualIntervalDayTimeScalar(col 19:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 19:interval_day_time), FilterIntervalDayTimeColNotEqualIntervalDayTimeScalar(col 20:interval_day_time, val 1 02:03:05.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 20:interval_day_time), FilterIntervalDayTimeColLessEqualIntervalDayTimeScalar(col 21:interval_day_time, val 1 02:03:05.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 21:interval_day_time), FilterIntervalDayTimeColLessIntervalDayTimeScalar(col 22:interval_day_time, val 1 02:03:05.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 22:interval_day_time), FilterIntervalDayTimeColGreaterEqualIntervalDayTimeScalar(col 23:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 5:string) -> 23:interval_day_time), FilterIntervalDayTimeColGreaterIntervalDayTimeScalar(col 24:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 5:string) -> 24:interval_day_time), FilterIntervalDayTimeScalarEqualIntervalDayTimeColumn(val 1 02:03:04.000000000, col 25:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 25:interval_day_time), FilterIntervalDayTimeScalarNotEqualIntervalDayTimeColumn(val 1 02:03:04.000000000, col 26:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 26:interval_day_time), FilterIntervalDayTimeScalarLessEqualIntervalDayTimeColumn(val 1 02:03:04.000000000, col 27:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 27:interval_day_time), FilterIntervalDayTimeScalarLessIntervalDayTimeColumn(val 1 02:03:04.000000000, col 28:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 28:interval_day_time), FilterIntervalDayTimeScalarGreaterEqualIntervalDayTimeColumn(val 1 02:03:05.000000000, col 29:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 29:interval_day_time), FilterIntervalDayTimeScalarGreaterIntervalDayTimeColumn(val 1 02:03:05.000000000, col 30:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 30:interval_day_time))
- predicate: ((CAST( str3 AS INTERVAL DAY TO SECOND) < CAST( str4 AS INTERVAL DAY TO SECOND)) and (CAST( str3 AS INTERVAL DAY TO SECOND) < INTERVAL'1 02:03:05.000000000') and (CAST( str3 AS INTERVAL DAY TO SECOND) <= CAST( str4 AS INTERVAL DAY TO SECOND)) and (CAST( str3 AS INTERVAL DAY TO SECOND) <= INTERVAL'1 02:03:05.000000000') and (CAST( str3 AS INTERVAL DAY TO SECOND) <> CAST( str4 AS INTERVAL DAY TO SECOND)) and (CAST( str3 AS INTERVAL DAY TO SECOND) <> INTERVAL'1 02:03:05.000000000') and (CAST( str3 AS INTERVAL DAY TO SECOND) = CAST( str3 AS INTERVAL DAY TO SECOND)) and (CAST( str3 AS INTERVAL DAY TO SECOND) = INTERVAL'1 02:03:04.000000000') and (CAST( str4 AS INTERVAL DAY TO SECOND) > CAST( str3 AS INTERVAL DAY TO SECOND)) and (CAST( str4 AS INTERVAL DAY TO SECOND) > INTERVAL'1 02:03:04.000000000') and (CAST( str4 AS INTERVAL DAY TO SECOND) >= CAST( str3 AS INTERVAL DAY TO SECOND)) and (CAST( str4 AS INTERVAL DAY TO SECOND) >= INTERVAL'1 02:03:04.000000000') and (INTERVAL'1 02:03:04.000000000' < CAST( str4 AS INTERVAL DAY TO SECOND)) and (INTERVAL'1 02:03:04.000000000' <= CAST( str4 AS INTERVAL DAY TO SECOND)) and (INTERVAL'1 02:03:04.000000000' <> CAST( str4 AS INTERVAL DAY TO SECOND)) and (INTERVAL'1 02:03:04.000000000' = CAST( str3 AS INTERVAL DAY TO SECOND)) and (INTERVAL'1 02:03:05.000000000' > CAST( str3 AS INTERVAL DAY TO SECOND)) and (INTERVAL'1 02:03:05.000000000' >= CAST( str3 AS INTERVAL DAY TO SECOND))) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: FilterIntervalDayTimeColNotEqualIntervalDayTimeColumn(col 7:interval_day_time, col 8:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 7:interval_day_time, CastStringToIntervalDayTime(col 5:string) -> 8:interval_day_time), FilterIntervalDayTimeColLessEqualIntervalDayTimeColumn(col 9:interval_day_time, col 10:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 9:interval_day_time, CastStringToIntervalDayTime(col 5:string) -> 10:interval_day_time), FilterIntervalDayTimeColLessIntervalDayTimeColumn(col 11:interval_day_time, col 12:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 11:interval_day_time, CastStringToIntervalDayTime(col 5:string) -> 12:interval_day_time), FilterIntervalDayTimeColGreaterEqualIntervalDayTimeColumn(col 13:interval_day_time, col 14:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 13:interval_day_time, CastStringToIntervalDayTime(col 4:string) -> 14:interval_day_time), FilterIntervalDayTimeColGreaterIntervalDayTimeColumn(col 15:interval_day_time, col 16:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 15:interval_day_time, CastStringToIntervalDayTime(col 4:string) -> 16:interval_day_time), FilterIntervalDayTimeColEqualIntervalDayTimeScalar(col 17:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 17:interval_day_time), FilterIntervalDayTimeColNotEqualIntervalDayTimeScalar(col 18:interval_day_time, val 1 02:03:05.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 18:interval_day_time), FilterIntervalDayTimeColLessEqualIntervalDayTimeScalar(col 19:interval_day_time, val 1 02:03:05.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 19:interval_day_time), FilterIntervalDayTimeColLessIntervalDayTimeScalar(col 20:interval_day_time, val 1 02:03:05.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 20:interval_day_time), FilterIntervalDayTimeColGreaterEqualIntervalDayTimeScalar(col 21:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 5:string) -> 21:interval_day_time), FilterIntervalDayTimeColGreaterIntervalDayTimeScalar(col 22:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 5:string) -> 22:interval_day_time), FilterIntervalDayTimeScalarEqualIntervalDayTimeColumn(val 1 02:03:04.000000000, col 23:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 23:interval_day_time), FilterIntervalDayTimeScalarNotEqualIntervalDayTimeColumn(val 1 02:03:04.000000000, col 24:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 24:interval_day_time), FilterIntervalDayTimeScalarLessEqualIntervalDayTimeColumn(val 1 02:03:04.000000000, col 25:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 25:interval_day_time), FilterIntervalDayTimeScalarLessIntervalDayTimeColumn(val 1 02:03:04.000000000, col 26:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 26:interval_day_time), FilterIntervalDayTimeScalarGreaterEqualIntervalDayTimeColumn(val 1 02:03:05.000000000, col 27:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 27:interval_day_time), FilterIntervalDayTimeScalarGreaterIntervalDayTimeColumn(val 1 02:03:05.000000000, col 28:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 28:interval_day_time))
+ predicate: ((CAST( str3 AS INTERVAL DAY TO SECOND) < CAST( str4 AS INTERVAL DAY TO SECOND)) and (CAST( str3 AS INTERVAL DAY TO SECOND) < INTERVAL'1 02:03:05.000000000') and (CAST( str3 AS INTERVAL DAY TO SECOND) <= CAST( str4 AS INTERVAL DAY TO SECOND)) and (CAST( str3 AS INTERVAL DAY TO SECOND) <= INTERVAL'1 02:03:05.000000000') and (CAST( str3 AS INTERVAL DAY TO SECOND) <> CAST( str4 AS INTERVAL DAY TO SECOND)) and (CAST( str3 AS INTERVAL DAY TO SECOND) <> INTERVAL'1 02:03:05.000000000') and (CAST( str3 AS INTERVAL DAY TO SECOND) = INTERVAL'1 02:03:04.000000000') and (CAST( str4 AS INTERVAL DAY TO SECOND) > CAST( str3 AS INTERVAL DAY TO SECOND)) and (CAST( str4 AS INTERVAL DAY TO SECOND) > INTERVAL'1 02:03:04.000000000') and (CAST( str4 AS INTERVAL DAY TO SECOND) >= CAST( str3 AS INTERVAL DAY TO SECOND)) and (CAST( str4 AS INTERVAL DAY TO SECOND) >= INTERVAL'1 02:03:04.000000000') and (INTERVAL'1 02:03:04.000000000' < CAST( str4 AS INTERVAL DAY TO SECOND)) and (INTERVAL'1 02:03:04.000000000' <= CAST( str4 AS INTERVAL DAY TO SECOND)) and (INTERVAL'1 02:03:04.000000000' <> CAST( str4 AS INTERVAL DAY TO SECOND)) and (INTERVAL'1 02:03:04.000000000' = CAST( str3 AS INTERVAL DAY TO SECOND)) and (INTERVAL'1 02:03:05.000000000' > CAST( str3 AS INTERVAL DAY TO SECOND)) and (INTERVAL'1 02:03:05.000000000' >= CAST( str3 AS INTERVAL DAY TO SECOND))) (type: boolean)
Statistics: Num rows: 1 Data size: 222 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: ts (type: timestamp)
diff --git ql/src/test/results/clientpositive/llap/vector_interval_mapjoin.q.out ql/src/test/results/clientpositive/llap/vector_interval_mapjoin.q.out
index abf998eb90..6d4d105bb9 100644
--- ql/src/test/results/clientpositive/llap/vector_interval_mapjoin.q.out
+++ ql/src/test/results/clientpositive/llap/vector_interval_mapjoin.q.out
@@ -206,7 +206,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: vectortab_a_1korc
- filterExpr: (dt is not null and ts is not null and s is not null) (type: boolean)
+ filterExpr: (dt is not null and CAST( ts AS DATE) is not null and s is not null) (type: boolean)
Statistics: Num rows: 1000 Data size: 187480 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -214,8 +214,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children: SelectColumnIsNotNull(col 12:date), SelectColumnIsNotNull(col 10:timestamp), SelectColumnIsNotNull(col 8:string))
- predicate: (dt is not null and s is not null and ts is not null) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: SelectColumnIsNotNull(col 12:date), SelectColumnIsNotNull(col 14:date)(children: CastTimestampToDate(col 10:timestamp) -> 14:date), SelectColumnIsNotNull(col 8:string))
+ predicate: (CAST( ts AS DATE) is not null and dt is not null and s is not null) (type: boolean)
Statistics: Num rows: 954 Data size: 178852 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: s (type: string), (dt - CAST( ts AS DATE)) (type: interval_day_time)
@@ -223,8 +223,8 @@ STAGE PLANS:
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [8, 15]
- selectExpressions: DateColSubtractDateColumn(col 12:date, col 14:date)(children: CastTimestampToDate(col 10:timestamp) -> 14:date) -> 15:interval_day_time
+ projectedOutputColumnNums: [8, 16]
+ selectExpressions: DateColSubtractDateColumn(col 12:date, col 15:date)(children: CastTimestampToDate(col 10:timestamp) -> 15:date) -> 16:interval_day_time
Statistics: Num rows: 954 Data size: 101124 Basic stats: COMPLETE Column stats: COMPLETE
Map Join Operator
condition map:
@@ -247,7 +247,7 @@ STAGE PLANS:
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [8, 8, 15]
+ projectedOutputColumnNums: [8, 8, 16]
Statistics: Num rows: 33319 Data size: 6663800 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
@@ -274,7 +274,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: vectortab_b_1korc
- filterExpr: (dt is not null and ts is not null and s is not null) (type: boolean)
+ filterExpr: (dt is not null and CAST( ts AS DATE) is not null and s is not null) (type: boolean)
Statistics: Num rows: 1000 Data size: 186864 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -282,8 +282,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children: SelectColumnIsNotNull(col 12:date), SelectColumnIsNotNull(col 10:timestamp), SelectColumnIsNotNull(col 8:string))
- predicate: (dt is not null and s is not null and ts is not null) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: SelectColumnIsNotNull(col 12:date), SelectColumnIsNotNull(col 14:date)(children: CastTimestampToDate(col 10:timestamp) -> 14:date), SelectColumnIsNotNull(col 8:string))
+ predicate: (CAST( ts AS DATE) is not null and dt is not null and s is not null) (type: boolean)
Statistics: Num rows: 943 Data size: 176202 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: s (type: string), (dt - CAST( ts AS DATE)) (type: interval_day_time)
@@ -291,8 +291,8 @@ STAGE PLANS:
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [8, 15]
- selectExpressions: DateColSubtractDateColumn(col 12:date, col 14:date)(children: CastTimestampToDate(col 10:timestamp) -> 14:date) -> 15:interval_day_time
+ projectedOutputColumnNums: [8, 16]
+ selectExpressions: DateColSubtractDateColumn(col 12:date, col 15:date)(children: CastTimestampToDate(col 10:timestamp) -> 15:date) -> 16:interval_day_time
Statistics: Num rows: 943 Data size: 99958 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col0 (type: string), _col1 (type: interval_day_time)
diff --git ql/src/test/results/clientpositive/llap/vector_orc_nested_column_pruning.q.out ql/src/test/results/clientpositive/llap/vector_orc_nested_column_pruning.q.out
index 944a36329c..3f67e0b5a3 100644
--- ql/src/test/results/clientpositive/llap/vector_orc_nested_column_pruning.q.out
+++ ql/src/test/results/clientpositive/llap/vector_orc_nested_column_pruning.q.out
@@ -599,7 +599,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: nested_tbl_1
- filterExpr: (s1.f1 = false) (type: boolean)
+ filterExpr: (not s1.f1) (type: boolean)
Pruned Column Paths: s1.f2, s1.f1
Statistics: Num rows: 1 Data size: 316 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
@@ -608,8 +608,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterLongColEqualLongScalar(col 8:boolean, val 0)(children: VectorUDFStructField(col 1:struct,f6:int>, col 0:int) -> 8:boolean)
- predicate: (s1.f1 = false) (type: boolean)
+ predicateExpression: SelectColumnIsFalse(col 8:boolean)(children: VectorUDFStructField(col 1:struct,f6:int>, col 0:int) -> 8:boolean)
+ predicate: (not s1.f1) (type: boolean)
Statistics: Num rows: 1 Data size: 316 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: s1.f2 (type: string)
@@ -1494,7 +1494,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: t2
- filterExpr: ((s2.f8.f9 = false) and s1.f6 is not null) (type: boolean)
+ filterExpr: (s1.f6 is not null and (not s2.f8.f9)) (type: boolean)
Statistics: Num rows: 1 Data size: 1468 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
@@ -1502,8 +1502,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children: FilterLongColEqualLongScalar(col 9:boolean, val 0)(children: VectorUDFStructField(col 8:struct,f11:map>, col 0:int)(children: VectorUDFStructField(col 2:struct,f11:map>>, col 1:int) -> 8:struct,f11:map>) -> 9:boolean), SelectColumnIsNotNull(col 10:int)(children: VectorUDFStructField(col 1:struct,f6:int>, col 3:int) -> 10:int))
- predicate: ((s2.f8.f9 = false) and s1.f6 is not null) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: SelectColumnIsNotNull(col 8:int)(children: VectorUDFStructField(col 1:struct,f6:int>, col 3:int) -> 8:int), SelectColumnIsFalse(col 10:boolean)(children: VectorUDFStructField(col 9:struct,f11:map>, col 0:int)(children: VectorUDFStructField(col 2:struct,f11:map>>, col 1:int) -> 9:struct,f11:map>) -> 10:boolean))
+ predicate: ((not s2.f8.f9) and s1.f6 is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 1468 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: s1 (type: struct,f6:int>), s2 (type: struct,f11:map>>)
@@ -1519,7 +1519,7 @@ STAGE PLANS:
Map-reduce partition columns: _col0.f6 (type: int)
Reduce Sink Vectorization:
className: VectorReduceSinkLongOperator
- keyExpressions: VectorUDFStructField(col 1:struct,f6:int>, col 3:int) -> 9:int
+ keyExpressions: VectorUDFStructField(col 1:struct,f6:int>, col 3:int) -> 8:int
native: true
nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
Statistics: Num rows: 1 Data size: 1468 Basic stats: COMPLETE Column stats: NONE
@@ -1828,19 +1828,19 @@ STAGE PLANS:
predicate: (s1.f6 is not null and s2.f8.f9 and s2.f8.f9 is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 1468 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: s1.f6 (type: int), (s2.f8.f9 = true) (type: boolean)
+ expressions: s1.f6 (type: int), s2.f8.f9 (type: boolean)
outputColumnNames: _col0, _col1
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [16, 19]
- selectExpressions: VectorUDFStructField(col 1:struct,f6:int>, col 3:int) -> 16:int, LongColEqualLongScalar(col 18:boolean, val 1)(children: VectorUDFStructField(col 17:struct,f11:map>, col 0:int)(children: VectorUDFStructField(col 2:struct,f11:map>>, col 1:int) -> 17:struct,f11:map>) -> 18:boolean) -> 19:boolean
+ projectedOutputColumnNums: [16, 18]
+ selectExpressions: VectorUDFStructField(col 1:struct,f6:int>, col 3:int) -> 16:int, VectorUDFStructField(col 17:struct,f11:map>, col 0:int)(children: VectorUDFStructField(col 2:struct,f11:map>>, col 1:int) -> 17:struct,f11:map>) -> 18:boolean
Statistics: Num rows: 1 Data size: 1468 Basic stats: COMPLETE Column stats: NONE
Group By Operator
Group By Vectorization:
className: VectorGroupByOperator
groupByMode: HASH
- keyExpressions: col 16:int, col 19:boolean
+ keyExpressions: col 16:int, col 18:boolean
native: false
vectorProcessingMode: HASH
projectedOutputColumnNums: []
diff --git ql/src/test/results/clientpositive/llap/vector_varchar_mapjoin1.q.out ql/src/test/results/clientpositive/llap/vector_varchar_mapjoin1.q.out
index f8b3223fdc..92a8c92037 100644
--- ql/src/test/results/clientpositive/llap/vector_varchar_mapjoin1.q.out
+++ ql/src/test/results/clientpositive/llap/vector_varchar_mapjoin1.q.out
@@ -423,10 +423,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: a
- filterExpr: c2 is not null (type: boolean)
+ filterExpr: CAST( c2 AS STRING) is not null (type: boolean)
Statistics: Num rows: 3 Data size: 276 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: c2 is not null (type: boolean)
+ predicate: CAST( c2 AS STRING) is not null (type: boolean)
Statistics: Num rows: 3 Data size: 276 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: c1 (type: int), c2 (type: varchar(10)), CAST( c2 AS STRING) (type: string)
diff --git ql/src/test/results/clientpositive/llap/vector_windowing_navfn.q.out ql/src/test/results/clientpositive/llap/vector_windowing_navfn.q.out
index 2af57ed583..bf4d3ae742 100644
--- ql/src/test/results/clientpositive/llap/vector_windowing_navfn.q.out
+++ ql/src/test/results/clientpositive/llap/vector_windowing_navfn.q.out
@@ -1448,13 +1448,13 @@ STAGE PLANS:
predicate: ((s) IN ('oscar allen', 'oscar carson') and (t = 10Y)) (type: boolean)
Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
- key expressions: UDFToByte(10) (type: tinyint), s (type: string)
+ key expressions: 10Y (type: tinyint), s (type: string)
sort order: ++
- Map-reduce partition columns: UDFToByte(10) (type: tinyint)
+ Map-reduce partition columns: 10Y (type: tinyint)
Reduce Sink Vectorization:
className: VectorReduceSinkObjectHashOperator
keyColumns: 12:tinyint, 7:string
- keyExpressions: ConstantVectorExpression(val 10) -> 12:bigint
+ keyExpressions: ConstantVectorExpression(val 10) -> 12:tinyint
native: true
nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
partitionColumns: 13:tinyint
@@ -1512,7 +1512,7 @@ STAGE PLANS:
input alias: ptf_1
name: windowingtablefunction
order by: _col7 ASC NULLS LAST
- partition by: UDFToByte(10)
+ partition by: 10Y
raw input shape:
window functions:
window function definition
@@ -1532,7 +1532,7 @@ STAGE PLANS:
orderExpressions: [col 1:string]
outputColumns: [3, 2, 1]
outputTypes: [int, int, string]
- partitionExpressions: [ConstantVectorExpression(val 10) -> 4:bigint]
+ partitionExpressions: [ConstantVectorExpression(val 10) -> 4:tinyint]
streamingColumns: []
Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: NONE
Select Operator
diff --git ql/src/test/results/clientpositive/llap/vectorization_0.q.out ql/src/test/results/clientpositive/llap/vectorization_0.q.out
index 1ee9aa97eb..045f970724 100644
--- ql/src/test/results/clientpositive/llap/vectorization_0.q.out
+++ ql/src/test/results/clientpositive/llap/vectorization_0.q.out
@@ -1076,8 +1076,8 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: ((cstring2 like '%b%') or (CAST( cint AS decimal(13,3)) <> 79.553) or (UDFToDouble(cbigint) < cdouble) or ((UDFToShort(ctinyint) >= csmallint) and (cboolean2 = 1) and null)) (type: boolean)
- Statistics: Num rows: 12288 Data size: 1210980 Basic stats: COMPLETE Column stats: COMPLETE
+ filterExpr: ((cstring2 like '%b%') or (CAST( cint AS decimal(13,3)) <> 79.553) or (UDFToDouble(cbigint) < cdouble)) (type: boolean)
+ Statistics: Num rows: 12288 Data size: 1137584 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
vectorizationSchemaColumns: [0:ctinyint:tinyint, 1:csmallint:smallint, 2:cint:int, 3:cbigint:bigint, 4:cfloat:float, 5:cdouble:double, 6:cstring1:string, 7:cstring2:string, 8:ctimestamp1:timestamp, 9:ctimestamp2:timestamp, 10:cboolean1:boolean, 11:cboolean2:boolean, 12:ROW__ID:struct]
@@ -1085,22 +1085,22 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 7:string, pattern %b%), FilterDecimalColNotEqualDecimalScalar(col 13:decimal(13,3), val 79.553)(children: CastLongToDecimal(col 2:int) -> 13:decimal(13,3)), FilterDoubleColLessDoubleColumn(col 14:double, col 5:double)(children: CastLongToDouble(col 3:bigint) -> 14:double), SelectColumnIsTrue(col 17:boolean)(children: VectorUDFAdaptor(((UDFToShort(ctinyint) >= csmallint) and (cboolean2 = 1) and null))(children: LongColGreaterEqualLongColumn(col 0:smallint, col 1:smallint)(children: col 0:tinyint) -> 15:boolean, LongColEqualLongScalar(col 11:boolean, val 1) -> 16:boolean) -> 17:boolean))
- predicate: (((UDFToShort(ctinyint) >= csmallint) and (cboolean2 = 1) and null) or (CAST( cint AS decimal(13,3)) <> 79.553) or (UDFToDouble(cbigint) < cdouble) or (cstring2 like '%b%')) (type: boolean)
- Statistics: Num rows: 12288 Data size: 1210980 Basic stats: COMPLETE Column stats: COMPLETE
+ predicateExpression: FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 7:string, pattern %b%), FilterDecimalColNotEqualDecimalScalar(col 13:decimal(13,3), val 79.553)(children: CastLongToDecimal(col 2:int) -> 13:decimal(13,3)), FilterDoubleColLessDoubleColumn(col 14:double, col 5:double)(children: CastLongToDouble(col 3:bigint) -> 14:double))
+ predicate: ((CAST( cint AS decimal(13,3)) <> 79.553) or (UDFToDouble(cbigint) < cdouble) or (cstring2 like '%b%')) (type: boolean)
+ Statistics: Num rows: 12288 Data size: 1137584 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: cbigint (type: bigint), cfloat (type: float), ctinyint (type: tinyint), UDFToDouble(cbigint) (type: double), (UDFToDouble(cbigint) * UDFToDouble(cbigint)) (type: double)
outputColumnNames: _col0, _col1, _col2, _col3, _col4
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [3, 4, 0, 18, 21]
- selectExpressions: CastLongToDouble(col 3:bigint) -> 18:double, DoubleColMultiplyDoubleColumn(col 19:double, col 20:double)(children: CastLongToDouble(col 3:bigint) -> 19:double, CastLongToDouble(col 3:bigint) -> 20:double) -> 21:double
- Statistics: Num rows: 12288 Data size: 1210980 Basic stats: COMPLETE Column stats: COMPLETE
+ projectedOutputColumnNums: [3, 4, 0, 15, 18]
+ selectExpressions: CastLongToDouble(col 3:bigint) -> 15:double, DoubleColMultiplyDoubleColumn(col 16:double, col 17:double)(children: CastLongToDouble(col 3:bigint) -> 16:double, CastLongToDouble(col 3:bigint) -> 17:double) -> 18:double
+ Statistics: Num rows: 12288 Data size: 1137584 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: sum(_col0), count(_col0), sum(_col4), sum(_col3), count(), sum(_col1), min(_col2)
Group By Vectorization:
- aggregators: VectorUDAFSumLong(col 3:bigint) -> bigint, VectorUDAFCount(col 3:bigint) -> bigint, VectorUDAFSumDouble(col 21:double) -> double, VectorUDAFSumDouble(col 18:double) -> double, VectorUDAFCountStar(*) -> bigint, VectorUDAFSumDouble(col 4:float) -> double, VectorUDAFMinLong(col 0:tinyint) -> tinyint
+ aggregators: VectorUDAFSumLong(col 3:bigint) -> bigint, VectorUDAFCount(col 3:bigint) -> bigint, VectorUDAFSumDouble(col 18:double) -> double, VectorUDAFSumDouble(col 15:double) -> double, VectorUDAFCountStar(*) -> bigint, VectorUDAFSumDouble(col 4:float) -> double, VectorUDAFMinLong(col 0:tinyint) -> tinyint
className: VectorGroupByOperator
groupByMode: HASH
native: false
@@ -1128,14 +1128,14 @@ STAGE PLANS:
featureSupportInUse: [DECIMAL_64]
inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
allNative: false
- usesVectorUDFAdaptor: true
+ usesVectorUDFAdaptor: false
vectorized: true
rowBatchContext:
dataColumnCount: 12
- includeColumns: [0, 1, 2, 3, 4, 5, 7, 11]
+ includeColumns: [0, 2, 3, 4, 5, 7]
dataColumns: ctinyint:tinyint, csmallint:smallint, cint:int, cbigint:bigint, cfloat:float, cdouble:double, cstring1:string, cstring2:string, ctimestamp1:timestamp, ctimestamp2:timestamp, cboolean1:boolean, cboolean2:boolean
partitionColumnCount: 0
- scratchColumnTypeNames: [decimal(13,3), double, bigint, bigint, bigint, double, double, double, double]
+ scratchColumnTypeNames: [decimal(13,3), double, double, double, double, double]
Reducer 2
Execution mode: vectorized, llap
Reduce Vectorization:
@@ -30210,6 +30210,9 @@ POSTHOOK: query: explain extended select * from alltypesorc where
POSTHOOK: type: QUERY
POSTHOOK: Input: default@alltypesorc
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `ctinyint`, `csmallint`, `cint`, `cbigint`, `cfloat`, `cdouble`, `cstring1`, `cstring2`, `ctimestamp1`, `ctimestamp2`, `cboolean1`, `cboolean2`
+FROM `default`.`alltypesorc`
+WHERE ROW(`cint`, `cfloat`) IN (ROW(49, 3.5), ROW(47, 2.09), ROW(45, 3.02))
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -30455,6 +30458,11 @@ POSTHOOK: query: explain extended select count(*),cstring1 from alltypesorc wher
POSTHOOK: type: QUERY
POSTHOOK: Input: default@alltypesorc
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT COUNT(*) AS `_o__c0`, `cstring1`
+FROM `default`.`alltypesorc`
+WHERE `cstring1` IN ('biology', 'history', 'topology')
+GROUP BY `cstring1`
+ORDER BY `cstring1`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
diff --git ql/src/test/results/clientpositive/llap/vectorization_5.q.out ql/src/test/results/clientpositive/llap/vectorization_5.q.out
index 6467a2fd81..0dce8fe2bf 100644
--- ql/src/test/results/clientpositive/llap/vectorization_5.q.out
+++ ql/src/test/results/clientpositive/llap/vectorization_5.q.out
@@ -62,7 +62,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: ((cboolean2 is not null and (cstring1 like '%b%')) or ((UDFToDouble(ctinyint) = cdouble) and ctimestamp2 is not null and (cstring2 like 'a'))) (type: boolean)
+ filterExpr: (((cstring1 like '%b%') and cboolean2 is not null) or ((UDFToDouble(ctinyint) = cdouble) and (cstring2 like 'a') and ctimestamp2 is not null)) (type: boolean)
Statistics: Num rows: 12288 Data size: 2454862 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -71,8 +71,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: SelectColumnIsNotNull(col 11:boolean), FilterStringColLikeStringScalar(col 6:string, pattern %b%)), FilterExprAndExpr(children: FilterDoubleColEqualDoubleColumn(col 13:double, col 5:double)(children: CastLongToDouble(col 0:tinyint) -> 13:double), SelectColumnIsNotNull(col 9:timestamp), FilterStringColLikeStringScalar(col 7:string, pattern a)))
- predicate: (((UDFToDouble(ctinyint) = cdouble) and ctimestamp2 is not null and (cstring2 like 'a')) or (cboolean2 is not null and (cstring1 like '%b%'))) (type: boolean)
+ predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterStringColLikeStringScalar(col 6:string, pattern %b%), SelectColumnIsNotNull(col 11:boolean)), FilterExprAndExpr(children: FilterDoubleColEqualDoubleColumn(col 13:double, col 5:double)(children: CastLongToDouble(col 0:tinyint) -> 13:double), FilterStringColLikeStringScalar(col 7:string, pattern a), SelectColumnIsNotNull(col 9:timestamp)))
+ predicate: (((UDFToDouble(ctinyint) = cdouble) and (cstring2 like 'a') and ctimestamp2 is not null) or ((cstring1 like '%b%') and cboolean2 is not null)) (type: boolean)
Statistics: Num rows: 7658 Data size: 1529972 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: ctinyint (type: tinyint), csmallint (type: smallint), cint (type: int)
diff --git ql/src/test/results/clientpositive/llap/vectorization_6.q.out ql/src/test/results/clientpositive/llap/vectorization_6.q.out
index 2990bd4b82..3762cc939b 100644
--- ql/src/test/results/clientpositive/llap/vectorization_6.q.out
+++ ql/src/test/results/clientpositive/llap/vectorization_6.q.out
@@ -61,7 +61,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: ((ctinyint <> 0Y) and (((cboolean1 <= 0) and (cboolean2 >= cboolean1)) or (cbigint is not null and ((cstring2 like '%a') or (cfloat <= -257.0))))) (type: boolean)
+ filterExpr: ((ctinyint <> 0Y) and (((cboolean1 <= 0) and (cboolean2 >= cboolean1)) or (((cstring2 like '%a') or (cfloat <= -257.0)) and cbigint is not null))) (type: boolean)
Statistics: Num rows: 12288 Data size: 2110130 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -70,8 +70,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children: FilterLongColNotEqualLongScalar(col 0:tinyint, val 0), FilterExprOrExpr(children: FilterExprAndExpr(children: FilterLongColLessEqualLongScalar(col 10:boolean, val 0), FilterLongColGreaterEqualLongColumn(col 11:boolean, col 10:boolean)), FilterExprAndExpr(children: SelectColumnIsNotNull(col 3:bigint), FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 7:string, pattern %a), FilterDoubleColLessEqualDoubleScalar(col 4:float, val -257.0)))))
- predicate: ((((cboolean1 <= 0) and (cboolean2 >= cboolean1)) or (cbigint is not null and ((cstring2 like '%a') or (cfloat <= -257.0)))) and (ctinyint <> 0Y)) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: FilterLongColNotEqualLongScalar(col 0:tinyint, val 0), FilterExprOrExpr(children: FilterExprAndExpr(children: FilterLongColLessEqualLongScalar(col 10:boolean, val 0), FilterLongColGreaterEqualLongColumn(col 11:boolean, col 10:boolean)), FilterExprAndExpr(children: FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 7:string, pattern %a), FilterDoubleColLessEqualDoubleScalar(col 4:float, val -257.0)), SelectColumnIsNotNull(col 3:bigint))))
+ predicate: ((((cboolean1 <= 0) and (cboolean2 >= cboolean1)) or (((cstring2 like '%a') or (cfloat <= -257.0)) and cbigint is not null)) and (ctinyint <> 0Y)) (type: boolean)
Statistics: Num rows: 5951 Data size: 1022000 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: cboolean1 (type: boolean), cfloat (type: float), cstring1 (type: string), (988888 * UDFToInteger(csmallint)) (type: int), (- csmallint) (type: smallint), (- cfloat) (type: float), (-26.28D / UDFToDouble(cfloat)) (type: double), (cfloat * 359.0) (type: float), (cint % UDFToInteger(ctinyint)) (type: int), (- cdouble) (type: double), (UDFToInteger(ctinyint) - -75) (type: int), (762 * (cint % UDFToInteger(ctinyint))) (type: int)
diff --git ql/src/test/results/clientpositive/llap/vectorization_8.q.out ql/src/test/results/clientpositive/llap/vectorization_8.q.out
index 3959239dbe..7d0594ae8f 100644
--- ql/src/test/results/clientpositive/llap/vectorization_8.q.out
+++ ql/src/test/results/clientpositive/llap/vectorization_8.q.out
@@ -72,7 +72,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: ((cstring2 is not null and (UDFToDouble(ctimestamp1) <= 10.0D) and (UDFToDouble(ctimestamp2) <> 16.0D)) or (cfloat < -6432.0) or (cboolean1 is not null and (cdouble = 988888.0D))) (type: boolean)
+ filterExpr: (((UDFToDouble(ctimestamp1) <= 10.0D) and (UDFToDouble(ctimestamp2) <> 16.0D) and cstring2 is not null) or (cfloat < -6432.0) or ((cdouble = 988888.0D) and cboolean1 is not null)) (type: boolean)
Statistics: Num rows: 12288 Data size: 2983078 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -81,8 +81,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: SelectColumnIsNotNull(col 7:string), FilterDoubleColLessEqualDoubleScalar(col 13:double, val 10.0)(children: CastTimestampToDouble(col 8:timestamp) -> 13:double), FilterDoubleColNotEqualDoubleScalar(col 14:double, val 16.0)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double)), FilterDoubleColLessDoubleScalar(col 4:float, val -6432.0), FilterExprAndExpr(children: SelectColumnIsNotNull(col 10:boolean), FilterDoubleColEqualDoubleScalar(col 5:double, val 988888.0)))
- predicate: ((cboolean1 is not null and (cdouble = 988888.0D)) or (cfloat < -6432.0) or (cstring2 is not null and (UDFToDouble(ctimestamp1) <= 10.0D) and (UDFToDouble(ctimestamp2) <> 16.0D))) (type: boolean)
+ predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterDoubleColLessEqualDoubleScalar(col 13:double, val 10.0)(children: CastTimestampToDouble(col 8:timestamp) -> 13:double), FilterDoubleColNotEqualDoubleScalar(col 14:double, val 16.0)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double), SelectColumnIsNotNull(col 7:string)), FilterDoubleColLessDoubleScalar(col 4:float, val -6432.0), FilterExprAndExpr(children: FilterDoubleColEqualDoubleScalar(col 5:double, val 988888.0), SelectColumnIsNotNull(col 10:boolean)))
+ predicate: (((UDFToDouble(ctimestamp1) <= 10.0D) and (UDFToDouble(ctimestamp2) <> 16.0D) and cstring2 is not null) or ((cdouble = 988888.0D) and cboolean1 is not null) or (cfloat < -6432.0)) (type: boolean)
Statistics: Num rows: 3059 Data size: 742850 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: ctimestamp1 (type: timestamp), cdouble (type: double), cboolean1 (type: boolean), cstring1 (type: string), cfloat (type: float), (- cdouble) (type: double), (-5638.15D - cdouble) (type: double), (cdouble * -257.0D) (type: double), (UDFToFloat(cint) + cfloat) (type: float), ((- cdouble) + UDFToDouble(cbigint)) (type: double), (- cdouble) (type: double), (-1.389 - cfloat) (type: float), (- cfloat) (type: float), ((-5638.15D - cdouble) + UDFToDouble((UDFToFloat(cint) + cfloat))) (type: double)
@@ -313,7 +313,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: ((cstring2 is not null and (UDFToDouble(ctimestamp1) <= 12.503D) and (UDFToDouble(ctimestamp2) <> 11.998D)) or (cfloat < -6432.0) or (cboolean1 is not null and (cdouble = 988888.0D))) (type: boolean)
+ filterExpr: (((UDFToDouble(ctimestamp1) <= 12.503D) and (UDFToDouble(ctimestamp2) <> 11.998D) and cstring2 is not null) or (cfloat < -6432.0) or ((cdouble = 988888.0D) and cboolean1 is not null)) (type: boolean)
Statistics: Num rows: 12288 Data size: 2983078 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -321,8 +321,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: SelectColumnIsNotNull(col 7:string), FilterDoubleColLessEqualDoubleScalar(col 13:double, val 12.503)(children: CastTimestampToDouble(col 8:timestamp) -> 13:double), FilterDoubleColNotEqualDoubleScalar(col 14:double, val 11.998)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double)), FilterDoubleColLessDoubleScalar(col 4:float, val -6432.0), FilterExprAndExpr(children: SelectColumnIsNotNull(col 10:boolean), FilterDoubleColEqualDoubleScalar(col 5:double, val 988888.0)))
- predicate: ((cboolean1 is not null and (cdouble = 988888.0D)) or (cfloat < -6432.0) or (cstring2 is not null and (UDFToDouble(ctimestamp1) <= 12.503D) and (UDFToDouble(ctimestamp2) <> 11.998D))) (type: boolean)
+ predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterDoubleColLessEqualDoubleScalar(col 13:double, val 12.503)(children: CastTimestampToDouble(col 8:timestamp) -> 13:double), FilterDoubleColNotEqualDoubleScalar(col 14:double, val 11.998)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double), SelectColumnIsNotNull(col 7:string)), FilterDoubleColLessDoubleScalar(col 4:float, val -6432.0), FilterExprAndExpr(children: FilterDoubleColEqualDoubleScalar(col 5:double, val 988888.0), SelectColumnIsNotNull(col 10:boolean)))
+ predicate: (((UDFToDouble(ctimestamp1) <= 12.503D) and (UDFToDouble(ctimestamp2) <> 11.998D) and cstring2 is not null) or ((cdouble = 988888.0D) and cboolean1 is not null) or (cfloat < -6432.0)) (type: boolean)
Statistics: Num rows: 3059 Data size: 742850 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: ctimestamp1 (type: timestamp), cdouble (type: double), cboolean1 (type: boolean), cstring1 (type: string), cfloat (type: float), (- cdouble) (type: double), (-5638.15D - cdouble) (type: double), (cdouble * -257.0D) (type: double), (UDFToFloat(cint) + cfloat) (type: float), ((- cdouble) + UDFToDouble(cbigint)) (type: double), (- cdouble) (type: double), (-1.389 - cfloat) (type: float), (- cfloat) (type: float), ((-5638.15D - cdouble) + UDFToDouble((UDFToFloat(cint) + cfloat))) (type: double)
diff --git ql/src/test/results/clientpositive/llap/vectorization_div0.q.out ql/src/test/results/clientpositive/llap/vectorization_div0.q.out
index 9a260ef118..652883f0a1 100644
--- ql/src/test/results/clientpositive/llap/vectorization_div0.q.out
+++ ql/src/test/results/clientpositive/llap/vectorization_div0.q.out
@@ -260,7 +260,7 @@ STAGE PLANS:
predicate: ((cbigint < 100000000L) and (cbigint > 0L)) (type: boolean)
Statistics: Num rows: 1365 Data size: 16320 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: (cbigint - 988888) (type: bigint), (cdouble / UDFToDouble((cbigint - 988888))) (type: double), (1.2 / CAST( (cbigint - 988888) AS decimal(19,0))) (type: decimal(22,21))
+ expressions: (cbigint - 988888L) (type: bigint), (cdouble / UDFToDouble((cbigint - 988888L))) (type: double), (1.2 / CAST( (cbigint - 988888L) AS decimal(19,0))) (type: decimal(22,21))
outputColumnNames: _col0, _col1, _col2
Select Vectorization:
className: VectorSelectOperator
diff --git ql/src/test/results/clientpositive/llap/vectorization_short_regress.q.out ql/src/test/results/clientpositive/llap/vectorization_short_regress.q.out
index 051dc2f8a8..15e1abf5a2 100644
--- ql/src/test/results/clientpositive/llap/vectorization_short_regress.q.out
+++ ql/src/test/results/clientpositive/llap/vectorization_short_regress.q.out
@@ -624,7 +624,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: ((ctimestamp1 = ctimestamp2) or (cfloat = 762.0) or (cstring1 = 'ss') or ((UDFToLong(csmallint) <= cbigint) and (cboolean2 = 1)) or (cboolean1 is not null and ctimestamp2 is not null and (cstring2 > 'a'))) (type: boolean)
+ filterExpr: ((ctimestamp1 = ctimestamp2) or (cfloat = 762.0) or (cstring1 = 'ss') or ((UDFToLong(csmallint) <= cbigint) and (cboolean2 = 1)) or ((cstring2 > 'a') and cboolean1 is not null and ctimestamp2 is not null)) (type: boolean)
Statistics: Num rows: 12288 Data size: 3093170 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -632,8 +632,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprOrExpr(children: FilterTimestampColEqualTimestampColumn(col 8:timestamp, col 9:timestamp), FilterDoubleColEqualDoubleScalar(col 4:float, val 762.0), FilterStringGroupColEqualStringScalar(col 6:string, val ss), FilterExprAndExpr(children: FilterLongColLessEqualLongColumn(col 1:bigint, col 3:bigint)(children: col 1:smallint), FilterLongColEqualLongScalar(col 11:boolean, val 1)), FilterExprAndExpr(children: SelectColumnIsNotNull(col 10:boolean), SelectColumnIsNotNull(col 9:timestamp), FilterStringGroupColGreaterStringScalar(col 7:string, val a)))
- predicate: (((UDFToLong(csmallint) <= cbigint) and (cboolean2 = 1)) or (cboolean1 is not null and ctimestamp2 is not null and (cstring2 > 'a')) or (cfloat = 762.0) or (cstring1 = 'ss') or (ctimestamp1 = ctimestamp2)) (type: boolean)
+ predicateExpression: FilterExprOrExpr(children: FilterTimestampColEqualTimestampColumn(col 8:timestamp, col 9:timestamp), FilterDoubleColEqualDoubleScalar(col 4:float, val 762.0), FilterStringGroupColEqualStringScalar(col 6:string, val ss), FilterExprAndExpr(children: FilterLongColLessEqualLongColumn(col 1:bigint, col 3:bigint)(children: col 1:smallint), FilterLongColEqualLongScalar(col 11:boolean, val 1)), FilterExprAndExpr(children: FilterStringGroupColGreaterStringScalar(col 7:string, val a), SelectColumnIsNotNull(col 10:boolean), SelectColumnIsNotNull(col 9:timestamp)))
+ predicate: (((UDFToLong(csmallint) <= cbigint) and (cboolean2 = 1)) or ((cstring2 > 'a') and cboolean1 is not null and ctimestamp2 is not null) or (cfloat = 762.0) or (cstring1 = 'ss') or (ctimestamp1 = ctimestamp2)) (type: boolean)
Statistics: Num rows: 11346 Data size: 2856120 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: cbigint (type: bigint), ctinyint (type: tinyint), csmallint (type: smallint), cint (type: int), cdouble (type: double), UDFToDouble(cbigint) (type: double), (UDFToDouble(cbigint) * UDFToDouble(cbigint)) (type: double), UDFToDouble(csmallint) (type: double), (UDFToDouble(csmallint) * UDFToDouble(csmallint)) (type: double), (cdouble * cdouble) (type: double)
@@ -2223,7 +2223,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: ((UDFToInteger(csmallint) >= -257) and ((UDFToInteger(csmallint) = -6432) or ((UDFToDouble(cint) >= cdouble) and (UDFToInteger(ctinyint) <= cint)))) (type: boolean)
+ filterExpr: ((UDFToInteger(csmallint) >= -257) and (UDFToDouble(cint) >= cdouble) and (UDFToInteger(ctinyint) <= cint)) (type: boolean)
Statistics: Num rows: 12288 Data size: 256884 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -2231,9 +2231,9 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children: FilterLongColGreaterEqualLongScalar(col 1:int, val -257)(children: col 1:smallint), FilterExprOrExpr(children: FilterLongColEqualLongScalar(col 1:int, val -6432)(children: col 1:smallint), FilterExprAndExpr(children: FilterDoubleColGreaterEqualDoubleColumn(col 13:double, col 5:double)(children: CastLongToDouble(col 2:int) -> 13:double), FilterLongColLessEqualLongColumn(col 0:int, col 2:int)(children: col 0:tinyint))))
- predicate: (((UDFToInteger(csmallint) = -6432) or ((UDFToDouble(cint) >= cdouble) and (UDFToInteger(ctinyint) <= cint))) and (UDFToInteger(csmallint) >= -257)) (type: boolean)
- Statistics: Num rows: 2503 Data size: 52344 Basic stats: COMPLETE Column stats: COMPLETE
+ predicateExpression: FilterExprAndExpr(children: FilterLongColGreaterEqualLongScalar(col 1:int, val -257)(children: col 1:smallint), FilterDoubleColGreaterEqualDoubleColumn(col 13:double, col 5:double)(children: CastLongToDouble(col 2:int) -> 13:double), FilterLongColLessEqualLongColumn(col 0:int, col 2:int)(children: col 0:tinyint))
+ predicate: ((UDFToDouble(cint) >= cdouble) and (UDFToInteger(csmallint) >= -257) and (UDFToInteger(ctinyint) <= cint)) (type: boolean)
+ Statistics: Num rows: 455 Data size: 9548 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: csmallint (type: smallint), cbigint (type: bigint), ctinyint (type: tinyint), UDFToDouble(csmallint) (type: double), (UDFToDouble(csmallint) * UDFToDouble(csmallint)) (type: double), UDFToDouble(ctinyint) (type: double), (UDFToDouble(ctinyint) * UDFToDouble(ctinyint)) (type: double)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
@@ -2242,7 +2242,7 @@ STAGE PLANS:
native: true
projectedOutputColumnNums: [1, 3, 0, 14, 17, 18, 21]
selectExpressions: CastLongToDouble(col 1:smallint) -> 14:double, DoubleColMultiplyDoubleColumn(col 15:double, col 16:double)(children: CastLongToDouble(col 1:smallint) -> 15:double, CastLongToDouble(col 1:smallint) -> 16:double) -> 17:double, CastLongToDouble(col 0:tinyint) -> 18:double, DoubleColMultiplyDoubleColumn(col 19:double, col 20:double)(children: CastLongToDouble(col 0:tinyint) -> 19:double, CastLongToDouble(col 0:tinyint) -> 20:double) -> 21:double
- Statistics: Num rows: 2503 Data size: 52344 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 455 Data size: 9548 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: sum(_col4), sum(_col3), count(_col0), sum(_col1), sum(_col6), sum(_col5), count(_col2), count()
Group By Vectorization:
@@ -2257,7 +2257,7 @@ STAGE PLANS:
minReductionHashAggr: 0.0
mode: hash
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 1251 Data size: 83804 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 227 Data size: 15212 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col0 (type: smallint)
sort order: +
@@ -2266,7 +2266,7 @@ STAGE PLANS:
className: VectorReduceSinkLongOperator
native: true
nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
- Statistics: Num rows: 1251 Data size: 83804 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 227 Data size: 15212 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col1 (type: double), _col2 (type: double), _col3 (type: bigint), _col4 (type: bigint), _col5 (type: double), _col6 (type: double), _col7 (type: bigint), _col8 (type: bigint)
Execution mode: vectorized, llap
LLAP IO: all inputs
@@ -2301,7 +2301,7 @@ STAGE PLANS:
keys: KEY._col0 (type: smallint)
mode: mergepartial
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 1251 Data size: 83804 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 227 Data size: 15212 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: smallint), (UDFToInteger(_col0) % -75) (type: int), power(((_col1 - ((_col2 * _col2) / _col3)) / CASE WHEN ((_col3 = 1L)) THEN (null) ELSE ((_col3 - 1)) END), 0.5) (type: double), (-1.389 / CAST( _col0 AS decimal(5,0))) (type: decimal(10,9)), _col4 (type: bigint), (UDFToDouble((UDFToInteger(_col0) % -75)) / UDFToDouble(_col4)) (type: double), (- (UDFToInteger(_col0) % -75)) (type: int), ((_col5 - ((_col6 * _col6) / _col7)) / _col7) (type: double), (- (- (UDFToInteger(_col0) % -75))) (type: int), _col8 (type: bigint), (_col8 - -89010L) (type: bigint)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10
@@ -2310,7 +2310,7 @@ STAGE PLANS:
native: true
projectedOutputColumnNums: [0, 9, 17, 19, 4, 23, 25, 29, 32, 8, 33]
selectExpressions: LongColModuloLongScalar(col 0:int, val -75)(children: col 0:smallint) -> 9:int, FuncPowerDoubleToDouble(col 16:double)(children: DoubleColDivideLongColumn(col 12:double, col 15:bigint)(children: DoubleColSubtractDoubleColumn(col 1:double, col 11:double)(children: DoubleColDivideLongColumn(col 10:double, col 3:bigint)(children: DoubleColMultiplyDoubleColumn(col 2:double, col 2:double) -> 10:double) -> 11:double) -> 12:double, IfExprNullCondExpr(col 13:boolean, null, col 14:bigint)(children: LongColEqualLongScalar(col 3:bigint, val 1) -> 13:boolean, LongColSubtractLongScalar(col 3:bigint, val 1) -> 14:bigint) -> 15:bigint) -> 16:double) -> 17:double, DecimalScalarDivideDecimalColumn(val -1.389, col 18:decimal(5,0))(children: CastLongToDecimal(col 0:smallint) -> 18:decimal(5,0)) -> 19:decimal(10,9), DoubleColDivideDoubleColumn(col 21:double, col 22:double)(children: CastLongToDouble(col 20:int)(children: LongColModuloLongScalar(col 0:int, val -75)(children: col 0:smallint) -> 20:int) -> 21:double, CastLongToDouble(col 4:bigint) -> 22:double) -> 23:double, LongColUnaryMinus(col 24:int)(children: LongColModuloLongScalar(col 0:int, val -75)(children: col 0:smallint) -> 24:int) -> 25:int, DoubleColDivideLongColumn(col 28:double, col 7:bigint)(children: DoubleColSubtractDoubleColumn(col 5:double, col 27:double)(children: DoubleColDivideLongColumn(col 26:double, col 7:bigint)(children: DoubleColMultiplyDoubleColumn(col 6:double, col 6:double) -> 26:double) -> 27:double) -> 28:double) -> 29:double, LongColUnaryMinus(col 31:int)(children: LongColUnaryMinus(col 30:int)(children: LongColModuloLongScalar(col 0:int, val -75)(children: col 0:smallint) -> 30:int) -> 31:int) -> 32:int, LongColSubtractLongScalar(col 8:bigint, val -89010) -> 33:bigint
- Statistics: Num rows: 1251 Data size: 218912 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 227 Data size: 39728 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col0 (type: smallint), _col1 (type: int), _col2 (type: double), _col3 (type: decimal(10,9)), _col4 (type: bigint), _col5 (type: double), _col6 (type: int), _col7 (type: double), _col8 (type: int), _col9 (type: bigint), _col10 (type: bigint)
sort order: +++++++++++
@@ -2318,7 +2318,7 @@ STAGE PLANS:
className: VectorReduceSinkObjectHashOperator
native: true
nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
- Statistics: Num rows: 1251 Data size: 218912 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 227 Data size: 39728 Basic stats: COMPLETE Column stats: COMPLETE
TopN Hash Memory Usage: 0.1
Reducer 3
Execution mode: vectorized, llap
@@ -2336,7 +2336,7 @@ STAGE PLANS:
className: VectorSelectOperator
native: true
projectedOutputColumnNums: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
- Statistics: Num rows: 1251 Data size: 218912 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 227 Data size: 39728 Basic stats: COMPLETE Column stats: COMPLETE
Limit
Number of rows: 20
Limit Vectorization:
@@ -2833,7 +2833,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: ((UDFToDouble(ctimestamp1) <> 0.0D) and (((UDFToInteger(ctinyint) <> -257) and cboolean2 is not null and cstring1 regexp '.*ss' and (UDFToDouble(ctimestamp1) > -3.0D)) or (UDFToDouble(ctimestamp2) = -5.0D) or ((UDFToDouble(ctimestamp1) < 0.0D) and (cstring2 like '%b%')) or (cdouble = UDFToDouble(cint)) or (cboolean1 is null and (cfloat < UDFToFloat(cint))))) (type: boolean)
+ filterExpr: ((UDFToDouble(ctimestamp1) <> 0.0D) and (((UDFToInteger(ctinyint) <> -257) and cstring1 regexp '.*ss' and (UDFToDouble(ctimestamp1) > -3.0D) and cboolean2 is not null) or (UDFToDouble(ctimestamp2) = -5.0D) or ((UDFToDouble(ctimestamp1) < 0.0D) and (cstring2 like '%b%')) or (cdouble = UDFToDouble(cint)) or (cboolean1 is null and (cfloat < UDFToFloat(cint))))) (type: boolean)
Statistics: Num rows: 12288 Data size: 3019778 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -2841,8 +2841,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children: FilterDoubleColNotEqualDoubleScalar(col 13:double, val 0.0)(children: CastTimestampToDouble(col 8:timestamp) -> 13:double), FilterExprOrExpr(children: FilterExprAndExpr(children: FilterLongColNotEqualLongScalar(col 0:int, val -257)(children: col 0:tinyint), SelectColumnIsNotNull(col 11:boolean), FilterStringColRegExpStringScalar(col 6:string, pattern .*ss), FilterDoubleColGreaterDoubleScalar(col 14:double, val -3.0)(children: CastTimestampToDouble(col 8:timestamp) -> 14:double)), FilterDoubleColEqualDoubleScalar(col 15:double, val -5.0)(children: CastTimestampToDouble(col 9:timestamp) -> 15:double), FilterExprAndExpr(children: FilterDoubleColLessDoubleScalar(col 16:double, val 0.0)(children: CastTimestampToDouble(col 8:timestamp) -> 16:double), FilterStringColLikeStringScalar(col 7:string, pattern %b%)), FilterDoubleColEqualDoubleColumn(col 5:double, col 17:double)(children: CastLongToDouble(col 2:int) -> 17:double), FilterExprAndExpr(children: SelectColumnIsNull(col 10:boolean), FilterDoubleColLessDoubleColumn(col 4:float, col 18:float)(children: CastLongToFloatViaLongToDouble(col 2:int) -> 18:float))))
- predicate: ((((UDFToInteger(ctinyint) <> -257) and cboolean2 is not null and cstring1 regexp '.*ss' and (UDFToDouble(ctimestamp1) > -3.0D)) or (UDFToDouble(ctimestamp2) = -5.0D) or ((UDFToDouble(ctimestamp1) < 0.0D) and (cstring2 like '%b%')) or (cdouble = UDFToDouble(cint)) or (cboolean1 is null and (cfloat < UDFToFloat(cint)))) and (UDFToDouble(ctimestamp1) <> 0.0D)) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: FilterDoubleColNotEqualDoubleScalar(col 13:double, val 0.0)(children: CastTimestampToDouble(col 8:timestamp) -> 13:double), FilterExprOrExpr(children: FilterExprAndExpr(children: FilterLongColNotEqualLongScalar(col 0:int, val -257)(children: col 0:tinyint), FilterStringColRegExpStringScalar(col 6:string, pattern .*ss), FilterDoubleColGreaterDoubleScalar(col 14:double, val -3.0)(children: CastTimestampToDouble(col 8:timestamp) -> 14:double), SelectColumnIsNotNull(col 11:boolean)), FilterDoubleColEqualDoubleScalar(col 15:double, val -5.0)(children: CastTimestampToDouble(col 9:timestamp) -> 15:double), FilterExprAndExpr(children: FilterDoubleColLessDoubleScalar(col 16:double, val 0.0)(children: CastTimestampToDouble(col 8:timestamp) -> 16:double), FilterStringColLikeStringScalar(col 7:string, pattern %b%)), FilterDoubleColEqualDoubleColumn(col 5:double, col 17:double)(children: CastLongToDouble(col 2:int) -> 17:double), FilterExprAndExpr(children: SelectColumnIsNull(col 10:boolean), FilterDoubleColLessDoubleColumn(col 4:float, col 18:float)(children: CastLongToFloatViaLongToDouble(col 2:int) -> 18:float))))
+ predicate: ((((UDFToInteger(ctinyint) <> -257) and cstring1 regexp '.*ss' and (UDFToDouble(ctimestamp1) > -3.0D) and cboolean2 is not null) or (UDFToDouble(ctimestamp2) = -5.0D) or ((UDFToDouble(ctimestamp1) < 0.0D) and (cstring2 like '%b%')) or (cdouble = UDFToDouble(cint)) or (cboolean1 is null and (cfloat < UDFToFloat(cint)))) and (UDFToDouble(ctimestamp1) <> 0.0D)) (type: boolean)
Statistics: Num rows: 12288 Data size: 3019778 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: ctimestamp1 (type: timestamp), cstring1 (type: string), cint (type: int), csmallint (type: smallint), ctinyint (type: tinyint), cfloat (type: float), cdouble (type: double), UDFToDouble(cint) (type: double), (UDFToDouble(cint) * UDFToDouble(cint)) (type: double), UDFToDouble(csmallint) (type: double), (UDFToDouble(csmallint) * UDFToDouble(csmallint)) (type: double), UDFToDouble(cfloat) (type: double), (UDFToDouble(cfloat) * UDFToDouble(cfloat)) (type: double), UDFToDouble(ctinyint) (type: double), (UDFToDouble(ctinyint) * UDFToDouble(ctinyint)) (type: double)
@@ -3241,7 +3241,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: ((((cdouble < UDFToDouble(csmallint)) and (cboolean2 = cboolean1) and (CAST( cbigint AS decimal(22,3)) <= -863.257)) or ((cint >= -257) and cstring1 is not null and (cboolean1 >= 1)) or cstring2 regexp 'b' or ((csmallint >= UDFToShort(ctinyint)) and ctimestamp2 is null)) and cboolean1 is not null) (type: boolean)
+ filterExpr: ((((cdouble < UDFToDouble(csmallint)) and (cboolean2 = cboolean1) and (CAST( cbigint AS decimal(22,3)) <= -863.257)) or ((cint >= -257) and (cboolean1 >= 1) and cstring1 is not null) or cstring2 regexp 'b' or ((csmallint >= UDFToShort(ctinyint)) and ctimestamp2 is null)) and cboolean1 is not null) (type: boolean)
Statistics: Num rows: 12288 Data size: 2601650 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -3249,8 +3249,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterDoubleColLessDoubleColumn(col 5:double, col 13:double)(children: CastLongToDouble(col 1:smallint) -> 13:double), FilterLongColEqualLongColumn(col 11:boolean, col 10:boolean), FilterDecimalColLessEqualDecimalScalar(col 14:decimal(22,3), val -863.257)(children: CastLongToDecimal(col 3:bigint) -> 14:decimal(22,3))), FilterExprAndExpr(children: FilterLongColGreaterEqualLongScalar(col 2:int, val -257), SelectColumnIsNotNull(col 6:string), FilterLongColGreaterEqualLongScalar(col 10:boolean, val 1)), FilterStringColRegExpStringScalar(col 7:string, pattern b), FilterExprAndExpr(children: FilterLongColGreaterEqualLongColumn(col 1:smallint, col 0:smallint)(children: col 0:tinyint), SelectColumnIsNull(col 9:timestamp))), SelectColumnIsNotNull(col 10:boolean))
- predicate: ((((cdouble < UDFToDouble(csmallint)) and (cboolean2 = cboolean1) and (CAST( cbigint AS decimal(22,3)) <= -863.257)) or ((cint >= -257) and cstring1 is not null and (cboolean1 >= 1)) or cstring2 regexp 'b' or ((csmallint >= UDFToShort(ctinyint)) and ctimestamp2 is null)) and cboolean1 is not null) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterDoubleColLessDoubleColumn(col 5:double, col 13:double)(children: CastLongToDouble(col 1:smallint) -> 13:double), FilterLongColEqualLongColumn(col 11:boolean, col 10:boolean), FilterDecimalColLessEqualDecimalScalar(col 14:decimal(22,3), val -863.257)(children: CastLongToDecimal(col 3:bigint) -> 14:decimal(22,3))), FilterExprAndExpr(children: FilterLongColGreaterEqualLongScalar(col 2:int, val -257), FilterLongColGreaterEqualLongScalar(col 10:boolean, val 1), SelectColumnIsNotNull(col 6:string)), FilterStringColRegExpStringScalar(col 7:string, pattern b), FilterExprAndExpr(children: FilterLongColGreaterEqualLongColumn(col 1:smallint, col 0:smallint)(children: col 0:tinyint), SelectColumnIsNull(col 9:timestamp))), SelectColumnIsNotNull(col 10:boolean))
+ predicate: ((((cdouble < UDFToDouble(csmallint)) and (cboolean2 = cboolean1) and (CAST( cbigint AS decimal(22,3)) <= -863.257)) or ((cint >= -257) and (cboolean1 >= 1) and cstring1 is not null) or cstring2 regexp 'b' or ((csmallint >= UDFToShort(ctinyint)) and ctimestamp2 is null)) and cboolean1 is not null) (type: boolean)
Statistics: Num rows: 7845 Data size: 1661020 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: cboolean1 (type: boolean), cfloat (type: float), cbigint (type: bigint), cint (type: int), cdouble (type: double), ctinyint (type: tinyint), csmallint (type: smallint), UDFToDouble(cint) (type: double), (UDFToDouble(cint) * UDFToDouble(cint)) (type: double), UDFToDouble(cbigint) (type: double), (UDFToDouble(cbigint) * UDFToDouble(cbigint)) (type: double), UDFToDouble(ctinyint) (type: double), (UDFToDouble(ctinyint) * UDFToDouble(ctinyint)) (type: double), UDFToDouble(csmallint) (type: double), (UDFToDouble(csmallint) * UDFToDouble(csmallint)) (type: double)
diff --git ql/src/test/results/clientpositive/llap/vectorized_casts.q.out ql/src/test/results/clientpositive/llap/vectorized_casts.q.out
index d1a9620186..333cbd30c6 100644
--- ql/src/test/results/clientpositive/llap/vectorized_casts.q.out
+++ ql/src/test/results/clientpositive/llap/vectorized_casts.q.out
@@ -169,7 +169,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: ((cbigint % 250) = 0) (type: boolean)
+ filterExpr: ((cbigint % 250L) = 0L) (type: boolean)
Statistics: Num rows: 12288 Data size: 1684250 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -179,16 +179,16 @@ STAGE PLANS:
className: VectorFilterOperator
native: true
predicateExpression: FilterLongColEqualLongScalar(col 13:bigint, val 0)(children: LongColModuloLongScalar(col 3:bigint, val 250) -> 13:bigint)
- predicate: ((cbigint % 250) = 0) (type: boolean)
+ predicate: ((cbigint % 250L) = 0L) (type: boolean)
Statistics: Num rows: 6144 Data size: 842180 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: UDFToBoolean(ctinyint) (type: boolean), UDFToBoolean(csmallint) (type: boolean), UDFToBoolean(cint) (type: boolean), UDFToBoolean(cbigint) (type: boolean), UDFToBoolean(cfloat) (type: boolean), UDFToBoolean(cdouble) (type: boolean), cboolean1 (type: boolean), UDFToBoolean((cbigint * 0L)) (type: boolean), UDFToBoolean(ctimestamp1) (type: boolean), UDFToBoolean(cstring1) (type: boolean), UDFToInteger(ctinyint) (type: int), UDFToInteger(csmallint) (type: int), cint (type: int), UDFToInteger(cbigint) (type: int), UDFToInteger(cfloat) (type: int), UDFToInteger(cdouble) (type: int), UDFToInteger(cboolean1) (type: int), UDFToInteger(ctimestamp1) (type: int), UDFToInteger(cstring1) (type: int), UDFToInteger(substr(cstring1, 1, 1)) (type: int), UDFToByte(cfloat) (type: tinyint), UDFToShort(cfloat) (type: smallint), UDFToLong(cfloat) (type: bigint), UDFToDouble(ctinyint) (type: double), UDFToDouble(csmallint) (type: double), UDFToDouble(cint) (type: double), UDFToDouble(cbigint) (type: double), UDFToDouble(cfloat) (type: double), cdouble (type: double), UDFToDouble(cboolean1) (type: double), UDFToDouble(ctimestamp1) (type: double), UDFToDouble(cstring1) (type: double), UDFToDouble(substr(cstring1, 1, 1)) (type: double), UDFToFloat(cint) (type: float), UDFToFloat(cdouble) (type: float), CAST( ctinyint AS TIMESTAMP) (type: timestamp), CAST( csmallint AS TIMESTAMP) (type: timestamp), CAST( cint AS TIMESTAMP) (type: timestamp), CAST( cbigint AS TIMESTAMP) (type: timestamp), CAST( cfloat AS TIMESTAMP) (type: timestamp), CAST( cdouble AS TIMESTAMP) (type: timestamp), CAST( cboolean1 AS TIMESTAMP) (type: timestamp), CAST( (cbigint * 0L) AS TIMESTAMP) (type: timestamp), CAST( CAST( ctimestamp1 AS DATE) AS TIMESTAMP) (type: timestamp), ctimestamp1 (type: timestamp), CAST( cstring1 AS TIMESTAMP) (type: timestamp), CAST( substr(cstring1, 1, 1) AS TIMESTAMP) (type: timestamp), CAST( ctinyint AS STRING) (type: string), CAST( csmallint AS STRING) (type: string), CAST( cint AS STRING) (type: string), CAST( cbigint AS STRING) (type: string), CAST( cfloat AS STRING) (type: string), CAST( cdouble AS STRING) (type: string), CAST( cboolean1 AS STRING) (type: string), CAST( (cbigint * 0L) AS STRING) (type: string), CAST( ctimestamp1 AS STRING) (type: string), cstring1 (type: string), CAST( CAST( cstring1 AS CHAR(10)) AS STRING) (type: string), CAST( CAST( cstring1 AS varchar(10)) AS STRING) (type: string), UDFToFloat(UDFToInteger(cfloat)) (type: float), UDFToDouble((cint * 2)) (type: double), CAST( sin(cfloat) AS STRING) (type: string), (UDFToDouble(UDFToFloat(cint)) + UDFToDouble(cboolean1)) (type: double)
+ expressions: UDFToBoolean(ctinyint) (type: boolean), UDFToBoolean(csmallint) (type: boolean), UDFToBoolean(cint) (type: boolean), UDFToBoolean(cbigint) (type: boolean), UDFToBoolean(cfloat) (type: boolean), UDFToBoolean(cdouble) (type: boolean), cboolean1 (type: boolean), ((cbigint * 0L) <> 0L) (type: boolean), UDFToBoolean(ctimestamp1) (type: boolean), UDFToBoolean(cstring1) (type: boolean), UDFToInteger(ctinyint) (type: int), UDFToInteger(csmallint) (type: int), cint (type: int), UDFToInteger(cbigint) (type: int), UDFToInteger(cfloat) (type: int), UDFToInteger(cdouble) (type: int), UDFToInteger(cboolean1) (type: int), UDFToInteger(ctimestamp1) (type: int), UDFToInteger(cstring1) (type: int), UDFToInteger(substr(cstring1, 1, 1)) (type: int), UDFToByte(cfloat) (type: tinyint), UDFToShort(cfloat) (type: smallint), UDFToLong(cfloat) (type: bigint), UDFToDouble(ctinyint) (type: double), UDFToDouble(csmallint) (type: double), UDFToDouble(cint) (type: double), UDFToDouble(cbigint) (type: double), UDFToDouble(cfloat) (type: double), cdouble (type: double), UDFToDouble(cboolean1) (type: double), UDFToDouble(ctimestamp1) (type: double), UDFToDouble(cstring1) (type: double), UDFToDouble(substr(cstring1, 1, 1)) (type: double), UDFToFloat(cint) (type: float), UDFToFloat(cdouble) (type: float), CAST( ctinyint AS TIMESTAMP) (type: timestamp), CAST( csmallint AS TIMESTAMP) (type: timestamp), CAST( cint AS TIMESTAMP) (type: timestamp), CAST( cbigint AS TIMESTAMP) (type: timestamp), CAST( cfloat AS TIMESTAMP) (type: timestamp), CAST( cdouble AS TIMESTAMP) (type: timestamp), CAST( cboolean1 AS TIMESTAMP) (type: timestamp), CAST( (cbigint * 0L) AS TIMESTAMP) (type: timestamp), CAST( CAST( ctimestamp1 AS DATE) AS TIMESTAMP) (type: timestamp), ctimestamp1 (type: timestamp), CAST( cstring1 AS TIMESTAMP) (type: timestamp), CAST( substr(cstring1, 1, 1) AS TIMESTAMP) (type: timestamp), CAST( ctinyint AS STRING) (type: string), CAST( csmallint AS STRING) (type: string), CAST( cint AS STRING) (type: string), CAST( cbigint AS STRING) (type: string), CAST( cfloat AS STRING) (type: string), CAST( cdouble AS STRING) (type: string), CAST( cboolean1 AS STRING) (type: string), CAST( (cbigint * 0L) AS STRING) (type: string), CAST( ctimestamp1 AS STRING) (type: string), cstring1 (type: string), CAST( CAST( cstring1 AS CHAR(10)) AS STRING) (type: string), CAST( CAST( cstring1 AS varchar(10)) AS STRING) (type: string), UDFToFloat(UDFToInteger(cfloat)) (type: float), UDFToDouble((cint * 2)) (type: double), CAST( sin(cfloat) AS STRING) (type: string), (UDFToDouble(UDFToFloat(cint)) + UDFToDouble(cboolean1)) (type: double)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26, _col27, _col28, _col29, _col30, _col31, _col32, _col33, _col34, _col35, _col36, _col37, _col38, _col39, _col40, _col41, _col42, _col43, _col44, _col45, _col46, _col47, _col48, _col49, _col50, _col51, _col52, _col53, _col54, _col55, _col56, _col57, _col58, _col59, _col60, _col61, _col62
Select Vectorization:
className: VectorSelectOperator
native: true
projectedOutputColumnNums: [14, 15, 16, 17, 18, 19, 10, 21, 22, 23, 0, 1, 2, 3, 24, 25, 10, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 4, 5, 37, 38, 39, 41, 42, 5, 44, 46, 48, 50, 51, 52, 54, 58, 60, 8, 61, 63, 64, 65, 66, 67, 68, 69, 70, 72, 73, 6, 74, 75, 77, 79, 81, 84]
- selectExpressions: CastLongToBooleanViaLongToLong(col 0:tinyint) -> 14:boolean, CastLongToBooleanViaLongToLong(col 1:smallint) -> 15:boolean, CastLongToBooleanViaLongToLong(col 2:int) -> 16:boolean, CastLongToBooleanViaLongToLong(col 3:bigint) -> 17:boolean, CastDoubleToBooleanViaDoubleToLong(col 4:float) -> 18:boolean, CastDoubleToBooleanViaDoubleToLong(col 5:double) -> 19:boolean, CastLongToBooleanViaLongToLong(col 20:bigint)(children: LongColMultiplyLongScalar(col 3:bigint, val 0) -> 20:bigint) -> 21:boolean, CastTimestampToBoolean(col 8:timestamp) -> 22:boolean, CastStringToBoolean(col 6) -> 23:boolean, CastDoubleToLong(col 4:float) -> 24:int, CastDoubleToLong(col 5:double) -> 25:int, CastTimestampToLong(col 8:timestamp) -> 26:int, CastStringToLong(col 6:string) -> 27:int, CastStringToLong(col 28:string)(children: StringSubstrColStartLen(col 6:string, start 0, length 1) -> 28:string) -> 29:int, CastDoubleToLong(col 4:float) -> 30:tinyint, CastDoubleToLong(col 4:float) -> 31:smallint, CastDoubleToLong(col 4:float) -> 32:bigint, CastLongToDouble(col 0:tinyint) -> 33:double, CastLongToDouble(col 1:smallint) -> 34:double, CastLongToDouble(col 2:int) -> 35:double, CastLongToDouble(col 3:bigint) -> 36:double, CastLongToDouble(col 10:boolean) -> 37:double, CastTimestampToDouble(col 8:timestamp) -> 38:double, CastStringToDouble(col 6:string) -> 39:double, CastStringToDouble(col 40:string)(children: StringSubstrColStartLen(col 6:string, start 0, length 1) -> 40:string) -> 41:double, CastLongToFloatViaLongToDouble(col 2:int) -> 42:float, CastMillisecondsLongToTimestamp(col 0:tinyint) -> 44:timestamp, CastMillisecondsLongToTimestamp(col 1:smallint) -> 46:timestamp, CastMillisecondsLongToTimestamp(col 2:int) -> 48:timestamp, CastMillisecondsLongToTimestamp(col 3:bigint) -> 50:timestamp, CastDoubleToTimestamp(col 4:float) -> 51:timestamp, CastDoubleToTimestamp(col 5:double) -> 52:timestamp, CastMillisecondsLongToTimestamp(col 10:boolean) -> 54:timestamp, CastMillisecondsLongToTimestamp(col 57:bigint)(children: LongColMultiplyLongScalar(col 3:bigint, val 0) -> 57:bigint) -> 58:timestamp, CastDateToTimestamp(col 59:date)(children: CastTimestampToDate(col 8:timestamp) -> 59:date) -> 60:timestamp, CastStringToTimestamp(col 6:string) -> 61:timestamp, CastStringToTimestamp(col 62:string)(children: StringSubstrColStartLen(col 6:string, start 0, length 1) -> 62:string) -> 63:timestamp, CastLongToString(col 0:tinyint) -> 64:string, CastLongToString(col 1:smallint) -> 65:string, CastLongToString(col 2:int) -> 66:string, CastLongToString(col 3:bigint) -> 67:string, CastFloatToString(col 4:float) -> 68:string, CastDoubleToString(col 5:double) -> 69:string, CastBooleanToStringViaLongToString(col 10:boolean) -> 70:string, CastLongToString(col 71:bigint)(children: LongColMultiplyLongScalar(col 3:bigint, val 0) -> 71:bigint) -> 72:string, CastTimestampToString(col 8:timestamp) -> 73:string, CastStringGroupToChar(col 6:string, maxLength 10) -> 74:char(10), CastStringGroupToVarChar(col 6:string, maxLength 10) -> 75:varchar(10), CastLongToFloatViaLongToDouble(col 76:int)(children: CastDoubleToLong(col 4:float) -> 76:int) -> 77:float, CastLongToDouble(col 78:int)(children: LongColMultiplyLongScalar(col 2:int, val 2) -> 78:int) -> 79:double, CastDoubleToString(col 80:double)(children: FuncSinDoubleToDouble(col 4:float) -> 80:double) -> 81:string, DoubleColAddDoubleColumn(col 82:double, col 83:double)(children: CastLongToFloatViaLongToDouble(col 2:int) -> 82:float, CastLongToDouble(col 10:boolean) -> 83:double) -> 84:double
+ selectExpressions: CastLongToBooleanViaLongToLong(col 0:tinyint) -> 14:boolean, CastLongToBooleanViaLongToLong(col 1:smallint) -> 15:boolean, CastLongToBooleanViaLongToLong(col 2:int) -> 16:boolean, CastLongToBooleanViaLongToLong(col 3:bigint) -> 17:boolean, CastDoubleToBooleanViaDoubleToLong(col 4:float) -> 18:boolean, CastDoubleToBooleanViaDoubleToLong(col 5:double) -> 19:boolean, LongColNotEqualLongScalar(col 20:bigint, val 0)(children: LongColMultiplyLongScalar(col 3:bigint, val 0) -> 20:bigint) -> 21:boolean, CastTimestampToBoolean(col 8:timestamp) -> 22:boolean, CastStringToBoolean(col 6) -> 23:boolean, CastDoubleToLong(col 4:float) -> 24:int, CastDoubleToLong(col 5:double) -> 25:int, CastTimestampToLong(col 8:timestamp) -> 26:int, CastStringToLong(col 6:string) -> 27:int, CastStringToLong(col 28:string)(children: StringSubstrColStartLen(col 6:string, start 0, length 1) -> 28:string) -> 29:int, CastDoubleToLong(col 4:float) -> 30:tinyint, CastDoubleToLong(col 4:float) -> 31:smallint, CastDoubleToLong(col 4:float) -> 32:bigint, CastLongToDouble(col 0:tinyint) -> 33:double, CastLongToDouble(col 1:smallint) -> 34:double, CastLongToDouble(col 2:int) -> 35:double, CastLongToDouble(col 3:bigint) -> 36:double, CastLongToDouble(col 10:boolean) -> 37:double, CastTimestampToDouble(col 8:timestamp) -> 38:double, CastStringToDouble(col 6:string) -> 39:double, CastStringToDouble(col 40:string)(children: StringSubstrColStartLen(col 6:string, start 0, length 1) -> 40:string) -> 41:double, CastLongToFloatViaLongToDouble(col 2:int) -> 42:float, CastMillisecondsLongToTimestamp(col 0:tinyint) -> 44:timestamp, CastMillisecondsLongToTimestamp(col 1:smallint) -> 46:timestamp, CastMillisecondsLongToTimestamp(col 2:int) -> 48:timestamp, CastMillisecondsLongToTimestamp(col 3:bigint) -> 50:timestamp, CastDoubleToTimestamp(col 4:float) -> 51:timestamp, CastDoubleToTimestamp(col 5:double) -> 52:timestamp, CastMillisecondsLongToTimestamp(col 10:boolean) -> 54:timestamp, CastMillisecondsLongToTimestamp(col 57:bigint)(children: LongColMultiplyLongScalar(col 3:bigint, val 0) -> 57:bigint) -> 58:timestamp, CastDateToTimestamp(col 59:date)(children: CastTimestampToDate(col 8:timestamp) -> 59:date) -> 60:timestamp, CastStringToTimestamp(col 6:string) -> 61:timestamp, CastStringToTimestamp(col 62:string)(children: StringSubstrColStartLen(col 6:string, start 0, length 1) -> 62:string) -> 63:timestamp, CastLongToString(col 0:tinyint) -> 64:string, CastLongToString(col 1:smallint) -> 65:string, CastLongToString(col 2:int) -> 66:string, CastLongToString(col 3:bigint) -> 67:string, CastFloatToString(col 4:float) -> 68:string, CastDoubleToString(col 5:double) -> 69:string, CastBooleanToStringViaLongToString(col 10:boolean) -> 70:string, CastLongToString(col 71:bigint)(children: LongColMultiplyLongScalar(col 3:bigint, val 0) -> 71:bigint) -> 72:string, CastTimestampToString(col 8:timestamp) -> 73:string, CastStringGroupToChar(col 6:string, maxLength 10) -> 74:char(10), CastStringGroupToVarChar(col 6:string, maxLength 10) -> 75:varchar(10), CastLongToFloatViaLongToDouble(col 76:int)(children: CastDoubleToLong(col 4:float) -> 76:int) -> 77:float, CastLongToDouble(col 78:int)(children: LongColMultiplyLongScalar(col 2:int, val 2) -> 78:int) -> 79:double, CastDoubleToString(col 80:double)(children: FuncSinDoubleToDouble(col 4:float) -> 80:double) -> 81:string, DoubleColAddDoubleColumn(col 82:double, col 83:double)(children: CastLongToFloatViaLongToDouble(col 2:int) -> 82:float, CastLongToDouble(col 10:boolean) -> 83:double) -> 84:double
Statistics: Num rows: 6144 Data size: 16362860 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
diff --git ql/src/test/results/clientpositive/llap/vectorized_dynamic_partition_pruning.q.out ql/src/test/results/clientpositive/llap/vectorized_dynamic_partition_pruning.q.out
index 7f096716ff..5dcf5f1d87 100644
--- ql/src/test/results/clientpositive/llap/vectorized_dynamic_partition_pruning.q.out
+++ ql/src/test/results/clientpositive/llap/vectorized_dynamic_partition_pruning.q.out
@@ -1843,17 +1843,20 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: hr is not null (type: boolean)
+ filterExpr: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 389248 Basic stats: COMPLETE Column stats: COMPLETE
- Select Operator
- expressions: UDFToDouble(hr) (type: double)
- outputColumnNames: _col0
- Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- key expressions: _col0 (type: double)
- sort order: +
- Map-reduce partition columns: _col0 (type: double)
+ Filter Operator
+ predicate: UDFToDouble(hr) is not null (type: boolean)
+ Statistics: Num rows: 2000 Data size: 368000 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: UDFToDouble(hr) (type: double)
+ outputColumnNames: _col0
Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ key expressions: _col0 (type: double)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: double)
+ Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
Execution mode: vectorized, llap
LLAP IO: no inputs
Map Vectorization:
@@ -1869,10 +1872,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart_double_hour_n2
- filterExpr: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ filterExpr: ((UDFToDouble(hour) = 11.0D) and UDFToDouble(UDFToInteger((hr / 2.0D))) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ predicate: ((UDFToDouble(hour) = 11.0D) and UDFToDouble(UDFToInteger((hr / 2.0D))) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: UDFToDouble(UDFToInteger((hr / 2.0D))) (type: double)
@@ -2019,17 +2022,20 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: hr is not null (type: boolean)
+ filterExpr: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 389248 Basic stats: COMPLETE Column stats: COMPLETE
- Select Operator
- expressions: (UDFToDouble(hr) * 2.0D) (type: double)
- outputColumnNames: _col0
- Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- key expressions: _col0 (type: double)
- sort order: +
- Map-reduce partition columns: _col0 (type: double)
+ Filter Operator
+ predicate: UDFToDouble(hr) is not null (type: boolean)
+ Statistics: Num rows: 2000 Data size: 368000 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: (UDFToDouble(hr) * 2.0D) (type: double)
+ outputColumnNames: _col0
Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ key expressions: _col0 (type: double)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: double)
+ Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
Execution mode: vectorized, llap
LLAP IO: no inputs
Map Vectorization:
@@ -2195,17 +2201,20 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: hr is not null (type: boolean)
+ filterExpr: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 389248 Basic stats: COMPLETE Column stats: COMPLETE
- Select Operator
- expressions: UDFToDouble(hr) (type: double)
- outputColumnNames: _col0
- Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- key expressions: _col0 (type: double)
- sort order: +
- Map-reduce partition columns: _col0 (type: double)
+ Filter Operator
+ predicate: UDFToDouble(hr) is not null (type: boolean)
+ Statistics: Num rows: 2000 Data size: 368000 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: UDFToDouble(hr) (type: double)
+ outputColumnNames: _col0
Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ key expressions: _col0 (type: double)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: double)
+ Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
Execution mode: vectorized, llap
LLAP IO: no inputs
Map Vectorization:
@@ -2221,10 +2230,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart_double_hour_n2
- filterExpr: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ filterExpr: ((UDFToDouble(hour) = 11.0D) and UDFToDouble(UDFToInteger((hr / 2.0D))) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ predicate: ((UDFToDouble(hour) = 11.0D) and UDFToDouble(UDFToInteger((hr / 2.0D))) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: UDFToDouble(UDFToInteger((hr / 2.0D))) (type: double)
@@ -2355,17 +2364,20 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: hr is not null (type: boolean)
+ filterExpr: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 389248 Basic stats: COMPLETE Column stats: COMPLETE
- Select Operator
- expressions: (UDFToDouble(hr) * 2.0D) (type: double)
- outputColumnNames: _col0
- Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- key expressions: _col0 (type: double)
- sort order: +
- Map-reduce partition columns: _col0 (type: double)
+ Filter Operator
+ predicate: UDFToDouble(hr) is not null (type: boolean)
+ Statistics: Num rows: 2000 Data size: 368000 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: (UDFToDouble(hr) * 2.0D) (type: double)
+ outputColumnNames: _col0
Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ key expressions: _col0 (type: double)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: double)
+ Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
Execution mode: vectorized, llap
LLAP IO: no inputs
Map Vectorization:
@@ -2528,17 +2540,20 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: hr is not null (type: boolean)
+ filterExpr: CAST( (UDFToDouble(hr) * 2.0D) AS STRING) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 389248 Basic stats: COMPLETE Column stats: COMPLETE
- Select Operator
- expressions: CAST( (UDFToDouble(hr) * 2.0D) AS STRING) (type: string)
- outputColumnNames: _col0
+ Filter Operator
+ predicate: CAST( (UDFToDouble(hr) * 2.0D) AS STRING) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 368000 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- key expressions: _col0 (type: string)
- sort order: +
- Map-reduce partition columns: _col0 (type: string)
+ Select Operator
+ expressions: CAST( (UDFToDouble(hr) * 2.0D) AS STRING) (type: string)
+ outputColumnNames: _col0
Statistics: Num rows: 2000 Data size: 368000 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ key expressions: _col0 (type: string)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: string)
+ Statistics: Num rows: 2000 Data size: 368000 Basic stats: COMPLETE Column stats: COMPLETE
Execution mode: vectorized, llap
LLAP IO: no inputs
Map Vectorization:
@@ -2554,10 +2569,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart_double_hour_n2
- filterExpr: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ filterExpr: ((UDFToDouble(hour) = 11.0D) and CAST( hr AS STRING) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ predicate: ((UDFToDouble(hour) = 11.0D) and CAST( hr AS STRING) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: CAST( hr AS STRING) (type: string)
@@ -5848,31 +5863,34 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: hr is not null (type: boolean)
+ filterExpr: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 389248 Basic stats: COMPLETE Column stats: COMPLETE
- Select Operator
- expressions: UDFToDouble(hr) (type: double)
- outputColumnNames: _col0
- Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
- Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 _col0 (type: double)
- 1 _col0 (type: double)
- input vertices:
- 1 Map 3
- Statistics: Num rows: 1000 Data size: 8000 Basic stats: COMPLETE Column stats: COMPLETE
- Group By Operator
- aggregations: count()
- minReductionHashAggr: 0.0
- mode: hash
- outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- sort order:
+ Filter Operator
+ predicate: UDFToDouble(hr) is not null (type: boolean)
+ Statistics: Num rows: 2000 Data size: 368000 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: UDFToDouble(hr) (type: double)
+ outputColumnNames: _col0
+ Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: double)
+ 1 _col0 (type: double)
+ input vertices:
+ 1 Map 3
+ Statistics: Num rows: 1000 Data size: 8000 Basic stats: COMPLETE Column stats: COMPLETE
+ Group By Operator
+ aggregations: count()
+ minReductionHashAggr: 0.0
+ mode: hash
+ outputColumnNames: _col0
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
- value expressions: _col0 (type: bigint)
+ Reduce Output Operator
+ sort order:
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ value expressions: _col0 (type: bigint)
Execution mode: vectorized, llap
LLAP IO: no inputs
Map Vectorization:
@@ -5888,10 +5906,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart_double_hour_n2
- filterExpr: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ filterExpr: ((UDFToDouble(hour) = 11.0D) and UDFToDouble(UDFToInteger((hr / 2.0D))) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ predicate: ((UDFToDouble(hour) = 11.0D) and UDFToDouble(UDFToInteger((hr / 2.0D))) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: UDFToDouble(UDFToInteger((hr / 2.0D))) (type: double)
@@ -6015,31 +6033,34 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: hr is not null (type: boolean)
+ filterExpr: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 389248 Basic stats: COMPLETE Column stats: COMPLETE
- Select Operator
- expressions: (UDFToDouble(hr) * 2.0D) (type: double)
- outputColumnNames: _col0
- Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
- Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 _col0 (type: double)
- 1 _col0 (type: double)
- input vertices:
- 1 Map 3
- Statistics: Num rows: 1000 Data size: 8000 Basic stats: COMPLETE Column stats: COMPLETE
- Group By Operator
- aggregations: count()
- minReductionHashAggr: 0.0
- mode: hash
- outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- sort order:
+ Filter Operator
+ predicate: UDFToDouble(hr) is not null (type: boolean)
+ Statistics: Num rows: 2000 Data size: 368000 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: (UDFToDouble(hr) * 2.0D) (type: double)
+ outputColumnNames: _col0
+ Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: double)
+ 1 _col0 (type: double)
+ input vertices:
+ 1 Map 3
+ Statistics: Num rows: 1000 Data size: 8000 Basic stats: COMPLETE Column stats: COMPLETE
+ Group By Operator
+ aggregations: count()
+ minReductionHashAggr: 0.0
+ mode: hash
+ outputColumnNames: _col0
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
- value expressions: _col0 (type: bigint)
+ Reduce Output Operator
+ sort order:
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ value expressions: _col0 (type: bigint)
Execution mode: vectorized, llap
LLAP IO: no inputs
Map Vectorization:
@@ -7479,40 +7500,44 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart_orc_n0
+ filterExpr: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 564000 Basic stats: COMPLETE Column stats: COMPLETE
- Select Operator
- expressions: ds (type: string), UDFToDouble(hr) (type: double)
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 2000 Data size: 384000 Basic stats: COMPLETE Column stats: COMPLETE
- Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 _col0 (type: string), _col1 (type: double)
- 1 _col0 (type: string), _col1 (type: double)
- input vertices:
- 1 Map 3
- Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
- Group By Operator
- aggregations: count()
- minReductionHashAggr: 0.0
- mode: hash
- outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
- Reduce Output Operator
- sort order:
+ Filter Operator
+ predicate: UDFToDouble(hr) is not null (type: boolean)
+ Statistics: Num rows: 2000 Data size: 376000 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ expressions: ds (type: string), UDFToDouble(hr) (type: double)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 2000 Data size: 384000 Basic stats: COMPLETE Column stats: COMPLETE
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: string), _col1 (type: double)
+ 1 _col0 (type: string), _col1 (type: double)
+ input vertices:
+ 1 Map 3
+ Statistics: Num rows: 2000 Data size: 16000 Basic stats: COMPLETE Column stats: COMPLETE
+ Group By Operator
+ aggregations: count()
+ minReductionHashAggr: 0.0
+ mode: hash
+ outputColumnNames: _col0
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
- value expressions: _col0 (type: bigint)
+ Reduce Output Operator
+ sort order:
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ value expressions: _col0 (type: bigint)
Execution mode: llap
LLAP IO: all inputs
Map 3
Map Operator Tree:
TableScan
alias: srcpart_date_hour_n2
- filterExpr: ((date) IN ('2008-04-08', '2008-04-09') and (UDFToDouble(hour) = 11.0D) and ds is not null and hr is not null) (type: boolean)
+ filterExpr: ((date) IN ('2008-04-08', '2008-04-09') and (UDFToDouble(hour) = 11.0D) and ds is not null and UDFToDouble(hr) is not null) (type: boolean)
Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((UDFToDouble(hour) = 11.0D) and (date) IN ('2008-04-08', '2008-04-09') and ds is not null and hr is not null) (type: boolean)
+ predicate: ((UDFToDouble(hour) = 11.0D) and (date) IN ('2008-04-08', '2008-04-09') and UDFToDouble(hr) is not null and ds is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 720 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: ds (type: string), UDFToDouble(hr) (type: double)
diff --git ql/src/test/results/clientpositive/llap/vectorized_math_funcs.q.out ql/src/test/results/clientpositive/llap/vectorized_math_funcs.q.out
index 63b42fde3a..9febde9133 100644
--- ql/src/test/results/clientpositive/llap/vectorized_math_funcs.q.out
+++ ql/src/test/results/clientpositive/llap/vectorized_math_funcs.q.out
@@ -123,7 +123,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: (((cbigint % 500) = 0) and (sin(cfloat) >= -1.0D)) (type: boolean)
+ filterExpr: (((cbigint % 500L) = 0L) and (sin(cfloat) >= -1.0D)) (type: boolean)
Statistics: Num rows: 12288 Data size: 293580 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -132,7 +132,7 @@ STAGE PLANS:
className: VectorFilterOperator
native: true
predicateExpression: FilterExprAndExpr(children: FilterLongColEqualLongScalar(col 13:bigint, val 0)(children: LongColModuloLongScalar(col 3:bigint, val 500) -> 13:bigint), FilterDoubleColGreaterEqualDoubleScalar(col 14:double, val -1.0)(children: FuncSinDoubleToDouble(col 4:float) -> 14:double))
- predicate: (((cbigint % 500) = 0) and (sin(cfloat) >= -1.0D)) (type: boolean)
+ predicate: (((cbigint % 500L) = 0L) and (sin(cfloat) >= -1.0D)) (type: boolean)
Statistics: Num rows: 2048 Data size: 48960 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: cdouble (type: double), round(cdouble, 2) (type: double), floor(cdouble) (type: bigint), ceil(cdouble) (type: bigint), rand() (type: double), rand(98007) (type: double), exp(ln(cdouble)) (type: double), ln(cdouble) (type: double), ln(cfloat) (type: double), log10(cdouble) (type: double), log2(cdouble) (type: double), log2((cdouble - 15601.0D)) (type: double), log2(cfloat) (type: double), log2(cbigint) (type: double), log2(cint) (type: double), log2(csmallint) (type: double), log2(ctinyint) (type: double), log(2, cdouble) (type: double), power(log2(cdouble), 2) (type: double), power(log2(cdouble), 2) (type: double), sqrt(cdouble) (type: double), sqrt(cbigint) (type: double), bin(cbigint) (type: string), hex(cdouble) (type: string), conv(cbigint, 10, 16) (type: string), abs(cdouble) (type: double), abs(ctinyint) (type: int), (cint pmod 3) (type: int), sin(cdouble) (type: double), asin(cdouble) (type: double), cos(cdouble) (type: double), acos(cdouble) (type: double), atan(cdouble) (type: double), degrees(cdouble) (type: double), radians(cdouble) (type: double), cdouble (type: double), cbigint (type: bigint), (- cdouble) (type: double), sign(cdouble) (type: double), sign(cbigint) (type: double), cos(((- sin(log(cdouble))) + 3.14159D)) (type: double)
diff --git ql/src/test/results/clientpositive/llap/vectorized_string_funcs.q.out ql/src/test/results/clientpositive/llap/vectorized_string_funcs.q.out
index 7a5073577e..c53f00b382 100644
--- ql/src/test/results/clientpositive/llap/vectorized_string_funcs.q.out
+++ ql/src/test/results/clientpositive/llap/vectorized_string_funcs.q.out
@@ -63,10 +63,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: (((cbigint % 237) = 0) and (length(substr(cstring1, 1, 2)) <= 2) and (cstring1 like '%')) (type: boolean)
+ filterExpr: (((cbigint % 237L) = 0L) and (length(substr(cstring1, 1, 2)) <= 2) and (cstring1 like '%')) (type: boolean)
Statistics: Num rows: 12288 Data size: 1816546 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (((cbigint % 237) = 0) and (cstring1 like '%') and (length(substr(cstring1, 1, 2)) <= 2)) (type: boolean)
+ predicate: (((cbigint % 237L) = 0L) and (cstring1 like '%') and (length(substr(cstring1, 1, 2)) <= 2)) (type: boolean)
Statistics: Num rows: 1024 Data size: 151470 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: substr(cstring1, 1, 2) (type: string), substr(cstring1, 2) (type: string), lower(cstring1) (type: string), upper(cstring1) (type: string), upper(cstring1) (type: string), length(cstring1) (type: int), trim(cstring1) (type: string), ltrim(cstring1) (type: string), rtrim(cstring1) (type: string), concat(cstring1, cstring2) (type: string), concat('>', cstring1) (type: string), concat(cstring1, '<') (type: string), concat(substr(cstring1, 1, 2), substr(cstring2, 1, 2)) (type: string)
diff --git ql/src/test/results/clientpositive/llap/vectorized_timestamp_ints_casts.q.out ql/src/test/results/clientpositive/llap/vectorized_timestamp_ints_casts.q.out
index c52e3b9e94..e13d4a90b9 100644
--- ql/src/test/results/clientpositive/llap/vectorized_timestamp_ints_casts.q.out
+++ ql/src/test/results/clientpositive/llap/vectorized_timestamp_ints_casts.q.out
@@ -55,7 +55,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: ((cbigint % 250) = 0) (type: boolean)
+ filterExpr: ((cbigint % 250L) = 0L) (type: boolean)
Statistics: Num rows: 12288 Data size: 1684250 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -64,7 +64,7 @@ STAGE PLANS:
className: VectorFilterOperator
native: true
predicateExpression: FilterLongColEqualLongScalar(col 13:bigint, val 0)(children: LongColModuloLongScalar(col 3:bigint, val 250) -> 13:bigint)
- predicate: ((cbigint % 250) = 0) (type: boolean)
+ predicate: ((cbigint % 250L) = 0L) (type: boolean)
Statistics: Num rows: 6144 Data size: 842180 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: CAST( ctinyint AS TIMESTAMP) (type: timestamp), CAST( csmallint AS TIMESTAMP) (type: timestamp), CAST( cint AS TIMESTAMP) (type: timestamp), CAST( cbigint AS TIMESTAMP) (type: timestamp), CAST( cfloat AS TIMESTAMP) (type: timestamp), CAST( cdouble AS TIMESTAMP) (type: timestamp), CAST( cboolean1 AS TIMESTAMP) (type: timestamp), CAST( (cbigint * 0L) AS TIMESTAMP) (type: timestamp), ctimestamp1 (type: timestamp), CAST( cstring1 AS TIMESTAMP) (type: timestamp), CAST( substr(cstring1, 1, 1) AS TIMESTAMP) (type: timestamp)
@@ -224,7 +224,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: ((cbigint % 250) = 0) (type: boolean)
+ filterExpr: ((cbigint % 250L) = 0L) (type: boolean)
Statistics: Num rows: 12288 Data size: 1684250 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -233,7 +233,7 @@ STAGE PLANS:
className: VectorFilterOperator
native: true
predicateExpression: FilterLongColEqualLongScalar(col 13:bigint, val 0)(children: LongColModuloLongScalar(col 3:bigint, val 250) -> 13:bigint)
- predicate: ((cbigint % 250) = 0) (type: boolean)
+ predicate: ((cbigint % 250L) = 0L) (type: boolean)
Statistics: Num rows: 6144 Data size: 842180 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: CAST( ctinyint AS TIMESTAMP) (type: timestamp), CAST( csmallint AS TIMESTAMP) (type: timestamp), CAST( cint AS TIMESTAMP) (type: timestamp), CAST( cbigint AS TIMESTAMP) (type: timestamp), CAST( cfloat AS TIMESTAMP) (type: timestamp), CAST( cdouble AS TIMESTAMP) (type: timestamp), CAST( cboolean1 AS TIMESTAMP) (type: timestamp), CAST( (cbigint * 0L) AS TIMESTAMP) (type: timestamp), ctimestamp1 (type: timestamp), CAST( cstring1 AS TIMESTAMP) (type: timestamp), CAST( substr(cstring1, 1, 1) AS TIMESTAMP) (type: timestamp)
diff --git ql/src/test/results/clientpositive/masking_1.q.out ql/src/test/results/clientpositive/masking_1.q.out
index d915a47757..48ab78a35a 100644
--- ql/src/test/results/clientpositive/masking_1.q.out
+++ ql/src/test/results/clientpositive/masking_1.q.out
@@ -253,10 +253,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: masking_test_n8
- filterExpr: (((key % 2) = 0) and (key < 10)) (type: boolean)
+ filterExpr: (((key % 2) = 0) and (key < 10) and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (((key % 2) = 0) and (key < 10)) (type: boolean)
+ predicate: (((key % 2) = 0) and (key < 10) and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 83 Data size: 7885 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), reverse(value) (type: string), UDFToDouble(key) (type: double)
@@ -270,10 +270,10 @@ STAGE PLANS:
value expressions: _col0 (type: int), _col1 (type: string)
TableScan
alias: srcpart
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 1092000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 1092000 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string), ds (type: string), hr (type: string), UDFToDouble(key) (type: double)
diff --git ql/src/test/results/clientpositive/masking_12.q.out ql/src/test/results/clientpositive/masking_12.q.out
index 178a141da3..8ff059a6cd 100644
--- ql/src/test/results/clientpositive/masking_12.q.out
+++ ql/src/test/results/clientpositive/masking_12.q.out
@@ -138,12 +138,12 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: masking_test_subq_n1
- filterExpr: key is not null (type: boolean)
+ filterExpr: (UDFToDouble(key) is not null and key is not null) (type: boolean)
properties:
insideView TRUE
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
keys: key (type: int)
@@ -179,12 +179,12 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
properties:
insideView TRUE
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -234,12 +234,12 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: masking_test_subq_n1
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
properties:
insideView TRUE
Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), value (type: string)
diff --git ql/src/test/results/clientpositive/masking_2.q.out ql/src/test/results/clientpositive/masking_2.q.out
index 6d8420270b..9bb3e73e2b 100644
--- ql/src/test/results/clientpositive/masking_2.q.out
+++ ql/src/test/results/clientpositive/masking_2.q.out
@@ -228,12 +228,12 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src
- filterExpr: (((UDFToInteger(key) % 2) = 0) and (UDFToInteger(key) < 10)) (type: boolean)
+ filterExpr: (((UDFToInteger(key) % 2) = 0) and (UDFToInteger(key) < 10) and UDFToDouble(UDFToInteger(key)) is not null) (type: boolean)
properties:
insideView TRUE
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (((UDFToInteger(key) % 2) = 0) and (UDFToInteger(key) < 10)) (type: boolean)
+ predicate: (((UDFToInteger(key) % 2) = 0) and (UDFToInteger(key) < 10) and UDFToDouble(UDFToInteger(key)) is not null) (type: boolean)
Statistics: Num rows: 83 Data size: 14774 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: UDFToInteger(key) (type: int), reverse(value) (type: string)
@@ -247,12 +247,12 @@ STAGE PLANS:
value expressions: _col0 (type: int), _col1 (type: string)
TableScan
alias: src
- filterExpr: (((UDFToInteger(key) % 2) = 0) and (UDFToInteger(key) < 10) and (UDFToInteger(key) > 0) and reverse(value) is not null) (type: boolean)
+ filterExpr: (((UDFToInteger(key) % 2) = 0) and (UDFToInteger(key) < 10) and (UDFToInteger(key) > 0) and UDFToDouble(reverse(value)) is not null) (type: boolean)
properties:
insideView TRUE
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (((UDFToInteger(key) % 2) = 0) and (UDFToInteger(key) < 10) and (UDFToInteger(key) > 0) and reverse(value) is not null) (type: boolean)
+ predicate: (((UDFToInteger(key) % 2) = 0) and (UDFToInteger(key) < 10) and (UDFToInteger(key) > 0) and UDFToDouble(reverse(value)) is not null) (type: boolean)
Statistics: Num rows: 27 Data size: 4806 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: UDFToInteger(key) (type: int), reverse(value) (type: string)
@@ -272,10 +272,10 @@ STAGE PLANS:
0 UDFToDouble(_col0) (type: double)
1 UDFToDouble(_col1) (type: double)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 27 Data size: 5184 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 42 Data size: 8064 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 27 Data size: 5184 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 42 Data size: 8064 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
diff --git ql/src/test/results/clientpositive/masking_3.q.out ql/src/test/results/clientpositive/masking_3.q.out
index 1c7cd158f4..c8b1619a4b 100644
--- ql/src/test/results/clientpositive/masking_3.q.out
+++ ql/src/test/results/clientpositive/masking_3.q.out
@@ -32,10 +32,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: masking_test_subq_n3
- filterExpr: key is not null (type: boolean)
+ filterExpr: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
keys: key (type: int)
@@ -71,10 +71,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -124,10 +124,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: masking_test_subq_n3
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), value (type: string)
@@ -700,10 +700,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: masking_test_subq_n3
- filterExpr: (key > 0) (type: boolean)
+ filterExpr: ((key > 0) and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (key > 0) (type: boolean)
+ predicate: ((key > 0) and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
keys: key (type: int)
@@ -739,10 +739,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -792,10 +792,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: masking_test_subq_n3
- filterExpr: (key > 0) (type: boolean)
+ filterExpr: ((key > 0) and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (key > 0) (type: boolean)
+ predicate: ((key > 0) and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), value (type: string)
@@ -1365,10 +1365,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: masking_test_subq_n3
- filterExpr: (key > 0) (type: boolean)
+ filterExpr: ((key > 0) and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (key > 0) (type: boolean)
+ predicate: ((key > 0) and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
keys: key (type: int)
@@ -1404,10 +1404,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -1457,10 +1457,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: masking_test_subq_n3
- filterExpr: (key > 0) (type: boolean)
+ filterExpr: ((key > 0) and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (key > 0) (type: boolean)
+ predicate: ((key > 0) and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int)
@@ -2029,10 +2029,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: masking_test_subq_n3
- filterExpr: (key > 0) (type: boolean)
+ filterExpr: ((key > 0) and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (key > 0) (type: boolean)
+ predicate: ((key > 0) and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
keys: key (type: int)
@@ -2068,10 +2068,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -2121,10 +2121,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: masking_test_subq_n3
- filterExpr: (key > 0) (type: boolean)
+ filterExpr: ((key > 0) and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (key > 0) (type: boolean)
+ predicate: ((key > 0) and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), value (type: string)
@@ -2709,10 +2709,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: masking_test_subq_n3
- filterExpr: key is not null (type: boolean)
+ filterExpr: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
keys: key (type: int)
@@ -2748,10 +2748,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -2801,10 +2801,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: masking_test_subq_n3
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), value (type: string)
@@ -2847,10 +2847,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 1092000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 1092000 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string), ds (type: string), hr (type: string), UDFToDouble(key) (type: double)
@@ -7050,10 +7050,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: masking_test_subq_n3
- filterExpr: (key > 0) (type: boolean)
+ filterExpr: ((key > 0) and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (key > 0) (type: boolean)
+ predicate: ((key > 0) and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
keys: key (type: int)
@@ -7089,10 +7089,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -7142,10 +7142,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: masking_test_subq_n3
- filterExpr: (key > 0) (type: boolean)
+ filterExpr: ((key > 0) and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (key > 0) (type: boolean)
+ predicate: ((key > 0) and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), value (type: string)
@@ -7715,10 +7715,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: masking_test_subq_n3
- filterExpr: (key > 0) (type: boolean)
+ filterExpr: ((key > 0) and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (key > 0) (type: boolean)
+ predicate: ((key > 0) and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
keys: key (type: int)
@@ -7754,10 +7754,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -7807,10 +7807,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: masking_test_subq_n3
- filterExpr: (key > 0) (type: boolean)
+ filterExpr: ((key > 0) and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (key > 0) (type: boolean)
+ predicate: ((key > 0) and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), value (type: string)
diff --git ql/src/test/results/clientpositive/masking_4.q.out ql/src/test/results/clientpositive/masking_4.q.out
index fc0acb7e27..0c6a490e1d 100644
--- ql/src/test/results/clientpositive/masking_4.q.out
+++ ql/src/test/results/clientpositive/masking_4.q.out
@@ -188,10 +188,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: masking_test_subq_n2
- filterExpr: key is not null (type: boolean)
+ filterExpr: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
keys: key (type: int)
@@ -227,10 +227,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -280,10 +280,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: masking_test_subq_n2
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), value (type: string)
diff --git ql/src/test/results/clientpositive/mergejoin.q.out ql/src/test/results/clientpositive/mergejoin.q.out
index 1c6d62c8a0..05850d4b0a 100644
--- ql/src/test/results/clientpositive/mergejoin.q.out
+++ ql/src/test/results/clientpositive/mergejoin.q.out
@@ -3369,7 +3369,6 @@ POSTHOOK: Input: default@tab_part_n10@ds=2008-04-08
#### A masked pattern was here ####
NULL NULL NULL 98 val_98 2008-04-08
NULL NULL NULL 98 val_98 2008-04-08
-Warning: Shuffle Join JOIN[14][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Stage-2:MAPRED' is a cross product
Warning: Shuffle Join JOIN[11][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product
PREHOOK: query: select * from
(select * from tab_n9 where tab_n9.key = 0)a
@@ -3939,8 +3938,7 @@ NULL NULL NULL NULL NULL NULL 97 val_97 2008-04-08
NULL NULL NULL NULL NULL NULL 97 val_97 2008-04-08
NULL NULL NULL NULL NULL NULL 98 val_98 2008-04-08
NULL NULL NULL NULL NULL NULL 98 val_98 2008-04-08
-Warning: Shuffle Join JOIN[14][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product
-Warning: Shuffle Join JOIN[10][tables = [$hdt$_1, $hdt$_2]] in Stage 'Stage-2:MAPRED' is a cross product
+Warning: Shuffle Join JOIN[10][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product
PREHOOK: query: select * from
(select * from tab_n9 where tab_n9.key = 0)a
join
diff --git ql/src/test/results/clientpositive/nested_column_pruning.q.out ql/src/test/results/clientpositive/nested_column_pruning.q.out
index 80fb68b2ba..0713a40e44 100644
--- ql/src/test/results/clientpositive/nested_column_pruning.q.out
+++ ql/src/test/results/clientpositive/nested_column_pruning.q.out
@@ -420,11 +420,11 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: nested_tbl_1_n1
- filterExpr: (s1.f1 = false) (type: boolean)
+ filterExpr: (not s1.f1) (type: boolean)
Pruned Column Paths: s1.f2, s1.f1
Statistics: Num rows: 1 Data size: 316 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (s1.f1 = false) (type: boolean)
+ predicate: (not s1.f1) (type: boolean)
Statistics: Num rows: 1 Data size: 316 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: s1.f2 (type: string)
@@ -1016,10 +1016,10 @@ STAGE PLANS:
value expressions: _col0 (type: struct,f6:int>)
TableScan
alias: t2
- filterExpr: ((s2.f8.f9 = false) and s1.f6 is not null) (type: boolean)
+ filterExpr: (s1.f6 is not null and (not s2.f8.f9)) (type: boolean)
Statistics: Num rows: 1 Data size: 1468 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((s2.f8.f9 = false) and s1.f6 is not null) (type: boolean)
+ predicate: ((not s2.f8.f9) and s1.f6 is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 1468 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: s1 (type: struct,f6:int>), s2 (type: struct,f11:map>>)
@@ -1219,7 +1219,7 @@ STAGE PLANS:
predicate: (s1.f6 is not null and s2.f8.f9 and s2.f8.f9 is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 1468 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: s1.f6 (type: int), (s2.f8.f9 = true) (type: boolean)
+ expressions: s1.f6 (type: int), s2.f8.f9 (type: boolean)
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 1468 Basic stats: COMPLETE Column stats: NONE
Group By Operator
diff --git ql/src/test/results/clientpositive/optimize_filter_literal.q.out ql/src/test/results/clientpositive/optimize_filter_literal.q.out
index 6eb573a400..4ef0f51375 100644
--- ql/src/test/results/clientpositive/optimize_filter_literal.q.out
+++ ql/src/test/results/clientpositive/optimize_filter_literal.q.out
@@ -136,7 +136,6 @@ POSTHOOK: Input: default@tab_n14@ds=2008-04-08
POSTHOOK: Output: default@tab_n14
POSTHOOK: Output: default@tab_n14@ds=2008-04-08
#### A masked pattern was here ####
-Warning: Shuffle Join JOIN[14][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Stage 'Stage-2:MAPRED' is a cross product
Warning: Shuffle Join JOIN[11][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product
PREHOOK: query: select * from
(select * from tab_n14 where tab_n14.key = 0)a
diff --git ql/src/test/results/clientpositive/orc_nested_column_pruning.q.out ql/src/test/results/clientpositive/orc_nested_column_pruning.q.out
index 0fccc9ee7f..656ba2d3ea 100644
--- ql/src/test/results/clientpositive/orc_nested_column_pruning.q.out
+++ ql/src/test/results/clientpositive/orc_nested_column_pruning.q.out
@@ -420,11 +420,11 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: nested_tbl_1_n0
- filterExpr: (s1.f1 = false) (type: boolean)
+ filterExpr: (not s1.f1) (type: boolean)
Pruned Column Paths: s1.f2, s1.f1
Statistics: Num rows: 1 Data size: 316 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (s1.f1 = false) (type: boolean)
+ predicate: (not s1.f1) (type: boolean)
Statistics: Num rows: 1 Data size: 316 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: s1.f2 (type: string)
@@ -1016,10 +1016,10 @@ STAGE PLANS:
value expressions: _col0 (type: struct,f6:int>)
TableScan
alias: t2
- filterExpr: ((s2.f8.f9 = false) and s1.f6 is not null) (type: boolean)
+ filterExpr: (s1.f6 is not null and (not s2.f8.f9)) (type: boolean)
Statistics: Num rows: 1 Data size: 1468 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((s2.f8.f9 = false) and s1.f6 is not null) (type: boolean)
+ predicate: ((not s2.f8.f9) and s1.f6 is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 1468 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: s1 (type: struct,f6:int>), s2 (type: struct,f11:map>>)
@@ -1219,7 +1219,7 @@ STAGE PLANS:
predicate: (s1.f6 is not null and s2.f8.f9 and s2.f8.f9 is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 1468 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: s1.f6 (type: int), (s2.f8.f9 = true) (type: boolean)
+ expressions: s1.f6 (type: int), s2.f8.f9 (type: boolean)
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 1468 Basic stats: COMPLETE Column stats: NONE
Group By Operator
diff --git ql/src/test/results/clientpositive/orc_ppd_char.q.out ql/src/test/results/clientpositive/orc_ppd_char.q.out
index 846de53ff4..e0c6d85191 100644
--- ql/src/test/results/clientpositive/orc_ppd_char.q.out
+++ ql/src/test/results/clientpositive/orc_ppd_char.q.out
@@ -26,7 +26,7 @@ POSTHOOK: query: select sum(hash(*)) from newtypesorc_n4 where c="apple"
POSTHOOK: type: QUERY
POSTHOOK: Input: default@newtypesorc_n4
#### A masked pattern was here ####
--252951929000
+604329584500
PREHOOK: query: select sum(hash(*)) from newtypesorc_n4 where c="apple"
PREHOOK: type: QUERY
PREHOOK: Input: default@newtypesorc_n4
@@ -35,7 +35,7 @@ POSTHOOK: query: select sum(hash(*)) from newtypesorc_n4 where c="apple"
POSTHOOK: type: QUERY
POSTHOOK: Input: default@newtypesorc_n4
#### A masked pattern was here ####
--252951929000
+604329584500
PREHOOK: query: select sum(hash(*)) from newtypesorc_n4 where c!="apple"
PREHOOK: type: QUERY
PREHOOK: Input: default@newtypesorc_n4
@@ -98,7 +98,7 @@ POSTHOOK: query: select sum(hash(*)) from newtypesorc_n4 where c="apple "
POSTHOOK: type: QUERY
POSTHOOK: Input: default@newtypesorc_n4
#### A masked pattern was here ####
--252951929000
+604329584500
PREHOOK: query: select sum(hash(*)) from newtypesorc_n4 where c="apple "
PREHOOK: type: QUERY
PREHOOK: Input: default@newtypesorc_n4
@@ -107,7 +107,7 @@ POSTHOOK: query: select sum(hash(*)) from newtypesorc_n4 where c="apple "
POSTHOOK: type: QUERY
POSTHOOK: Input: default@newtypesorc_n4
#### A masked pattern was here ####
--252951929000
+604329584500
PREHOOK: query: select sum(hash(*)) from newtypesorc_n4 where c in ("apple", "carrot")
PREHOOK: type: QUERY
PREHOOK: Input: default@newtypesorc_n4
diff --git ql/src/test/results/clientpositive/parquet_vectorization_0.q.out ql/src/test/results/clientpositive/parquet_vectorization_0.q.out
index ebbe004dfa..c584ca6b57 100644
--- ql/src/test/results/clientpositive/parquet_vectorization_0.q.out
+++ ql/src/test/results/clientpositive/parquet_vectorization_0.q.out
@@ -932,30 +932,30 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesparquet
- filterExpr: ((cstring2 like '%b%') or (CAST( cint AS decimal(13,3)) <> 79.553) or (UDFToDouble(cbigint) < cdouble) or ((UDFToShort(ctinyint) >= csmallint) and (cboolean2 = 1) and null)) (type: boolean)
- Statistics: Num rows: 12288 Data size: 1210980 Basic stats: COMPLETE Column stats: COMPLETE
+ filterExpr: ((cstring2 like '%b%') or (CAST( cint AS decimal(13,3)) <> 79.553) or (UDFToDouble(cbigint) < cdouble)) (type: boolean)
+ Statistics: Num rows: 12288 Data size: 1137584 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
Filter Operator
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 7:string, pattern %b%), FilterDecimalColNotEqualDecimalScalar(col 13:decimal(13,3), val 79.553)(children: CastLongToDecimal(col 2:int) -> 13:decimal(13,3)), FilterDoubleColLessDoubleColumn(col 14:double, col 5:double)(children: CastLongToDouble(col 3:bigint) -> 14:double), SelectColumnIsTrue(col 17:boolean)(children: VectorUDFAdaptor(((UDFToShort(ctinyint) >= csmallint) and (cboolean2 = 1) and null))(children: LongColGreaterEqualLongColumn(col 0:smallint, col 1:smallint)(children: col 0:tinyint) -> 15:boolean, LongColEqualLongScalar(col 11:boolean, val 1) -> 16:boolean) -> 17:boolean))
- predicate: (((UDFToShort(ctinyint) >= csmallint) and (cboolean2 = 1) and null) or (CAST( cint AS decimal(13,3)) <> 79.553) or (UDFToDouble(cbigint) < cdouble) or (cstring2 like '%b%')) (type: boolean)
- Statistics: Num rows: 12288 Data size: 1210980 Basic stats: COMPLETE Column stats: COMPLETE
+ predicateExpression: FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 7:string, pattern %b%), FilterDecimalColNotEqualDecimalScalar(col 13:decimal(13,3), val 79.553)(children: CastLongToDecimal(col 2:int) -> 13:decimal(13,3)), FilterDoubleColLessDoubleColumn(col 14:double, col 5:double)(children: CastLongToDouble(col 3:bigint) -> 14:double))
+ predicate: ((CAST( cint AS decimal(13,3)) <> 79.553) or (UDFToDouble(cbigint) < cdouble) or (cstring2 like '%b%')) (type: boolean)
+ Statistics: Num rows: 12288 Data size: 1137584 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: cbigint (type: bigint), cfloat (type: float), ctinyint (type: tinyint), UDFToDouble(cbigint) (type: double), (UDFToDouble(cbigint) * UDFToDouble(cbigint)) (type: double)
outputColumnNames: _col0, _col1, _col2, _col3, _col4
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [3, 4, 0, 18, 21]
- selectExpressions: CastLongToDouble(col 3:bigint) -> 18:double, DoubleColMultiplyDoubleColumn(col 19:double, col 20:double)(children: CastLongToDouble(col 3:bigint) -> 19:double, CastLongToDouble(col 3:bigint) -> 20:double) -> 21:double
- Statistics: Num rows: 12288 Data size: 1210980 Basic stats: COMPLETE Column stats: COMPLETE
+ projectedOutputColumnNums: [3, 4, 0, 15, 18]
+ selectExpressions: CastLongToDouble(col 3:bigint) -> 15:double, DoubleColMultiplyDoubleColumn(col 16:double, col 17:double)(children: CastLongToDouble(col 3:bigint) -> 16:double, CastLongToDouble(col 3:bigint) -> 17:double) -> 18:double
+ Statistics: Num rows: 12288 Data size: 1137584 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: sum(_col0), count(_col0), sum(_col4), sum(_col3), count(), sum(_col1), min(_col2)
Group By Vectorization:
- aggregators: VectorUDAFSumLong(col 3:bigint) -> bigint, VectorUDAFCount(col 3:bigint) -> bigint, VectorUDAFSumDouble(col 21:double) -> double, VectorUDAFSumDouble(col 18:double) -> double, VectorUDAFCountStar(*) -> bigint, VectorUDAFSumDouble(col 4:float) -> double, VectorUDAFMinLong(col 0:tinyint) -> tinyint
+ aggregators: VectorUDAFSumLong(col 3:bigint) -> bigint, VectorUDAFCount(col 3:bigint) -> bigint, VectorUDAFSumDouble(col 18:double) -> double, VectorUDAFSumDouble(col 15:double) -> double, VectorUDAFCountStar(*) -> bigint, VectorUDAFSumDouble(col 4:float) -> double, VectorUDAFMinLong(col 0:tinyint) -> tinyint
className: VectorGroupByOperator
groupByMode: HASH
native: false
@@ -982,7 +982,7 @@ STAGE PLANS:
featureSupportInUse: []
inputFileFormats: org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat
allNative: false
- usesVectorUDFAdaptor: true
+ usesVectorUDFAdaptor: false
vectorized: true
Reduce Vectorization:
enabled: false
@@ -30019,6 +30019,9 @@ POSTHOOK: query: explain extended select * from alltypesparquet where
POSTHOOK: type: QUERY
POSTHOOK: Input: default@alltypesparquet
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `ctinyint`, `csmallint`, `cint`, `cbigint`, `cfloat`, `cdouble`, `cstring1`, `cstring2`, `ctimestamp1`, `ctimestamp2`, `cboolean1`, `cboolean2`
+FROM `default`.`alltypesparquet`
+WHERE ROW(`cint`, `cfloat`) IN (ROW(49, 3.5), ROW(47, 2.09), ROW(45, 3.02))
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -30255,6 +30258,11 @@ POSTHOOK: query: explain extended select count(*),cstring1 from alltypesparquet
POSTHOOK: type: QUERY
POSTHOOK: Input: default@alltypesparquet
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT COUNT(*) AS `_o__c0`, `cstring1`
+FROM `default`.`alltypesparquet`
+WHERE `cstring1` IN ('biology', 'history', 'topology')
+GROUP BY `cstring1`
+ORDER BY `cstring1`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-2 depends on stages: Stage-1
diff --git ql/src/test/results/clientpositive/parquet_vectorization_5.q.out ql/src/test/results/clientpositive/parquet_vectorization_5.q.out
index fd348a04c2..9740f1c1d0 100644
--- ql/src/test/results/clientpositive/parquet_vectorization_5.q.out
+++ ql/src/test/results/clientpositive/parquet_vectorization_5.q.out
@@ -56,7 +56,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesparquet
- filterExpr: ((cboolean2 is not null and (cstring1 like '%b%')) or ((UDFToDouble(ctinyint) = cdouble) and ctimestamp2 is not null and (cstring2 like 'a'))) (type: boolean)
+ filterExpr: (((cstring1 like '%b%') and cboolean2 is not null) or ((UDFToDouble(ctinyint) = cdouble) and (cstring2 like 'a') and ctimestamp2 is not null)) (type: boolean)
Statistics: Num rows: 12288 Data size: 2454862 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -64,8 +64,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: SelectColumnIsNotNull(col 11:boolean), FilterStringColLikeStringScalar(col 6:string, pattern %b%)), FilterExprAndExpr(children: FilterDoubleColEqualDoubleColumn(col 13:double, col 5:double)(children: CastLongToDouble(col 0:tinyint) -> 13:double), SelectColumnIsNotNull(col 9:timestamp), FilterStringColLikeStringScalar(col 7:string, pattern a)))
- predicate: (((UDFToDouble(ctinyint) = cdouble) and ctimestamp2 is not null and (cstring2 like 'a')) or (cboolean2 is not null and (cstring1 like '%b%'))) (type: boolean)
+ predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterStringColLikeStringScalar(col 6:string, pattern %b%), SelectColumnIsNotNull(col 11:boolean)), FilterExprAndExpr(children: FilterDoubleColEqualDoubleColumn(col 13:double, col 5:double)(children: CastLongToDouble(col 0:tinyint) -> 13:double), FilterStringColLikeStringScalar(col 7:string, pattern a), SelectColumnIsNotNull(col 9:timestamp)))
+ predicate: (((UDFToDouble(ctinyint) = cdouble) and (cstring2 like 'a') and ctimestamp2 is not null) or ((cstring1 like '%b%') and cboolean2 is not null)) (type: boolean)
Statistics: Num rows: 7658 Data size: 1529972 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: ctinyint (type: tinyint), csmallint (type: smallint), cint (type: int)
diff --git ql/src/test/results/clientpositive/parquet_vectorization_6.q.out ql/src/test/results/clientpositive/parquet_vectorization_6.q.out
index 3ad9ad7e17..77c24c0a0b 100644
--- ql/src/test/results/clientpositive/parquet_vectorization_6.q.out
+++ ql/src/test/results/clientpositive/parquet_vectorization_6.q.out
@@ -58,7 +58,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesparquet
- filterExpr: ((ctinyint <> 0Y) and (((cboolean1 <= 0) and (cboolean2 >= cboolean1)) or (cbigint is not null and ((cstring2 like '%a') or (cfloat <= -257.0))))) (type: boolean)
+ filterExpr: ((ctinyint <> 0Y) and (((cboolean1 <= 0) and (cboolean2 >= cboolean1)) or (((cstring2 like '%a') or (cfloat <= -257.0)) and cbigint is not null))) (type: boolean)
Statistics: Num rows: 12288 Data size: 2110130 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -66,8 +66,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children: FilterLongColNotEqualLongScalar(col 0:tinyint, val 0), FilterExprOrExpr(children: FilterExprAndExpr(children: FilterLongColLessEqualLongScalar(col 10:boolean, val 0), FilterLongColGreaterEqualLongColumn(col 11:boolean, col 10:boolean)), FilterExprAndExpr(children: SelectColumnIsNotNull(col 3:bigint), FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 7:string, pattern %a), FilterDoubleColLessEqualDoubleScalar(col 4:float, val -257.0)))))
- predicate: ((((cboolean1 <= 0) and (cboolean2 >= cboolean1)) or (cbigint is not null and ((cstring2 like '%a') or (cfloat <= -257.0)))) and (ctinyint <> 0Y)) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: FilterLongColNotEqualLongScalar(col 0:tinyint, val 0), FilterExprOrExpr(children: FilterExprAndExpr(children: FilterLongColLessEqualLongScalar(col 10:boolean, val 0), FilterLongColGreaterEqualLongColumn(col 11:boolean, col 10:boolean)), FilterExprAndExpr(children: FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 7:string, pattern %a), FilterDoubleColLessEqualDoubleScalar(col 4:float, val -257.0)), SelectColumnIsNotNull(col 3:bigint))))
+ predicate: ((((cboolean1 <= 0) and (cboolean2 >= cboolean1)) or (((cstring2 like '%a') or (cfloat <= -257.0)) and cbigint is not null)) and (ctinyint <> 0Y)) (type: boolean)
Statistics: Num rows: 5951 Data size: 1022000 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: cboolean1 (type: boolean), cfloat (type: float), cstring1 (type: string), (988888 * UDFToInteger(csmallint)) (type: int), (- csmallint) (type: smallint), (- cfloat) (type: float), (-26.28D / UDFToDouble(cfloat)) (type: double), (cfloat * 359.0) (type: float), (cint % UDFToInteger(ctinyint)) (type: int), (- cdouble) (type: double), (UDFToInteger(ctinyint) - -75) (type: int), (762 * (cint % UDFToInteger(ctinyint))) (type: int)
diff --git ql/src/test/results/clientpositive/parquet_vectorization_8.q.out ql/src/test/results/clientpositive/parquet_vectorization_8.q.out
index 112f63392a..3285996358 100644
--- ql/src/test/results/clientpositive/parquet_vectorization_8.q.out
+++ ql/src/test/results/clientpositive/parquet_vectorization_8.q.out
@@ -66,7 +66,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesparquet
- filterExpr: ((cstring2 is not null and (UDFToDouble(ctimestamp1) <= 10.0D) and (UDFToDouble(ctimestamp2) <> 16.0D)) or (cfloat < -6432.0) or (cboolean1 is not null and (cdouble = 988888.0D))) (type: boolean)
+ filterExpr: (((UDFToDouble(ctimestamp1) <= 10.0D) and (UDFToDouble(ctimestamp2) <> 16.0D) and cstring2 is not null) or (cfloat < -6432.0) or ((cdouble = 988888.0D) and cboolean1 is not null)) (type: boolean)
Statistics: Num rows: 12288 Data size: 2983078 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -74,8 +74,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: SelectColumnIsNotNull(col 7:string), FilterDoubleColLessEqualDoubleScalar(col 13:double, val 10.0)(children: CastTimestampToDouble(col 8:timestamp) -> 13:double), FilterDoubleColNotEqualDoubleScalar(col 14:double, val 16.0)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double)), FilterDoubleColLessDoubleScalar(col 4:float, val -6432.0), FilterExprAndExpr(children: SelectColumnIsNotNull(col 10:boolean), FilterDoubleColEqualDoubleScalar(col 5:double, val 988888.0)))
- predicate: ((cboolean1 is not null and (cdouble = 988888.0D)) or (cfloat < -6432.0) or (cstring2 is not null and (UDFToDouble(ctimestamp1) <= 10.0D) and (UDFToDouble(ctimestamp2) <> 16.0D))) (type: boolean)
+ predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterDoubleColLessEqualDoubleScalar(col 13:double, val 10.0)(children: CastTimestampToDouble(col 8:timestamp) -> 13:double), FilterDoubleColNotEqualDoubleScalar(col 14:double, val 16.0)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double), SelectColumnIsNotNull(col 7:string)), FilterDoubleColLessDoubleScalar(col 4:float, val -6432.0), FilterExprAndExpr(children: FilterDoubleColEqualDoubleScalar(col 5:double, val 988888.0), SelectColumnIsNotNull(col 10:boolean)))
+ predicate: (((UDFToDouble(ctimestamp1) <= 10.0D) and (UDFToDouble(ctimestamp2) <> 16.0D) and cstring2 is not null) or ((cdouble = 988888.0D) and cboolean1 is not null) or (cfloat < -6432.0)) (type: boolean)
Statistics: Num rows: 3059 Data size: 742850 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: ctimestamp1 (type: timestamp), cdouble (type: double), cboolean1 (type: boolean), cstring1 (type: string), cfloat (type: float), (- cdouble) (type: double), (-5638.15D - cdouble) (type: double), (cdouble * -257.0D) (type: double), (UDFToFloat(cint) + cfloat) (type: float), ((- cdouble) + UDFToDouble(cbigint)) (type: double), (- cdouble) (type: double), (-1.389 - cfloat) (type: float), (- cfloat) (type: float), ((-5638.15D - cdouble) + UDFToDouble((UDFToFloat(cint) + cfloat))) (type: double)
@@ -272,7 +272,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesparquet
- filterExpr: ((cstring2 is not null and (UDFToDouble(ctimestamp1) <= 12.503D) and (UDFToDouble(ctimestamp2) <> 11.998D)) or (cfloat < -6432.0) or (cboolean1 is not null and (cdouble = 988888.0D))) (type: boolean)
+ filterExpr: (((UDFToDouble(ctimestamp1) <= 12.503D) and (UDFToDouble(ctimestamp2) <> 11.998D) and cstring2 is not null) or (cfloat < -6432.0) or ((cdouble = 988888.0D) and cboolean1 is not null)) (type: boolean)
Statistics: Num rows: 12288 Data size: 2983078 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -280,8 +280,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: SelectColumnIsNotNull(col 7:string), FilterDoubleColLessEqualDoubleScalar(col 13:double, val 12.503)(children: CastTimestampToDouble(col 8:timestamp) -> 13:double), FilterDoubleColNotEqualDoubleScalar(col 14:double, val 11.998)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double)), FilterDoubleColLessDoubleScalar(col 4:float, val -6432.0), FilterExprAndExpr(children: SelectColumnIsNotNull(col 10:boolean), FilterDoubleColEqualDoubleScalar(col 5:double, val 988888.0)))
- predicate: ((cboolean1 is not null and (cdouble = 988888.0D)) or (cfloat < -6432.0) or (cstring2 is not null and (UDFToDouble(ctimestamp1) <= 12.503D) and (UDFToDouble(ctimestamp2) <> 11.998D))) (type: boolean)
+ predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterDoubleColLessEqualDoubleScalar(col 13:double, val 12.503)(children: CastTimestampToDouble(col 8:timestamp) -> 13:double), FilterDoubleColNotEqualDoubleScalar(col 14:double, val 11.998)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double), SelectColumnIsNotNull(col 7:string)), FilterDoubleColLessDoubleScalar(col 4:float, val -6432.0), FilterExprAndExpr(children: FilterDoubleColEqualDoubleScalar(col 5:double, val 988888.0), SelectColumnIsNotNull(col 10:boolean)))
+ predicate: (((UDFToDouble(ctimestamp1) <= 12.503D) and (UDFToDouble(ctimestamp2) <> 11.998D) and cstring2 is not null) or ((cdouble = 988888.0D) and cboolean1 is not null) or (cfloat < -6432.0)) (type: boolean)
Statistics: Num rows: 3059 Data size: 742850 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: ctimestamp1 (type: timestamp), cdouble (type: double), cboolean1 (type: boolean), cstring1 (type: string), cfloat (type: float), (- cdouble) (type: double), (-5638.15D - cdouble) (type: double), (cdouble * -257.0D) (type: double), (UDFToFloat(cint) + cfloat) (type: float), ((- cdouble) + UDFToDouble(cbigint)) (type: double), (- cdouble) (type: double), (-1.389 - cfloat) (type: float), (- cfloat) (type: float), ((-5638.15D - cdouble) + UDFToDouble((UDFToFloat(cint) + cfloat))) (type: double)
diff --git ql/src/test/results/clientpositive/parquet_vectorization_div0.q.out ql/src/test/results/clientpositive/parquet_vectorization_div0.q.out
index a4791ef2c9..d28a3b3d7d 100644
--- ql/src/test/results/clientpositive/parquet_vectorization_div0.q.out
+++ ql/src/test/results/clientpositive/parquet_vectorization_div0.q.out
@@ -213,7 +213,7 @@ STAGE PLANS:
predicate: ((cbigint < 100000000L) and (cbigint > 0L)) (type: boolean)
Statistics: Num rows: 1365 Data size: 16320 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: (cbigint - 988888) (type: bigint), (cdouble / UDFToDouble((cbigint - 988888))) (type: double), (1.2 / CAST( (cbigint - 988888) AS decimal(19,0))) (type: decimal(22,21))
+ expressions: (cbigint - 988888L) (type: bigint), (cdouble / UDFToDouble((cbigint - 988888L))) (type: double), (1.2 / CAST( (cbigint - 988888L) AS decimal(19,0))) (type: decimal(22,21))
outputColumnNames: _col0, _col1, _col2
Select Vectorization:
className: VectorSelectOperator
diff --git ql/src/test/results/clientpositive/pcr.q.out ql/src/test/results/clientpositive/pcr.q.out
index 3840eae596..772e62effc 100644
--- ql/src/test/results/clientpositive/pcr.q.out
+++ ql/src/test/results/clientpositive/pcr.q.out
@@ -1522,6 +1522,11 @@ POSTHOOK: Input: default@pcr_t1
POSTHOOK: Input: default@pcr_t1@ds=2000-04-08
POSTHOOK: Input: default@pcr_t1@ds=2000-04-09
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT CAST(14 AS INTEGER) AS `key`, `value`
+FROM (SELECT `value`
+FROM `default`.`pcr_t1`
+WHERE `ds` IN ('2000-04-08', '2000-04-09') AND `key` = 14
+ORDER BY `value`) AS `t1`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -1712,6 +1717,10 @@ POSTHOOK: Input: default@pcr_t1
POSTHOOK: Input: default@pcr_t1@ds=2000-04-08
POSTHOOK: Input: default@pcr_t1@ds=2000-04-09
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `key`, `value`
+FROM `default`.`pcr_t1`
+WHERE `ds` IN ('2000-04-08', '2000-04-09')
+ORDER BY `key`, `value`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -1942,7 +1951,7 @@ POSTHOOK: Input: default@pcr_t1@ds=2000-04-10
#### A masked pattern was here ####
OPTIMIZED SQL: SELECT `key`, `value`
FROM `default`.`pcr_t1`
-WHERE `ds` >= '2000-04-08' OR `ds` IS NOT NULL
+WHERE `ds` >= '2000-04-08' OR `ds` < '2000-04-10'
ORDER BY `key`, `value`
STAGE DEPENDENCIES:
Stage-1 is a root stage
@@ -1954,7 +1963,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: pcr_t1
- filterExpr: ((ds >= '2000-04-08') or ds is not null) (type: boolean)
+ filterExpr: ((ds >= '2000-04-08') or (ds < '2000-04-10')) (type: boolean)
Statistics: Num rows: 60 Data size: 5640 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Select Operator
@@ -2241,6 +2250,10 @@ POSTHOOK: Input: default@pcr_t1
POSTHOOK: Input: default@pcr_t1@ds=2000-04-08
POSTHOOK: Input: default@pcr_t1@ds=2000-04-09
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `key`, `value`, `ds`
+FROM `default`.`pcr_t1`
+WHERE ROW(`key`, `ds`) IN (ROW(1, '2000-04-08'), ROW(2, '2000-04-09'))
+ORDER BY `key`, `value`, `ds`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -5052,6 +5065,11 @@ POSTHOOK: Input: default@srcpart
POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11
POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `key`, `value`, CAST('2008-04-08' AS STRING) AS `ds`, `hr`
+FROM (SELECT `key`, `value`, `hr`
+FROM `default`.`srcpart`
+WHERE `hr` IN ('11', '12') AND `ds` = '2008-04-08' AND `key` = 11
+ORDER BY `key`, `hr`) AS `t1`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
diff --git ql/src/test/results/clientpositive/pcs.q.out ql/src/test/results/clientpositive/pcs.q.out
index b6c22125f3..346bc69e36 100644
--- ql/src/test/results/clientpositive/pcs.q.out
+++ ql/src/test/results/clientpositive/pcs.q.out
@@ -98,6 +98,10 @@ POSTHOOK: Input: default@pcs_t1
POSTHOOK: Input: default@pcs_t1@ds=2000-04-08
POSTHOOK: Input: default@pcs_t1@ds=2000-04-09
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `key`, `value`, `ds`
+FROM `default`.`pcs_t1`
+WHERE ROW(`key`, `ds`) IN (ROW(1, '2000-04-08'), ROW(2, '2000-04-09'))
+ORDER BY `key`, `value`, `ds`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -289,6 +293,9 @@ POSTHOOK: Input: default@pcs_t1
POSTHOOK: Input: default@pcs_t1@ds=2000-04-08
POSTHOOK: Input: default@pcs_t1@ds=2000-04-09
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `ds`
+FROM `default`.`pcs_t1`
+WHERE ROW(`key`, `ds`) IN (ROW(1, '2000-04-08'), ROW(2, '2000-04-09'))
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -467,6 +474,9 @@ POSTHOOK: Input: default@pcs_t1
POSTHOOK: Input: default@pcs_t1@ds=2000-04-08
POSTHOOK: Input: default@pcs_t1@ds=2000-04-09
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `ds`
+FROM `default`.`pcs_t1`
+WHERE ROW(`ds`, `key` + 2) IN (ROW('2000-04-08', 3), ROW('2000-04-09', 4))
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -866,6 +876,9 @@ POSTHOOK: Input: default@pcs_t1
POSTHOOK: Input: default@pcs_t1@ds=2000-04-08
POSTHOOK: Input: default@pcs_t1@ds=2000-04-09
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `ds`
+FROM `default`.`pcs_t1`
+WHERE ROW(`ds`, `key` + `key`) IN (ROW('2000-04-08', 1), ROW('2000-04-09', 2))
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -1383,6 +1396,9 @@ POSTHOOK: Input: default@pcs_t1
POSTHOOK: Input: default@pcs_t1@ds=2000-04-08
POSTHOOK: Input: default@pcs_t1@ds=2000-04-09
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `ds`
+FROM `default`.`pcs_t1`
+WHERE ROW(`ds`, `key`, RAND(100)) IN (ROW('2000-04-08', 1, 0.2), ROW('2000-04-09', 2, 0.3))
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -1549,6 +1565,9 @@ POSTHOOK: Input: default@pcs_t1@ds=2000-04-08
POSTHOOK: Input: default@pcs_t1@ds=2000-04-09
POSTHOOK: Input: default@pcs_t1@ds=2000-04-10
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `ds`
+FROM `default`.`pcs_t1`
+WHERE (`ds` = '2000-04-08' OR `key` IS NOT NULL) AND `key` = 2 OR `ds` <> '2000-04-08' AND `key` = 3
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -1559,23 +1578,23 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: pcs_t1
- filterExpr: (struct(key,((ds = '2000-04-08') or (key = 2)))) IN (const struct(2,true), const struct(3,false)) (type: boolean)
+ filterExpr: ((((ds = '2000-04-08') or key is not null) and (key = 2)) or ((ds <> '2000-04-08') and (key = 3))) (type: boolean)
Statistics: Num rows: 60 Data size: 11280 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: (struct(key,((ds = '2000-04-08') or (key = 2)))) IN (const struct(2,true), const struct(3,false)) (type: boolean)
- Statistics: Num rows: 30 Data size: 5640 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: ((((ds = '2000-04-08') or key is not null) and (key = 2)) or ((ds <> '2000-04-08') and (key = 3))) (type: boolean)
+ Statistics: Num rows: 10 Data size: 1880 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: ds (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 30 Data size: 5520 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 30 Data size: 5520 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -1592,6 +1611,7 @@ STAGE PLANS:
TotalFiles: 1
GatherStats: false
MultiFileSpray: false
+ Execution mode: vectorized
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
@@ -1781,6 +1801,9 @@ POSTHOOK: Input: default@pcs_t1@ds=2000-04-08
POSTHOOK: Input: default@pcs_t1@ds=2000-04-09
POSTHOOK: Input: default@pcs_t1@ds=2000-04-10
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `ds`
+FROM `default`.`pcs_t1`
+WHERE `key` = 3 OR ((`ds` = '2000-04-08' OR `key` IS NOT NULL) AND `key` = 2 OR `ds` <> '2000-04-08' AND `key` = 3) AND `key` + 5 > 0
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -1791,23 +1814,23 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: pcs_t1
- filterExpr: ((key = 3) or ((struct(key,((ds = '2000-04-08') or (key = 2)))) IN (const struct(2,true), const struct(3,false)) and ((key + 5) > 0))) (type: boolean)
+ filterExpr: ((key = 3) or (((((ds = '2000-04-08') or key is not null) and (key = 2)) or ((ds <> '2000-04-08') and (key = 3))) and ((key + 5) > 0))) (type: boolean)
Statistics: Num rows: 60 Data size: 11280 Basic stats: COMPLETE Column stats: COMPLETE
GatherStats: false
Filter Operator
isSamplingPred: false
- predicate: (((struct(key,((ds = '2000-04-08') or (key = 2)))) IN (const struct(2,true), const struct(3,false)) and ((key + 5) > 0)) or (key = 3)) (type: boolean)
- Statistics: Num rows: 15 Data size: 2820 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: ((((((ds = '2000-04-08') or key is not null) and (key = 2)) or ((ds <> '2000-04-08') and (key = 3))) and ((key + 5) > 0)) or (key = 3)) (type: boolean)
+ Statistics: Num rows: 8 Data size: 1504 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: ds (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 15 Data size: 2760 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 8 Data size: 1472 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
GlobalTableId: 0
#### A masked pattern was here ####
NumFilesPerFileSink: 1
- Statistics: Num rows: 15 Data size: 2760 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 8 Data size: 1472 Basic stats: COMPLETE Column stats: COMPLETE
#### A masked pattern was here ####
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
@@ -1824,6 +1847,7 @@ STAGE PLANS:
TotalFiles: 1
GatherStats: false
MultiFileSpray: false
+ Execution mode: vectorized
Path -> Alias:
#### A masked pattern was here ####
Path -> Partition:
diff --git ql/src/test/results/clientpositive/perf/spark/query11.q.out ql/src/test/results/clientpositive/perf/spark/query11.q.out
index 45f02fdb49..2c491505bd 100644
--- ql/src/test/results/clientpositive/perf/spark/query11.q.out
+++ ql/src/test/results/clientpositive/perf/spark/query11.q.out
@@ -677,7 +677,7 @@ STAGE PLANS:
outputColumnNames: _col1, _col3, _col5, _col6, _col8, _col9
Statistics: Num rows: 1149975359 Data size: 101451160012 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN (_col3 is not null) THEN (CASE WHEN (_col6) THEN (((_col1 / _col5) > (_col9 / _col3))) ELSE ((null > (_col9 / _col3))) END) ELSE (CASE WHEN (_col6) THEN (((_col1 / _col5) > null)) ELSE (null) END) END (type: boolean)
+ predicate: CASE WHEN (_col3 is not null) THEN (CASE WHEN (_col6) THEN (((_col1 / _col5) > (_col9 / _col3))) ELSE (false) END) ELSE (false) END (type: boolean)
Statistics: Num rows: 574987679 Data size: 50725579961 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col8 (type: string)
diff --git ql/src/test/results/clientpositive/perf/spark/query13.q.out ql/src/test/results/clientpositive/perf/spark/query13.q.out
index 04be3cf39a..eb58fe9d29 100644
--- ql/src/test/results/clientpositive/perf/spark/query13.q.out
+++ ql/src/test/results/clientpositive/perf/spark/query13.q.out
@@ -176,10 +176,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: store_sales
- filterExpr: (((ss_sales_price >= 100) or (ss_sales_price <= 150) or ss_sales_price is not null or (ss_sales_price <= 200)) and ((ss_net_profit >= 100) or (ss_net_profit <= 200) or ss_net_profit is not null or (ss_net_profit <= 300) or (ss_net_profit <= 250)) and ss_store_sk is not null and ss_cdemo_sk is not null and ss_hdemo_sk is not null and ss_addr_sk is not null and ss_sold_date_sk is not null) (type: boolean)
+ filterExpr: (((ss_sales_price >= 100) or (ss_sales_price <= 150) or (ss_sales_price >= 50) or (ss_sales_price <= 100) or (ss_sales_price >= 150) or (ss_sales_price <= 200)) and ((ss_net_profit >= 100) or (ss_net_profit <= 200) or (ss_net_profit >= 150) or (ss_net_profit <= 300) or (ss_net_profit >= 50) or (ss_net_profit <= 250)) and ss_store_sk is not null and ss_cdemo_sk is not null and ss_hdemo_sk is not null and ss_addr_sk is not null and ss_sold_date_sk is not null) (type: boolean)
Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (((ss_net_profit >= 100) or (ss_net_profit <= 200) or ss_net_profit is not null or (ss_net_profit <= 300) or (ss_net_profit <= 250)) and ((ss_sales_price >= 100) or (ss_sales_price <= 150) or ss_sales_price is not null or (ss_sales_price <= 200)) and ss_addr_sk is not null and ss_cdemo_sk is not null and ss_hdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
+ predicate: (((ss_net_profit >= 100) or (ss_net_profit <= 200) or (ss_net_profit >= 150) or (ss_net_profit <= 300) or (ss_net_profit >= 50) or (ss_net_profit <= 250)) and ((ss_sales_price >= 100) or (ss_sales_price <= 150) or (ss_sales_price >= 50) or (ss_sales_price <= 100) or (ss_sales_price >= 150) or (ss_sales_price <= 200)) and ss_addr_sk is not null and ss_cdemo_sk is not null and ss_hdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: ss_sold_date_sk (type: int), ss_cdemo_sk (type: int), ss_hdemo_sk (type: int), ss_addr_sk (type: int), ss_store_sk (type: int), ss_quantity (type: int), ss_ext_sales_price (type: decimal(7,2)), ss_ext_wholesale_cost (type: decimal(7,2)), ss_net_profit BETWEEN 100 AND 200 (type: boolean), ss_net_profit BETWEEN 150 AND 300 (type: boolean), ss_net_profit BETWEEN 50 AND 250 (type: boolean), ss_sales_price BETWEEN 100 AND 150 (type: boolean), ss_sales_price BETWEEN 50 AND 100 (type: boolean), ss_sales_price BETWEEN 150 AND 200 (type: boolean)
diff --git ql/src/test/results/clientpositive/perf/spark/query21.q.out ql/src/test/results/clientpositive/perf/spark/query21.q.out
index db03678080..8059b5a889 100644
--- ql/src/test/results/clientpositive/perf/spark/query21.q.out
+++ ql/src/test/results/clientpositive/perf/spark/query21.q.out
@@ -232,7 +232,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3
Statistics: Num rows: 25012152 Data size: 395187961 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (CASE WHEN ((_col2 > 0L)) THEN (((UDFToDouble(_col3) / UDFToDouble(_col2)) <= 1.5D)) ELSE (null) END and CASE WHEN ((_col2 > 0L)) THEN ((0.666667D <= (UDFToDouble(_col3) / UDFToDouble(_col2)))) ELSE (null) END) (type: boolean)
+ predicate: (CASE WHEN ((_col2 > 0L)) THEN (((UDFToDouble(_col3) / UDFToDouble(_col2)) <= 1.5D)) ELSE (false) END and CASE WHEN ((_col2 > 0L)) THEN ((0.666667D <= (UDFToDouble(_col3) / UDFToDouble(_col2)))) ELSE (false) END) (type: boolean)
Statistics: Num rows: 6253038 Data size: 98796990 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string), _col1 (type: string)
diff --git ql/src/test/results/clientpositive/perf/spark/query27.q.out ql/src/test/results/clientpositive/perf/spark/query27.q.out
index 98a0ea8015..5e13f8af44 100644
--- ql/src/test/results/clientpositive/perf/spark/query27.q.out
+++ ql/src/test/results/clientpositive/perf/spark/query27.q.out
@@ -255,7 +255,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10
Statistics: Num rows: 1264972921 Data size: 111596278389 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col0 (type: string), _col1 (type: string), grouping(_col2, 0) (type: bigint), (UDFToDouble(_col3) / _col4) (type: double), (_col5 / _col6) (type: decimal(37,22)), (_col7 / _col8) (type: decimal(37,22)), (_col9 / _col10) (type: decimal(37,22))
+ expressions: _col0 (type: string), _col1 (type: string), grouping(_col2, 0L) (type: bigint), (UDFToDouble(_col3) / _col4) (type: double), (_col5 / _col6) (type: decimal(37,22)), (_col7 / _col8) (type: decimal(37,22)), (_col9 / _col10) (type: decimal(37,22))
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
Statistics: Num rows: 1264972921 Data size: 111596278389 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
diff --git ql/src/test/results/clientpositive/perf/spark/query31.q.out ql/src/test/results/clientpositive/perf/spark/query31.q.out
index 12c99b1431..8f926d7949 100644
--- ql/src/test/results/clientpositive/perf/spark/query31.q.out
+++ ql/src/test/results/clientpositive/perf/spark/query31.q.out
@@ -843,7 +843,7 @@ STAGE PLANS:
outputColumnNames: _col1, _col2, _col4, _col6, _col7, _col8, _col9, _col11, _col13
Statistics: Num rows: 2529945843 Data size: 223192556861 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (CASE WHEN ((_col11 > 0)) THEN (CASE WHEN (_col2) THEN (((_col6 / _col1) > (_col9 / _col11))) ELSE ((null > (_col9 / _col11))) END) ELSE (CASE WHEN (_col2) THEN (((_col6 / _col1) > null)) ELSE (null) END) END and CASE WHEN ((_col9 > 0)) THEN (CASE WHEN (_col7) THEN (((_col4 / _col6) > (_col13 / _col9))) ELSE ((null > (_col13 / _col9))) END) ELSE (CASE WHEN (_col7) THEN (((_col4 / _col6) > null)) ELSE (null) END) END) (type: boolean)
+ predicate: (CASE WHEN ((_col11 > 0)) THEN (CASE WHEN (_col2) THEN (((_col6 / _col1) > (_col9 / _col11))) ELSE (false) END) ELSE (false) END and CASE WHEN ((_col9 > 0)) THEN (CASE WHEN (_col7) THEN (((_col4 / _col6) > (_col13 / _col9))) ELSE (false) END) ELSE (false) END) (type: boolean)
Statistics: Num rows: 632486460 Data size: 55798139149 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col8 (type: string), 2000 (type: int), (_col6 / _col1) (type: decimal(37,20)), (_col9 / _col11) (type: decimal(37,20)), (_col4 / _col6) (type: decimal(37,20)), (_col13 / _col9) (type: decimal(37,20))
diff --git ql/src/test/results/clientpositive/perf/spark/query34.q.out ql/src/test/results/clientpositive/perf/spark/query34.q.out
index 1a6c034cef..3a6cb35316 100644
--- ql/src/test/results/clientpositive/perf/spark/query34.q.out
+++ ql/src/test/results/clientpositive/perf/spark/query34.q.out
@@ -85,10 +85,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: household_demographics
- filterExpr: ((hd_buy_potential) IN ('>10000', 'unknown') and (hd_vehicle_count > 0) and CASE WHEN ((hd_vehicle_count > 0)) THEN (((UDFToDouble(hd_dep_count) / UDFToDouble(hd_vehicle_count)) > 1.2D)) ELSE (null) END and hd_demo_sk is not null) (type: boolean)
+ filterExpr: ((hd_buy_potential) IN ('>10000', 'unknown') and (hd_vehicle_count > 0) and CASE WHEN ((hd_vehicle_count > 0)) THEN (((UDFToDouble(hd_dep_count) / UDFToDouble(hd_vehicle_count)) > 1.2D)) ELSE (false) END and hd_demo_sk is not null) (type: boolean)
Statistics: Num rows: 7200 Data size: 770400 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((hd_buy_potential) IN ('>10000', 'unknown') and (hd_vehicle_count > 0) and CASE WHEN ((hd_vehicle_count > 0)) THEN (((UDFToDouble(hd_dep_count) / UDFToDouble(hd_vehicle_count)) > 1.2D)) ELSE (null) END and hd_demo_sk is not null) (type: boolean)
+ predicate: ((hd_buy_potential) IN ('>10000', 'unknown') and (hd_vehicle_count > 0) and CASE WHEN ((hd_vehicle_count > 0)) THEN (((UDFToDouble(hd_dep_count) / UDFToDouble(hd_vehicle_count)) > 1.2D)) ELSE (false) END and hd_demo_sk is not null) (type: boolean)
Statistics: Num rows: 1200 Data size: 128400 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: hd_demo_sk (type: int)
@@ -229,7 +229,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 383325119 Data size: 33817053293 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: _col2 BETWEEN 15 AND 20 (type: boolean)
+ predicate: _col2 BETWEEN 15L AND 20L (type: boolean)
Statistics: Num rows: 3 Data size: 264 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
diff --git ql/src/test/results/clientpositive/perf/spark/query36.q.out ql/src/test/results/clientpositive/perf/spark/query36.q.out
index 2920c2f0b5..9d60b05491 100644
--- ql/src/test/results/clientpositive/perf/spark/query36.q.out
+++ ql/src/test/results/clientpositive/perf/spark/query36.q.out
@@ -235,9 +235,9 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4
Statistics: Num rows: 1149975358 Data size: 101451159969 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
- key expressions: (grouping(_col4, 1) + grouping(_col4, 0)) (type: bigint), CASE WHEN ((grouping(_col4, 0) = 0)) THEN (_col0) ELSE (CAST( null AS STRING)) END (type: string), (_col2 / _col3) (type: decimal(37,20))
+ key expressions: (grouping(_col4, 1L) + grouping(_col4, 0L)) (type: bigint), CASE WHEN ((grouping(_col4, 0L) = UDFToLong(0))) THEN (_col0) ELSE (CAST( null AS STRING)) END (type: string), (_col2 / _col3) (type: decimal(37,20))
sort order: +++
- Map-reduce partition columns: (grouping(_col4, 1) + grouping(_col4, 0)) (type: bigint), CASE WHEN ((grouping(_col4, 0) = 0)) THEN (_col0) ELSE (CAST( null AS STRING)) END (type: string)
+ Map-reduce partition columns: (grouping(_col4, 1L) + grouping(_col4, 0L)) (type: bigint), CASE WHEN ((grouping(_col4, 0L) = UDFToLong(0))) THEN (_col0) ELSE (CAST( null AS STRING)) END (type: string)
Statistics: Num rows: 1149975358 Data size: 101451159969 Basic stats: COMPLETE Column stats: NONE
value expressions: _col0 (type: string), _col1 (type: string), _col2 (type: decimal(17,2)), _col3 (type: decimal(17,2)), _col4 (type: bigint)
Reducer 5
@@ -257,7 +257,7 @@ STAGE PLANS:
input alias: ptf_1
name: windowingtablefunction
order by: (_col2 / _col3) ASC NULLS FIRST
- partition by: (grouping(_col4, 1) + grouping(_col4, 0)), CASE WHEN ((grouping(_col4, 0) = 0)) THEN (_col0) ELSE (CAST( null AS STRING)) END
+ partition by: (grouping(_col4, 1L) + grouping(_col4, 0L)), CASE WHEN ((grouping(_col4, 0L) = UDFToLong(0))) THEN (_col0) ELSE (CAST( null AS STRING)) END
raw input shape:
window functions:
window function definition
@@ -269,7 +269,7 @@ STAGE PLANS:
isPivotResult: true
Statistics: Num rows: 1149975358 Data size: 101451159969 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: (_col2 / _col3) (type: decimal(37,20)), _col0 (type: string), _col1 (type: string), (grouping(_col4, 1) + grouping(_col4, 0)) (type: bigint), rank_window_0 (type: int), CASE WHEN (((grouping(_col4, 1) + grouping(_col4, 0)) = 0)) THEN (_col0) ELSE (null) END (type: string)
+ expressions: (_col2 / _col3) (type: decimal(37,20)), _col0 (type: string), _col1 (type: string), (grouping(_col4, 1L) + grouping(_col4, 0L)) (type: bigint), rank_window_0 (type: int), CASE WHEN (((grouping(_col4, 1L) + grouping(_col4, 0L)) = 0L)) THEN (_col0) ELSE (null) END (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
Statistics: Num rows: 1149975358 Data size: 101451159969 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
diff --git ql/src/test/results/clientpositive/perf/spark/query4.q.out ql/src/test/results/clientpositive/perf/spark/query4.q.out
index 14a5ea2b21..82b22d0690 100644
--- ql/src/test/results/clientpositive/perf/spark/query4.q.out
+++ ql/src/test/results/clientpositive/perf/spark/query4.q.out
@@ -992,7 +992,7 @@ STAGE PLANS:
outputColumnNames: _col1, _col3, _col5, _col6, _col8, _col9, _col11, _col13, _col14
Statistics: Num rows: 1916625598 Data size: 169085266687 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (CASE WHEN (_col3 is not null) THEN (CASE WHEN (_col9) THEN (((_col11 / _col8) > (_col14 / _col3))) ELSE ((null > (_col14 / _col3))) END) ELSE (CASE WHEN (_col9) THEN (((_col11 / _col8) > null)) ELSE (null) END) END and CASE WHEN (_col6) THEN (CASE WHEN (_col9) THEN (((_col11 / _col8) > (_col1 / _col5))) ELSE ((null > (_col1 / _col5))) END) ELSE (CASE WHEN (_col9) THEN (((_col11 / _col8) > null)) ELSE (null) END) END) (type: boolean)
+ predicate: (CASE WHEN (_col3 is not null) THEN (CASE WHEN (_col9) THEN (((_col11 / _col8) > (_col14 / _col3))) ELSE (false) END) ELSE (false) END and CASE WHEN (_col6) THEN (CASE WHEN (_col9) THEN (((_col11 / _col8) > (_col1 / _col5))) ELSE (false) END) ELSE (false) END) (type: boolean)
Statistics: Num rows: 479156399 Data size: 42271316627 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col13 (type: string)
diff --git ql/src/test/results/clientpositive/perf/spark/query45.q.out ql/src/test/results/clientpositive/perf/spark/query45.q.out
index 7ee7c0ee2b..4c6f4c2a93 100644
--- ql/src/test/results/clientpositive/perf/spark/query45.q.out
+++ ql/src/test/results/clientpositive/perf/spark/query45.q.out
@@ -71,19 +71,17 @@ STAGE PLANS:
predicate: (i_item_sk) IN (2, 3, 5, 7, 11, 13, 17, 19, 23, 29) (type: boolean)
Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: i_item_id (type: string)
- outputColumnNames: i_item_id
Statistics: Num rows: 462000 Data size: 663560457 Basic stats: COMPLETE Column stats: NONE
Group By Operator
- aggregations: count(), count(i_item_id)
+ aggregations: count()
minReductionHashAggr: 0.99
mode: hash
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
sort order:
- Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col0 (type: bigint), _col1 (type: bigint)
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col0 (type: bigint)
Execution mode: vectorized
Reducer 16
Execution mode: vectorized
@@ -91,10 +89,10 @@ STAGE PLANS:
Map Reduce Local Work
Reduce Operator Tree:
Group By Operator
- aggregations: count(VALUE._col0), count(VALUE._col1)
+ aggregations: count(VALUE._col0)
mode: mergepartial
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
0
@@ -107,7 +105,7 @@ STAGE PLANS:
Reducer 13 <- Map 12 (PARTITION-LEVEL SORT, 154), Map 14 (PARTITION-LEVEL SORT, 154)
Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 855), Map 6 (PARTITION-LEVEL SORT, 855)
Reducer 3 <- Reducer 2 (PARTITION-LEVEL SORT, 777), Reducer 9 (PARTITION-LEVEL SORT, 777)
- Reducer 4 <- Reducer 3 (GROUP, 230)
+ Reducer 4 <- Reducer 3 (GROUP, 218)
Reducer 5 <- Reducer 4 (SORT, 1)
Reducer 8 <- Map 7 (PARTITION-LEVEL SORT, 8), Reducer 11 (PARTITION-LEVEL SORT, 8)
Reducer 9 <- Reducer 13 (PARTITION-LEVEL SORT, 174), Reducer 8 (PARTITION-LEVEL SORT, 174)
@@ -297,7 +295,7 @@ STAGE PLANS:
keys:
0 _col0 (type: int)
1 _col6 (type: int)
- outputColumnNames: _col3, _col4, _col6, _col8, _col12
+ outputColumnNames: _col3, _col4, _col8, _col12
Statistics: Num rows: 191667562 Data size: 26061245514 Basic stats: COMPLETE Column stats: NONE
Map Join Operator
condition map:
@@ -305,33 +303,33 @@ STAGE PLANS:
keys:
0
1
- outputColumnNames: _col3, _col4, _col6, _col8, _col12, _col16, _col17
+ outputColumnNames: _col3, _col4, _col8, _col12, _col16
input vertices:
1 Reducer 16
- Statistics: Num rows: 191667562 Data size: 29319594068 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 191667562 Data size: 27786253572 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col12 (type: decimal(7,2)), _col3 (type: string), _col4 (type: string), _col6 (type: string), _col16 (type: bigint), _col17 (type: bigint), _col8 (type: boolean)
- outputColumnNames: _col3, _col7, _col8, _col13, _col14, _col15, _col17
- Statistics: Num rows: 191667562 Data size: 29319594068 Basic stats: COMPLETE Column stats: NONE
+ expressions: _col12 (type: decimal(7,2)), _col3 (type: string), _col4 (type: string), _col16 (type: bigint), _col8 (type: boolean)
+ outputColumnNames: _col3, _col7, _col8, _col14, _col16
+ Statistics: Num rows: 191667562 Data size: 27786253572 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((substr(_col8, 1, 5)) IN ('85669', '86197', '88274', '83405', '86475', '85392', '85460', '80348', '81792') or CASE WHEN ((_col14 = 0L)) THEN (false) WHEN (_col17 is not null) THEN (true) WHEN (_col13 is null) THEN (null) WHEN ((_col15 < _col14)) THEN (null) ELSE (false) END) (type: boolean)
- Statistics: Num rows: 191667562 Data size: 29319594068 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col14 <> 0L) and _col16 is not null) or (substr(_col8, 1, 5)) IN ('85669', '86197', '88274', '83405', '86475', '85392', '85460', '80348', '81792')) (type: boolean)
+ Statistics: Num rows: 191667562 Data size: 27786253572 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col3 (type: decimal(7,2)), _col7 (type: string), _col8 (type: string)
outputColumnNames: _col3, _col7, _col8
- Statistics: Num rows: 191667562 Data size: 29319594068 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 191667562 Data size: 27786253572 Basic stats: COMPLETE Column stats: NONE
Group By Operator
aggregations: sum(_col3)
keys: _col8 (type: string), _col7 (type: string)
minReductionHashAggr: 0.99
mode: hash
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 191667562 Data size: 29319594068 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 191667562 Data size: 27786253572 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string), _col1 (type: string)
sort order: ++
Map-reduce partition columns: _col0 (type: string), _col1 (type: string)
- Statistics: Num rows: 191667562 Data size: 29319594068 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 191667562 Data size: 27786253572 Basic stats: COMPLETE Column stats: NONE
TopN Hash Memory Usage: 0.1
value expressions: _col2 (type: decimal(17,2))
Reducer 4
@@ -342,11 +340,11 @@ STAGE PLANS:
keys: KEY._col0 (type: string), KEY._col1 (type: string)
mode: mergepartial
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 95833781 Data size: 14659797034 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 95833781 Data size: 13893126786 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string), _col1 (type: string)
sort order: ++
- Statistics: Num rows: 95833781 Data size: 14659797034 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 95833781 Data size: 13893126786 Basic stats: COMPLETE Column stats: NONE
TopN Hash Memory Usage: 0.1
value expressions: _col2 (type: decimal(17,2))
Reducer 5
@@ -355,13 +353,13 @@ STAGE PLANS:
Select Operator
expressions: KEY.reducesinkkey0 (type: string), KEY.reducesinkkey1 (type: string), VALUE._col0 (type: decimal(17,2))
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 95833781 Data size: 14659797034 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 95833781 Data size: 13893126786 Basic stats: COMPLETE Column stats: NONE
Limit
Number of rows: 100
- Statistics: Num rows: 100 Data size: 15200 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 100 Data size: 14400 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 100 Data size: 15200 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 100 Data size: 14400 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -374,14 +372,14 @@ STAGE PLANS:
keys:
0 _col1 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col0, _col1, _col3
+ outputColumnNames: _col0, _col3
Statistics: Num rows: 508200 Data size: 729916518 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: int)
sort order: +
Map-reduce partition columns: _col0 (type: int)
Statistics: Num rows: 508200 Data size: 729916518 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: string), _col3 (type: boolean)
+ value expressions: _col3 (type: boolean)
Reducer 9
Reduce Operator Tree:
Join Operator
@@ -390,14 +388,14 @@ STAGE PLANS:
keys:
0 _col0 (type: int)
1 _col1 (type: int)
- outputColumnNames: _col1, _col3, _col6, _col7
+ outputColumnNames: _col3, _col6, _col7
Statistics: Num rows: 174243235 Data size: 23692040863 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col6 (type: int)
sort order: +
Map-reduce partition columns: _col6 (type: int)
Statistics: Num rows: 174243235 Data size: 23692040863 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: string), _col3 (type: boolean), _col7 (type: decimal(7,2))
+ value expressions: _col3 (type: boolean), _col7 (type: decimal(7,2))
Stage: Stage-0
Fetch Operator
diff --git ql/src/test/results/clientpositive/perf/spark/query47.q.out ql/src/test/results/clientpositive/perf/spark/query47.q.out
index 7ee1efa54e..3fbd09a398 100644
--- ql/src/test/results/clientpositive/perf/spark/query47.q.out
+++ ql/src/test/results/clientpositive/perf/spark/query47.q.out
@@ -530,7 +530,7 @@ STAGE PLANS:
outputColumnNames: rank_window_1, _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7
Statistics: Num rows: 63887519 Data size: 5636175475 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((_col0 > 0)) THEN (((abs((_col7 - _col0)) / _col0) > 0.1)) ELSE (null) END (type: boolean)
+ predicate: CASE WHEN ((_col0 > 0)) THEN (((abs((_col7 - _col0)) / _col0) > 0.1)) ELSE (false) END (type: boolean)
Statistics: Num rows: 31943759 Data size: 2818087693 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col2 (type: string), _col1 (type: string), _col5 (type: string), _col6 (type: string), _col3 (type: int), _col4 (type: int), _col7 (type: decimal(17,2)), _col0 (type: decimal(21,6)), rank_window_1 (type: int)
diff --git ql/src/test/results/clientpositive/perf/spark/query48.q.out ql/src/test/results/clientpositive/perf/spark/query48.q.out
index 80d9752853..f1c6b1b4f8 100644
--- ql/src/test/results/clientpositive/perf/spark/query48.q.out
+++ ql/src/test/results/clientpositive/perf/spark/query48.q.out
@@ -184,10 +184,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: store_sales
- filterExpr: (((ss_sales_price >= 100) or (ss_sales_price <= 150) or ss_sales_price is not null or (ss_sales_price <= 200)) and ((ss_net_profit >= 0) or (ss_net_profit <= 2000) or ss_net_profit is not null or (ss_net_profit <= 3000) or (ss_net_profit <= 25000)) and (ss_sales_price BETWEEN 100 AND 150 or ss_sales_price BETWEEN 50 AND 100 or ss_sales_price BETWEEN 150 AND 200) and ss_store_sk is not null and ss_cdemo_sk is not null and ss_addr_sk is not null and ss_sold_date_sk is not null) (type: boolean)
+ filterExpr: (((ss_sales_price >= 100) or (ss_sales_price <= 150) or (ss_sales_price >= 50) or (ss_sales_price <= 100) or (ss_sales_price >= 150) or (ss_sales_price <= 200)) and ((ss_net_profit >= 0) or (ss_net_profit <= 2000) or (ss_net_profit >= 150) or (ss_net_profit <= 3000) or (ss_net_profit >= 50) or (ss_net_profit <= 25000)) and (ss_sales_price BETWEEN 100 AND 150 or ss_sales_price BETWEEN 50 AND 100 or ss_sales_price BETWEEN 150 AND 200) and ss_store_sk is not null and ss_cdemo_sk is not null and ss_addr_sk is not null and ss_sold_date_sk is not null) (type: boolean)
Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (((ss_net_profit >= 0) or (ss_net_profit <= 2000) or ss_net_profit is not null or (ss_net_profit <= 3000) or (ss_net_profit <= 25000)) and ((ss_sales_price >= 100) or (ss_sales_price <= 150) or ss_sales_price is not null or (ss_sales_price <= 200)) and (ss_sales_price BETWEEN 100 AND 150 or ss_sales_price BETWEEN 50 AND 100 or ss_sales_price BETWEEN 150 AND 200) and ss_addr_sk is not null and ss_cdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
+ predicate: (((ss_net_profit >= 0) or (ss_net_profit <= 2000) or (ss_net_profit >= 150) or (ss_net_profit <= 3000) or (ss_net_profit >= 50) or (ss_net_profit <= 25000)) and ((ss_sales_price >= 100) or (ss_sales_price <= 150) or (ss_sales_price >= 50) or (ss_sales_price <= 100) or (ss_sales_price >= 150) or (ss_sales_price <= 200)) and (ss_sales_price BETWEEN 100 AND 150 or ss_sales_price BETWEEN 50 AND 100 or ss_sales_price BETWEEN 150 AND 200) and ss_addr_sk is not null and ss_cdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
Statistics: Num rows: 191998545 Data size: 16938167362 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: ss_sold_date_sk (type: int), ss_cdemo_sk (type: int), ss_addr_sk (type: int), ss_store_sk (type: int), ss_quantity (type: int), ss_net_profit BETWEEN 0 AND 2000 (type: boolean), ss_net_profit BETWEEN 150 AND 3000 (type: boolean), ss_net_profit BETWEEN 50 AND 25000 (type: boolean)
diff --git ql/src/test/results/clientpositive/perf/spark/query53.q.out ql/src/test/results/clientpositive/perf/spark/query53.q.out
index 939e2a54db..3950c4eada 100644
--- ql/src/test/results/clientpositive/perf/spark/query53.q.out
+++ ql/src/test/results/clientpositive/perf/spark/query53.q.out
@@ -250,7 +250,7 @@ STAGE PLANS:
outputColumnNames: avg_window_0, _col0, _col2
Statistics: Num rows: 383325119 Data size: 33817053293 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((avg_window_0 > 0)) THEN (((abs((_col2 - avg_window_0)) / avg_window_0) > 0.1)) ELSE (null) END (type: boolean)
+ predicate: CASE WHEN ((avg_window_0 > 0)) THEN (((abs((_col2 - avg_window_0)) / avg_window_0) > 0.1)) ELSE (false) END (type: boolean)
Statistics: Num rows: 191662559 Data size: 16908526602 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col2 (type: decimal(17,2)), avg_window_0 (type: decimal(21,6))
diff --git ql/src/test/results/clientpositive/perf/spark/query57.q.out ql/src/test/results/clientpositive/perf/spark/query57.q.out
index b975a8abfc..874e9278f4 100644
--- ql/src/test/results/clientpositive/perf/spark/query57.q.out
+++ ql/src/test/results/clientpositive/perf/spark/query57.q.out
@@ -524,7 +524,7 @@ STAGE PLANS:
outputColumnNames: rank_window_1, _col0, _col1, _col2, _col3, _col4, _col5, _col6
Statistics: Num rows: 31942874 Data size: 4325706828 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((_col0 > 0)) THEN (((abs((_col6 - _col0)) / _col0) > 0.1)) ELSE (null) END (type: boolean)
+ predicate: CASE WHEN ((_col0 > 0)) THEN (((abs((_col6 - _col0)) / _col0) > 0.1)) ELSE (false) END (type: boolean)
Statistics: Num rows: 15971437 Data size: 2162853414 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col2 (type: string), _col1 (type: string), _col5 (type: string), _col3 (type: int), _col4 (type: int), _col6 (type: decimal(17,2)), _col0 (type: decimal(21,6)), rank_window_1 (type: int)
diff --git ql/src/test/results/clientpositive/perf/spark/query63.q.out ql/src/test/results/clientpositive/perf/spark/query63.q.out
index 9cd9c9897d..4803b1ee00 100644
--- ql/src/test/results/clientpositive/perf/spark/query63.q.out
+++ ql/src/test/results/clientpositive/perf/spark/query63.q.out
@@ -252,7 +252,7 @@ STAGE PLANS:
outputColumnNames: avg_window_0, _col0, _col2
Statistics: Num rows: 383325119 Data size: 33817053293 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((avg_window_0 > 0)) THEN (((abs((_col2 - avg_window_0)) / avg_window_0) > 0.1)) ELSE (null) END (type: boolean)
+ predicate: CASE WHEN ((avg_window_0 > 0)) THEN (((abs((_col2 - avg_window_0)) / avg_window_0) > 0.1)) ELSE (false) END (type: boolean)
Statistics: Num rows: 191662559 Data size: 16908526602 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col2 (type: decimal(17,2)), avg_window_0 (type: decimal(21,6))
diff --git ql/src/test/results/clientpositive/perf/spark/query67.q.out ql/src/test/results/clientpositive/perf/spark/query67.q.out
index f1954b1c85..24656352d9 100644
--- ql/src/test/results/clientpositive/perf/spark/query67.q.out
+++ ql/src/test/results/clientpositive/perf/spark/query67.q.out
@@ -145,7 +145,7 @@ STAGE PLANS:
predicate: (ss_item_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null) (type: boolean)
Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: ss_sold_date_sk (type: int), ss_item_sk (type: int), ss_store_sk (type: int), CASE WHEN ((ss_sales_price is not null and ss_quantity is not null)) THEN ((ss_sales_price * CAST( ss_quantity AS decimal(10,0)))) ELSE (0) END (type: decimal(18,2))
+ expressions: ss_sold_date_sk (type: int), ss_item_sk (type: int), ss_store_sk (type: int), CASE WHEN ((ss_sales_price is not null and CAST( ss_quantity AS decimal(10,0)) is not null)) THEN ((ss_sales_price * CAST( ss_quantity AS decimal(10,0)))) ELSE (0) END (type: decimal(18,2))
outputColumnNames: _col0, _col1, _col2, _col3
Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
diff --git ql/src/test/results/clientpositive/perf/spark/query70.q.out ql/src/test/results/clientpositive/perf/spark/query70.q.out
index 11e8f0d18a..658400be6e 100644
--- ql/src/test/results/clientpositive/perf/spark/query70.q.out
+++ ql/src/test/results/clientpositive/perf/spark/query70.q.out
@@ -388,9 +388,9 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3
Statistics: Num rows: 1149975358 Data size: 101451159969 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
- key expressions: (grouping(_col3, 1) + grouping(_col3, 0)) (type: bigint), CASE WHEN ((grouping(_col3, 0) = 0)) THEN (_col0) ELSE (CAST( null AS STRING)) END (type: string), _col2 (type: decimal(17,2))
+ key expressions: (grouping(_col3, 1L) + grouping(_col3, 0L)) (type: bigint), CASE WHEN ((grouping(_col3, 0L) = UDFToLong(0))) THEN (_col0) ELSE (CAST( null AS STRING)) END (type: string), _col2 (type: decimal(17,2))
sort order: ++-
- Map-reduce partition columns: (grouping(_col3, 1) + grouping(_col3, 0)) (type: bigint), CASE WHEN ((grouping(_col3, 0) = 0)) THEN (_col0) ELSE (CAST( null AS STRING)) END (type: string)
+ Map-reduce partition columns: (grouping(_col3, 1L) + grouping(_col3, 0L)) (type: bigint), CASE WHEN ((grouping(_col3, 0L) = UDFToLong(0))) THEN (_col0) ELSE (CAST( null AS STRING)) END (type: string)
Statistics: Num rows: 1149975358 Data size: 101451159969 Basic stats: COMPLETE Column stats: NONE
value expressions: _col0 (type: string), _col1 (type: string), _col3 (type: bigint)
Reducer 5
@@ -410,7 +410,7 @@ STAGE PLANS:
input alias: ptf_1
name: windowingtablefunction
order by: _col2 DESC NULLS LAST
- partition by: (grouping(_col3, 1) + grouping(_col3, 0)), CASE WHEN ((grouping(_col3, 0) = 0)) THEN (_col0) ELSE (CAST( null AS STRING)) END
+ partition by: (grouping(_col3, 1L) + grouping(_col3, 0L)), CASE WHEN ((grouping(_col3, 0L) = UDFToLong(0))) THEN (_col0) ELSE (CAST( null AS STRING)) END
raw input shape:
window functions:
window function definition
@@ -422,7 +422,7 @@ STAGE PLANS:
isPivotResult: true
Statistics: Num rows: 1149975358 Data size: 101451159969 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col2 (type: decimal(17,2)), _col0 (type: string), _col1 (type: string), (grouping(_col3, 1) + grouping(_col3, 0)) (type: bigint), rank_window_0 (type: int), CASE WHEN (((grouping(_col3, 1) + grouping(_col3, 0)) = 0)) THEN (_col0) ELSE (null) END (type: string)
+ expressions: _col2 (type: decimal(17,2)), _col0 (type: string), _col1 (type: string), (grouping(_col3, 1L) + grouping(_col3, 0L)) (type: bigint), rank_window_0 (type: int), CASE WHEN (((grouping(_col3, 1L) + grouping(_col3, 0L)) = 0L)) THEN (_col0) ELSE (null) END (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
Statistics: Num rows: 1149975358 Data size: 101451159969 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
diff --git ql/src/test/results/clientpositive/perf/spark/query73.q.out ql/src/test/results/clientpositive/perf/spark/query73.q.out
index f77acfda3d..1a9793b836 100644
--- ql/src/test/results/clientpositive/perf/spark/query73.q.out
+++ ql/src/test/results/clientpositive/perf/spark/query73.q.out
@@ -79,10 +79,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: household_demographics
- filterExpr: ((hd_buy_potential) IN ('>10000', 'unknown') and (hd_vehicle_count > 0) and CASE WHEN ((hd_vehicle_count > 0)) THEN (((UDFToDouble(hd_dep_count) / UDFToDouble(hd_vehicle_count)) > 1.0D)) ELSE (null) END and hd_demo_sk is not null) (type: boolean)
+ filterExpr: ((hd_buy_potential) IN ('>10000', 'unknown') and (hd_vehicle_count > 0) and CASE WHEN ((hd_vehicle_count > 0)) THEN (((UDFToDouble(hd_dep_count) / UDFToDouble(hd_vehicle_count)) > 1.0D)) ELSE (false) END and hd_demo_sk is not null) (type: boolean)
Statistics: Num rows: 7200 Data size: 770400 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((hd_buy_potential) IN ('>10000', 'unknown') and (hd_vehicle_count > 0) and CASE WHEN ((hd_vehicle_count > 0)) THEN (((UDFToDouble(hd_dep_count) / UDFToDouble(hd_vehicle_count)) > 1.0D)) ELSE (null) END and hd_demo_sk is not null) (type: boolean)
+ predicate: ((hd_buy_potential) IN ('>10000', 'unknown') and (hd_vehicle_count > 0) and CASE WHEN ((hd_vehicle_count > 0)) THEN (((UDFToDouble(hd_dep_count) / UDFToDouble(hd_vehicle_count)) > 1.0D)) ELSE (false) END and hd_demo_sk is not null) (type: boolean)
Statistics: Num rows: 1200 Data size: 128400 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: hd_demo_sk (type: int)
@@ -223,7 +223,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 383325119 Data size: 33817053293 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: _col2 BETWEEN 1 AND 5 (type: boolean)
+ predicate: _col2 BETWEEN 1L AND 5L (type: boolean)
Statistics: Num rows: 2 Data size: 176 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
diff --git ql/src/test/results/clientpositive/perf/spark/query74.q.out ql/src/test/results/clientpositive/perf/spark/query74.q.out
index e7a4784479..181e47c3fa 100644
--- ql/src/test/results/clientpositive/perf/spark/query74.q.out
+++ ql/src/test/results/clientpositive/perf/spark/query74.q.out
@@ -645,7 +645,7 @@ STAGE PLANS:
outputColumnNames: _col1, _col3, _col5, _col6, _col7, _col8, _col9, _col10
Statistics: Num rows: 1149975359 Data size: 101451160012 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN (_col3 is not null) THEN (CASE WHEN (_col6) THEN (((_col1 / _col5) > (_col10 / _col3))) ELSE ((null > (_col10 / _col3))) END) ELSE (CASE WHEN (_col6) THEN (((_col1 / _col5) > null)) ELSE (null) END) END (type: boolean)
+ predicate: CASE WHEN (_col3 is not null) THEN (CASE WHEN (_col6) THEN (((_col1 / _col5) > (_col10 / _col3))) ELSE (false) END) ELSE (false) END (type: boolean)
Statistics: Num rows: 574987679 Data size: 50725579961 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col7 (type: string), _col8 (type: string), _col9 (type: string)
diff --git ql/src/test/results/clientpositive/perf/spark/query78.q.out ql/src/test/results/clientpositive/perf/spark/query78.q.out
index 125f0a9904..6f37cecfe7 100644
--- ql/src/test/results/clientpositive/perf/spark/query78.q.out
+++ ql/src/test/results/clientpositive/perf/spark/query78.q.out
@@ -139,13 +139,13 @@ STAGE PLANS:
Reducer 11 <- Map 10 (PARTITION-LEVEL SORT, 85), Reducer 14 (PARTITION-LEVEL SORT, 85)
Reducer 12 <- Reducer 11 (GROUP, 93)
Reducer 14 <- Map 13 (PARTITION-LEVEL SORT, 164), Map 15 (PARTITION-LEVEL SORT, 164)
- Reducer 17 <- Map 10 (PARTITION-LEVEL SORT, 85), Reducer 20 (PARTITION-LEVEL SORT, 85)
- Reducer 18 <- Reducer 17 (GROUP, 93)
+ Reducer 17 <- Map 16 (PARTITION-LEVEL SORT, 168), Reducer 20 (PARTITION-LEVEL SORT, 168)
+ Reducer 18 <- Reducer 17 (GROUP, 185)
Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 219), Reducer 8 (PARTITION-LEVEL SORT, 219)
- Reducer 20 <- Map 19 (PARTITION-LEVEL SORT, 177), Map 21 (PARTITION-LEVEL SORT, 177)
+ Reducer 20 <- Map 19 (PARTITION-LEVEL SORT, 329), Map 21 (PARTITION-LEVEL SORT, 329)
Reducer 3 <- Reducer 2 (GROUP, 241)
- Reducer 4 <- Reducer 12 (PARTITION-LEVEL SORT, 167), Reducer 3 (PARTITION-LEVEL SORT, 167)
- Reducer 5 <- Reducer 18 (PARTITION-LEVEL SORT, 113), Reducer 4 (PARTITION-LEVEL SORT, 113)
+ Reducer 4 <- Reducer 12 (PARTITION-LEVEL SORT, 136), Reducer 3 (PARTITION-LEVEL SORT, 136)
+ Reducer 5 <- Reducer 18 (PARTITION-LEVEL SORT, 163), Reducer 4 (PARTITION-LEVEL SORT, 163)
Reducer 6 <- Reducer 5 (SORT, 1)
Reducer 8 <- Map 7 (PARTITION-LEVEL SORT, 432), Map 9 (PARTITION-LEVEL SORT, 432)
#### A masked pattern was here ####
@@ -192,10 +192,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: web_sales
- filterExpr: ws_sold_date_sk is not null (type: boolean)
+ filterExpr: (ws_sold_date_sk is not null and ws_item_sk is not null and ws_bill_customer_sk is not null) (type: boolean)
Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ws_sold_date_sk is not null (type: boolean)
+ predicate: (ws_bill_customer_sk is not null and ws_item_sk is not null and ws_sold_date_sk is not null) (type: boolean)
Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: ws_sold_date_sk (type: int), ws_item_sk (type: int), ws_bill_customer_sk (type: int), ws_order_number (type: int), ws_quantity (type: int), ws_wholesale_cost (type: decimal(7,2)), ws_sales_price (type: decimal(7,2))
@@ -212,60 +212,87 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: web_returns
+ filterExpr: wr_item_sk is not null (type: boolean)
Statistics: Num rows: 14398467 Data size: 1325194184 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: wr_item_sk (type: int), wr_order_number (type: int)
- outputColumnNames: _col0, _col1
+ Filter Operator
+ predicate: wr_item_sk is not null (type: boolean)
Statistics: Num rows: 14398467 Data size: 1325194184 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: int), _col1 (type: int)
- sort order: ++
- Map-reduce partition columns: _col0 (type: int), _col1 (type: int)
+ Select Operator
+ expressions: wr_item_sk (type: int), wr_order_number (type: int)
+ outputColumnNames: _col0, _col1
Statistics: Num rows: 14398467 Data size: 1325194184 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: int), _col1 (type: int)
+ sort order: ++
+ Map-reduce partition columns: _col0 (type: int), _col1 (type: int)
+ Statistics: Num rows: 14398467 Data size: 1325194184 Basic stats: COMPLETE Column stats: NONE
+ Execution mode: vectorized
+ Map 16
+ Map Operator Tree:
+ TableScan
+ alias: date_dim
+ filterExpr: ((d_year = 2000) and d_date_sk is not null) (type: boolean)
+ Statistics: Num rows: 73049 Data size: 81741831 Basic stats: COMPLETE Column stats: NONE
+ Filter Operator
+ predicate: ((d_year = 2000) and d_date_sk is not null) (type: boolean)
+ Statistics: Num rows: 36524 Data size: 40870356 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: d_date_sk (type: int)
+ outputColumnNames: _col0
+ Statistics: Num rows: 36524 Data size: 40870356 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: int)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: int)
+ Statistics: Num rows: 36524 Data size: 40870356 Basic stats: COMPLETE Column stats: NONE
Execution mode: vectorized
Map 19
Map Operator Tree:
TableScan
alias: catalog_sales
- filterExpr: ((cs_item_sk = cs_item_sk) and cs_sold_date_sk is not null) (type: boolean)
+ filterExpr: (cs_sold_date_sk is not null and cs_item_sk is not null and cs_bill_customer_sk is not null) (type: boolean)
Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((cs_item_sk = cs_item_sk) and cs_sold_date_sk is not null) (type: boolean)
- Statistics: Num rows: 143994918 Data size: 19499804476 Basic stats: COMPLETE Column stats: NONE
+ predicate: (cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null) (type: boolean)
+ Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: cs_sold_date_sk (type: int), cs_bill_customer_sk (type: int), cs_item_sk (type: int), cs_order_number (type: int), cs_quantity (type: int), cs_wholesale_cost (type: decimal(7,2)), cs_sales_price (type: decimal(7,2))
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
- Statistics: Num rows: 143994918 Data size: 19499804476 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col2 (type: int), _col3 (type: int)
sort order: ++
Map-reduce partition columns: _col2 (type: int), _col3 (type: int)
- Statistics: Num rows: 143994918 Data size: 19499804476 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 287989836 Data size: 38999608952 Basic stats: COMPLETE Column stats: NONE
value expressions: _col0 (type: int), _col1 (type: int), _col4 (type: int), _col5 (type: decimal(7,2)), _col6 (type: decimal(7,2))
Execution mode: vectorized
Map 21
Map Operator Tree:
TableScan
alias: catalog_returns
+ filterExpr: cr_item_sk is not null (type: boolean)
Statistics: Num rows: 28798881 Data size: 3057234680 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: cr_item_sk (type: int), cr_order_number (type: int)
- outputColumnNames: _col0, _col1
+ Filter Operator
+ predicate: cr_item_sk is not null (type: boolean)
Statistics: Num rows: 28798881 Data size: 3057234680 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: int), _col1 (type: int)
- sort order: ++
- Map-reduce partition columns: _col0 (type: int), _col1 (type: int)
+ Select Operator
+ expressions: cr_item_sk (type: int), cr_order_number (type: int)
+ outputColumnNames: _col0, _col1
Statistics: Num rows: 28798881 Data size: 3057234680 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: int), _col1 (type: int)
+ sort order: ++
+ Map-reduce partition columns: _col0 (type: int), _col1 (type: int)
+ Statistics: Num rows: 28798881 Data size: 3057234680 Basic stats: COMPLETE Column stats: NONE
Execution mode: vectorized
Map 7
Map Operator Tree:
TableScan
alias: store_sales
- filterExpr: ss_sold_date_sk is not null (type: boolean)
+ filterExpr: (ss_sold_date_sk is not null and ss_item_sk is not null and ss_customer_sk is not null) (type: boolean)
Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ss_sold_date_sk is not null (type: boolean)
+ predicate: (ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null) (type: boolean)
Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: ss_sold_date_sk (type: int), ss_item_sk (type: int), ss_customer_sk (type: int), ss_ticket_number (type: int), ss_quantity (type: int), ss_wholesale_cost (type: decimal(7,2)), ss_sales_price (type: decimal(7,2))
@@ -282,16 +309,20 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: store_returns
+ filterExpr: sr_item_sk is not null (type: boolean)
Statistics: Num rows: 57591150 Data size: 4462194832 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: sr_item_sk (type: int), sr_ticket_number (type: int)
- outputColumnNames: _col0, _col1
+ Filter Operator
+ predicate: sr_item_sk is not null (type: boolean)
Statistics: Num rows: 57591150 Data size: 4462194832 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: int), _col1 (type: int)
- sort order: ++
- Map-reduce partition columns: _col0 (type: int), _col1 (type: int)
+ Select Operator
+ expressions: sr_item_sk (type: int), sr_ticket_number (type: int)
+ outputColumnNames: _col0, _col1
Statistics: Num rows: 57591150 Data size: 4462194832 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: int), _col1 (type: int)
+ sort order: ++
+ Map-reduce partition columns: _col0 (type: int), _col1 (type: int)
+ Statistics: Num rows: 57591150 Data size: 4462194832 Basic stats: COMPLETE Column stats: NONE
Execution mode: vectorized
Reducer 11
Reduce Operator Tree:
@@ -325,16 +356,19 @@ STAGE PLANS:
mode: mergepartial
outputColumnNames: _col0, _col1, _col2, _col3, _col4
Statistics: Num rows: 43560808 Data size: 5923010147 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: _col1 (type: int), _col0 (type: int), _col2 (type: bigint), _col3 (type: decimal(17,2)), _col4 (type: decimal(17,2))
- outputColumnNames: _col0, _col1, _col2, _col3, _col4
- Statistics: Num rows: 43560808 Data size: 5923010147 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col1 (type: int), _col0 (type: int)
- sort order: ++
- Map-reduce partition columns: _col1 (type: int), _col0 (type: int)
- Statistics: Num rows: 43560808 Data size: 5923010147 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col2 (type: bigint), _col3 (type: decimal(17,2)), _col4 (type: decimal(17,2))
+ Filter Operator
+ predicate: (_col2 > 0L) (type: boolean)
+ Statistics: Num rows: 14520269 Data size: 1974336670 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: _col1 (type: int), _col0 (type: int), _col2 (type: bigint), _col3 (type: decimal(17,2)), _col4 (type: decimal(17,2))
+ outputColumnNames: _col0, _col1, _col2, _col3, _col4
+ Statistics: Num rows: 14520269 Data size: 1974336670 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col1 (type: int), _col0 (type: int)
+ sort order: ++
+ Map-reduce partition columns: _col1 (type: int), _col0 (type: int)
+ Statistics: Num rows: 14520269 Data size: 1974336670 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col2 (type: bigint), _col3 (type: decimal(17,2)), _col4 (type: decimal(17,2))
Reducer 14
Reduce Operator Tree:
Join Operator
@@ -367,19 +401,19 @@ STAGE PLANS:
0 _col0 (type: int)
1 _col0 (type: int)
outputColumnNames: _col2, _col3, _col4, _col5, _col6
- Statistics: Num rows: 87116928 Data size: 11797382144 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 174233858 Data size: 23594764438 Basic stats: COMPLETE Column stats: NONE
Group By Operator
aggregations: sum(_col4), sum(_col5), sum(_col6)
keys: _col2 (type: int), _col3 (type: int)
minReductionHashAggr: 0.99
mode: hash
outputColumnNames: _col0, _col1, _col2, _col3, _col4
- Statistics: Num rows: 87116928 Data size: 11797382144 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 174233858 Data size: 23594764438 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: int), _col1 (type: int)
sort order: ++
Map-reduce partition columns: _col0 (type: int), _col1 (type: int)
- Statistics: Num rows: 87116928 Data size: 11797382144 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 174233858 Data size: 23594764438 Basic stats: COMPLETE Column stats: NONE
value expressions: _col2 (type: bigint), _col3 (type: decimal(17,2)), _col4 (type: decimal(17,2))
Reducer 18
Execution mode: vectorized
@@ -389,17 +423,24 @@ STAGE PLANS:
keys: KEY._col0 (type: int), KEY._col1 (type: int)
mode: mergepartial
outputColumnNames: _col0, _col1, _col2, _col3, _col4
- Statistics: Num rows: 43558464 Data size: 5898691072 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 87116929 Data size: 11797382219 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col2 (type: bigint), _col3 (type: decimal(17,2)), _col4 (type: decimal(17,2))
- outputColumnNames: _col0, _col1, _col2, _col3
- Statistics: Num rows: 43558464 Data size: 5898691072 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: int)
- sort order: +
- Map-reduce partition columns: _col0 (type: int)
- Statistics: Num rows: 43558464 Data size: 5898691072 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: bigint), _col2 (type: decimal(17,2)), _col3 (type: decimal(17,2))
+ outputColumnNames: _col1, _col2, _col3, _col4
+ Statistics: Num rows: 87116929 Data size: 11797382219 Basic stats: COMPLETE Column stats: NONE
+ Filter Operator
+ predicate: (_col2 > 0L) (type: boolean)
+ Statistics: Num rows: 29038976 Data size: 3932460694 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: _col1 (type: int), _col2 (type: bigint), _col2 is not null (type: boolean), CASE WHEN (_col2 is not null) THEN (_col2) ELSE (0) END (type: bigint), CASE WHEN (_col3 is not null) THEN (_col3) ELSE (0) END (type: decimal(17,2)), CASE WHEN (_col4 is not null) THEN (_col4) ELSE (0) END (type: decimal(17,2))
+ outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
+ Statistics: Num rows: 29038976 Data size: 3932460694 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: int)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: int)
+ Statistics: Num rows: 29038976 Data size: 3932460694 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col1 (type: bigint), _col2 (type: boolean), _col3 (type: bigint), _col4 (type: decimal(17,2)), _col5 (type: decimal(17,2))
Reducer 2
Reduce Operator Tree:
Join Operator
@@ -432,19 +473,19 @@ STAGE PLANS:
0 _col2 (type: int), _col3 (type: int)
1 _col0 (type: int), _col1 (type: int)
outputColumnNames: _col0, _col1, _col2, _col4, _col5, _col6, _col8
- Statistics: Num rows: 158394413 Data size: 21449785388 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 316788826 Data size: 42899570777 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: _col8 is null (type: boolean)
- Statistics: Num rows: 79197206 Data size: 10724892626 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 158394413 Data size: 21449785388 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: int), _col2 (type: int), _col4 (type: int), _col5 (type: decimal(7,2)), _col6 (type: decimal(7,2))
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
- Statistics: Num rows: 79197206 Data size: 10724892626 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 158394413 Data size: 21449785388 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: int)
sort order: +
Map-reduce partition columns: _col0 (type: int)
- Statistics: Num rows: 79197206 Data size: 10724892626 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 158394413 Data size: 21449785388 Basic stats: COMPLETE Column stats: NONE
value expressions: _col1 (type: int), _col2 (type: int), _col3 (type: int), _col4 (type: decimal(7,2)), _col5 (type: decimal(7,2))
Reducer 3
Execution mode: vectorized
@@ -469,50 +510,45 @@ STAGE PLANS:
Reduce Operator Tree:
Join Operator
condition map:
- Left Outer Join 0 to 1
+ Inner Join 0 to 1
keys:
0 _col1 (type: int), _col0 (type: int)
1 _col1 (type: int), _col0 (type: int)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col7, _col8, _col9
Statistics: Num rows: 191662559 Data size: 16908526668 Basic stats: COMPLETE Column stats: NONE
- Filter Operator
- predicate: CASE WHEN (_col7 is not null) THEN ((_col7 > 0L)) ELSE (false) END (type: boolean)
- Statistics: Num rows: 95831279 Data size: 8454263289 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col1 (type: int)
- sort order: +
- Map-reduce partition columns: _col1 (type: int)
- Statistics: Num rows: 95831279 Data size: 8454263289 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col0 (type: int), _col2 (type: bigint), _col3 (type: decimal(17,2)), _col4 (type: decimal(17,2)), _col7 (type: bigint), _col8 (type: decimal(17,2)), _col9 (type: decimal(17,2))
+ Reduce Output Operator
+ key expressions: _col1 (type: int)
+ sort order: +
+ Map-reduce partition columns: _col1 (type: int)
+ Statistics: Num rows: 191662559 Data size: 16908526668 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col0 (type: int), _col2 (type: bigint), _col3 (type: decimal(17,2)), _col4 (type: decimal(17,2)), _col7 (type: bigint), _col8 (type: decimal(17,2)), _col9 (type: decimal(17,2))
Reducer 5
Reduce Operator Tree:
Join Operator
condition map:
- Left Outer Join 0 to 1
+ Inner Join 0 to 1
keys:
0 _col1 (type: int)
1 _col0 (type: int)
- outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col7, _col8, _col9, _col11, _col12, _col13
- Statistics: Num rows: 105414409 Data size: 9299689819 Basic stats: COMPLETE Column stats: NONE
- Filter Operator
- predicate: CASE WHEN (_col11 is not null) THEN ((_col11 > 0L)) ELSE (false) END (type: boolean)
- Statistics: Num rows: 52707204 Data size: 4649844865 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: _col0 (type: int), _col1 (type: int), (CASE WHEN (_col7 is not null) THEN (_col7) ELSE (0) END + CASE WHEN (_col11 is not null) THEN (_col11) ELSE (0) END) (type: bigint), (CASE WHEN (_col8 is not null) THEN (_col8) ELSE (0) END + CASE WHEN (_col12 is not null) THEN (_col12) ELSE (0) END) (type: decimal(18,2)), (CASE WHEN (_col9 is not null) THEN (_col9) ELSE (0) END + CASE WHEN (_col13 is not null) THEN (_col13) ELSE (0) END) (type: decimal(18,2)), _col2 (type: bigint), _col3 (type: decimal(17,2)), _col4 (type: decimal(17,2)), round((UDFToDouble(_col2) / UDFToDouble(CASE WHEN ((_col7 is not null and _col11 is not null)) THEN ((_col7 + _col11)) ELSE (1) END)), 2) (type: double)
- outputColumnNames: _col0, _col1, _col6, _col7, _col8, _col9, _col10, _col11, _col12
- Statistics: Num rows: 52707204 Data size: 4649844865 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: int), _col1 (type: int), _col9 (type: bigint), _col10 (type: decimal(17,2)), _col11 (type: decimal(17,2)), _col6 (type: bigint), _col7 (type: decimal(18,2)), _col8 (type: decimal(18,2)), _col12 (type: double)
- sort order: ++---++++
- Statistics: Num rows: 52707204 Data size: 4649844865 Basic stats: COMPLETE Column stats: NONE
- TopN Hash Memory Usage: 0.1
+ outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col7, _col8, _col9, _col11, _col12, _col13, _col14, _col15
+ Statistics: Num rows: 210828819 Data size: 18599379737 Basic stats: COMPLETE Column stats: NONE
+ Select Operator
+ expressions: _col0 (type: int), _col1 (type: int), round((UDFToDouble(_col2) / UDFToDouble(CASE WHEN ((_col12 and _col7 is not null)) THEN ((_col7 + _col11)) ELSE (1) END)), 2) (type: double), (CASE WHEN (_col7 is not null) THEN (_col7) ELSE (0) END + _col13) (type: bigint), (CASE WHEN (_col8 is not null) THEN (_col8) ELSE (0) END + _col14) (type: decimal(18,2)), (CASE WHEN (_col9 is not null) THEN (_col9) ELSE (0) END + _col15) (type: decimal(18,2)), _col2 (type: bigint), _col3 (type: decimal(17,2)), _col4 (type: decimal(17,2)), round((UDFToDouble(_col2) / UDFToDouble(CASE WHEN ((_col7 is not null and _col11 is not null)) THEN ((_col7 + _col11)) ELSE (1) END)), 2) (type: double)
+ outputColumnNames: _col0, _col1, _col2, _col6, _col7, _col8, _col9, _col10, _col11, _col12
+ Statistics: Num rows: 210828819 Data size: 18599379737 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: int), _col1 (type: int), _col9 (type: bigint), _col10 (type: decimal(17,2)), _col11 (type: decimal(17,2)), _col6 (type: bigint), _col7 (type: decimal(18,2)), _col8 (type: decimal(18,2)), _col12 (type: double)
+ sort order: ++---++++
+ Statistics: Num rows: 210828819 Data size: 18599379737 Basic stats: COMPLETE Column stats: NONE
+ TopN Hash Memory Usage: 0.1
+ value expressions: _col2 (type: double)
Reducer 6
Execution mode: vectorized
Reduce Operator Tree:
Select Operator
- expressions: 2000 (type: int), KEY.reducesinkkey0 (type: int), KEY.reducesinkkey1 (type: int), KEY.reducesinkkey8 (type: double), KEY.reducesinkkey2 (type: bigint), KEY.reducesinkkey3 (type: decimal(17,2)), KEY.reducesinkkey4 (type: decimal(17,2)), KEY.reducesinkkey5 (type: bigint), KEY.reducesinkkey6 (type: decimal(18,2)), KEY.reducesinkkey7 (type: decimal(18,2))
+ expressions: 2000 (type: int), KEY.reducesinkkey0 (type: int), KEY.reducesinkkey1 (type: int), VALUE._col0 (type: double), KEY.reducesinkkey2 (type: bigint), KEY.reducesinkkey3 (type: decimal(17,2)), KEY.reducesinkkey4 (type: decimal(17,2)), KEY.reducesinkkey5 (type: bigint), KEY.reducesinkkey6 (type: decimal(18,2)), KEY.reducesinkkey7 (type: decimal(18,2))
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9
- Statistics: Num rows: 52707204 Data size: 4649844865 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 210828819 Data size: 18599379737 Basic stats: COMPLETE Column stats: NONE
Limit
Number of rows: 100
Statistics: Num rows: 100 Data size: 8800 Basic stats: COMPLETE Column stats: NONE
diff --git ql/src/test/results/clientpositive/perf/spark/query85.q.out ql/src/test/results/clientpositive/perf/spark/query85.q.out
index 04a4e18c30..b3680656a0 100644
--- ql/src/test/results/clientpositive/perf/spark/query85.q.out
+++ ql/src/test/results/clientpositive/perf/spark/query85.q.out
@@ -253,10 +253,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: web_sales
- filterExpr: (((ws_sales_price >= 100) or (ws_sales_price <= 150) or ws_sales_price is not null or (ws_sales_price <= 200)) and ((ws_net_profit >= 100) or (ws_net_profit <= 200) or ws_net_profit is not null or (ws_net_profit <= 300) or (ws_net_profit <= 250)) and ws_item_sk is not null and ws_order_number is not null and ws_web_page_sk is not null and ws_sold_date_sk is not null) (type: boolean)
+ filterExpr: (((ws_sales_price >= 100) or (ws_sales_price <= 150) or (ws_sales_price >= 50) or (ws_sales_price <= 100) or (ws_sales_price >= 150) or (ws_sales_price <= 200)) and ((ws_net_profit >= 100) or (ws_net_profit <= 200) or (ws_net_profit >= 150) or (ws_net_profit <= 300) or (ws_net_profit >= 50) or (ws_net_profit <= 250)) and ws_item_sk is not null and ws_order_number is not null and ws_web_page_sk is not null and ws_sold_date_sk is not null) (type: boolean)
Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (((ws_net_profit >= 100) or (ws_net_profit <= 200) or ws_net_profit is not null or (ws_net_profit <= 300) or (ws_net_profit <= 250)) and ((ws_sales_price >= 100) or (ws_sales_price <= 150) or ws_sales_price is not null or (ws_sales_price <= 200)) and ws_item_sk is not null and ws_order_number is not null and ws_sold_date_sk is not null and ws_web_page_sk is not null) (type: boolean)
+ predicate: (((ws_net_profit >= 100) or (ws_net_profit <= 200) or (ws_net_profit >= 150) or (ws_net_profit <= 300) or (ws_net_profit >= 50) or (ws_net_profit <= 250)) and ((ws_sales_price >= 100) or (ws_sales_price <= 150) or (ws_sales_price >= 50) or (ws_sales_price <= 100) or (ws_sales_price >= 150) or (ws_sales_price <= 200)) and ws_item_sk is not null and ws_order_number is not null and ws_sold_date_sk is not null and ws_web_page_sk is not null) (type: boolean)
Statistics: Num rows: 144002668 Data size: 19580198212 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: ws_sold_date_sk (type: int), ws_item_sk (type: int), ws_web_page_sk (type: int), ws_order_number (type: int), ws_quantity (type: int), ws_net_profit BETWEEN 100 AND 200 (type: boolean), ws_net_profit BETWEEN 150 AND 300 (type: boolean), ws_net_profit BETWEEN 50 AND 250 (type: boolean), ws_sales_price BETWEEN 100 AND 150 (type: boolean), ws_sales_price BETWEEN 50 AND 100 (type: boolean), ws_sales_price BETWEEN 150 AND 200 (type: boolean)
diff --git ql/src/test/results/clientpositive/perf/spark/query86.q.out ql/src/test/results/clientpositive/perf/spark/query86.q.out
index 301679a2cd..227c886433 100644
--- ql/src/test/results/clientpositive/perf/spark/query86.q.out
+++ ql/src/test/results/clientpositive/perf/spark/query86.q.out
@@ -187,9 +187,9 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3
Statistics: Num rows: 261364852 Data size: 35538061226 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
- key expressions: (grouping(_col3, 1) + grouping(_col3, 0)) (type: bigint), CASE WHEN ((grouping(_col3, 0) = 0)) THEN (_col0) ELSE (CAST( null AS STRING)) END (type: string), _col2 (type: decimal(17,2))
+ key expressions: (grouping(_col3, 1L) + grouping(_col3, 0L)) (type: bigint), CASE WHEN ((grouping(_col3, 0L) = UDFToLong(0))) THEN (_col0) ELSE (CAST( null AS STRING)) END (type: string), _col2 (type: decimal(17,2))
sort order: ++-
- Map-reduce partition columns: (grouping(_col3, 1) + grouping(_col3, 0)) (type: bigint), CASE WHEN ((grouping(_col3, 0) = 0)) THEN (_col0) ELSE (CAST( null AS STRING)) END (type: string)
+ Map-reduce partition columns: (grouping(_col3, 1L) + grouping(_col3, 0L)) (type: bigint), CASE WHEN ((grouping(_col3, 0L) = UDFToLong(0))) THEN (_col0) ELSE (CAST( null AS STRING)) END (type: string)
Statistics: Num rows: 261364852 Data size: 35538061226 Basic stats: COMPLETE Column stats: NONE
value expressions: _col0 (type: string), _col1 (type: string), _col3 (type: bigint)
Reducer 5
@@ -209,7 +209,7 @@ STAGE PLANS:
input alias: ptf_1
name: windowingtablefunction
order by: _col2 DESC NULLS LAST
- partition by: (grouping(_col3, 1) + grouping(_col3, 0)), CASE WHEN ((grouping(_col3, 0) = 0)) THEN (_col0) ELSE (CAST( null AS STRING)) END
+ partition by: (grouping(_col3, 1L) + grouping(_col3, 0L)), CASE WHEN ((grouping(_col3, 0L) = UDFToLong(0))) THEN (_col0) ELSE (CAST( null AS STRING)) END
raw input shape:
window functions:
window function definition
@@ -221,7 +221,7 @@ STAGE PLANS:
isPivotResult: true
Statistics: Num rows: 261364852 Data size: 35538061226 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col2 (type: decimal(17,2)), _col0 (type: string), _col1 (type: string), (grouping(_col3, 1) + grouping(_col3, 0)) (type: bigint), rank_window_0 (type: int), CASE WHEN (((grouping(_col3, 1) + grouping(_col3, 0)) = 0)) THEN (_col0) ELSE (null) END (type: string)
+ expressions: _col2 (type: decimal(17,2)), _col0 (type: string), _col1 (type: string), (grouping(_col3, 1L) + grouping(_col3, 0L)) (type: bigint), rank_window_0 (type: int), CASE WHEN (((grouping(_col3, 1L) + grouping(_col3, 0L)) = 0L)) THEN (_col0) ELSE (null) END (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
Statistics: Num rows: 261364852 Data size: 35538061226 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
diff --git ql/src/test/results/clientpositive/perf/spark/query87.q.out ql/src/test/results/clientpositive/perf/spark/query87.q.out
index 9008fc2d99..3966a917c4 100644
--- ql/src/test/results/clientpositive/perf/spark/query87.q.out
+++ ql/src/test/results/clientpositive/perf/spark/query87.q.out
@@ -412,7 +412,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4
Statistics: Num rows: 130677808 Data size: 13584384883 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (((_col3 * 2) = _col4) and (_col3 > 0L)) (type: boolean)
+ predicate: (((_col3 * 2L) = _col4) and (_col3 > 0L)) (type: boolean)
Statistics: Num rows: 21779634 Data size: 2264064077 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string)
@@ -459,7 +459,7 @@ STAGE PLANS:
outputColumnNames: _col3, _col4
Statistics: Num rows: 27225312 Data size: 3527521010 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (((_col3 * 2) = _col4) and (_col3 > 0L)) (type: boolean)
+ predicate: (((_col3 * 2L) = _col4) and (_col3 > 0L)) (type: boolean)
Statistics: Num rows: 4537552 Data size: 587920168 Basic stats: COMPLETE Column stats: NONE
Select Operator
Statistics: Num rows: 4537552 Data size: 587920168 Basic stats: COMPLETE Column stats: NONE
diff --git ql/src/test/results/clientpositive/perf/spark/query88.q.out ql/src/test/results/clientpositive/perf/spark/query88.q.out
index f06f831298..5bf2a649ae 100644
--- ql/src/test/results/clientpositive/perf/spark/query88.q.out
+++ ql/src/test/results/clientpositive/perf/spark/query88.q.out
@@ -235,15 +235,15 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: household_demographics
- filterExpr: ((hd_dep_count) IN (3, 0, 1) and (hd_vehicle_count <= 5) and (((hd_dep_count = 3) and hd_vehicle_count is not null) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
+ filterExpr: ((hd_dep_count) IN (3, 0, 1) and ((hd_vehicle_count <= 5) or (hd_vehicle_count <= 2) or (hd_vehicle_count <= 3)) and (((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
Statistics: Num rows: 7200 Data size: 770400 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((((hd_dep_count = 3) and hd_vehicle_count is not null) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and (hd_dep_count) IN (3, 0, 1) and (hd_vehicle_count <= 5) and hd_demo_sk is not null) (type: boolean)
- Statistics: Num rows: 2000 Data size: 214000 Basic stats: COMPLETE Column stats: NONE
+ predicate: ((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and ((hd_vehicle_count <= 5) or (hd_vehicle_count <= 2) or (hd_vehicle_count <= 3)) and (hd_dep_count) IN (3, 0, 1) and hd_demo_sk is not null) (type: boolean)
+ Statistics: Num rows: 3600 Data size: 385200 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: hd_demo_sk (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 2000 Data size: 214000 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 3600 Data size: 385200 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
0 _col1 (type: int)
@@ -818,15 +818,15 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: household_demographics
- filterExpr: ((hd_dep_count) IN (3, 0, 1) and (hd_vehicle_count <= 5) and (((hd_dep_count = 3) and hd_vehicle_count is not null) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
+ filterExpr: ((hd_dep_count) IN (3, 0, 1) and ((hd_vehicle_count <= 5) or (hd_vehicle_count <= 2) or (hd_vehicle_count <= 3)) and (((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
Statistics: Num rows: 7200 Data size: 770400 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((((hd_dep_count = 3) and hd_vehicle_count is not null) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and (hd_dep_count) IN (3, 0, 1) and (hd_vehicle_count <= 5) and hd_demo_sk is not null) (type: boolean)
- Statistics: Num rows: 2000 Data size: 214000 Basic stats: COMPLETE Column stats: NONE
+ predicate: ((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and ((hd_vehicle_count <= 5) or (hd_vehicle_count <= 2) or (hd_vehicle_count <= 3)) and (hd_dep_count) IN (3, 0, 1) and hd_demo_sk is not null) (type: boolean)
+ Statistics: Num rows: 3600 Data size: 385200 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: hd_demo_sk (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 2000 Data size: 214000 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 3600 Data size: 385200 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
0 _col1 (type: int)
@@ -994,15 +994,15 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: household_demographics
- filterExpr: ((hd_dep_count) IN (3, 0, 1) and (hd_vehicle_count <= 5) and (((hd_dep_count = 3) and hd_vehicle_count is not null) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
+ filterExpr: ((hd_dep_count) IN (3, 0, 1) and ((hd_vehicle_count <= 5) or (hd_vehicle_count <= 2) or (hd_vehicle_count <= 3)) and (((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
Statistics: Num rows: 7200 Data size: 770400 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((((hd_dep_count = 3) and hd_vehicle_count is not null) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and (hd_dep_count) IN (3, 0, 1) and (hd_vehicle_count <= 5) and hd_demo_sk is not null) (type: boolean)
- Statistics: Num rows: 2000 Data size: 214000 Basic stats: COMPLETE Column stats: NONE
+ predicate: ((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and ((hd_vehicle_count <= 5) or (hd_vehicle_count <= 2) or (hd_vehicle_count <= 3)) and (hd_dep_count) IN (3, 0, 1) and hd_demo_sk is not null) (type: boolean)
+ Statistics: Num rows: 3600 Data size: 385200 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: hd_demo_sk (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 2000 Data size: 214000 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 3600 Data size: 385200 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
0 _col1 (type: int)
@@ -1059,15 +1059,15 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: household_demographics
- filterExpr: ((hd_dep_count) IN (3, 0, 1) and (hd_vehicle_count <= 5) and (((hd_dep_count = 3) and hd_vehicle_count is not null) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
+ filterExpr: ((hd_dep_count) IN (3, 0, 1) and ((hd_vehicle_count <= 5) or (hd_vehicle_count <= 2) or (hd_vehicle_count <= 3)) and (((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
Statistics: Num rows: 7200 Data size: 770400 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((((hd_dep_count = 3) and hd_vehicle_count is not null) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and (hd_dep_count) IN (3, 0, 1) and (hd_vehicle_count <= 5) and hd_demo_sk is not null) (type: boolean)
- Statistics: Num rows: 2000 Data size: 214000 Basic stats: COMPLETE Column stats: NONE
+ predicate: ((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and ((hd_vehicle_count <= 5) or (hd_vehicle_count <= 2) or (hd_vehicle_count <= 3)) and (hd_dep_count) IN (3, 0, 1) and hd_demo_sk is not null) (type: boolean)
+ Statistics: Num rows: 3600 Data size: 385200 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: hd_demo_sk (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 2000 Data size: 214000 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 3600 Data size: 385200 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
0 _col1 (type: int)
@@ -1124,15 +1124,15 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: household_demographics
- filterExpr: ((hd_dep_count) IN (3, 0, 1) and (hd_vehicle_count <= 5) and (((hd_dep_count = 3) and hd_vehicle_count is not null) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
+ filterExpr: ((hd_dep_count) IN (3, 0, 1) and ((hd_vehicle_count <= 5) or (hd_vehicle_count <= 2) or (hd_vehicle_count <= 3)) and (((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
Statistics: Num rows: 7200 Data size: 770400 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((((hd_dep_count = 3) and hd_vehicle_count is not null) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and (hd_dep_count) IN (3, 0, 1) and (hd_vehicle_count <= 5) and hd_demo_sk is not null) (type: boolean)
- Statistics: Num rows: 2000 Data size: 214000 Basic stats: COMPLETE Column stats: NONE
+ predicate: ((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and ((hd_vehicle_count <= 5) or (hd_vehicle_count <= 2) or (hd_vehicle_count <= 3)) and (hd_dep_count) IN (3, 0, 1) and hd_demo_sk is not null) (type: boolean)
+ Statistics: Num rows: 3600 Data size: 385200 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: hd_demo_sk (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 2000 Data size: 214000 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 3600 Data size: 385200 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
0 _col1 (type: int)
@@ -1189,15 +1189,15 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: household_demographics
- filterExpr: ((hd_dep_count) IN (3, 0, 1) and (hd_vehicle_count <= 5) and (((hd_dep_count = 3) and hd_vehicle_count is not null) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
+ filterExpr: ((hd_dep_count) IN (3, 0, 1) and ((hd_vehicle_count <= 5) or (hd_vehicle_count <= 2) or (hd_vehicle_count <= 3)) and (((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
Statistics: Num rows: 7200 Data size: 770400 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((((hd_dep_count = 3) and hd_vehicle_count is not null) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and (hd_dep_count) IN (3, 0, 1) and (hd_vehicle_count <= 5) and hd_demo_sk is not null) (type: boolean)
- Statistics: Num rows: 2000 Data size: 214000 Basic stats: COMPLETE Column stats: NONE
+ predicate: ((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and ((hd_vehicle_count <= 5) or (hd_vehicle_count <= 2) or (hd_vehicle_count <= 3)) and (hd_dep_count) IN (3, 0, 1) and hd_demo_sk is not null) (type: boolean)
+ Statistics: Num rows: 3600 Data size: 385200 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: hd_demo_sk (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 2000 Data size: 214000 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 3600 Data size: 385200 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
0 _col1 (type: int)
@@ -1254,15 +1254,15 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: household_demographics
- filterExpr: ((hd_dep_count) IN (3, 0, 1) and (hd_vehicle_count <= 5) and (((hd_dep_count = 3) and hd_vehicle_count is not null) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
+ filterExpr: ((hd_dep_count) IN (3, 0, 1) and ((hd_vehicle_count <= 5) or (hd_vehicle_count <= 2) or (hd_vehicle_count <= 3)) and (((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
Statistics: Num rows: 7200 Data size: 770400 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((((hd_dep_count = 3) and hd_vehicle_count is not null) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and (hd_dep_count) IN (3, 0, 1) and (hd_vehicle_count <= 5) and hd_demo_sk is not null) (type: boolean)
- Statistics: Num rows: 2000 Data size: 214000 Basic stats: COMPLETE Column stats: NONE
+ predicate: ((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and ((hd_vehicle_count <= 5) or (hd_vehicle_count <= 2) or (hd_vehicle_count <= 3)) and (hd_dep_count) IN (3, 0, 1) and hd_demo_sk is not null) (type: boolean)
+ Statistics: Num rows: 3600 Data size: 385200 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: hd_demo_sk (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 2000 Data size: 214000 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 3600 Data size: 385200 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
0 _col1 (type: int)
@@ -1319,15 +1319,15 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: household_demographics
- filterExpr: ((hd_dep_count) IN (3, 0, 1) and (hd_vehicle_count <= 5) and (((hd_dep_count = 3) and hd_vehicle_count is not null) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
+ filterExpr: ((hd_dep_count) IN (3, 0, 1) and ((hd_vehicle_count <= 5) or (hd_vehicle_count <= 2) or (hd_vehicle_count <= 3)) and (((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and hd_demo_sk is not null) (type: boolean)
Statistics: Num rows: 7200 Data size: 770400 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((((hd_dep_count = 3) and hd_vehicle_count is not null) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and (hd_dep_count) IN (3, 0, 1) and (hd_vehicle_count <= 5) and hd_demo_sk is not null) (type: boolean)
- Statistics: Num rows: 2000 Data size: 214000 Basic stats: COMPLETE Column stats: NONE
+ predicate: ((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and ((hd_vehicle_count <= 5) or (hd_vehicle_count <= 2) or (hd_vehicle_count <= 3)) and (hd_dep_count) IN (3, 0, 1) and hd_demo_sk is not null) (type: boolean)
+ Statistics: Num rows: 3600 Data size: 385200 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: hd_demo_sk (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 2000 Data size: 214000 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 3600 Data size: 385200 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
keys:
0 _col1 (type: int)
diff --git ql/src/test/results/clientpositive/perf/spark/query89.q.out ql/src/test/results/clientpositive/perf/spark/query89.q.out
index c781201379..04c91a4f1a 100644
--- ql/src/test/results/clientpositive/perf/spark/query89.q.out
+++ ql/src/test/results/clientpositive/perf/spark/query89.q.out
@@ -261,7 +261,7 @@ STAGE PLANS:
outputColumnNames: avg_window_0, _col0, _col1, _col2, _col3, _col4, _col5, _col6
Statistics: Num rows: 383325119 Data size: 33817053293 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((avg_window_0 <> 0)) THEN (((abs((_col6 - avg_window_0)) / avg_window_0) > 0.1)) ELSE (null) END (type: boolean)
+ predicate: CASE WHEN ((avg_window_0 <> 0)) THEN (((abs((_col6 - avg_window_0)) / avg_window_0) > 0.1)) ELSE (false) END (type: boolean)
Statistics: Num rows: 191662559 Data size: 16908526602 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col2 (type: string), _col1 (type: string), _col0 (type: string), _col4 (type: string), _col5 (type: string), _col3 (type: int), _col6 (type: decimal(17,2)), avg_window_0 (type: decimal(21,6)), (_col6 - avg_window_0) (type: decimal(22,6))
diff --git ql/src/test/results/clientpositive/perf/spark/query93.q.out ql/src/test/results/clientpositive/perf/spark/query93.q.out
index f69920d27b..cf8b6899a4 100644
--- ql/src/test/results/clientpositive/perf/spark/query93.q.out
+++ ql/src/test/results/clientpositive/perf/spark/query93.q.out
@@ -89,8 +89,8 @@ STAGE PLANS:
predicate: (sr_item_sk is not null and sr_reason_sk is not null and sr_ticket_number is not null) (type: boolean)
Statistics: Num rows: 57591150 Data size: 4462194832 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: sr_item_sk (type: int), sr_reason_sk (type: int), sr_ticket_number (type: int), sr_return_quantity (type: int), sr_return_quantity is not null (type: boolean)
- outputColumnNames: _col0, _col1, _col2, _col3, _col4
+ expressions: sr_item_sk (type: int), sr_reason_sk (type: int), sr_ticket_number (type: int), sr_return_quantity (type: int)
+ outputColumnNames: _col0, _col1, _col2, _col3
Statistics: Num rows: 57591150 Data size: 4462194832 Basic stats: COMPLETE Column stats: NONE
Map Join Operator
condition map:
@@ -98,7 +98,7 @@ STAGE PLANS:
keys:
0 _col1 (type: int)
1 _col0 (type: int)
- outputColumnNames: _col0, _col2, _col3, _col4
+ outputColumnNames: _col0, _col2, _col3
input vertices:
1 Map 5
Statistics: Num rows: 63350266 Data size: 4908414421 Basic stats: COMPLETE Column stats: NONE
@@ -107,7 +107,7 @@ STAGE PLANS:
sort order: ++
Map-reduce partition columns: _col0 (type: int), _col2 (type: int)
Statistics: Num rows: 63350266 Data size: 4908414421 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col3 (type: int), _col4 (type: boolean)
+ value expressions: _col3 (type: int)
Execution mode: vectorized
Local Work:
Map Reduce Local Work
@@ -121,15 +121,15 @@ STAGE PLANS:
predicate: (ss_item_sk is not null and ss_ticket_number is not null) (type: boolean)
Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: ss_item_sk (type: int), ss_customer_sk (type: int), ss_ticket_number (type: int), ss_quantity (type: int), ss_sales_price (type: decimal(7,2)), (CAST( ss_quantity AS decimal(10,0)) * ss_sales_price) (type: decimal(18,2))
- outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
+ expressions: ss_item_sk (type: int), ss_customer_sk (type: int), ss_ticket_number (type: int), ss_quantity (type: int), ss_sales_price (type: decimal(7,2))
+ outputColumnNames: _col0, _col1, _col2, _col3, _col4
Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: int), _col2 (type: int)
sort order: ++
Map-reduce partition columns: _col0 (type: int), _col2 (type: int)
Statistics: Num rows: 575995635 Data size: 50814502088 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: int), _col3 (type: int), _col4 (type: decimal(7,2)), _col5 (type: decimal(18,2))
+ value expressions: _col1 (type: int), _col3 (type: int), _col4 (type: decimal(7,2))
Execution mode: vectorized
Reducer 2
Reduce Operator Tree:
@@ -139,10 +139,10 @@ STAGE PLANS:
keys:
0 _col0 (type: int), _col2 (type: int)
1 _col0 (type: int), _col2 (type: int)
- outputColumnNames: _col3, _col4, _col7, _col9, _col10, _col11
+ outputColumnNames: _col3, _col6, _col8, _col9
Statistics: Num rows: 633595212 Data size: 55895953508 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col7 (type: int), CASE WHEN (_col4) THEN ((CAST( (_col9 - _col3) AS decimal(10,0)) * _col10)) ELSE (_col11) END (type: decimal(18,2))
+ expressions: _col6 (type: int), CASE WHEN (_col3 is not null) THEN ((CAST( (_col8 - _col3) AS decimal(10,0)) * _col9)) ELSE ((CAST( _col8 AS decimal(10,0)) * _col9)) END (type: decimal(18,2))
outputColumnNames: _col0, _col1
Statistics: Num rows: 633595212 Data size: 55895953508 Basic stats: COMPLETE Column stats: NONE
Group By Operator
diff --git ql/src/test/results/clientpositive/perf/spark/query97.q.out ql/src/test/results/clientpositive/perf/spark/query97.q.out
index 2372928d52..0bc8a595a1 100644
--- ql/src/test/results/clientpositive/perf/spark/query97.q.out
+++ ql/src/test/results/clientpositive/perf/spark/query97.q.out
@@ -193,7 +193,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col2
Statistics: Num rows: 348477374 Data size: 30742775095 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: CASE WHEN ((_col0 is not null and _col2 is null)) THEN (1) ELSE (0) END (type: int), CASE WHEN ((_col0 is null and _col2 is not null)) THEN (1) ELSE (0) END (type: int), CASE WHEN ((_col0 is not null and _col2 is not null)) THEN (1) ELSE (0) END (type: int)
+ expressions: CASE WHEN ((_col2 is null and _col0 is not null)) THEN (1) ELSE (0) END (type: int), CASE WHEN ((_col0 is null and _col2 is not null)) THEN (1) ELSE (0) END (type: int), CASE WHEN ((_col0 is not null and _col2 is not null)) THEN (1) ELSE (0) END (type: int)
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 348477374 Data size: 30742775095 Basic stats: COMPLETE Column stats: NONE
Group By Operator
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_ext_query1.q.out ql/src/test/results/clientpositive/perf/tez/cbo_ext_query1.q.out
index bcd1f8dd20..1d22045751 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_ext_query1.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_ext_query1.q.out
@@ -77,7 +77,7 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100]): rowcount = ###Masked###, cum
HiveProject(s_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
HiveFilter(condition=[AND(=($24, _UTF-16LE'NM'), IS NOT NULL($0))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
HiveTableScan(table=[[default, store]], table:alias=[store]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveProject(_o__c0=[*(/($1, $2), 1.2)], ctr_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveProject(_o__c0=[*(/($1, $2), 1.2:DECIMAL(2, 1))], ctr_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
@@ -168,7 +168,7 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100]): rowcount = ###Masked###, cum
HiveProject(s_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
HiveFilter(condition=[AND(=($24, _UTF-16LE'NM'), IS NOT NULL($0))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
HiveTableScan(table=[[default, store]], table:alias=[store]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveProject(_o__c0=[*(/($1, $2), 1.2)], ctr_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveProject(_o__c0=[*(/($1, $2), 1.2:DECIMAL(2, 1))], ctr_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query1.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query1.q.out
index 9d0fa3a109..d59f9f52e0 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query1.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query1.q.out
@@ -77,7 +77,7 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100])
HiveProject(s_store_sk=[$0])
HiveFilter(condition=[AND(=($24, _UTF-16LE'NM'), IS NOT NULL($0))])
HiveTableScan(table=[[default, store]], table:alias=[store])
- HiveProject(_o__c0=[*(/($1, $2), 1.2)], ctr_store_sk=[$0])
+ HiveProject(_o__c0=[*(/($1, $2), 1.2:DECIMAL(2, 1))], ctr_store_sk=[$0])
HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)])
HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2])
HiveAggregate(group=[{1, 2}], agg#0=[sum($3)])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query11.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query11.q.out
index de0783be16..535e73491a 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query11.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query11.q.out
@@ -159,7 +159,7 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100])
HiveProject(c_preferred_cust_flag=[$1])
- HiveJoin(condition=[AND(=($0, $5), CASE(CAST(IS NOT NULL($6)):BOOLEAN, CASE($9, >(/($4, $8), /($2, $6)), >(null, /($2, $6))), CASE($9, >(/($4, $8), null), null)))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($0, $5), CASE(IS NOT NULL($6), CASE($9, >(/($4, $8), /($2, $6)), false), false))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject($f0=[$0], $f4=[$3], $f9=[$7])
HiveAggregate(group=[{1, 2, 3, 4, 5, 6, 7}], agg#0=[sum($10)])
HiveJoin(condition=[=($0, $9)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -189,7 +189,7 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100])
HiveFilter(condition=[AND(=($6, 2002), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject($f0=[$0], $f9=[$7])
- HiveFilter(condition=[>($7, 0)])
+ HiveFilter(condition=[>($7, 0:DECIMAL(1, 0))])
HiveAggregate(group=[{1, 2, 3, 4, 5, 6, 7}], agg#0=[sum($10)])
HiveJoin(condition=[=($0, $9)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(c_customer_sk=[$0], c_customer_id=[$1], c_first_name=[$8], c_last_name=[$9], c_preferred_cust_flag=[$10], c_birth_country=[$14], c_login=[$15], c_email_address=[$16])
@@ -203,7 +203,7 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100])
HiveFilter(condition=[AND(=($6, 2001), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(customer_id=[$0], year_total=[$7], CAST=[CAST(IS NOT NULL($7)):BOOLEAN])
- HiveFilter(condition=[>($7, 0)])
+ HiveFilter(condition=[>($7, 0:DECIMAL(1, 0))])
HiveAggregate(group=[{1, 2, 3, 4, 5, 6, 7}], agg#0=[sum($10)])
HiveJoin(condition=[=($0, $9)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(c_customer_sk=[$0], c_customer_id=[$1], c_first_name=[$8], c_last_name=[$9], c_preferred_cust_flag=[$10], c_birth_country=[$14], c_login=[$15], c_email_address=[$16])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query12.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query12.q.out
index cda7aa302e..882bad0118 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query12.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query12.q.out
@@ -73,7 +73,7 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveProject(i_item_desc=[$0], i_category=[$1], i_class=[$2], i_current_price=[$3], itemrevenue=[$4], revenueratio=[$5])
HiveSortLimit(sort0=[$1], sort1=[$2], sort2=[$6], sort3=[$0], sort4=[$5], dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC], dir4=[ASC], fetch=[100])
- HiveProject(i_item_desc=[$1], i_category=[$4], i_class=[$3], i_current_price=[$2], itemrevenue=[$5], revenueratio=[/(*($5, CAST(100):DECIMAL(10, 0)), sum($5) OVER (PARTITION BY $3 ORDER BY $3 NULLS FIRST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING))], (tok_table_or_col i_item_id)=[$0])
+ HiveProject(i_item_desc=[$1], i_category=[$4], i_class=[$3], i_current_price=[$2], itemrevenue=[$5], revenueratio=[/(*($5, 100:DECIMAL(10, 0)), sum($5) OVER (PARTITION BY $3 ORDER BY $3 NULLS FIRST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING))], (tok_table_or_col i_item_id)=[$0])
HiveAggregate(group=[{1, 2, 3, 4, 5}], agg#0=[sum($8)])
HiveJoin(condition=[=($7, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(i_item_sk=[$0], i_item_id=[$1], i_item_desc=[$4], i_current_price=[$5], i_class=[$10], i_category=[$12])
@@ -84,6 +84,6 @@ HiveProject(i_item_desc=[$0], i_category=[$1], i_class=[$2], i_current_price=[$3
HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))])
HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 2001-01-12 00:00:00, 2001-02-11 00:00:00), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 2001-01-12 00:00:00:TIMESTAMP(9), 2001-02-11 00:00:00:TIMESTAMP(9)), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query13.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query13.q.out
index 412cc67334..f9748e1715 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query13.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query13.q.out
@@ -114,21 +114,21 @@ POSTHOOK: Input: default@store_sales
POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveProject($f0=[/(CAST($0):DOUBLE, $1)], $f1=[/($2, $3)], $f2=[/($4, $5)], $f3=[CAST($4):DECIMAL(17, 2)])
- HiveAggregate(group=[{}], agg#0=[sum($5)], agg#1=[count($5)], agg#2=[sum($6)], agg#3=[count($6)], agg#4=[sum($7)], agg#5=[count($7)])
- HiveJoin(condition=[=($29, $4)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveJoin(condition=[AND(=($2, $26), OR(AND($20, $21, $11, $27), AND($22, $23, $12, $28), AND($24, $25, $13, $28)))], joinType=[inner], algorithm=[none], cost=[not available])
- HiveJoin(condition=[=($19, $1)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveJoin(condition=[AND(=($3, $15), OR(AND($16, $8), AND($17, $9), AND($18, $10)))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveAggregate(group=[{}], agg#0=[sum($9)], agg#1=[count($9)], agg#2=[sum($10)], agg#3=[count($10)], agg#4=[sum($11)], agg#5=[count($11)])
+ HiveJoin(condition=[=($29, $8)], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($6, $26), OR(AND($20, $21, $15, $27), AND($22, $23, $16, $28), AND($24, $25, $17, $28)))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[=($19, $5)], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($7, $0), OR(AND($1, $12), AND($2, $13), AND($3, $14)))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveProject(ca_address_sk=[$0], IN=[IN($8, _UTF-16LE'KY', _UTF-16LE'GA', _UTF-16LE'NM')], IN2=[IN($8, _UTF-16LE'MT', _UTF-16LE'OR', _UTF-16LE'IN')], IN3=[IN($8, _UTF-16LE'WI', _UTF-16LE'MO', _UTF-16LE'WV')])
+ HiveFilter(condition=[AND(IN($8, _UTF-16LE'KY', _UTF-16LE'GA', _UTF-16LE'NM', _UTF-16LE'MT', _UTF-16LE'OR', _UTF-16LE'IN', _UTF-16LE'WI', _UTF-16LE'MO', _UTF-16LE'WV'), =($10, _UTF-16LE'United States'), IS NOT NULL($0))])
+ HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveJoin(condition=[=($0, $14)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(ss_sold_date_sk=[$0], ss_cdemo_sk=[$4], ss_hdemo_sk=[$5], ss_addr_sk=[$6], ss_store_sk=[$7], ss_quantity=[$10], ss_ext_sales_price=[$15], ss_ext_wholesale_cost=[$16], BETWEEN=[BETWEEN(false, $22, 100, 200)], BETWEEN9=[BETWEEN(false, $22, 150, 300)], BETWEEN10=[BETWEEN(false, $22, 50, 250)], BETWEEN11=[BETWEEN(false, $13, 100, 150)], BETWEEN12=[BETWEEN(false, $13, 50, 100)], BETWEEN13=[BETWEEN(false, $13, 150, 200)])
- HiveFilter(condition=[AND(OR(<=(100, $13), <=($13, 150), IS NOT NULL($13), <=($13, 200)), OR(<=(100, $22), <=($22, 200), IS NOT NULL($22), <=($22, 300), <=($22, 250)), IS NOT NULL($7), IS NOT NULL($4), IS NOT NULL($5), IS NOT NULL($6), IS NOT NULL($0))])
+ HiveProject(ss_sold_date_sk=[$0], ss_cdemo_sk=[$4], ss_hdemo_sk=[$5], ss_addr_sk=[$6], ss_store_sk=[$7], ss_quantity=[$10], ss_ext_sales_price=[$15], ss_ext_wholesale_cost=[$16], BETWEEN=[BETWEEN(false, $22, 100:DECIMAL(12, 2), 200:DECIMAL(12, 2))], BETWEEN9=[BETWEEN(false, $22, 150:DECIMAL(12, 2), 300:DECIMAL(12, 2))], BETWEEN10=[BETWEEN(false, $22, 50:DECIMAL(12, 2), 250:DECIMAL(12, 2))], BETWEEN11=[BETWEEN(false, $13, 100:DECIMAL(3, 0), 150:DECIMAL(3, 0))], BETWEEN12=[BETWEEN(false, $13, 50:DECIMAL(2, 0), 100:DECIMAL(3, 0))], BETWEEN13=[BETWEEN(false, $13, 150:DECIMAL(3, 0), 200:DECIMAL(3, 0))])
+ HiveFilter(condition=[AND(OR(<=(100:DECIMAL(3, 0), $13), <=($13, 150:DECIMAL(3, 0)), <=(50:DECIMAL(2, 0), $13), <=($13, 100:DECIMAL(3, 0)), <=(150:DECIMAL(3, 0), $13), <=($13, 200:DECIMAL(3, 0))), OR(<=(100:DECIMAL(12, 2), $22), <=($22, 200:DECIMAL(12, 2)), <=(150:DECIMAL(12, 2), $22), <=($22, 300:DECIMAL(12, 2)), <=(50:DECIMAL(12, 2), $22), <=($22, 250:DECIMAL(12, 2))), IS NOT NULL($7), IS NOT NULL($4), IS NOT NULL($5), IS NOT NULL($6), IS NOT NULL($0))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[AND(=($6, 2001), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(ca_address_sk=[$0], IN=[IN($8, _UTF-16LE'KY', _UTF-16LE'GA', _UTF-16LE'NM')], IN2=[IN($8, _UTF-16LE'MT', _UTF-16LE'OR', _UTF-16LE'IN')], IN3=[IN($8, _UTF-16LE'WI', _UTF-16LE'MO', _UTF-16LE'WV')])
- HiveFilter(condition=[AND(IN($8, _UTF-16LE'KY', _UTF-16LE'GA', _UTF-16LE'NM', _UTF-16LE'MT', _UTF-16LE'OR', _UTF-16LE'IN', _UTF-16LE'WI', _UTF-16LE'MO', _UTF-16LE'WV'), =($10, _UTF-16LE'United States'), IS NOT NULL($0))])
- HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveProject(cd_demo_sk=[$0], ==[=($2, _UTF-16LE'M')], =2=[=($3, _UTF-16LE'4 yr Degree')], =3=[=($2, _UTF-16LE'D')], =4=[=($3, _UTF-16LE'Primary')], =5=[=($2, _UTF-16LE'U')], =6=[=($3, _UTF-16LE'Advanced Degree')])
HiveFilter(condition=[AND(IN($2, _UTF-16LE'M', _UTF-16LE'D', _UTF-16LE'U'), IN($3, _UTF-16LE'4 yr Degree', _UTF-16LE'Primary', _UTF-16LE'Advanced Degree'), IS NOT NULL($0))])
HiveTableScan(table=[[default, customer_demographics]], table:alias=[customer_demographics])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query14.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query14.q.out
index c85f42c4fd..91032b7b4f 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query14.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query14.q.out
@@ -225,7 +225,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[
HiveAggregate(group=[{0, 1, 2, 3}], groups=[[{0, 1, 2, 3}, {0, 1, 2}, {0, 1}, {0}, {}]], agg#0=[sum($4)], agg#1=[sum($5)])
HiveProject(channel=[$0], i_brand_id=[$1], i_class_id=[$2], i_category_id=[$3], sales=[$4], number_sales=[$5])
HiveUnion(all=[true])
- HiveProject(channel=[_UTF-16LE'store'], i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], sales=[$3], number_sales=[$4])
+ HiveProject(channel=[_UTF-16LE'store':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], sales=[$3], number_sales=[$4])
HiveJoin(condition=[>($3, $5)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3], $f4=[$4])
HiveAggregate(group=[{0, 1, 2}], agg#0=[sum($3)], agg#1=[count()])
@@ -243,7 +243,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[
HiveFilter(condition=[AND(=($6, 2000), =($8, 11), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(i_item_sk=[$0])
- HiveJoin(condition=[AND(AND(=($1, $4), =($2, $5)), =($3, $6))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($1, $4), =($2, $5), =($3, $6))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11])
HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11), IS NOT NULL($0))])
HiveTableScan(table=[[default, item]], table:alias=[item])
@@ -319,7 +319,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[AND(BETWEEN(false, $6, 1998, 2000), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(channel=[_UTF-16LE'catalog'], i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], sales=[$3], number_sales=[$4])
+ HiveProject(channel=[_UTF-16LE'catalog':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], sales=[$3], number_sales=[$4])
HiveJoin(condition=[>($3, $5)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3], $f4=[$4])
HiveAggregate(group=[{0, 1, 2}], agg#0=[sum($3)], agg#1=[count()])
@@ -337,7 +337,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[
HiveFilter(condition=[AND(=($6, 2000), =($8, 11), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(i_item_sk=[$0])
- HiveJoin(condition=[AND(AND(=($1, $4), =($2, $5)), =($3, $6))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($1, $4), =($2, $5), =($3, $6))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11])
HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11), IS NOT NULL($0))])
HiveTableScan(table=[[default, item]], table:alias=[item])
@@ -413,7 +413,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[AND(BETWEEN(false, $6, 1998, 2000), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(channel=[_UTF-16LE'web'], i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], sales=[$3], number_sales=[$4])
+ HiveProject(channel=[_UTF-16LE'web':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], sales=[$3], number_sales=[$4])
HiveJoin(condition=[>($3, $5)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], $f3=[$3], $f4=[$4])
HiveAggregate(group=[{0, 1, 2}], agg#0=[sum($3)], agg#1=[count()])
@@ -431,7 +431,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[
HiveFilter(condition=[AND(=($6, 2000), =($8, 11), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(i_item_sk=[$0])
- HiveJoin(condition=[AND(AND(=($1, $4), =($2, $5)), =($3, $6))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($1, $4), =($2, $5), =($3, $6))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11])
HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11), IS NOT NULL($0))])
HiveTableScan(table=[[default, item]], table:alias=[item])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query15.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query15.q.out
index c00a7418f3..24cd0ccc25 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query15.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query15.q.out
@@ -60,7 +60,7 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100])
HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveProject(cs_sold_date_sk=[$0], cs_bill_customer_sk=[$1], cs_sales_price=[$2], >=[$3], d_date_sk=[$4])
HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(cs_sold_date_sk=[$0], cs_bill_customer_sk=[$3], cs_sales_price=[$21], >=[>($21, 500)])
+ HiveProject(cs_sold_date_sk=[$0], cs_bill_customer_sk=[$3], cs_sales_price=[$21], >=[>($21, 500:DECIMAL(3, 0))])
HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))])
HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales])
HiveProject(d_date_sk=[$0])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query16.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query16.q.out
index ef8712ce1f..2aa90c4add 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query16.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query16.q.out
@@ -78,7 +78,7 @@ HiveAggregate(group=[{}], agg#0=[count(DISTINCT $4)], agg#1=[sum($5)], agg#2=[su
HiveProject(cs_ship_date_sk=[$2], cs_ship_addr_sk=[$3], cs_call_center_sk=[$4], cs_warehouse_sk=[$5], cs_order_number=[$6], cs_ext_ship_cost=[$7], cs_net_profit=[$8], d_date_sk=[$9], d_date=[$10], ca_address_sk=[$0], ca_state=[$1], cc_call_center_sk=[$11], cc_county=[$12])
HiveJoin(condition=[=($4, $11)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(ca_address_sk=[$0], ca_state=[CAST(_UTF-16LE'NY'):VARCHAR(2147483647) CHARACTER SET "UTF-16LE" COLLATE "ISO-8859-1$en_US$primary"])
+ HiveProject(ca_address_sk=[$0], ca_state=[CAST(_UTF-16LE'NY':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"):VARCHAR(2147483647) CHARACTER SET "UTF-16LE"])
HiveFilter(condition=[AND(=($8, _UTF-16LE'NY'), IS NOT NULL($0))])
HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveJoin(condition=[=($0, $7)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -86,7 +86,7 @@ HiveAggregate(group=[{}], agg#0=[count(DISTINCT $4)], agg#1=[sum($5)], agg#2=[su
HiveFilter(condition=[AND(IS NOT NULL($2), IS NOT NULL($10), IS NOT NULL($11), IS NOT NULL($17))])
HiveTableScan(table=[[default, catalog_sales]], table:alias=[cs1])
HiveProject(d_date_sk=[$0], d_date=[$2])
- HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 2001-04-01 00:00:00, 2001-05-31 00:00:00), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 2001-04-01 00:00:00:TIMESTAMP(9), 2001-05-31 00:00:00:TIMESTAMP(9)), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(cc_call_center_sk=[$0], cc_county=[$25])
HiveFilter(condition=[AND(IN($25, _UTF-16LE'Ziebach County', _UTF-16LE'Levy County', _UTF-16LE'Huron County', _UTF-16LE'Franklin Parish', _UTF-16LE'Daviess County'), IS NOT NULL($0))])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query17.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query17.q.out
index 84832a4b4d..3771c2251c 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query17.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query17.q.out
@@ -102,11 +102,11 @@ POSTHOOK: Input: default@store_sales
POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], dir0=[ASC], dir1=[ASC], dir2=[ASC], fetch=[100])
- HiveProject(i_item_id=[$0], i_item_desc=[$1], s_state=[$2], store_sales_quantitycount=[$3], store_sales_quantityave=[/(CAST($4):DOUBLE, $3)], store_sales_quantitystdev=[POWER(/(-($5, /(*($6, $6), $3)), CASE(=($3, 1), null, -($3, 1))), 0.5)], store_sales_quantitycov=[/(POWER(/(-($5, /(*($6, $6), $3)), CASE(=($3, 1), null, -($3, 1))), 0.5), /(CAST($4):DOUBLE, $3))], as_store_returns_quantitycount=[$7], as_store_returns_quantityave=[/(CAST($8):DOUBLE, $7)], as_store_returns_quantitystdev=[POWER(/(-($9, /(*($10, $10), $7)), CASE(=($7, 1), null, -($7, 1))), 0.5)], store_returns_quantitycov=[/(POWER(/(-($9, /(*($10, $10), $7)), CASE(=($7, 1), null, -($7, 1))), 0.5), /(CAST($8):DOUBLE, $7))], catalog_sales_quantitycount=[$11], catalog_sales_quantityave=[/(CAST($12):DOUBLE, $11)], catalog_sales_quantitystdev=[/(POWER(/(-($13, /(*($14, $14), $11)), CASE(=($11, 1), null, -($11, 1))), 0.5), /(CAST($12):DOUBLE, $11))], catalog_sales_quantitycov=[/(POWER(/(-($13, /(*($14, $14), $11)), CASE(=($11, 1), null, -($11, 1))), 0.5), /(CAST($12):DOUBLE, $11))])
+ HiveProject(i_item_id=[$0], i_item_desc=[$1], s_state=[$2], store_sales_quantitycount=[$3], store_sales_quantityave=[/(CAST($4):DOUBLE, $3)], store_sales_quantitystdev=[POWER(/(-($5, /(*($6, $6), $3)), CASE(=($3, 1), null:BIGINT, -($3, 1))), 0.5:DECIMAL(2, 1))], store_sales_quantitycov=[/(POWER(/(-($5, /(*($6, $6), $3)), CASE(=($3, 1), null:BIGINT, -($3, 1))), 0.5:DECIMAL(2, 1)), /(CAST($4):DOUBLE, $3))], as_store_returns_quantitycount=[$7], as_store_returns_quantityave=[/(CAST($8):DOUBLE, $7)], as_store_returns_quantitystdev=[POWER(/(-($9, /(*($10, $10), $7)), CASE(=($7, 1), null:BIGINT, -($7, 1))), 0.5:DECIMAL(2, 1))], store_returns_quantitycov=[/(POWER(/(-($9, /(*($10, $10), $7)), CASE(=($7, 1), null:BIGINT, -($7, 1))), 0.5:DECIMAL(2, 1)), /(CAST($8):DOUBLE, $7))], catalog_sales_quantitycount=[$11], catalog_sales_quantityave=[/(CAST($12):DOUBLE, $11)], catalog_sales_quantitystdev=[/(POWER(/(-($13, /(*($14, $14), $11)), CASE(=($11, 1), null:BIGINT, -($11, 1))), 0.5:DECIMAL(2, 1)), /(CAST($12):DOUBLE, $11))], catalog_sales_quantitycov=[/(POWER(/(-($13, /(*($14, $14), $11)), CASE(=($11, 1), null:BIGINT, -($11, 1))), 0.5:DECIMAL(2, 1)), /(CAST($12):DOUBLE, $11))])
HiveAggregate(group=[{0, 1, 2}], agg#0=[count($3)], agg#1=[sum($3)], agg#2=[sum($7)], agg#3=[sum($6)], agg#4=[count($4)], agg#5=[sum($4)], agg#6=[sum($9)], agg#7=[sum($8)], agg#8=[count($5)], agg#9=[sum($5)], agg#10=[sum($11)], agg#11=[sum($10)])
HiveProject($f0=[$8], $f1=[$9], $f2=[$22], $f3=[$5], $f4=[$19], $f5=[$13], $f30=[CAST($5):DOUBLE], $f7=[*(CAST($5):DOUBLE, CAST($5):DOUBLE)], $f40=[CAST($19):DOUBLE], $f9=[*(CAST($19):DOUBLE, CAST($19):DOUBLE)], $f50=[CAST($13):DOUBLE], $f11=[*(CAST($13):DOUBLE, CAST($13):DOUBLE)])
HiveJoin(condition=[=($21, $3)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveJoin(condition=[AND(AND(=($2, $17), =($1, $16)), =($4, $18))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($2, $17), =($1, $16), =($4, $18))], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($7, $1)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($6, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_customer_sk=[$3], ss_store_sk=[$7], ss_ticket_number=[$9], ss_quantity=[$10])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query2.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query2.q.out
index 7b14ad3358..f867f46479 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query2.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query2.q.out
@@ -131,7 +131,7 @@ HiveSortLimit(sort0=[$0], dir0=[ASC])
HiveJoin(condition=[=($8, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3], $f4=[$4], $f5=[$5], $f6=[$6], $f7=[$7])
HiveAggregate(group=[{0}], agg#0=[sum($1)], agg#1=[sum($2)], agg#2=[sum($3)], agg#3=[sum($4)], agg#4=[sum($5)], agg#5=[sum($6)], agg#6=[sum($7)])
- HiveProject($f0=[$3], $f1=[CASE($4, $1, null)], $f2=[CASE($5, $1, null)], $f3=[CASE($6, $1, null)], $f4=[CASE($7, $1, null)], $f5=[CASE($8, $1, null)], $f6=[CASE($9, $1, null)], $f7=[CASE($10, $1, null)])
+ HiveProject($f0=[$3], $f1=[CASE($4, $1, null:NULL)], $f2=[CASE($5, $1, null:NULL)], $f3=[CASE($6, $1, null:NULL)], $f4=[CASE($7, $1, null:NULL)], $f5=[CASE($8, $1, null:NULL)], $f6=[CASE($9, $1, null:NULL)], $f7=[CASE($10, $1, null:NULL)])
HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ws_sold_date_sk=[$0], ws_ext_sales_price=[$1])
HiveUnion(all=[true])
@@ -151,7 +151,7 @@ HiveSortLimit(sort0=[$0], dir0=[ASC])
HiveJoin(condition=[=($8, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3], $f4=[$4], $f5=[$5], $f6=[$6], $f7=[$7])
HiveAggregate(group=[{0}], agg#0=[sum($1)], agg#1=[sum($2)], agg#2=[sum($3)], agg#3=[sum($4)], agg#4=[sum($5)], agg#5=[sum($6)], agg#6=[sum($7)])
- HiveProject($f0=[$3], $f1=[CASE($4, $1, null)], $f2=[CASE($5, $1, null)], $f3=[CASE($6, $1, null)], $f4=[CASE($7, $1, null)], $f5=[CASE($8, $1, null)], $f6=[CASE($9, $1, null)], $f7=[CASE($10, $1, null)])
+ HiveProject($f0=[$3], $f1=[CASE($4, $1, null:NULL)], $f2=[CASE($5, $1, null:NULL)], $f3=[CASE($6, $1, null:NULL)], $f4=[CASE($7, $1, null:NULL)], $f5=[CASE($8, $1, null:NULL)], $f6=[CASE($9, $1, null:NULL)], $f7=[CASE($10, $1, null:NULL)])
HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ws_sold_date_sk=[$0], ws_ext_sales_price=[$1])
HiveUnion(all=[true])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query20.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query20.q.out
index ba354b6738..fcc5e795b7 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query20.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query20.q.out
@@ -65,7 +65,7 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveProject(i_item_desc=[$0], i_category=[$1], i_class=[$2], i_current_price=[$3], itemrevenue=[$4], revenueratio=[$5])
HiveSortLimit(sort0=[$1], sort1=[$2], sort2=[$6], sort3=[$0], sort4=[$5], dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC], dir4=[ASC], fetch=[100])
- HiveProject(i_item_desc=[$1], i_category=[$4], i_class=[$3], i_current_price=[$2], itemrevenue=[$5], revenueratio=[/(*($5, CAST(100):DECIMAL(10, 0)), sum($5) OVER (PARTITION BY $3 ORDER BY $3 NULLS FIRST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING))], (tok_table_or_col i_item_id)=[$0])
+ HiveProject(i_item_desc=[$1], i_category=[$4], i_class=[$3], i_current_price=[$2], itemrevenue=[$5], revenueratio=[/(*($5, 100:DECIMAL(10, 0)), sum($5) OVER (PARTITION BY $3 ORDER BY $3 NULLS FIRST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING))], (tok_table_or_col i_item_id)=[$0])
HiveAggregate(group=[{1, 2, 3, 4, 5}], agg#0=[sum($8)])
HiveJoin(condition=[=($7, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(i_item_sk=[$0], i_item_id=[$1], i_item_desc=[$4], i_current_price=[$5], i_class=[$10], i_category=[$12])
@@ -76,6 +76,6 @@ HiveProject(i_item_desc=[$0], i_category=[$1], i_class=[$2], i_current_price=[$3
HiveFilter(condition=[AND(IS NOT NULL($15), IS NOT NULL($0))])
HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 2001-01-12 00:00:00, 2001-02-11 00:00:00), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 2001-01-12 00:00:00:TIMESTAMP(9), 2001-02-11 00:00:00:TIMESTAMP(9)), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query21.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query21.q.out
index 0365697005..3822a36984 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query21.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query21.q.out
@@ -69,7 +69,7 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3])
- HiveFilter(condition=[AND(CASE(>($2, 0), <=(6.66667E-1, /(CAST($3):DOUBLE, CAST($2):DOUBLE)), null), CASE(>($2, 0), <=(/(CAST($3):DOUBLE, CAST($2):DOUBLE), 1.5E0), null))])
+ HiveFilter(condition=[AND(CASE(>($2, 0), <=(6.66667E-1, /(CAST($3):DOUBLE, CAST($2):DOUBLE)), false), CASE(>($2, 0), <=(/(CAST($3):DOUBLE, CAST($2):DOUBLE), 1.5E0), false))])
HiveAggregate(group=[{0, 1}], agg#0=[sum($2)], agg#1=[sum($3)])
HiveProject($f0=[$1], $f1=[$10], $f2=[CASE($7, $5, 0)], $f3=[CASE($8, $5, 0)])
HiveJoin(condition=[=($4, $0)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -82,9 +82,9 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveFilter(condition=[AND(IS NOT NULL($2), IS NOT NULL($1), IS NOT NULL($0))])
HiveTableScan(table=[[default, inventory]], table:alias=[inventory])
HiveProject(d_date_sk=[$0], <=[<(CAST($2):DATE, 1998-04-08)], >==[>=(CAST($2):DATE, 1998-04-08)])
- HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-09 00:00:00, 1998-05-08 00:00:00), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-09 00:00:00:TIMESTAMP(9), 1998-05-08 00:00:00:TIMESTAMP(9)), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(i_item_sk=[$0], i_item_id=[$1])
- HiveFilter(condition=[AND(BETWEEN(false, $5, 0.99, 1.49), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(BETWEEN(false, $5, 0.99:DECIMAL(3, 2), 1.49:DECIMAL(3, 2)), IS NOT NULL($0))])
HiveTableScan(table=[[default, item]], table:alias=[item])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query23.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query23.q.out
index 377b587654..3ee913bbab 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query23.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query23.q.out
@@ -125,7 +125,7 @@ HiveAggregate(group=[{}], agg#0=[sum($0)])
HiveProject(sales=[*(CAST($5):DECIMAL(10, 0), $6)])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject($f0=[$0])
- HiveJoin(condition=[>($1, *(0.95, $3))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[>($1, *(0.95:DECIMAL(3, 2), $3))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(c_customer_sk=[$0], $f1=[$1])
HiveAggregate(group=[{2}], agg#0=[sum($1)])
HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -198,7 +198,7 @@ HiveAggregate(group=[{}], agg#0=[sum($0)])
HiveProject(sales=[*(CAST($5):DECIMAL(10, 0), $6)])
HiveJoin(condition=[=($4, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject($f0=[$0])
- HiveJoin(condition=[>($1, *(0.95, $3))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[>($1, *(0.95:DECIMAL(3, 2), $3))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(c_customer_sk=[$0], $f1=[$1])
HiveAggregate(group=[{2}], agg#0=[sum($1)])
HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query24.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query24.q.out
index 3add88ad25..511f8fbc76 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query24.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query24.q.out
@@ -144,7 +144,7 @@ HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3])
HiveProject(s_store_sk=[$0], s_store_name=[$5], s_state=[$24], s_zip=[$25])
HiveFilter(condition=[AND(=($10, 7), IS NOT NULL($0), IS NOT NULL($25))])
HiveTableScan(table=[[default, store]], table:alias=[store])
- HiveProject(_o__c0=[*(0.05, /($0, $1))])
+ HiveProject(_o__c0=[*(0.05:DECIMAL(3, 2), /($0, $1))])
HiveAggregate(group=[{}], agg#0=[sum($10)], agg#1=[count($10)])
HiveProject(c_first_name=[$0], c_last_name=[$1], ca_state=[$2], s_store_name=[$3], s_state=[$4], i_current_price=[$5], i_size=[$6], i_color=[$7], i_units=[$8], i_manager_id=[$9], $f10=[$10])
HiveAggregate(group=[{7, 8, 11, 15, 16, 19, 20, 21, 22, 23}], agg#0=[sum($4)])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query25.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query25.q.out
index db13a5d30a..a2eda86bdc 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query25.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query25.q.out
@@ -115,7 +115,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[
HiveProject(i_item_sk=[$0], i_item_id=[$1], i_item_desc=[$4])
HiveFilter(condition=[IS NOT NULL($0)])
HiveTableScan(table=[[default, item]], table:alias=[item])
- HiveJoin(condition=[AND(AND(=($2, $14), =($1, $13)), =($4, $15))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($2, $14), =($1, $13), =($4, $15))], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($6, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_customer_sk=[$3], ss_store_sk=[$7], ss_ticket_number=[$9], ss_net_profit=[$22])
HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($2), IS NOT NULL($9), IS NOT NULL($0), IS NOT NULL($7))])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query27.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query27.q.out
index e072692b33..c622176b22 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query27.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query27.q.out
@@ -56,7 +56,7 @@ POSTHOOK: Input: default@store_sales
POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
- HiveProject(i_item_id=[$0], s_state=[$1], g_state=[grouping($10, 0)], agg1=[/(CAST($2):DOUBLE, $3)], agg2=[/($4, $5)], agg3=[/($6, $7)], agg4=[/($8, $9)])
+ HiveProject(i_item_id=[$0], s_state=[$1], g_state=[grouping($10, 0:BIGINT)], agg1=[/(CAST($2):DOUBLE, $3)], agg2=[/($4, $5)], agg3=[/($6, $7)], agg4=[/($8, $9)])
HiveAggregate(group=[{0, 1}], groups=[[{0, 1}, {0}, {}]], agg#0=[sum($2)], agg#1=[count($2)], agg#2=[sum($3)], agg#3=[count($3)], agg#4=[sum($4)], agg#5=[count($4)], agg#6=[sum($5)], agg#7=[count($5)], GROUPING__ID=[GROUPING__ID()])
HiveProject($f0=[$1], $f1=[$13], $f2=[$6], $f3=[$7], $f4=[$9], $f5=[$8])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query28.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query28.q.out
index e0e61534c5..5fe992aeab 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query28.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query28.q.out
@@ -120,26 +120,26 @@ HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f00=[$15], $f10=[$16], $f20=[$17], $f
HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject($f0=[/($0, $1)], $f1=[$1], $f2=[$2])
HiveAggregate(group=[{}], agg#0=[sum($12)], agg#1=[count($12)], agg#2=[count(DISTINCT $12)])
- HiveFilter(condition=[AND(BETWEEN(false, $10, 0, 5), OR(BETWEEN(false, $12, 11, 21), BETWEEN(false, $19, 460, 1460), BETWEEN(false, $11, 14, 34)))])
+ HiveFilter(condition=[AND(BETWEEN(false, $10, 0, 5), OR(BETWEEN(false, $12, 11:DECIMAL(12, 2), 21:DECIMAL(2, 0)), BETWEEN(false, $19, 460:DECIMAL(12, 2), 1460:DECIMAL(4, 0)), BETWEEN(false, $11, 14:DECIMAL(12, 2), 34:DECIMAL(2, 0))))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject($f0=[/($0, $1)], $f1=[$1], $f2=[$2])
HiveAggregate(group=[{}], agg#0=[sum($12)], agg#1=[count($12)], agg#2=[count(DISTINCT $12)])
- HiveFilter(condition=[AND(BETWEEN(false, $10, 26, 30), OR(BETWEEN(false, $12, 28, 38), BETWEEN(false, $19, 2513, 3513), BETWEEN(false, $11, 42, 62)))])
+ HiveFilter(condition=[AND(BETWEEN(false, $10, 26, 30), OR(BETWEEN(false, $12, 28:DECIMAL(12, 2), 38:DECIMAL(2, 0)), BETWEEN(false, $19, 2513:DECIMAL(12, 2), 3513:DECIMAL(4, 0)), BETWEEN(false, $11, 42:DECIMAL(12, 2), 62:DECIMAL(2, 0))))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject($f0=[/($0, $1)], $f1=[$1], $f2=[$2])
HiveAggregate(group=[{}], agg#0=[sum($12)], agg#1=[count($12)], agg#2=[count(DISTINCT $12)])
- HiveFilter(condition=[AND(BETWEEN(false, $10, 21, 25), OR(BETWEEN(false, $12, 135, 145), BETWEEN(false, $19, 14180, 15180), BETWEEN(false, $11, 38, 58)))])
+ HiveFilter(condition=[AND(BETWEEN(false, $10, 21, 25), OR(BETWEEN(false, $12, 135:DECIMAL(12, 2), 145:DECIMAL(3, 0)), BETWEEN(false, $19, 14180:DECIMAL(12, 2), 15180:DECIMAL(5, 0)), BETWEEN(false, $11, 38:DECIMAL(12, 2), 58:DECIMAL(2, 0))))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject($f0=[/($0, $1)], $f1=[$1], $f2=[$2])
HiveAggregate(group=[{}], agg#0=[sum($12)], agg#1=[count($12)], agg#2=[count(DISTINCT $12)])
- HiveFilter(condition=[AND(BETWEEN(false, $10, 16, 20), OR(BETWEEN(false, $12, 142, 152), BETWEEN(false, $19, 3054, 4054), BETWEEN(false, $11, 80, 100)))])
+ HiveFilter(condition=[AND(BETWEEN(false, $10, 16, 20), OR(BETWEEN(false, $12, 142:DECIMAL(12, 2), 152:DECIMAL(3, 0)), BETWEEN(false, $19, 3054:DECIMAL(12, 2), 4054:DECIMAL(4, 0)), BETWEEN(false, $11, 80:DECIMAL(12, 2), 100:DECIMAL(3, 0))))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject($f0=[/($0, $1)], $f1=[$1], $f2=[$2])
HiveAggregate(group=[{}], agg#0=[sum($12)], agg#1=[count($12)], agg#2=[count(DISTINCT $12)])
- HiveFilter(condition=[AND(BETWEEN(false, $10, 11, 15), OR(BETWEEN(false, $12, 66, 76), BETWEEN(false, $19, 920, 1920), BETWEEN(false, $11, 4, 24)))])
+ HiveFilter(condition=[AND(BETWEEN(false, $10, 11, 15), OR(BETWEEN(false, $12, 66:DECIMAL(12, 2), 76:DECIMAL(2, 0)), BETWEEN(false, $19, 920:DECIMAL(12, 2), 1920:DECIMAL(4, 0)), BETWEEN(false, $11, 4:DECIMAL(12, 2), 24:DECIMAL(2, 0))))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject($f0=[/($0, $1)], $f1=[$1], $f2=[$2])
HiveAggregate(group=[{}], agg#0=[sum($12)], agg#1=[count($12)], agg#2=[count(DISTINCT $12)])
- HiveFilter(condition=[AND(BETWEEN(false, $10, 6, 10), OR(BETWEEN(false, $12, 91, 101), BETWEEN(false, $19, 1430, 2430), BETWEEN(false, $11, 32, 52)))])
+ HiveFilter(condition=[AND(BETWEEN(false, $10, 6, 10), OR(BETWEEN(false, $12, 91:DECIMAL(12, 2), 101:DECIMAL(3, 0)), BETWEEN(false, $19, 1430:DECIMAL(12, 2), 2430:DECIMAL(4, 0)), BETWEEN(false, $11, 32:DECIMAL(12, 2), 52:DECIMAL(2, 0))))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query29.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query29.q.out
index 82a914b616..d0bca31963 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query29.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query29.q.out
@@ -122,7 +122,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[
HiveProject(i_item_sk=[$0], i_item_id=[$1], i_item_desc=[$4])
HiveFilter(condition=[IS NOT NULL($0)])
HiveTableScan(table=[[default, item]], table:alias=[item])
- HiveJoin(condition=[AND(AND(=($2, $9), =($1, $8)), =($4, $10))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($2, $9), =($1, $8), =($4, $10))], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($6, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_customer_sk=[$3], ss_store_sk=[$7], ss_ticket_number=[$9], ss_quantity=[$10])
HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($2), IS NOT NULL($9), IS NOT NULL($0), IS NOT NULL($7))])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query30.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query30.q.out
index 02e26a7c10..b4f6701282 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query30.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query30.q.out
@@ -94,7 +94,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$4], sort5=
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[AND(=($6, 2002), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(_o__c0=[*(/($1, $2), 1.2)], ctr_state=[$0])
+ HiveProject(_o__c0=[*(/($1, $2), 1.2:DECIMAL(2, 1))], ctr_state=[$0])
HiveAggregate(group=[{0}], agg#0=[sum($2)], agg#1=[count($2)])
HiveProject(ca_state=[$0], wr_returning_customer_sk=[$1], $f2=[$2])
HiveAggregate(group=[{1, 3}], agg#0=[sum($5)])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query31.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query31.q.out
index 8907b8d6cd..310c004248 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query31.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query31.q.out
@@ -112,10 +112,10 @@ POSTHOOK: Input: default@web_sales
POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveProject(ca_county=[$8], d_year=[CAST(2000):INTEGER], web_q1_q2_increase=[/($6, $1)], store_q1_q2_increase=[/($9, $11)], web_q2_q3_increase=[/($4, $6)], store_q2_q3_increase=[/($13, $9)])
- HiveJoin(condition=[AND(AND(=($8, $0), CASE(>($11, 0), CASE($2, >(/($6, $1), /($9, $11)), >(null, /($9, $11))), CASE($2, >(/($6, $1), null), null))), CASE(>($9, 0), CASE($7, >(/($4, $6), /($13, $9)), >(null, /($13, $9))), CASE($7, >(/($4, $6), null), null)))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($8, $0), CASE(>($11, 0:DECIMAL(1, 0)), CASE($2, >(/($6, $1), /($9, $11)), false), false), CASE(>($9, 0:DECIMAL(1, 0)), CASE($7, >(/($4, $6), /($13, $9)), false), false))], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($0, $5)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject($f0=[$0], $f3=[$1], >=[>($1, 0)])
+ HiveProject($f0=[$0], $f3=[$1], >=[>($1, 0:DECIMAL(1, 0))])
HiveAggregate(group=[{1}], agg#0=[sum($4)])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ca_address_sk=[$0], ca_county=[$7])
@@ -141,7 +141,7 @@ HiveProject(ca_county=[$8], d_year=[CAST(2000):INTEGER], web_q1_q2_increase=[/($
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[AND(=($10, 3), =($6, 2000), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject($f0=[$0], $f3=[$1], >=[>($1, 0)])
+ HiveProject($f0=[$0], $f3=[$1], >=[>($1, 0:DECIMAL(1, 0))])
HiveAggregate(group=[{1}], agg#0=[sum($4)])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ca_address_sk=[$0], ca_county=[$7])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query32.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query32.q.out
index fc353fb02b..621c32e461 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query32.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query32.q.out
@@ -68,18 +68,18 @@ HiveAggregate(group=[{}], agg#0=[sum($2)])
HiveFilter(condition=[AND(IS NOT NULL($15), IS NOT NULL($0))])
HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00, 1998-06-16 00:00:00), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00:TIMESTAMP(9), 1998-06-16 00:00:00:TIMESTAMP(9)), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(cs_item_sk=[$0], CAST=[$1], i_item_sk=[$2])
HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(cs_item_sk=[$0], CAST=[CAST(*(1.3, /($1, $2))):DECIMAL(14, 7)])
+ HiveProject(cs_item_sk=[$0], CAST=[CAST(*(1.3:DECIMAL(2, 1), /($1, $2))):DECIMAL(14, 7)])
HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15], cs_ext_discount_amt=[$22])
HiveFilter(condition=[AND(IS NOT NULL($15), IS NOT NULL($0))])
HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00, 1998-06-16 00:00:00), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00:TIMESTAMP(9), 1998-06-16 00:00:00:TIMESTAMP(9)), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(i_item_sk=[$0])
HiveFilter(condition=[AND(=($13, 269), IS NOT NULL($0))])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query33.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query33.q.out
index 8534997488..a47db4e383 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query33.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query33.q.out
@@ -180,7 +180,7 @@ HiveSortLimit(sort0=[$1], dir0=[ASC], fetch=[100])
HiveProject(ca_address_sk=[$0], ss_sold_date_sk=[$1], ss_item_sk=[$2], ss_addr_sk=[$3], ss_ext_sales_price=[$4], d_date_sk=[$5])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ca_address_sk=[$0])
- HiveFilter(condition=[AND(=($11, -6), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(=($11, -6:DECIMAL(1, 0)), IS NOT NULL($0))])
HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_addr_sk=[$6], ss_ext_sales_price=[$15])
@@ -203,7 +203,7 @@ HiveSortLimit(sort0=[$1], dir0=[ASC], fetch=[100])
HiveProject(ca_address_sk=[$0], cs_sold_date_sk=[$1], cs_bill_addr_sk=[$2], cs_item_sk=[$3], cs_ext_sales_price=[$4], d_date_sk=[$5])
HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ca_address_sk=[$0])
- HiveFilter(condition=[AND(=($11, -6), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(=($11, -6:DECIMAL(1, 0)), IS NOT NULL($0))])
HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(cs_sold_date_sk=[$0], cs_bill_addr_sk=[$6], cs_item_sk=[$15], cs_ext_sales_price=[$23])
@@ -226,7 +226,7 @@ HiveSortLimit(sort0=[$1], dir0=[ASC], fetch=[100])
HiveProject(ca_address_sk=[$0], ws_sold_date_sk=[$1], ws_item_sk=[$2], ws_bill_addr_sk=[$3], ws_ext_sales_price=[$4], d_date_sk=[$5])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ca_address_sk=[$0])
- HiveFilter(condition=[AND(=($11, -6), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(=($11, -6:DECIMAL(1, 0)), IS NOT NULL($0))])
HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_bill_addr_sk=[$7], ws_ext_sales_price=[$23])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query34.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query34.q.out
index b2a6320acb..b88ee6ee80 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query34.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query34.q.out
@@ -78,7 +78,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[
HiveFilter(condition=[IS NOT NULL($0)])
HiveTableScan(table=[[default, customer]], table:alias=[customer])
HiveProject(ss_ticket_number=[$0], ss_customer_sk=[$1], $f2=[$2])
- HiveFilter(condition=[BETWEEN(false, $2, 15, 20)])
+ HiveFilter(condition=[BETWEEN(false, $2, 15:BIGINT, 20:BIGINT)])
HiveProject(ss_ticket_number=[$1], ss_customer_sk=[$0], $f2=[$2])
HiveAggregate(group=[{1, 4}], agg#0=[count()])
HiveJoin(condition=[=($3, $7)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -91,7 +91,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[
HiveFilter(condition=[AND(IN($6, 2000, 2001, 2002), OR(<=(1, $9), <=($9, 3), <=(25, $9), <=($9, 28)), OR(BETWEEN(false, $9, 1, 3), BETWEEN(false, $9, 25, 28)), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(hd_demo_sk=[$0])
- HiveFilter(condition=[AND(IN($2, _UTF-16LE'>10000', _UTF-16LE'unknown'), >($4, 0), CASE(>($4, 0), >(/(CAST($3):DOUBLE, CAST($4):DOUBLE), 1.2), null), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(IN($2, _UTF-16LE'>10000', _UTF-16LE'unknown'), >($4, 0), CASE(>($4, 0), >(/(CAST($3):DOUBLE, CAST($4):DOUBLE), 1.2), false), IS NOT NULL($0))])
HiveTableScan(table=[[default, household_demographics]], table:alias=[household_demographics])
HiveProject(s_store_sk=[$0])
HiveFilter(condition=[AND(IN($23, _UTF-16LE'Mobile County', _UTF-16LE'Maverick County', _UTF-16LE'Huron County', _UTF-16LE'Kittitas County', _UTF-16LE'Fairfield County', _UTF-16LE'Jackson County', _UTF-16LE'Barrow County', _UTF-16LE'Pennington County'), IS NOT NULL($0))])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query36.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query36.q.out
index 9a74bed470..831a87d91b 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query36.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query36.q.out
@@ -69,7 +69,7 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveProject(gross_margin=[$0], i_category=[$1], i_class=[$2], lochierarchy=[$3], rank_within_parent=[$4])
HiveSortLimit(sort0=[$3], sort1=[$5], sort2=[$4], dir0=[DESC-nulls-last], dir1=[ASC], dir2=[ASC], fetch=[100])
- HiveProject(gross_margin=[/($2, $3)], i_category=[$0], i_class=[$1], lochierarchy=[+(grouping($4, 1), grouping($4, 0))], rank_within_parent=[rank() OVER (PARTITION BY +(grouping($4, 1), grouping($4, 0)), CASE(=(grouping($4, 0), 0), $0, null) ORDER BY /($2, $3) NULLS FIRST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)], (tok_function when (= (tok_table_or_col lochierarchy) 0) (tok_table_or_col i_category))=[CASE(=(+(grouping($4, 1), grouping($4, 0)), 0), $0, null)])
+ HiveProject(gross_margin=[/($2, $3)], i_category=[$0], i_class=[$1], lochierarchy=[+(grouping($4, 1:BIGINT), grouping($4, 0:BIGINT))], rank_within_parent=[rank() OVER (PARTITION BY +(grouping($4, 1:BIGINT), grouping($4, 0:BIGINT)), CASE(=(grouping($4, 0:BIGINT), CAST(0):BIGINT), $0, null:VARCHAR(2147483647) CHARACTER SET "UTF-16LE") ORDER BY /($2, $3) NULLS FIRST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)], (tok_function when (= (tok_table_or_col lochierarchy) 0) (tok_table_or_col i_category))=[CASE(=(+(grouping($4, 1:BIGINT), grouping($4, 0:BIGINT)), 0), $0, null:VARCHAR(2147483647) CHARACTER SET "UTF-16LE")])
HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3], GROUPING__ID=[$4])
HiveAggregate(group=[{0, 1}], groups=[[{0, 1}, {0}, {}]], agg#0=[sum($2)], agg#1=[sum($3)], GROUPING__ID=[GROUPING__ID()])
HiveProject($f0=[$9], $f1=[$8], $f2=[$4], $f3=[$3])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query37.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query37.q.out
index 07b9901520..35ba509597 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query37.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query37.q.out
@@ -50,7 +50,7 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100])
HiveFilter(condition=[IS NOT NULL($15)])
HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales])
HiveProject(i_item_sk=[$0], i_item_id=[$1], i_item_desc=[$4], i_current_price=[$5])
- HiveFilter(condition=[AND(IN($13, 678, 964, 918, 849), BETWEEN(false, $5, 22, 52), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(IN($13, 678, 964, 918, 849), BETWEEN(false, $5, 22:DECIMAL(12, 2), 52:DECIMAL(2, 0)), IS NOT NULL($0))])
HiveTableScan(table=[[default, item]], table:alias=[item])
HiveProject(inv_date_sk=[$0], inv_item_sk=[$1], d_date_sk=[$2])
HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -58,6 +58,6 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100])
HiveFilter(condition=[AND(BETWEEN(false, $3, 100, 500), IS NOT NULL($1), IS NOT NULL($0))])
HiveTableScan(table=[[default, inventory]], table:alias=[inventory])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 2001-06-02 00:00:00, 2001-08-01 00:00:00), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 2001-06-02 00:00:00:TIMESTAMP(9), 2001-08-01 00:00:00:TIMESTAMP(9)), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query39.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query39.q.out
index 51bb90101d..2ffb2a6b5b 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query39.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query39.q.out
@@ -65,8 +65,8 @@ HiveProject(w_warehouse_sk=[$0], i_item_sk=[$1], d_moy=[CAST(4):INTEGER], mean=[
HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$6], sort5=[$7], dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC], dir4=[ASC], dir5=[ASC])
HiveProject(w_warehouse_sk=[$0], i_item_sk=[$1], mean=[$2], cov=[$3], w_warehouse_sk0=[$4], i_item_sk0=[$5], mean0=[$6], cov0=[$7])
HiveJoin(condition=[AND(=($1, $5), =($0, $4))], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(w_warehouse_sk=[$1], i_item_sk=[$2], mean=[/(CAST($6):DOUBLE, $5)], cov=[CASE(=(/(CAST($6):DOUBLE, $5), 0), null, /(POWER(/(-($3, /(*($4, $4), $5)), CASE(=($5, 1), null, -($5, 1))), 0.5), /(CAST($6):DOUBLE, $5)))])
- HiveFilter(condition=[CASE(=(/(CAST($6):DOUBLE, $5), 0), false, >(/(POWER(/(-($3, /(*($4, $4), $5)), CASE(=($5, 1), null, -($5, 1))), 0.5), /(CAST($6):DOUBLE, $5)), 1))])
+ HiveProject(w_warehouse_sk=[$1], i_item_sk=[$2], mean=[/(CAST($6):DOUBLE, $5)], cov=[CASE(=(/(CAST($6):DOUBLE, $5), 0), null:NULL, /(POWER(/(-($3, /(*($4, $4), $5)), CASE(=($5, 1), null:BIGINT, -($5, 1))), 0.5:DECIMAL(2, 1)), /(CAST($6):DOUBLE, $5)))])
+ HiveFilter(condition=[CASE(=(/(CAST($6):DOUBLE, $5), 0), false, >(/(POWER(/(-($3, /(*($4, $4), $5)), CASE(=($5, 1), null:BIGINT, -($5, 1))), 0.5:DECIMAL(2, 1)), /(CAST($6):DOUBLE, $5)), 1))])
HiveAggregate(group=[{0, 1, 2}], agg#0=[sum($5)], agg#1=[sum($4)], agg#2=[count($3)], agg#3=[sum($3)])
HiveProject($f0=[$7], $f1=[$6], $f2=[$0], $f4=[$4], $f40=[CAST($4):DOUBLE], $f6=[*(CAST($4):DOUBLE, CAST($4):DOUBLE)])
HiveJoin(condition=[=($3, $6)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -84,8 +84,8 @@ HiveProject(w_warehouse_sk=[$0], i_item_sk=[$1], d_moy=[CAST(4):INTEGER], mean=[
HiveProject(w_warehouse_sk=[$0], w_warehouse_name=[$2])
HiveFilter(condition=[IS NOT NULL($0)])
HiveTableScan(table=[[default, warehouse]], table:alias=[warehouse])
- HiveProject(w_warehouse_sk=[$1], i_item_sk=[$2], mean=[/(CAST($6):DOUBLE, $5)], cov=[CASE(=(/(CAST($6):DOUBLE, $5), 0), null, /(POWER(/(-($3, /(*($4, $4), $5)), CASE(=($5, 1), null, -($5, 1))), 0.5), /(CAST($6):DOUBLE, $5)))])
- HiveFilter(condition=[CASE(=(/(CAST($6):DOUBLE, $5), 0), false, >(/(POWER(/(-($3, /(*($4, $4), $5)), CASE(=($5, 1), null, -($5, 1))), 0.5), /(CAST($6):DOUBLE, $5)), 1))])
+ HiveProject(w_warehouse_sk=[$1], i_item_sk=[$2], mean=[/(CAST($6):DOUBLE, $5)], cov=[CASE(=(/(CAST($6):DOUBLE, $5), 0), null:NULL, /(POWER(/(-($3, /(*($4, $4), $5)), CASE(=($5, 1), null:BIGINT, -($5, 1))), 0.5:DECIMAL(2, 1)), /(CAST($6):DOUBLE, $5)))])
+ HiveFilter(condition=[CASE(=(/(CAST($6):DOUBLE, $5), 0), false, >(/(POWER(/(-($3, /(*($4, $4), $5)), CASE(=($5, 1), null:BIGINT, -($5, 1))), 0.5:DECIMAL(2, 1)), /(CAST($6):DOUBLE, $5)), 1))])
HiveAggregate(group=[{0, 1, 2}], agg#0=[sum($5)], agg#1=[sum($4)], agg#2=[count($3)], agg#3=[sum($3)])
HiveProject($f0=[$7], $f1=[$6], $f2=[$0], $f4=[$4], $f40=[CAST($4):DOUBLE], $f6=[*(CAST($4):DOUBLE, CAST($4):DOUBLE)])
HiveJoin(condition=[=($3, $6)], joinType=[inner], algorithm=[none], cost=[not available])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query4.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query4.q.out
index 4b388653ae..8a87d166f4 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query4.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query4.q.out
@@ -229,7 +229,7 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100])
HiveProject(customer_preferred_cust_flag=[$1])
- HiveJoin(condition=[AND(=($0, $7), CASE(CAST(IS NOT NULL($8)):BOOLEAN, CASE($14, >(/($4, $13), /($2, $8)), >(null, /($2, $8))), CASE($14, >(/($4, $13), null), null)))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($0, $7), CASE(IS NOT NULL($8), CASE($14, >(/($4, $13), /($2, $8)), false), false))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject($f0=[$0], $f3=[$3], $f8=[$7])
HiveAggregate(group=[{1, 2, 3, 4, 5, 6, 7}], agg#0=[sum($10)])
HiveJoin(condition=[=($0, $9)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -237,13 +237,13 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))])
HiveTableScan(table=[[default, customer]], table:alias=[customer])
HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(ss_sold_date_sk=[$0], ss_customer_sk=[$3], /=[/(+(-(-($17, $16), $14), $15), CAST(2):DECIMAL(10, 0))])
+ HiveProject(ss_sold_date_sk=[$0], ss_customer_sk=[$3], /=[/(+(-(-($17, $16), $14), $15), 2:DECIMAL(10, 0))])
HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[AND(=($6, 2002), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveJoin(condition=[AND(=($4, $0), CASE($8, CASE($11, >(/($1, $10), /($3, $7)), >(null, /($3, $7))), CASE($11, >(/($1, $10), null), null)))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($4, $0), CASE($8, CASE($11, >(/($1, $10), /($3, $7)), false), false))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject($f0=[$0], $f8=[$7])
HiveAggregate(group=[{1, 2, 3, 4, 5, 6, 7}], agg#0=[sum($10)])
HiveJoin(condition=[=($0, $9)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -251,7 +251,7 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))])
HiveTableScan(table=[[default, customer]], table:alias=[customer])
HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(cs_sold_date_sk=[$0], cs_bill_customer_sk=[$3], /=[/(+(-(-($25, $24), $22), $23), CAST(2):DECIMAL(10, 0))])
+ HiveProject(cs_sold_date_sk=[$0], cs_bill_customer_sk=[$3], /=[/(+(-(-($25, $24), $22), $23), 2:DECIMAL(10, 0))])
HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))])
HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales])
HiveProject(d_date_sk=[$0])
@@ -267,49 +267,49 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))])
HiveTableScan(table=[[default, customer]], table:alias=[customer])
HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(ws_sold_date_sk=[$0], ws_bill_customer_sk=[$4], /=[/(+(-(-($25, $24), $22), $23), CAST(2):DECIMAL(10, 0))])
+ HiveProject(ws_sold_date_sk=[$0], ws_bill_customer_sk=[$4], /=[/(+(-(-($25, $24), $22), $23), 2:DECIMAL(10, 0))])
HiveFilter(condition=[AND(IS NOT NULL($4), IS NOT NULL($0))])
HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales])
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[AND(=($6, 2002), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject($f0=[$0], $f8=[$7])
- HiveFilter(condition=[>($7, 0)])
+ HiveFilter(condition=[>($7, 0:DECIMAL(1, 0))])
HiveAggregate(group=[{1, 2, 3, 4, 5, 6, 7}], agg#0=[sum($10)])
HiveJoin(condition=[=($0, $9)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(c_customer_sk=[$0], c_customer_id=[$1], c_first_name=[$8], c_last_name=[$9], c_preferred_cust_flag=[$10], c_birth_country=[$14], c_login=[$15], c_email_address=[$16])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))])
HiveTableScan(table=[[default, customer]], table:alias=[customer])
HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(ss_sold_date_sk=[$0], ss_customer_sk=[$3], /=[/(+(-(-($17, $16), $14), $15), CAST(2):DECIMAL(10, 0))])
+ HiveProject(ss_sold_date_sk=[$0], ss_customer_sk=[$3], /=[/(+(-(-($17, $16), $14), $15), 2:DECIMAL(10, 0))])
HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[AND(=($6, 2001), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(customer_id=[$0], year_total=[$7], CAST=[CAST(IS NOT NULL($7)):BOOLEAN])
- HiveFilter(condition=[>($7, 0)])
+ HiveFilter(condition=[>($7, 0:DECIMAL(1, 0))])
HiveAggregate(group=[{1, 2, 3, 4, 5, 6, 7}], agg#0=[sum($10)])
HiveJoin(condition=[=($0, $9)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(c_customer_sk=[$0], c_customer_id=[$1], c_first_name=[$8], c_last_name=[$9], c_preferred_cust_flag=[$10], c_birth_country=[$14], c_login=[$15], c_email_address=[$16])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))])
HiveTableScan(table=[[default, customer]], table:alias=[customer])
HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(ws_sold_date_sk=[$0], ws_bill_customer_sk=[$4], /=[/(+(-(-($25, $24), $22), $23), CAST(2):DECIMAL(10, 0))])
+ HiveProject(ws_sold_date_sk=[$0], ws_bill_customer_sk=[$4], /=[/(+(-(-($25, $24), $22), $23), 2:DECIMAL(10, 0))])
HiveFilter(condition=[AND(IS NOT NULL($4), IS NOT NULL($0))])
HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales])
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[AND(=($6, 2001), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(customer_id=[$0], year_total=[$7], CAST=[CAST(IS NOT NULL($7)):BOOLEAN])
- HiveFilter(condition=[>($7, 0)])
+ HiveFilter(condition=[>($7, 0:DECIMAL(1, 0))])
HiveAggregate(group=[{1, 2, 3, 4, 5, 6, 7}], agg#0=[sum($10)])
HiveJoin(condition=[=($0, $9)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(c_customer_sk=[$0], c_customer_id=[$1], c_first_name=[$8], c_last_name=[$9], c_preferred_cust_flag=[$10], c_birth_country=[$14], c_login=[$15], c_email_address=[$16])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))])
HiveTableScan(table=[[default, customer]], table:alias=[customer])
HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(cs_sold_date_sk=[$0], cs_bill_customer_sk=[$3], /=[/(+(-(-($25, $24), $22), $23), CAST(2):DECIMAL(10, 0))])
+ HiveProject(cs_sold_date_sk=[$0], cs_bill_customer_sk=[$3], /=[/(+(-(-($25, $24), $22), $23), 2:DECIMAL(10, 0))])
HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))])
HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales])
HiveProject(d_date_sk=[$0])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query40.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query40.q.out
index 1f834b5647..9c68f5a9aa 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query40.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query40.q.out
@@ -83,9 +83,9 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveFilter(condition=[IS NOT NULL($2)])
HiveTableScan(table=[[default, catalog_returns]], table:alias=[catalog_returns])
HiveProject(d_date_sk=[$0], <=[<(CAST($2):DATE, 1998-04-08)], >==[>=(CAST($2):DATE, 1998-04-08)])
- HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-09 00:00:00, 1998-05-08 00:00:00), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-09 00:00:00:TIMESTAMP(9), 1998-05-08 00:00:00:TIMESTAMP(9)), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(i_item_sk=[$0], i_item_id=[$1])
- HiveFilter(condition=[AND(BETWEEN(false, $5, 0.99, 1.49), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(BETWEEN(false, $5, 0.99:DECIMAL(3, 2), 1.49:DECIMAL(3, 2)), IS NOT NULL($0))])
HiveTableScan(table=[[default, item]], table:alias=[item])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query43.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query43.q.out
index 1d86c8bd07..6d6d30a9c4 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query43.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query43.q.out
@@ -46,7 +46,7 @@ CBO PLAN:
HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$4], sort5=[$5], sort6=[$6], sort7=[$7], sort8=[$8], dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC], dir4=[ASC], dir5=[ASC], dir6=[ASC], dir7=[ASC], dir8=[ASC], fetch=[100])
HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3], $f4=[$4], $f5=[$5], $f6=[$6], $f7=[$7], $f8=[$8])
HiveAggregate(group=[{0, 1}], agg#0=[sum($2)], agg#1=[sum($3)], agg#2=[sum($4)], agg#3=[sum($5)], agg#4=[sum($6)], agg#5=[sum($7)], agg#6=[sum($8)])
- HiveProject($f0=[$13], $f1=[$12], $f2=[CASE($4, $2, null)], $f3=[CASE($5, $2, null)], $f4=[CASE($6, $2, null)], $f5=[CASE($7, $2, null)], $f6=[CASE($8, $2, null)], $f7=[CASE($9, $2, null)], $f8=[CASE($10, $2, null)])
+ HiveProject($f0=[$13], $f1=[$12], $f2=[CASE($4, $2, null:NULL)], $f3=[CASE($5, $2, null:NULL)], $f4=[CASE($6, $2, null:NULL)], $f5=[CASE($7, $2, null:NULL)], $f6=[CASE($8, $2, null:NULL)], $f7=[CASE($9, $2, null:NULL)], $f8=[CASE($10, $2, null:NULL)])
HiveJoin(condition=[=($11, $1)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ss_sold_date_sk=[$0], ss_store_sk=[$7], ss_sales_price=[$13])
@@ -56,6 +56,6 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$4], sort5=
HiveFilter(condition=[AND(=($6, 1998), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(s_store_sk=[$0], s_store_id=[$1], s_store_name=[$5])
- HiveFilter(condition=[AND(=($27, -6), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(=($27, -6:DECIMAL(1, 0)), IS NOT NULL($0))])
HiveTableScan(table=[[default, store]], table:alias=[store])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query47.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query47.q.out
index 8dff4677ba..f9a4523fd2 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query47.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query47.q.out
@@ -112,7 +112,7 @@ CBO PLAN:
HiveProject(i_category=[$0], d_year=[$1], d_moy=[$2], avg_monthly_sales=[$3], sum_sales=[$4], psum=[$5], nsum=[$6])
HiveSortLimit(sort0=[$7], sort1=[$2], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveProject(i_category=[$12], d_year=[$16], d_moy=[$17], avg_monthly_sales=[$19], sum_sales=[$18], psum=[$10], nsum=[$4], (- (tok_table_or_col sum_sales) (tok_table_or_col avg_monthly_sales))=[-($18, $19)])
- HiveJoin(condition=[AND(AND(AND(AND(=($12, $0), =($13, $1)), =($14, $2)), =($15, $3)), =($20, $5))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($12, $0), =($13, $1), =($14, $2), =($15, $3), =($20, $5))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject((tok_table_or_col i_category)=[$0], (tok_table_or_col i_brand)=[$1], (tok_table_or_col s_store_name)=[$2], (tok_table_or_col s_company_name)=[$3], (tok_function sum (tok_table_or_col ss_sales_price))=[$4], -=[-($5, 1)])
HiveFilter(condition=[IS NOT NULL($5)])
HiveProject((tok_table_or_col i_category)=[$1], (tok_table_or_col i_brand)=[$0], (tok_table_or_col s_store_name)=[$4], (tok_table_or_col s_company_name)=[$5], (tok_function sum (tok_table_or_col ss_sales_price))=[$6], rank_window_1=[rank() OVER (PARTITION BY $1, $0, $4, $5 ORDER BY $2 NULLS LAST, $3 NULLS LAST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)])
@@ -133,7 +133,7 @@ HiveProject(i_category=[$0], d_year=[$1], d_moy=[$2], avg_monthly_sales=[$3], su
HiveProject(s_store_sk=[$0], s_store_name=[$5], s_company_name=[$17])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($5), IS NOT NULL($17))])
HiveTableScan(table=[[default, store]], table:alias=[store])
- HiveJoin(condition=[AND(AND(AND(AND(=($6, $0), =($7, $1)), =($8, $2)), =($9, $3)), =($14, $5))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($6, $0), =($7, $1), =($8, $2), =($9, $3), =($14, $5))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject((tok_table_or_col i_category)=[$0], (tok_table_or_col i_brand)=[$1], (tok_table_or_col s_store_name)=[$2], (tok_table_or_col s_company_name)=[$3], (tok_function sum (tok_table_or_col ss_sales_price))=[$4], +=[+($5, 1)])
HiveFilter(condition=[IS NOT NULL($5)])
HiveProject((tok_table_or_col i_category)=[$1], (tok_table_or_col i_brand)=[$0], (tok_table_or_col s_store_name)=[$4], (tok_table_or_col s_company_name)=[$5], (tok_function sum (tok_table_or_col ss_sales_price))=[$6], rank_window_1=[rank() OVER (PARTITION BY $1, $0, $4, $5 ORDER BY $2 NULLS LAST, $3 NULLS LAST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)])
@@ -155,7 +155,7 @@ HiveProject(i_category=[$0], d_year=[$1], d_moy=[$2], avg_monthly_sales=[$3], su
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($5), IS NOT NULL($17))])
HiveTableScan(table=[[default, store]], table:alias=[store])
HiveProject((tok_table_or_col i_category)=[$0], (tok_table_or_col i_brand)=[$1], (tok_table_or_col s_store_name)=[$2], (tok_table_or_col s_company_name)=[$3], (tok_table_or_col d_year)=[$4], (tok_table_or_col d_moy)=[$5], (tok_function sum (tok_table_or_col ss_sales_price))=[$6], avg_window_0=[$7], rank_window_1=[$8])
- HiveFilter(condition=[AND(=($4, 2000), >($7, 0), CASE(>($7, 0), >(/(ABS(-($6, $7)), $7), 0.1), null), IS NOT NULL($8))])
+ HiveFilter(condition=[AND(=($4, 2000), >($7, 0:DECIMAL(1, 0)), CASE(>($7, 0:DECIMAL(1, 0)), >(/(ABS(-($6, $7)), $7), 0.1:DECIMAL(2, 1)), false), IS NOT NULL($8))])
HiveProject((tok_table_or_col i_category)=[$1], (tok_table_or_col i_brand)=[$0], (tok_table_or_col s_store_name)=[$4], (tok_table_or_col s_company_name)=[$5], (tok_table_or_col d_year)=[$2], (tok_table_or_col d_moy)=[$3], (tok_function sum (tok_table_or_col ss_sales_price))=[$6], avg_window_0=[avg($6) OVER (PARTITION BY $1, $0, $4, $5, $2 ORDER BY $1 NULLS FIRST, $0 NULLS FIRST, $4 NULLS FIRST, $5 NULLS FIRST, $2 NULLS FIRST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)], rank_window_1=[rank() OVER (PARTITION BY $1, $0, $4, $5 ORDER BY $2 NULLS LAST, $3 NULLS LAST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)])
HiveProject(i_brand=[$0], i_category=[$1], d_year=[$2], d_moy=[$3], s_store_name=[$4], s_company_name=[$5], $f6=[$6])
HiveAggregate(group=[{1, 2, 8, 9, 11, 12}], agg#0=[sum($6)])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query48.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query48.q.out
index 22b051d06a..eb4646dca9 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query48.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query48.q.out
@@ -155,8 +155,8 @@ HiveAggregate(group=[{}], agg#0=[sum($10)])
HiveFilter(condition=[AND(=($2, _UTF-16LE'M'), =($3, _UTF-16LE'4 yr Degree'), IS NOT NULL($0))])
HiveTableScan(table=[[default, customer_demographics]], table:alias=[customer_demographics])
HiveJoin(condition=[=($0, $8)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(ss_sold_date_sk=[$0], ss_cdemo_sk=[$4], ss_addr_sk=[$6], ss_store_sk=[$7], ss_quantity=[$10], BETWEEN=[BETWEEN(false, $22, 0, 2000)], BETWEEN6=[BETWEEN(false, $22, 150, 3000)], BETWEEN7=[BETWEEN(false, $22, 50, 25000)])
- HiveFilter(condition=[AND(OR(<=(100, $13), <=($13, 150), IS NOT NULL($13), <=($13, 200)), OR(<=(0, $22), <=($22, 2000), IS NOT NULL($22), <=($22, 3000), <=($22, 25000)), OR(BETWEEN(false, $13, 100, 150), BETWEEN(false, $13, 50, 100), BETWEEN(false, $13, 150, 200)), IS NOT NULL($7), IS NOT NULL($4), IS NOT NULL($6), IS NOT NULL($0))])
+ HiveProject(ss_sold_date_sk=[$0], ss_cdemo_sk=[$4], ss_addr_sk=[$6], ss_store_sk=[$7], ss_quantity=[$10], BETWEEN=[BETWEEN(false, $22, 0:DECIMAL(12, 2), 2000:DECIMAL(12, 2))], BETWEEN6=[BETWEEN(false, $22, 150:DECIMAL(12, 2), 3000:DECIMAL(12, 2))], BETWEEN7=[BETWEEN(false, $22, 50:DECIMAL(12, 2), 25000:DECIMAL(12, 2))])
+ HiveFilter(condition=[AND(OR(<=(100:DECIMAL(3, 0), $13), <=($13, 150:DECIMAL(3, 0)), <=(50:DECIMAL(2, 0), $13), <=($13, 100:DECIMAL(3, 0)), <=(150:DECIMAL(3, 0), $13), <=($13, 200:DECIMAL(3, 0))), OR(<=(0:DECIMAL(12, 2), $22), <=($22, 2000:DECIMAL(12, 2)), <=(150:DECIMAL(12, 2), $22), <=($22, 3000:DECIMAL(12, 2)), <=(50:DECIMAL(12, 2), $22), <=($22, 25000:DECIMAL(12, 2))), OR(BETWEEN(false, $13, 100:DECIMAL(3, 0), 150:DECIMAL(3, 0)), BETWEEN(false, $13, 50:DECIMAL(2, 0), 100:DECIMAL(3, 0)), BETWEEN(false, $13, 150:DECIMAL(3, 0), 200:DECIMAL(3, 0))), IS NOT NULL($7), IS NOT NULL($4), IS NOT NULL($6), IS NOT NULL($0))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[AND(=($6, 1998), IS NOT NULL($0))])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query49.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query49.q.out
index 1300dd92af..2d058c30f4 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query49.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query49.q.out
@@ -276,50 +276,50 @@ HiveSortLimit(sort0=[$0], sort1=[$3], sort2=[$4], dir0=[ASC], dir1=[ASC], dir2=[
HiveAggregate(group=[{0, 1, 2, 3, 4}])
HiveProject(channel=[$0], item=[$1], return_ratio=[$2], return_rank=[$3], currency_rank=[$4])
HiveUnion(all=[true])
- HiveProject(channel=[_UTF-16LE'web'], item=[$0], return_ratio=[$1], return_rank=[$2], currency_rank=[$3])
+ HiveProject(channel=[_UTF-16LE'web':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], item=[$0], return_ratio=[$1], return_rank=[$2], currency_rank=[$3])
HiveFilter(condition=[OR(<=($2, 10), <=($3, 10))])
HiveProject(item=[$0], return_ratio=[/(CAST($1):DECIMAL(15, 4), CAST($2):DECIMAL(15, 4))], rank_window_0=[rank() OVER (PARTITION BY 0 ORDER BY /(CAST($1):DECIMAL(15, 4), CAST($2):DECIMAL(15, 4)) NULLS LAST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)], rank_window_1=[rank() OVER (PARTITION BY 0 ORDER BY /(CAST($3):DECIMAL(15, 4), CAST($4):DECIMAL(15, 4)) NULLS LAST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)])
HiveProject(ws_item_sk=[$0], $f1=[$1], $f2=[$2], $f3=[$3], $f4=[$4])
HiveAggregate(group=[{5}], agg#0=[sum($2)], agg#1=[sum($7)], agg#2=[sum($3)], agg#3=[sum($8)])
HiveJoin(condition=[AND(=($6, $1), =($5, $0))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(wr_item_sk=[$2], wr_order_number=[$13], CASE=[CASE(IS NOT NULL($14), $14, 0)], CASE3=[CASE(IS NOT NULL($15), $15, 0)])
- HiveFilter(condition=[AND(>($15, 10000), IS NOT NULL($13), IS NOT NULL($2))])
+ HiveFilter(condition=[AND(>($15, 10000:DECIMAL(5, 0)), IS NOT NULL($13), IS NOT NULL($2))])
HiveTableScan(table=[[default, web_returns]], table:alias=[wr])
HiveJoin(condition=[=($0, $5)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_order_number=[$17], CASE=[CASE(IS NOT NULL($18), $18, 0)], CASE4=[CASE(IS NOT NULL($29), $29, 0)])
- HiveFilter(condition=[AND(>($33, 1), >($29, 0), >($18, 0), IS NOT NULL($17), IS NOT NULL($3), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(>($33, 1:DECIMAL(1, 0)), >($29, 0:DECIMAL(1, 0)), >($18, 0), IS NOT NULL($17), IS NOT NULL($3), IS NOT NULL($0))])
HiveTableScan(table=[[default, web_sales]], table:alias=[ws])
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[AND(=($6, 2000), =($8, 12), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(channel=[_UTF-16LE'catalog'], item=[$0], return_ratio=[$1], return_rank=[$2], currency_rank=[$3])
+ HiveProject(channel=[_UTF-16LE'catalog':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], item=[$0], return_ratio=[$1], return_rank=[$2], currency_rank=[$3])
HiveFilter(condition=[OR(<=($2, 10), <=($3, 10))])
HiveProject(item=[$0], return_ratio=[/(CAST($1):DECIMAL(15, 4), CAST($2):DECIMAL(15, 4))], rank_window_0=[rank() OVER (PARTITION BY 0 ORDER BY /(CAST($1):DECIMAL(15, 4), CAST($2):DECIMAL(15, 4)) NULLS LAST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)], rank_window_1=[rank() OVER (PARTITION BY 0 ORDER BY /(CAST($3):DECIMAL(15, 4), CAST($4):DECIMAL(15, 4)) NULLS LAST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)])
HiveProject(cs_item_sk=[$0], $f1=[$1], $f2=[$2], $f3=[$3], $f4=[$4])
HiveAggregate(group=[{5}], agg#0=[sum($2)], agg#1=[sum($7)], agg#2=[sum($3)], agg#3=[sum($8)])
HiveJoin(condition=[AND(=($6, $1), =($5, $0))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(cr_item_sk=[$2], cr_order_number=[$16], CASE=[CASE(IS NOT NULL($17), $17, 0)], CASE3=[CASE(IS NOT NULL($18), $18, 0)])
- HiveFilter(condition=[AND(>($18, 10000), IS NOT NULL($16), IS NOT NULL($2))])
+ HiveFilter(condition=[AND(>($18, 10000:DECIMAL(5, 0)), IS NOT NULL($16), IS NOT NULL($2))])
HiveTableScan(table=[[default, catalog_returns]], table:alias=[cr])
HiveJoin(condition=[=($0, $5)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15], cs_order_number=[$17], CASE=[CASE(IS NOT NULL($18), $18, 0)], CASE4=[CASE(IS NOT NULL($29), $29, 0)])
- HiveFilter(condition=[AND(>($33, 1), >($29, 0), >($18, 0), IS NOT NULL($17), IS NOT NULL($15), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(>($33, 1:DECIMAL(1, 0)), >($29, 0:DECIMAL(1, 0)), >($18, 0), IS NOT NULL($17), IS NOT NULL($15), IS NOT NULL($0))])
HiveTableScan(table=[[default, catalog_sales]], table:alias=[cs])
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[AND(=($6, 2000), =($8, 12), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(channel=[_UTF-16LE'store'], item=[$0], return_ratio=[$1], return_rank=[$2], currency_rank=[$3])
+ HiveProject(channel=[_UTF-16LE'store':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], item=[$0], return_ratio=[$1], return_rank=[$2], currency_rank=[$3])
HiveFilter(condition=[OR(<=($2, 10), <=($3, 10))])
HiveProject(item=[$0], return_ratio=[/(CAST($1):DECIMAL(15, 4), CAST($2):DECIMAL(15, 4))], rank_window_0=[rank() OVER (PARTITION BY 0 ORDER BY /(CAST($1):DECIMAL(15, 4), CAST($2):DECIMAL(15, 4)) NULLS LAST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)], rank_window_1=[rank() OVER (PARTITION BY 0 ORDER BY /(CAST($3):DECIMAL(15, 4), CAST($4):DECIMAL(15, 4)) NULLS LAST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)])
HiveProject(ss_item_sk=[$0], $f1=[$1], $f2=[$2], $f3=[$3], $f4=[$4])
HiveAggregate(group=[{5}], agg#0=[sum($2)], agg#1=[sum($7)], agg#2=[sum($3)], agg#3=[sum($8)])
HiveJoin(condition=[AND(=($6, $1), =($5, $0))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(sr_item_sk=[$2], sr_ticket_number=[$9], CASE=[CASE(IS NOT NULL($10), $10, 0)], CASE3=[CASE(IS NOT NULL($11), $11, 0)])
- HiveFilter(condition=[AND(>($11, 10000), IS NOT NULL($9), IS NOT NULL($2))])
+ HiveFilter(condition=[AND(>($11, 10000:DECIMAL(5, 0)), IS NOT NULL($9), IS NOT NULL($2))])
HiveTableScan(table=[[default, store_returns]], table:alias=[sr])
HiveJoin(condition=[=($0, $5)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_ticket_number=[$9], CASE=[CASE(IS NOT NULL($10), $10, 0)], CASE4=[CASE(IS NOT NULL($20), $20, 0)])
- HiveFilter(condition=[AND(>($22, 1), >($20, 0), >($10, 0), IS NOT NULL($9), IS NOT NULL($2), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(>($22, 1:DECIMAL(1, 0)), >($20, 0:DECIMAL(1, 0)), >($10, 0), IS NOT NULL($9), IS NOT NULL($2), IS NOT NULL($0))])
HiveTableScan(table=[[default, store_sales]], table:alias=[sts])
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[AND(=($6, 2000), =($8, 12), IS NOT NULL($0))])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query5.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query5.q.out
index e78c3e5917..7d2af5da42 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query5.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query5.q.out
@@ -280,25 +280,25 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveAggregate(group=[{0, 1}], groups=[[{0, 1}, {0}, {}]], agg#0=[sum($2)], agg#1=[sum($3)], agg#2=[sum($4)])
HiveProject(channel=[$0], id=[$1], sales=[$2], returns=[$3], profit=[$4])
HiveUnion(all=[true])
- HiveProject(channel=[_UTF-16LE'store channel'], id=[||(_UTF-16LE'store', $0)], sales=[$1], returns=[$3], profit=[-($2, $4)])
+ HiveProject(channel=[_UTF-16LE'store channel':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], id=[||(_UTF-16LE'store', $0)], sales=[$1], returns=[$3], profit=[-($2, $4)])
HiveAggregate(group=[{8}], agg#0=[sum($2)], agg#1=[sum($3)], agg#2=[sum($4)], agg#3=[sum($5)])
HiveJoin(condition=[=($0, $7)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($1, $6)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(store_sk=[$0], date_sk=[$1], sales_price=[$2], profit=[$3], return_amt=[$4], net_loss=[$5])
HiveUnion(all=[true])
- HiveProject(store_sk=[$7], date_sk=[$0], sales_price=[$15], profit=[$22], return_amt=[CAST(0):DECIMAL(7, 2)], net_loss=[CAST(0):DECIMAL(7, 2)])
+ HiveProject(store_sk=[$7], date_sk=[$0], sales_price=[$15], profit=[$22], return_amt=[CAST(0:DECIMAL(7, 2)):DECIMAL(7, 2)], net_loss=[CAST(0:DECIMAL(7, 2)):DECIMAL(7, 2)])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
- HiveProject(store_sk=[$7], date_sk=[$0], sales_price=[CAST(0):DECIMAL(7, 2)], profit=[CAST(0):DECIMAL(7, 2)], return_amt=[$11], net_loss=[$19])
+ HiveProject(store_sk=[$7], date_sk=[$0], sales_price=[CAST(0:DECIMAL(7, 2)):DECIMAL(7, 2)], profit=[CAST(0:DECIMAL(7, 2)):DECIMAL(7, 2)], return_amt=[$11], net_loss=[$19])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))])
HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00, 1998-08-18 00:00:00), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00:TIMESTAMP(9), 1998-08-18 00:00:00:TIMESTAMP(9)), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(s_store_sk=[$0], s_store_id=[$1])
HiveFilter(condition=[IS NOT NULL($0)])
HiveTableScan(table=[[default, store]], table:alias=[store])
- HiveProject(channel=[_UTF-16LE'catalog channel'], id=[||(_UTF-16LE'catalog_page', $0)], sales=[$1], returns=[$3], profit=[-($2, $4)])
+ HiveProject(channel=[_UTF-16LE'catalog channel':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], id=[||(_UTF-16LE'catalog_page', $0)], sales=[$1], returns=[$3], profit=[-($2, $4)])
HiveAggregate(group=[{1}], agg#0=[sum($4)], agg#1=[sum($5)], agg#2=[sum($6)], agg#3=[sum($7)])
HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(cp_catalog_page_sk=[$0], cp_catalog_page_id=[$1])
@@ -307,25 +307,25 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveJoin(condition=[=($1, $6)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(page_sk=[$0], date_sk=[$1], sales_price=[$2], profit=[$3], return_amt=[$4], net_loss=[$5])
HiveUnion(all=[true])
- HiveProject(page_sk=[$12], date_sk=[$0], sales_price=[$23], profit=[$33], return_amt=[CAST(0):DECIMAL(7, 2)], net_loss=[CAST(0):DECIMAL(7, 2)])
+ HiveProject(page_sk=[$12], date_sk=[$0], sales_price=[$23], profit=[$33], return_amt=[CAST(0:DECIMAL(7, 2)):DECIMAL(7, 2)], net_loss=[CAST(0:DECIMAL(7, 2)):DECIMAL(7, 2)])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($12))])
HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales])
- HiveProject(page_sk=[$12], date_sk=[$0], sales_price=[CAST(0):DECIMAL(7, 2)], profit=[CAST(0):DECIMAL(7, 2)], return_amt=[$18], net_loss=[$26])
+ HiveProject(page_sk=[$12], date_sk=[$0], sales_price=[CAST(0:DECIMAL(7, 2)):DECIMAL(7, 2)], profit=[CAST(0:DECIMAL(7, 2)):DECIMAL(7, 2)], return_amt=[$18], net_loss=[$26])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($12))])
HiveTableScan(table=[[default, catalog_returns]], table:alias=[catalog_returns])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00, 1998-08-18 00:00:00), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00:TIMESTAMP(9), 1998-08-18 00:00:00:TIMESTAMP(9)), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(channel=[_UTF-16LE'web channel'], id=[||(_UTF-16LE'web_site', $0)], sales=[$1], returns=[$3], profit=[-($2, $4)])
+ HiveProject(channel=[_UTF-16LE'web channel':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], id=[||(_UTF-16LE'web_site', $0)], sales=[$1], returns=[$3], profit=[-($2, $4)])
HiveAggregate(group=[{8}], agg#0=[sum($2)], agg#1=[sum($3)], agg#2=[sum($4)], agg#3=[sum($5)])
HiveJoin(condition=[=($0, $7)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($1, $6)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(wsr_web_site_sk=[$0], date_sk=[$1], sales_price=[$2], profit=[$3], return_amt=[$4], net_loss=[$5])
HiveUnion(all=[true])
- HiveProject(wsr_web_site_sk=[$13], date_sk=[$0], sales_price=[$23], profit=[$33], return_amt=[CAST(0):DECIMAL(7, 2)], net_loss=[CAST(0):DECIMAL(7, 2)])
+ HiveProject(wsr_web_site_sk=[$13], date_sk=[$0], sales_price=[$23], profit=[$33], return_amt=[CAST(0:DECIMAL(7, 2)):DECIMAL(7, 2)], net_loss=[CAST(0:DECIMAL(7, 2)):DECIMAL(7, 2)])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($13))])
HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales])
- HiveProject(wsr_web_site_sk=[$1], date_sk=[$3], sales_price=[CAST(0):DECIMAL(7, 2)], profit=[CAST(0):DECIMAL(7, 2)], return_amt=[$6], net_loss=[$7])
+ HiveProject(wsr_web_site_sk=[$1], date_sk=[$3], sales_price=[CAST(0:DECIMAL(7, 2)):DECIMAL(7, 2)], profit=[CAST(0:DECIMAL(7, 2)):DECIMAL(7, 2)], return_amt=[$6], net_loss=[$7])
HiveJoin(condition=[AND(=($4, $0), =($5, $2))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ws_item_sk=[$3], ws_web_site_sk=[$13], ws_order_number=[$17])
HiveFilter(condition=[AND(IS NOT NULL($13), IS NOT NULL($3), IS NOT NULL($17))])
@@ -334,7 +334,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($2), IS NOT NULL($13))])
HiveTableScan(table=[[default, web_returns]], table:alias=[web_returns])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00, 1998-08-18 00:00:00), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00:TIMESTAMP(9), 1998-08-18 00:00:00:TIMESTAMP(9)), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(web_site_sk=[$0], web_site_id=[$1])
HiveFilter(condition=[IS NOT NULL($0)])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query50.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query50.q.out
index becffde820..1b21b9fdaa 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query50.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query50.q.out
@@ -131,7 +131,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$4], sort5=
HiveProject($f0=[$12], $f1=[$13], $f2=[$14], $f3=[$15], $f4=[$16], $f5=[$17], $f6=[$18], $f7=[$19], $f8=[$20], $f9=[$21], $f10=[CASE(<=(-($5, $0), 30), 1, 0)], $f11=[CASE(AND(>(-($5, $0), 30), <=(-($5, $0), 60)), 1, 0)], $f12=[CASE(AND(>(-($5, $0), 60), <=(-($5, $0), 90)), 1, 0)], $f13=[CASE(AND(>(-($5, $0), 90), <=(-($5, $0), 120)), 1, 0)], $f14=[CASE(>(-($5, $0), 120), 1, 0)])
HiveJoin(condition=[=($3, $11)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($0, $10)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveJoin(condition=[AND(AND(=($4, $8), =($1, $6)), =($2, $7))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($4, $8), =($1, $6), =($2, $7))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_customer_sk=[$3], ss_store_sk=[$7], ss_ticket_number=[$9])
HiveFilter(condition=[AND(IS NOT NULL($9), IS NOT NULL($2), IS NOT NULL($3), IS NOT NULL($7), IS NOT NULL($0))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query53.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query53.q.out
index 9b42428097..93ead4bf0b 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query53.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query53.q.out
@@ -65,7 +65,7 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveSortLimit(sort0=[$2], sort1=[$1], sort2=[$0], dir0=[ASC], dir1=[ASC], dir2=[ASC], fetch=[100])
HiveProject((tok_table_or_col i_manufact_id)=[$0], (tok_function sum (tok_table_or_col ss_sales_price))=[$1], avg_window_0=[$2])
- HiveFilter(condition=[CASE(>($2, 0), >(/(ABS(-($1, $2)), $2), 0.1), null)])
+ HiveFilter(condition=[CASE(>($2, 0:DECIMAL(1, 0)), >(/(ABS(-($1, $2)), $2), 0.1:DECIMAL(2, 1)), false)])
HiveProject((tok_table_or_col i_manufact_id)=[$0], (tok_function sum (tok_table_or_col ss_sales_price))=[$2], avg_window_0=[avg($2) OVER (PARTITION BY $0 ORDER BY $0 NULLS FIRST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)])
HiveProject(i_manufact_id=[$0], d_qoy=[$1], $f2=[$2])
HiveAggregate(group=[{6, 8}], agg#0=[sum($4)])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query54.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query54.q.out
index 39b6a6be15..fcb3abea9c 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query54.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query54.q.out
@@ -134,7 +134,7 @@ CBO PLAN:
HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveProject(segment=[$0], num_customers=[$1], segment_base=[*($0, 50)])
HiveAggregate(group=[{0}], agg#0=[count()])
- HiveProject(segment=[CAST(/($1, CAST(50):DECIMAL(10, 0))):INTEGER])
+ HiveProject(segment=[CAST(/($1, 50:DECIMAL(10, 0))):INTEGER])
HiveAggregate(group=[{10}], agg#0=[sum($2)])
HiveJoin(condition=[<=($4, $15)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[<=($14, $4)], joinType=[inner], algorithm=[none], cost=[not available])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query56.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query56.q.out
index d01dbcd154..3ee0356747 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query56.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query56.q.out
@@ -166,7 +166,7 @@ HiveSortLimit(sort0=[$1], dir0=[ASC], fetch=[100])
HiveProject(ca_address_sk=[$0], ss_sold_date_sk=[$1], ss_item_sk=[$2], ss_addr_sk=[$3], ss_ext_sales_price=[$4], d_date_sk=[$5])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ca_address_sk=[$0])
- HiveFilter(condition=[AND(=($11, -8), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(=($11, -8:DECIMAL(1, 0)), IS NOT NULL($0))])
HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_addr_sk=[$6], ss_ext_sales_price=[$15])
@@ -189,7 +189,7 @@ HiveSortLimit(sort0=[$1], dir0=[ASC], fetch=[100])
HiveProject(ca_address_sk=[$0], cs_sold_date_sk=[$1], cs_bill_addr_sk=[$2], cs_item_sk=[$3], cs_ext_sales_price=[$4], d_date_sk=[$5])
HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ca_address_sk=[$0])
- HiveFilter(condition=[AND(=($11, -8), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(=($11, -8:DECIMAL(1, 0)), IS NOT NULL($0))])
HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(cs_sold_date_sk=[$0], cs_bill_addr_sk=[$6], cs_item_sk=[$15], cs_ext_sales_price=[$23])
@@ -212,7 +212,7 @@ HiveSortLimit(sort0=[$1], dir0=[ASC], fetch=[100])
HiveProject(ca_address_sk=[$0], ws_sold_date_sk=[$1], ws_item_sk=[$2], ws_bill_addr_sk=[$3], ws_ext_sales_price=[$4], d_date_sk=[$5])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ca_address_sk=[$0])
- HiveFilter(condition=[AND(=($11, -8), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(=($11, -8:DECIMAL(1, 0)), IS NOT NULL($0))])
HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_bill_addr_sk=[$7], ws_ext_sales_price=[$23])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query57.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query57.q.out
index 6c8ef17bc6..6e90bfd468 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query57.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query57.q.out
@@ -106,7 +106,7 @@ CBO PLAN:
HiveProject(i_category=[$0], i_brand=[$1], d_year=[$2], d_moy=[$3], avg_monthly_sales=[$4], sum_sales=[$5], psum=[$6], nsum=[$7])
HiveSortLimit(sort0=[$8], sort1=[$2], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveProject(i_category=[$10], i_brand=[$11], d_year=[$13], d_moy=[$14], avg_monthly_sales=[$16], sum_sales=[$15], psum=[$8], nsum=[$3], (- (tok_table_or_col sum_sales) (tok_table_or_col avg_monthly_sales))=[-($15, $16)])
- HiveJoin(condition=[AND(AND(AND(=($10, $0), =($11, $1)), =($12, $2)), =($17, $4))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($10, $0), =($11, $1), =($12, $2), =($17, $4))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject((tok_table_or_col i_category)=[$0], (tok_table_or_col i_brand)=[$1], (tok_table_or_col cc_name)=[$2], (tok_function sum (tok_table_or_col cs_sales_price))=[$3], -=[-($4, 1)])
HiveFilter(condition=[IS NOT NULL($4)])
HiveProject((tok_table_or_col i_category)=[$1], (tok_table_or_col i_brand)=[$0], (tok_table_or_col cc_name)=[$4], (tok_function sum (tok_table_or_col cs_sales_price))=[$5], rank_window_1=[rank() OVER (PARTITION BY $1, $0, $4 ORDER BY $2 NULLS LAST, $3 NULLS LAST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)])
@@ -127,7 +127,7 @@ HiveProject(i_category=[$0], i_brand=[$1], d_year=[$2], d_moy=[$3], avg_monthly_
HiveProject(cc_call_center_sk=[$0], cc_name=[$6])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($6))])
HiveTableScan(table=[[default, call_center]], table:alias=[call_center])
- HiveJoin(condition=[AND(AND(AND(=($5, $0), =($6, $1)), =($7, $2)), =($12, $4))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($5, $0), =($6, $1), =($7, $2), =($12, $4))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject((tok_table_or_col i_category)=[$0], (tok_table_or_col i_brand)=[$1], (tok_table_or_col cc_name)=[$2], (tok_function sum (tok_table_or_col cs_sales_price))=[$3], +=[+($4, 1)])
HiveFilter(condition=[IS NOT NULL($4)])
HiveProject((tok_table_or_col i_category)=[$1], (tok_table_or_col i_brand)=[$0], (tok_table_or_col cc_name)=[$4], (tok_function sum (tok_table_or_col cs_sales_price))=[$5], rank_window_1=[rank() OVER (PARTITION BY $1, $0, $4 ORDER BY $2 NULLS LAST, $3 NULLS LAST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)])
@@ -149,7 +149,7 @@ HiveProject(i_category=[$0], i_brand=[$1], d_year=[$2], d_moy=[$3], avg_monthly_
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($6))])
HiveTableScan(table=[[default, call_center]], table:alias=[call_center])
HiveProject((tok_table_or_col i_category)=[$0], (tok_table_or_col i_brand)=[$1], (tok_table_or_col cc_name)=[$2], (tok_table_or_col d_year)=[$3], (tok_table_or_col d_moy)=[$4], (tok_function sum (tok_table_or_col cs_sales_price))=[$5], avg_window_0=[$6], rank_window_1=[$7])
- HiveFilter(condition=[AND(=($3, 2000), >($6, 0), CASE(>($6, 0), >(/(ABS(-($5, $6)), $6), 0.1), null), IS NOT NULL($7))])
+ HiveFilter(condition=[AND(=($3, 2000), >($6, 0:DECIMAL(1, 0)), CASE(>($6, 0:DECIMAL(1, 0)), >(/(ABS(-($5, $6)), $6), 0.1:DECIMAL(2, 1)), false), IS NOT NULL($7))])
HiveProject((tok_table_or_col i_category)=[$1], (tok_table_or_col i_brand)=[$0], (tok_table_or_col cc_name)=[$4], (tok_table_or_col d_year)=[$2], (tok_table_or_col d_moy)=[$3], (tok_function sum (tok_table_or_col cs_sales_price))=[$5], avg_window_0=[avg($5) OVER (PARTITION BY $1, $0, $4, $2 ORDER BY $1 NULLS FIRST, $0 NULLS FIRST, $4 NULLS FIRST, $2 NULLS FIRST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)], rank_window_1=[rank() OVER (PARTITION BY $1, $0, $4 ORDER BY $2 NULLS LAST, $3 NULLS LAST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)])
HiveProject(i_brand=[$0], i_category=[$1], d_year=[$2], d_moy=[$3], cc_name=[$4], $f5=[$5])
HiveAggregate(group=[{1, 2, 8, 9, 11}], agg#0=[sum($6)])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query58.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query58.q.out
index b4410ff07a..08ceccf7c0 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query58.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query58.q.out
@@ -141,10 +141,10 @@ POSTHOOK: Input: default@web_sales
POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
- HiveProject(item_id=[$0], ss_item_rev=[$5], ss_dev=[*(/(/($5, +(+($5, $1), $9)), CAST(3):DECIMAL(10, 0)), CAST(100):DECIMAL(10, 0))], cs_item_rev=[$1], cs_dev=[*(/(/($1, +(+($5, $1), $9)), CAST(3):DECIMAL(10, 0)), CAST(100):DECIMAL(10, 0))], ws_item_rev=[$9], ws_dev=[*(/(/($9, +(+($5, $1), $9)), CAST(3):DECIMAL(10, 0)), CAST(100):DECIMAL(10, 0))], average=[/(+(+($5, $1), $9), CAST(3):DECIMAL(10, 0))])
- HiveJoin(condition=[AND(AND(AND(AND(=($0, $8), BETWEEN(false, $5, $10, $11)), BETWEEN(false, $1, $10, $11)), BETWEEN(false, $9, $6, $7)), BETWEEN(false, $9, $2, $3))], joinType=[inner], algorithm=[none], cost=[not available])
- HiveJoin(condition=[AND(AND(=($4, $0), BETWEEN(false, $5, $2, $3)), BETWEEN(false, $1, $6, $7))], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject($f0=[$0], $f1=[$1], *=[*(0.9, $1)], *3=[*(1.1, $1)])
+ HiveProject(item_id=[$0], ss_item_rev=[$5], ss_dev=[*(/(/($5, +(+($5, $1), $9)), 3:DECIMAL(10, 0)), 100:DECIMAL(10, 0))], cs_item_rev=[$1], cs_dev=[*(/(/($1, +(+($5, $1), $9)), 3:DECIMAL(10, 0)), 100:DECIMAL(10, 0))], ws_item_rev=[$9], ws_dev=[*(/(/($9, +(+($5, $1), $9)), 3:DECIMAL(10, 0)), 100:DECIMAL(10, 0))], average=[/(+(+($5, $1), $9), 3:DECIMAL(10, 0))])
+ HiveJoin(condition=[AND(=($0, $8), BETWEEN(false, $5, $10, $11), BETWEEN(false, $1, $10, $11), BETWEEN(false, $9, $6, $7), BETWEEN(false, $9, $2, $3))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($4, $0), BETWEEN(false, $5, $2, $3), BETWEEN(false, $1, $6, $7))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveProject($f0=[$0], $f1=[$1], *=[*(0.9:DECIMAL(2, 1), $1)], *3=[*(1.1:DECIMAL(2, 1), $1)])
HiveAggregate(group=[{4}], agg#0=[sum($2)])
HiveJoin(condition=[=($0, $5)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -175,7 +175,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveProject(d_week_seq=[$4])
HiveFilter(condition=[AND(=($2, _UTF-16LE'1998-02-19'), IS NOT NULL($4))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject($f0=[$0], $f1=[$1], *=[*(0.9, $1)], *3=[*(1.1, $1)])
+ HiveProject($f0=[$0], $f1=[$1], *=[*(0.9:DECIMAL(2, 1), $1)], *3=[*(1.1:DECIMAL(2, 1), $1)])
HiveAggregate(group=[{4}], agg#0=[sum($2)])
HiveJoin(condition=[=($0, $5)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -206,7 +206,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveProject(d_week_seq=[$4])
HiveFilter(condition=[AND(=($2, _UTF-16LE'1998-02-19'), IS NOT NULL($4))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject($f0=[$0], $f1=[$1], *=[*(0.9, $1)], *3=[*(1.1, $1)])
+ HiveProject($f0=[$0], $f1=[$1], *=[*(0.9:DECIMAL(2, 1), $1)], *3=[*(1.1:DECIMAL(2, 1), $1)])
HiveAggregate(group=[{4}], agg#0=[sum($2)])
HiveJoin(condition=[=($0, $5)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query59.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query59.q.out
index 8674a8a6c6..bcf9e3d5e2 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query59.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query59.q.out
@@ -103,7 +103,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], dir0=[ASC], dir1=[ASC], dir2=[
HiveJoin(condition=[=($9, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3], $f4=[$4], $f5=[$5], $f6=[$6], $f7=[$7], $f8=[$8])
HiveAggregate(group=[{0, 1}], agg#0=[sum($2)], agg#1=[sum($3)], agg#2=[sum($4)], agg#3=[sum($5)], agg#4=[sum($6)], agg#5=[sum($7)], agg#6=[sum($8)])
- HiveProject($f0=[$4], $f1=[$1], $f2=[CASE($5, $2, null)], $f3=[CASE($6, $2, null)], $f4=[CASE($7, $2, null)], $f5=[CASE($8, $2, null)], $f6=[CASE($9, $2, null)], $f7=[CASE($10, $2, null)], $f8=[CASE($11, $2, null)])
+ HiveProject($f0=[$4], $f1=[$1], $f2=[CASE($5, $2, null:NULL)], $f3=[CASE($6, $2, null:NULL)], $f4=[CASE($7, $2, null:NULL)], $f5=[CASE($8, $2, null:NULL)], $f6=[CASE($9, $2, null:NULL)], $f7=[CASE($10, $2, null:NULL)], $f8=[CASE($11, $2, null:NULL)])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ss_sold_date_sk=[$0], ss_store_sk=[$7], ss_sales_price=[$13])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))])
@@ -122,7 +122,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], dir0=[ASC], dir1=[ASC], dir2=[
HiveJoin(condition=[=($8, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3], $f4=[$4], $f5=[$5], $f6=[$6], $f7=[$7])
HiveAggregate(group=[{0, 1}], agg#0=[sum($2)], agg#1=[sum($3)], agg#2=[sum($5)], agg#3=[sum($6)], agg#4=[sum($7)], agg#5=[sum($8)])
- HiveProject($f0=[$4], $f1=[$1], $f2=[CASE($5, $2, null)], $f3=[CASE($6, $2, null)], $f4=[CASE($7, $2, null)], $f5=[CASE($8, $2, null)], $f6=[CASE($9, $2, null)], $f7=[CASE($10, $2, null)], $f8=[CASE($11, $2, null)])
+ HiveProject($f0=[$4], $f1=[$1], $f2=[CASE($5, $2, null:NULL)], $f3=[CASE($6, $2, null:NULL)], $f4=[CASE($7, $2, null:NULL)], $f5=[CASE($8, $2, null:NULL)], $f6=[CASE($9, $2, null:NULL)], $f7=[CASE($10, $2, null:NULL)], $f8=[CASE($11, $2, null:NULL)])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ss_sold_date_sk=[$0], ss_store_sk=[$7], ss_sales_price=[$13])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query6.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query6.q.out
index f502c004cf..b8fd5a1ec9 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query6.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query6.q.out
@@ -94,7 +94,7 @@ HiveSortLimit(sort0=[$1], dir0=[ASC], fetch=[100])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($12))])
HiveTableScan(table=[[default, item]], table:alias=[i])
HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(i_category=[$0], *=[*(1.2, CAST(/($1, $2)):DECIMAL(16, 6))])
+ HiveProject(i_category=[$0], *=[*(1.2:DECIMAL(2, 1), CAST(/($1, $2)):DECIMAL(16, 6))])
HiveAggregate(group=[{12}], agg#0=[sum($5)], agg#1=[count($5)])
HiveFilter(condition=[IS NOT NULL($12)])
HiveTableScan(table=[[default, item]], table:alias=[j])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query60.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query60.q.out
index acda930197..fb4ca86719 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query60.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query60.q.out
@@ -186,7 +186,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveProject(ca_address_sk=[$0], ss_sold_date_sk=[$1], ss_item_sk=[$2], ss_addr_sk=[$3], ss_ext_sales_price=[$4], d_date_sk=[$5])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ca_address_sk=[$0])
- HiveFilter(condition=[AND(=($11, -6), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(=($11, -6:DECIMAL(1, 0)), IS NOT NULL($0))])
HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_addr_sk=[$6], ss_ext_sales_price=[$15])
@@ -209,7 +209,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveProject(ca_address_sk=[$0], cs_sold_date_sk=[$1], cs_bill_addr_sk=[$2], cs_item_sk=[$3], cs_ext_sales_price=[$4], d_date_sk=[$5])
HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ca_address_sk=[$0])
- HiveFilter(condition=[AND(=($11, -6), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(=($11, -6:DECIMAL(1, 0)), IS NOT NULL($0))])
HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(cs_sold_date_sk=[$0], cs_bill_addr_sk=[$6], cs_item_sk=[$15], cs_ext_sales_price=[$23])
@@ -232,7 +232,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveProject(ca_address_sk=[$0], ws_sold_date_sk=[$1], ws_item_sk=[$2], ws_bill_addr_sk=[$3], ws_ext_sales_price=[$4], d_date_sk=[$5])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ca_address_sk=[$0])
- HiveFilter(condition=[AND(=($11, -6), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(=($11, -6:DECIMAL(1, 0)), IS NOT NULL($0))])
HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_bill_addr_sk=[$7], ws_ext_sales_price=[$23])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query61.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query61.q.out
index 3c03347810..f5694d68e1 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query61.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query61.q.out
@@ -102,7 +102,7 @@ POSTHOOK: Input: default@store
POSTHOOK: Input: default@store_sales
POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
-HiveProject(promotions=[$0], total=[$1], _o__c2=[*(/(CAST($0):DECIMAL(15, 4), CAST($1):DECIMAL(15, 4)), CAST(100):DECIMAL(10, 0))])
+HiveProject(promotions=[$0], total=[$1], _o__c2=[*(/(CAST($0):DECIMAL(15, 4), CAST($1):DECIMAL(15, 4)), 100:DECIMAL(10, 0))])
HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject($f0=[$0])
HiveAggregate(group=[{}], agg#0=[sum($8)])
@@ -112,7 +112,7 @@ HiveProject(promotions=[$0], total=[$1], _o__c2=[*(/(CAST($0):DECIMAL(15, 4), CA
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($4))])
HiveTableScan(table=[[default, customer]], table:alias=[customer])
HiveProject(ca_address_sk=[$0])
- HiveFilter(condition=[AND(=($11, -7), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(=($11, -7:DECIMAL(1, 0)), IS NOT NULL($0))])
HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$1], ss_customer_sk=[$2], ss_store_sk=[$3], ss_promo_sk=[$4], ss_ext_sales_price=[$5], d_date_sk=[$6], i_item_sk=[$7], s_store_sk=[$8], p_promo_sk=[$9])
HiveJoin(condition=[=($4, $9)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -129,7 +129,7 @@ HiveProject(promotions=[$0], total=[$1], _o__c2=[*(/(CAST($0):DECIMAL(15, 4), CA
HiveFilter(condition=[AND(=($12, _UTF-16LE'Electronics'), IS NOT NULL($0))])
HiveTableScan(table=[[default, item]], table:alias=[item])
HiveProject(s_store_sk=[$0])
- HiveFilter(condition=[AND(=($27, -7), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(=($27, -7:DECIMAL(1, 0)), IS NOT NULL($0))])
HiveTableScan(table=[[default, store]], table:alias=[store])
HiveProject(p_promo_sk=[$0])
HiveFilter(condition=[AND(OR(=($8, _UTF-16LE'Y'), =($9, _UTF-16LE'Y'), =($11, _UTF-16LE'Y')), IS NOT NULL($0))])
@@ -142,7 +142,7 @@ HiveProject(promotions=[$0], total=[$1], _o__c2=[*(/(CAST($0):DECIMAL(15, 4), CA
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($4))])
HiveTableScan(table=[[default, customer]], table:alias=[customer])
HiveProject(ca_address_sk=[$0])
- HiveFilter(condition=[AND(=($11, -7), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(=($11, -7:DECIMAL(1, 0)), IS NOT NULL($0))])
HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$1], ss_customer_sk=[$2], ss_store_sk=[$3], ss_ext_sales_price=[$4], d_date_sk=[$5], i_item_sk=[$6], s_store_sk=[$7])
HiveJoin(condition=[=($3, $7)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -158,6 +158,6 @@ HiveProject(promotions=[$0], total=[$1], _o__c2=[*(/(CAST($0):DECIMAL(15, 4), CA
HiveFilter(condition=[AND(=($12, _UTF-16LE'Electronics'), IS NOT NULL($0))])
HiveTableScan(table=[[default, item]], table:alias=[item])
HiveProject(s_store_sk=[$0])
- HiveFilter(condition=[AND(=($27, -7), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(=($27, -7:DECIMAL(1, 0)), IS NOT NULL($0))])
HiveTableScan(table=[[default, store]], table:alias=[store])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query63.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query63.q.out
index 78c9b13111..e4218340dd 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query63.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query63.q.out
@@ -67,7 +67,7 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveSortLimit(sort0=[$0], sort1=[$2], sort2=[$1], dir0=[ASC], dir1=[ASC], dir2=[ASC], fetch=[100])
HiveProject((tok_table_or_col i_manager_id)=[$0], (tok_function sum (tok_table_or_col ss_sales_price))=[$1], avg_window_0=[$2])
- HiveFilter(condition=[CASE(>($2, 0), >(/(ABS(-($1, $2)), $2), 0.1), null)])
+ HiveFilter(condition=[CASE(>($2, 0:DECIMAL(1, 0)), >(/(ABS(-($1, $2)), $2), 0.1:DECIMAL(2, 1)), false)])
HiveProject((tok_table_or_col i_manager_id)=[$0], (tok_function sum (tok_table_or_col ss_sales_price))=[$2], avg_window_0=[avg($2) OVER (PARTITION BY $0 ORDER BY $0 NULLS FIRST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)])
HiveProject(i_manager_id=[$0], d_moy=[$1], $f2=[$2])
HiveAggregate(group=[{6, 8}], agg#0=[sum($4)])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query64.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query64.q.out
index 356778b4a7..3e1cca4b28 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query64.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query64.q.out
@@ -266,7 +266,7 @@ CBO PLAN:
HiveProject(product_name=[$0], store_name=[$1], store_zip=[$2], b_street_number=[$3], b_streen_name=[$4], b_city=[$5], b_zip=[$6], c_street_number=[$7], c_street_name=[$8], c_city=[$9], c_zip=[$10], syear=[CAST(2000):INTEGER], cnt=[$11], s1=[$12], s2=[$13], s3=[$14], s11=[$15], s21=[$16], s31=[$17], syear1=[CAST(2001):INTEGER], cnt1=[$18])
HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$18], dir0=[ASC], dir1=[ASC], dir2=[ASC])
HiveProject(product_name=[$0], store_name=[$2], store_zip=[$3], b_street_number=[$4], b_streen_name=[$5], b_city=[$6], b_zip=[$7], c_street_number=[$8], c_street_name=[$9], c_city=[$10], c_zip=[$11], cnt=[$12], s1=[$13], s2=[$14], s3=[$15], s11=[$20], s21=[$21], s31=[$22], cnt1=[$19])
- HiveJoin(condition=[AND(AND(AND(=($1, $16), <=($19, $12)), =($2, $17)), =($3, $18))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($1, $16), <=($19, $12), =($2, $17), =($3, $18))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject($f0=[$13], $f1=[$12], $f2=[$10], $f3=[$11], $f4=[$6], $f5=[$7], $f6=[$8], $f7=[$9], $f8=[$2], $f9=[$3], $f10=[$4], $f11=[$5], $f15=[$14], $f16=[$15], $f17=[$16], $f18=[$17])
HiveAggregate(group=[{9, 11, 16, 17, 18, 19, 25, 26, 27, 28, 30, 31, 47, 48}], agg#0=[count()], agg#1=[sum($44)], agg#2=[sum($45)], agg#3=[sum($46)])
HiveJoin(condition=[=($33, $51)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -331,13 +331,13 @@ HiveProject(product_name=[$0], store_name=[$1], store_zip=[$2], b_street_number=
HiveFilter(condition=[AND(IS NOT NULL($2), IS NOT NULL($9), IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($3), IS NOT NULL($4), IS NOT NULL($8), IS NOT NULL($5), IS NOT NULL($6))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(i_item_sk=[$0], i_product_name=[$21])
- HiveFilter(condition=[AND(IN($17, _UTF-16LE'maroon', _UTF-16LE'burnished', _UTF-16LE'dim', _UTF-16LE'steel', _UTF-16LE'navajo', _UTF-16LE'chocolate'), BETWEEN(false, $5, 36, 45), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(IN($17, _UTF-16LE'maroon', _UTF-16LE'burnished', _UTF-16LE'dim', _UTF-16LE'steel', _UTF-16LE'navajo', _UTF-16LE'chocolate'), BETWEEN(false, $5, 36:DECIMAL(2, 0), 45:DECIMAL(2, 0)), IS NOT NULL($0))])
HiveTableScan(table=[[default, item]], table:alias=[item])
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[AND(=($6, 2000), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[d1])
HiveProject($f0=[$0])
- HiveFilter(condition=[>($1, *(2, $2))])
+ HiveFilter(condition=[>($1, *(2:DECIMAL(10, 0), $2))])
HiveAggregate(group=[{0}], agg#0=[sum($2)], agg#1=[sum($5)])
HiveJoin(condition=[AND(=($0, $3), =($1, $4))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(cs_item_sk=[$15], cs_order_number=[$17], cs_ext_list_price=[$25])
@@ -413,13 +413,13 @@ HiveProject(product_name=[$0], store_name=[$1], store_zip=[$2], b_street_number=
HiveFilter(condition=[AND(IS NOT NULL($2), IS NOT NULL($9), IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($3), IS NOT NULL($4), IS NOT NULL($8), IS NOT NULL($5), IS NOT NULL($6))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(i_item_sk=[$0], i_product_name=[$21])
- HiveFilter(condition=[AND(IN($17, _UTF-16LE'maroon', _UTF-16LE'burnished', _UTF-16LE'dim', _UTF-16LE'steel', _UTF-16LE'navajo', _UTF-16LE'chocolate'), BETWEEN(false, $5, 36, 45), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(IN($17, _UTF-16LE'maroon', _UTF-16LE'burnished', _UTF-16LE'dim', _UTF-16LE'steel', _UTF-16LE'navajo', _UTF-16LE'chocolate'), BETWEEN(false, $5, 36:DECIMAL(2, 0), 45:DECIMAL(2, 0)), IS NOT NULL($0))])
HiveTableScan(table=[[default, item]], table:alias=[item])
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[AND(=($6, 2001), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[d1])
HiveProject($f0=[$0])
- HiveFilter(condition=[>($1, *(2, $2))])
+ HiveFilter(condition=[>($1, *(2:DECIMAL(10, 0), $2))])
HiveAggregate(group=[{0}], agg#0=[sum($2)], agg#1=[sum($5)])
HiveJoin(condition=[AND(=($0, $3), =($1, $4))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(cs_item_sk=[$15], cs_order_number=[$17], cs_ext_list_price=[$25])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query65.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query65.q.out
index 25cb9ccc6b..ed7b1693b5 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query65.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query65.q.out
@@ -82,7 +82,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[AND(BETWEEN(false, $3, 1212, 1223), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject($f0=[$0], *=[*(0.1, /($1, $2))])
+ HiveProject($f0=[$0], *=[*(0.1:DECIMAL(2, 1), /($1, $2))])
HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)])
HiveProject(ss_item_sk=[$0], ss_store_sk=[$1], $f2=[$2])
HiveAggregate(group=[{1, 2}], agg#0=[sum($3)])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query66.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query66.q.out
index e2409a9d82..db1ce36766 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query66.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query66.q.out
@@ -455,7 +455,7 @@ POSTHOOK: Input: default@warehouse
POSTHOOK: Input: default@web_sales
POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
-HiveProject(w_warehouse_name=[$0], w_warehouse_sq_ft=[$1], w_city=[$2], w_county=[$3], w_state=[$4], w_country=[$5], ship_carriers=[CAST(_UTF-16LE'DIAMOND,AIRBORNE'):VARCHAR(2147483647) CHARACTER SET "UTF-16LE" COLLATE "ISO-8859-1$en_US$primary"], year=[CAST(2002):INTEGER], jan_sales=[$6], feb_sales=[$7], mar_sales=[$8], apr_sales=[$9], may_sales=[$10], jun_sales=[$11], jul_sales=[$12], aug_sales=[$13], sep_sales=[$14], oct_sales=[$15], nov_sales=[$16], dec_sales=[$17], jan_sales_per_sq_foot=[$18], feb_sales_per_sq_foot=[$19], mar_sales_per_sq_foot=[$20], apr_sales_per_sq_foot=[$21], may_sales_per_sq_foot=[$22], jun_sales_per_sq_foot=[$23], jul_sales_per_sq_foot=[$24], aug_sales_per_sq_foot=[$25], sep_sales_per_sq_foot=[$26], oct_sales_per_sq_foot=[$27], nov_sales_per_sq_foot=[$28], dec_sales_per_sq_foot=[$29], jan_net=[$30], feb_net=[$31], mar_net=[$32], apr_net=[$33], may_net=[$34], jun_net=[$35], jul_net=[$36], aug_net=[$37], sep_net=[$38], oct_net=[$39], nov_net=[$40], dec_net=[$41])
+HiveProject(w_warehouse_name=[$0], w_warehouse_sq_ft=[$1], w_city=[$2], w_county=[$3], w_state=[$4], w_country=[$5], ship_carriers=[CAST(_UTF-16LE'DIAMOND,AIRBORNE':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"):VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], year=[CAST(2002):INTEGER], jan_sales=[$6], feb_sales=[$7], mar_sales=[$8], apr_sales=[$9], may_sales=[$10], jun_sales=[$11], jul_sales=[$12], aug_sales=[$13], sep_sales=[$14], oct_sales=[$15], nov_sales=[$16], dec_sales=[$17], jan_sales_per_sq_foot=[$18], feb_sales_per_sq_foot=[$19], mar_sales_per_sq_foot=[$20], apr_sales_per_sq_foot=[$21], may_sales_per_sq_foot=[$22], jun_sales_per_sq_foot=[$23], jul_sales_per_sq_foot=[$24], aug_sales_per_sq_foot=[$25], sep_sales_per_sq_foot=[$26], oct_sales_per_sq_foot=[$27], nov_sales_per_sq_foot=[$28], dec_sales_per_sq_foot=[$29], jan_net=[$30], feb_net=[$31], mar_net=[$32], apr_net=[$33], may_net=[$34], jun_net=[$35], jul_net=[$36], aug_net=[$37], sep_net=[$38], oct_net=[$39], nov_net=[$40], dec_net=[$41])
HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100])
HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3], $f4=[$4], $f5=[$5], $f6=[$6], $f7=[$7], $f8=[$8], $f9=[$9], $f10=[$10], $f11=[$11], $f12=[$12], $f13=[$13], $f14=[$14], $f15=[$15], $f16=[$16], $f17=[$17], $f18=[$18], $f19=[$19], $f20=[$20], $f21=[$21], $f22=[$22], $f23=[$23], $f24=[$24], $f25=[$25], $f26=[$26], $f27=[$27], $f28=[$28], $f29=[$29], $f30=[$30], $f31=[$31], $f32=[$32], $f33=[$33], $f34=[$34], $f35=[$35], $f36=[$36], $f37=[$37], $f38=[$38], $f39=[$39], $f40=[$40], $f41=[$41])
HiveAggregate(group=[{0, 1, 2, 3, 4, 5}], agg#0=[sum($6)], agg#1=[sum($7)], agg#2=[sum($8)], agg#3=[sum($9)], agg#4=[sum($10)], agg#5=[sum($11)], agg#6=[sum($12)], agg#7=[sum($13)], agg#8=[sum($14)], agg#9=[sum($15)], agg#10=[sum($16)], agg#11=[sum($17)], agg#12=[sum($18)], agg#13=[sum($19)], agg#14=[sum($20)], agg#15=[sum($21)], agg#16=[sum($22)], agg#17=[sum($23)], agg#18=[sum($24)], agg#19=[sum($25)], agg#20=[sum($26)], agg#21=[sum($27)], agg#22=[sum($28)], agg#23=[sum($29)], agg#24=[sum($30)], agg#25=[sum($31)], agg#26=[sum($32)], agg#27=[sum($33)], agg#28=[sum($34)], agg#29=[sum($35)], agg#30=[sum($36)], agg#31=[sum($37)], agg#32=[sum($38)], agg#33=[sum($39)], agg#34=[sum($40)], agg#35=[sum($41)])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query73.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query73.q.out
index 2639cf22b4..8f686fed36 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query73.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query73.q.out
@@ -72,7 +72,7 @@ HiveSortLimit(sort0=[$5], dir0=[DESC-nulls-last])
HiveFilter(condition=[IS NOT NULL($0)])
HiveTableScan(table=[[default, customer]], table:alias=[customer])
HiveProject(ss_ticket_number=[$0], ss_customer_sk=[$1], $f2=[$2])
- HiveFilter(condition=[BETWEEN(false, $2, 1, 5)])
+ HiveFilter(condition=[BETWEEN(false, $2, 1:BIGINT, 5:BIGINT)])
HiveProject(ss_ticket_number=[$1], ss_customer_sk=[$0], $f2=[$2])
HiveAggregate(group=[{1, 4}], agg#0=[count()])
HiveJoin(condition=[=($3, $7)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -85,7 +85,7 @@ HiveSortLimit(sort0=[$5], dir0=[DESC-nulls-last])
HiveFilter(condition=[AND(IN($6, 2000, 2001, 2002), BETWEEN(false, $9, 1, 2), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(hd_demo_sk=[$0])
- HiveFilter(condition=[AND(IN($2, _UTF-16LE'>10000', _UTF-16LE'unknown'), >($4, 0), CASE(>($4, 0), >(/(CAST($3):DOUBLE, CAST($4):DOUBLE), 1), null), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(IN($2, _UTF-16LE'>10000', _UTF-16LE'unknown'), >($4, 0), CASE(>($4, 0), >(/(CAST($3):DOUBLE, CAST($4):DOUBLE), 1), false), IS NOT NULL($0))])
HiveTableScan(table=[[default, household_demographics]], table:alias=[household_demographics])
HiveProject(s_store_sk=[$0])
HiveFilter(condition=[AND(IN($23, _UTF-16LE'Mobile County', _UTF-16LE'Maverick County', _UTF-16LE'Huron County', _UTF-16LE'Kittitas County'), IS NOT NULL($0))])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query74.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query74.q.out
index 4a9a1127b3..2974e00613 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query74.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query74.q.out
@@ -131,7 +131,7 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveSortLimit(sort0=[$1], sort1=[$0], sort2=[$2], dir0=[ASC], dir1=[ASC], dir2=[ASC], fetch=[100])
HiveProject(customer_id=[$0], customer_first_name=[$1], customer_last_name=[$2])
- HiveJoin(condition=[AND(=($0, $6), CASE(CAST(IS NOT NULL($7)):BOOLEAN, CASE($10, >(/($5, $9), /($3, $7)), >(null, /($3, $7))), CASE($10, >(/($5, $9), null), null)))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($0, $6), CASE(IS NOT NULL($7), CASE($10, >(/($5, $9), /($3, $7)), false), false))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(c_customer_id=[$0], c_first_name=[$1], c_last_name=[$2], $f3=[$3])
HiveAggregate(group=[{1, 2, 3}], agg#0=[max($6)])
HiveJoin(condition=[=($0, $5)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -161,7 +161,7 @@ HiveSortLimit(sort0=[$1], sort1=[$0], sort2=[$2], dir0=[ASC], dir1=[ASC], dir2=[
HiveFilter(condition=[AND(IN($6, 2001, 2002), =($6, 2002), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject($f0=[$0], $f4=[$3])
- HiveFilter(condition=[>($3, 0)])
+ HiveFilter(condition=[>($3, 0:DECIMAL(1, 0))])
HiveAggregate(group=[{1, 2, 3}], agg#0=[max($6)])
HiveJoin(condition=[=($0, $5)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(c_customer_sk=[$0], c_customer_id=[$1], c_first_name=[$8], c_last_name=[$9])
@@ -175,7 +175,7 @@ HiveSortLimit(sort0=[$1], sort1=[$0], sort2=[$2], dir0=[ASC], dir1=[ASC], dir2=[
HiveFilter(condition=[AND(IN($6, 2001, 2002), =($6, 2001), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(customer_id=[$0], year_total=[$3], CAST=[CAST(IS NOT NULL($3)):BOOLEAN])
- HiveFilter(condition=[>($3, 0)])
+ HiveFilter(condition=[>($3, 0:DECIMAL(1, 0))])
HiveAggregate(group=[{1, 2, 3}], agg#0=[max($6)])
HiveJoin(condition=[=($0, $5)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(c_customer_sk=[$0], c_customer_id=[$1], c_first_name=[$8], c_last_name=[$9])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query75.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query75.q.out
index 8c445d9de5..7bc1cc676f 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query75.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query75.q.out
@@ -158,7 +158,7 @@ CBO PLAN:
HiveProject(prev_year=[CAST(2001):INTEGER], year=[CAST(2002):INTEGER], i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], i_manufact_id=[$3], prev_yr_cnt=[$4], curr_yr_cnt=[$5], sales_cnt_diff=[$6], sales_amt_diff=[$7])
HiveSortLimit(sort0=[$6], dir0=[ASC], fetch=[100])
HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], i_manufact_id=[$3], prev_yr_cnt=[$4], curr_yr_cnt=[$10], sales_cnt_diff=[-($10, $4)], sales_amt_diff=[-($11, $5)])
- HiveJoin(condition=[AND(AND(AND(AND(=($6, $0), =($7, $1)), =($8, $2)), =($9, $3)), <(/(CAST($10):DECIMAL(17, 2), CAST($4):DECIMAL(17, 2)), 0.9))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($6, $0), =($7, $1), =($8, $2), =($9, $3), <(/(CAST($10):DECIMAL(17, 2), CAST($4):DECIMAL(17, 2)), 0.9:DECIMAL(2, 1)))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], i_manufact_id=[$3], $f4=[$4], $f5=[$5])
HiveAggregate(group=[{0, 1, 2, 3}], agg#0=[sum($4)], agg#1=[sum($5)])
HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], i_manufact_id=[$3], sales_cnt=[$4], sales_amt=[$5])
@@ -169,7 +169,7 @@ HiveProject(prev_year=[CAST(2001):INTEGER], year=[CAST(2002):INTEGER], i_brand_i
HiveAggregate(group=[{0, 1, 2, 3, 4, 5}])
HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], i_manufact_id=[$3], sales_cnt=[$4], sales_amt=[$5])
HiveUnion(all=[true])
- HiveProject(i_brand_id=[$11], i_class_id=[$12], i_category_id=[$13], i_manufact_id=[$14], sales_cnt=[-($7, CASE(IS NOT NULL($2), $2, 0))], sales_amt=[-($8, CASE(IS NOT NULL($3), $3, 0))])
+ HiveProject(i_brand_id=[$11], i_class_id=[$12], i_category_id=[$13], i_manufact_id=[$14], sales_cnt=[-($7, CASE(IS NOT NULL($2), $2, 0))], sales_amt=[-($8, CASE(IS NOT NULL($3), $3, 0:DECIMAL(1, 0)))])
HiveJoin(condition=[AND(=($6, $1), =($5, $0))], joinType=[right], algorithm=[none], cost=[not available])
HiveProject(cr_item_sk=[$2], cr_order_number=[$16], cr_return_quantity=[$17], cr_return_amount=[$18])
HiveFilter(condition=[IS NOT NULL($2)])
@@ -185,7 +185,7 @@ HiveProject(prev_year=[CAST(2001):INTEGER], year=[CAST(2002):INTEGER], i_brand_i
HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11], i_manufact_id=[$13])
HiveFilter(condition=[AND(=($12, _UTF-16LE'Sports'), IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11), IS NOT NULL($13))])
HiveTableScan(table=[[default, item]], table:alias=[item])
- HiveProject(i_brand_id=[$11], i_class_id=[$12], i_category_id=[$13], i_manufact_id=[$14], sales_cnt=[-($7, CASE(IS NOT NULL($2), $2, 0))], sales_amt=[-($8, CASE(IS NOT NULL($3), $3, 0))])
+ HiveProject(i_brand_id=[$11], i_class_id=[$12], i_category_id=[$13], i_manufact_id=[$14], sales_cnt=[-($7, CASE(IS NOT NULL($2), $2, 0))], sales_amt=[-($8, CASE(IS NOT NULL($3), $3, 0:DECIMAL(1, 0)))])
HiveJoin(condition=[AND(=($6, $1), =($5, $0))], joinType=[right], algorithm=[none], cost=[not available])
HiveProject(sr_item_sk=[$2], sr_ticket_number=[$9], sr_return_quantity=[$10], sr_return_amt=[$11])
HiveFilter(condition=[IS NOT NULL($2)])
@@ -201,7 +201,7 @@ HiveProject(prev_year=[CAST(2001):INTEGER], year=[CAST(2002):INTEGER], i_brand_i
HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11], i_manufact_id=[$13])
HiveFilter(condition=[AND(=($12, _UTF-16LE'Sports'), IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11), IS NOT NULL($13))])
HiveTableScan(table=[[default, item]], table:alias=[item])
- HiveProject(i_brand_id=[$11], i_class_id=[$12], i_category_id=[$13], i_manufact_id=[$14], sales_cnt=[-($7, CASE(IS NOT NULL($2), $2, 0))], sales_amt=[-($8, CASE(IS NOT NULL($3), $3, 0))])
+ HiveProject(i_brand_id=[$11], i_class_id=[$12], i_category_id=[$13], i_manufact_id=[$14], sales_cnt=[-($7, CASE(IS NOT NULL($2), $2, 0))], sales_amt=[-($8, CASE(IS NOT NULL($3), $3, 0:DECIMAL(1, 0)))])
HiveJoin(condition=[AND(=($6, $1), =($5, $0))], joinType=[right], algorithm=[none], cost=[not available])
HiveProject(wr_item_sk=[$2], wr_order_number=[$13], wr_return_quantity=[$14], wr_return_amt=[$15])
HiveFilter(condition=[IS NOT NULL($2)])
@@ -227,7 +227,7 @@ HiveProject(prev_year=[CAST(2001):INTEGER], year=[CAST(2002):INTEGER], i_brand_i
HiveAggregate(group=[{0, 1, 2, 3, 4, 5}])
HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], i_manufact_id=[$3], sales_cnt=[$4], sales_amt=[$5])
HiveUnion(all=[true])
- HiveProject(i_brand_id=[$11], i_class_id=[$12], i_category_id=[$13], i_manufact_id=[$14], sales_cnt=[-($7, CASE(IS NOT NULL($2), $2, 0))], sales_amt=[-($8, CASE(IS NOT NULL($3), $3, 0))])
+ HiveProject(i_brand_id=[$11], i_class_id=[$12], i_category_id=[$13], i_manufact_id=[$14], sales_cnt=[-($7, CASE(IS NOT NULL($2), $2, 0))], sales_amt=[-($8, CASE(IS NOT NULL($3), $3, 0:DECIMAL(1, 0)))])
HiveJoin(condition=[AND(=($6, $1), =($5, $0))], joinType=[right], algorithm=[none], cost=[not available])
HiveProject(cr_item_sk=[$2], cr_order_number=[$16], cr_return_quantity=[$17], cr_return_amount=[$18])
HiveFilter(condition=[IS NOT NULL($2)])
@@ -243,7 +243,7 @@ HiveProject(prev_year=[CAST(2001):INTEGER], year=[CAST(2002):INTEGER], i_brand_i
HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11], i_manufact_id=[$13])
HiveFilter(condition=[AND(=($12, _UTF-16LE'Sports'), IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11), IS NOT NULL($13))])
HiveTableScan(table=[[default, item]], table:alias=[item])
- HiveProject(i_brand_id=[$11], i_class_id=[$12], i_category_id=[$13], i_manufact_id=[$14], sales_cnt=[-($7, CASE(IS NOT NULL($2), $2, 0))], sales_amt=[-($8, CASE(IS NOT NULL($3), $3, 0))])
+ HiveProject(i_brand_id=[$11], i_class_id=[$12], i_category_id=[$13], i_manufact_id=[$14], sales_cnt=[-($7, CASE(IS NOT NULL($2), $2, 0))], sales_amt=[-($8, CASE(IS NOT NULL($3), $3, 0:DECIMAL(1, 0)))])
HiveJoin(condition=[AND(=($6, $1), =($5, $0))], joinType=[right], algorithm=[none], cost=[not available])
HiveProject(sr_item_sk=[$2], sr_ticket_number=[$9], sr_return_quantity=[$10], sr_return_amt=[$11])
HiveFilter(condition=[IS NOT NULL($2)])
@@ -259,7 +259,7 @@ HiveProject(prev_year=[CAST(2001):INTEGER], year=[CAST(2002):INTEGER], i_brand_i
HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11], i_manufact_id=[$13])
HiveFilter(condition=[AND(=($12, _UTF-16LE'Sports'), IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11), IS NOT NULL($13))])
HiveTableScan(table=[[default, item]], table:alias=[item])
- HiveProject(i_brand_id=[$11], i_class_id=[$12], i_category_id=[$13], i_manufact_id=[$14], sales_cnt=[-($7, CASE(IS NOT NULL($2), $2, 0))], sales_amt=[-($8, CASE(IS NOT NULL($3), $3, 0))])
+ HiveProject(i_brand_id=[$11], i_class_id=[$12], i_category_id=[$13], i_manufact_id=[$14], sales_cnt=[-($7, CASE(IS NOT NULL($2), $2, 0))], sales_amt=[-($8, CASE(IS NOT NULL($3), $3, 0:DECIMAL(1, 0)))])
HiveJoin(condition=[AND(=($6, $1), =($5, $0))], joinType=[right], algorithm=[none], cost=[not available])
HiveProject(wr_item_sk=[$2], wr_order_number=[$13], wr_return_quantity=[$14], wr_return_amt=[$15])
HiveFilter(condition=[IS NOT NULL($2)])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query76.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query76.q.out
index 740d03818e..6f4f32e307 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query76.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query76.q.out
@@ -62,7 +62,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$4], dir0=[
HiveAggregate(group=[{0, 1, 2, 3, 4}], agg#0=[count()], agg#1=[sum($5)])
HiveProject(channel=[$0], col_name=[$1], d_year=[$2], d_qoy=[$3], i_category=[$4], ext_sales_price=[$5])
HiveUnion(all=[true])
- HiveProject(channel=[_UTF-16LE'store'], col_name=[_UTF-16LE'ss_addr_sk'], d_year=[$1], d_qoy=[$2], i_category=[$4], ext_sales_price=[$7])
+ HiveProject(channel=[_UTF-16LE'store':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], col_name=[_UTF-16LE'ss_addr_sk':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], d_year=[$1], d_qoy=[$2], i_category=[$4], ext_sales_price=[$7])
HiveJoin(condition=[=($5, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(d_date_sk=[$0], d_year=[$6], d_qoy=[$10])
HiveFilter(condition=[IS NOT NULL($0)])
@@ -74,7 +74,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$4], dir0=[
HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_ext_sales_price=[$15])
HiveFilter(condition=[AND(IS NULL($6), IS NOT NULL($2), IS NOT NULL($0))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
- HiveProject(channel=[_UTF-16LE'web'], col_name=[_UTF-16LE'ws_web_page_sk'], d_year=[$6], d_qoy=[$7], i_category=[$4], ext_sales_price=[$2])
+ HiveProject(channel=[_UTF-16LE'web':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], col_name=[_UTF-16LE'ws_web_page_sk':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], d_year=[$6], d_qoy=[$7], i_category=[$4], ext_sales_price=[$2])
HiveJoin(condition=[=($0, $5)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_ext_sales_price=[$23])
@@ -86,7 +86,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$4], dir0=[
HiveProject(d_date_sk=[$0], d_year=[$6], d_qoy=[$10])
HiveFilter(condition=[IS NOT NULL($0)])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(channel=[_UTF-16LE'catalog'], col_name=[_UTF-16LE'cs_warehouse_sk'], d_year=[$6], d_qoy=[$7], i_category=[$4], ext_sales_price=[$2])
+ HiveProject(channel=[_UTF-16LE'catalog':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], col_name=[_UTF-16LE'cs_warehouse_sk':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], d_year=[$6], d_qoy=[$7], i_category=[$4], ext_sales_price=[$2])
HiveJoin(condition=[=($0, $5)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($1, $3)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15], cs_ext_sales_price=[$23])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query77.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query77.q.out
index 91ad054e66..fb8b35e207 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query77.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query77.q.out
@@ -237,7 +237,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveAggregate(group=[{0, 1}], groups=[[{0, 1}, {0}, {}]], agg#0=[sum($2)], agg#1=[sum($3)], agg#2=[sum($4)])
HiveProject(channel=[$0], id=[$1], sales=[$2], returns=[$3], profit=[$4])
HiveUnion(all=[true])
- HiveProject(channel=[_UTF-16LE'store channel'], id=[$0], sales=[$1], returns=[CASE(IS NOT NULL($4), $4, 0)], profit=[-($2, CASE(IS NOT NULL($5), $5, 0))])
+ HiveProject(channel=[_UTF-16LE'store channel':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], id=[$0], sales=[$1], returns=[CASE(IS NOT NULL($4), $4, 0)], profit=[-($2, CASE(IS NOT NULL($5), $5, 0))])
HiveJoin(condition=[=($0, $3)], joinType=[left], algorithm=[none], cost=[not available])
HiveProject(s_store_sk=[$0], $f1=[$1], $f2=[$2])
HiveAggregate(group=[{5}], agg#0=[sum($2)], agg#1=[sum($3)])
@@ -247,7 +247,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00, 1998-09-03 00:00:00), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00:TIMESTAMP(9), 1998-09-03 00:00:00:TIMESTAMP(9)), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(s_store_sk=[$0])
HiveFilter(condition=[IS NOT NULL($0)])
@@ -263,9 +263,9 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))])
HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00, 1998-09-03 00:00:00), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00:TIMESTAMP(9), 1998-09-03 00:00:00:TIMESTAMP(9)), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(channel=[_UTF-16LE'catalog channel'], id=[$0], sales=[$1], returns=[$3], profit=[-($2, $4)])
+ HiveProject(channel=[_UTF-16LE'catalog channel':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], id=[$0], sales=[$1], returns=[$3], profit=[-($2, $4)])
HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(cs_call_center_sk=[$0], $f1=[$1], $f2=[$2])
HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[sum($3)])
@@ -274,7 +274,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveFilter(condition=[IS NOT NULL($0)])
HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00, 1998-09-03 00:00:00), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00:TIMESTAMP(9), 1998-09-03 00:00:00:TIMESTAMP(9)), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject($f0=[$0], $f1=[$1])
HiveAggregate(group=[{}], agg#0=[sum($1)], agg#1=[sum($2)])
@@ -283,9 +283,9 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveFilter(condition=[IS NOT NULL($0)])
HiveTableScan(table=[[default, catalog_returns]], table:alias=[catalog_returns])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00, 1998-09-03 00:00:00), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00:TIMESTAMP(9), 1998-09-03 00:00:00:TIMESTAMP(9)), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(channel=[_UTF-16LE'web channel'], id=[$0], sales=[$1], returns=[CASE(IS NOT NULL($4), $4, 0)], profit=[-($2, CASE(IS NOT NULL($5), $5, 0))])
+ HiveProject(channel=[_UTF-16LE'web channel':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], id=[$0], sales=[$1], returns=[CASE(IS NOT NULL($4), $4, 0)], profit=[-($2, CASE(IS NOT NULL($5), $5, 0))])
HiveJoin(condition=[=($0, $3)], joinType=[left], algorithm=[none], cost=[not available])
HiveProject(wp_web_page_sk=[$0], $f1=[$1], $f2=[$2])
HiveAggregate(group=[{0}], agg#0=[sum($3)], agg#1=[sum($4)])
@@ -298,7 +298,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($12))])
HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00, 1998-09-03 00:00:00), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00:TIMESTAMP(9), 1998-09-03 00:00:00:TIMESTAMP(9)), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(wp_web_page_sk=[$0], $f1=[$1], $f2=[$2])
HiveAggregate(group=[{0}], agg#0=[sum($3)], agg#1=[sum($4)])
@@ -311,6 +311,6 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($11))])
HiveTableScan(table=[[default, web_returns]], table:alias=[web_returns])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00, 1998-09-03 00:00:00), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00:TIMESTAMP(9), 1998-09-03 00:00:00:TIMESTAMP(9)), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query78.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query78.q.out
index 02635826f0..59df50ee57 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query78.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query78.q.out
@@ -132,52 +132,55 @@ CBO PLAN:
HiveSortLimit(fetch=[100])
HiveProject(ss_sold_year=[CAST(2000):INTEGER], ss_item_sk=[$0], ss_customer_sk=[$1], ratio=[$2], store_qty=[$3], store_wholesale_cost=[$4], store_sales_price=[$5], other_chan_qty=[$6], other_chan_wholesale_cost=[$7], other_chan_sales_price=[$8])
HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$9], sort3=[$10], sort4=[$11], sort5=[$6], sort6=[$7], sort7=[$8], sort8=[$12], dir0=[ASC], dir1=[ASC], dir2=[DESC-nulls-last], dir3=[DESC-nulls-last], dir4=[DESC-nulls-last], dir5=[ASC], dir6=[ASC], dir7=[ASC], dir8=[ASC])
- HiveProject(ss_item_sk=[$0], ss_customer_sk=[$1], ratio=[round(/(CAST($2):DOUBLE, CAST(CASE(AND(IS NOT NULL($7), IS NOT NULL($11)), +($7, $11), 1)):DOUBLE), 2)], store_qty=[$2], store_wholesale_cost=[$3], store_sales_price=[$4], other_chan_qty=[+(CASE(IS NOT NULL($7), $7, 0), CASE(IS NOT NULL($11), $11, 0))], other_chan_wholesale_cost=[+(CASE(IS NOT NULL($8), $8, 0), CASE(IS NOT NULL($12), $12, 0))], other_chan_sales_price=[+(CASE(IS NOT NULL($9), $9, 0), CASE(IS NOT NULL($13), $13, 0))], ss_qty=[$2], ss_wc=[$3], ss_sp=[$4], (tok_function round (/ (tok_table_or_col ss_qty) (tok_function coalesce (+ (tok_table_or_col ws_qty) (tok_table_or_col cs_qty)) 1)) 2)=[round(/(CAST($2):DOUBLE, CAST(CASE(AND(IS NOT NULL($7), IS NOT NULL($11)), +($7, $11), 1)):DOUBLE), 2)])
- HiveFilter(condition=[CASE(IS NOT NULL($11), >($11, 0), false)])
- HiveJoin(condition=[=($10, $1)], joinType=[left], algorithm=[none], cost=[not available])
- HiveProject(ss_item_sk=[$0], ss_customer_sk=[$1], $f2=[$2], $f3=[$3], $f4=[$4], ws_item_sk=[$5], ws_bill_customer_sk=[$6], $f20=[$7], $f30=[$8], $f40=[$9])
- HiveFilter(condition=[CASE(IS NOT NULL($7), >($7, 0), false)])
- HiveJoin(condition=[AND(=($5, $0), =($6, $1))], joinType=[left], algorithm=[none], cost=[not available])
- HiveProject(ss_item_sk=[$0], ss_customer_sk=[$1], $f2=[$2], $f3=[$3], $f4=[$4])
- HiveAggregate(group=[{2, 3}], agg#0=[sum($4)], agg#1=[sum($5)], agg#2=[sum($6)])
- HiveJoin(condition=[=($1, $0)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[AND(=($6, 2000), IS NOT NULL($0))])
- HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$1], ss_customer_sk=[$2], ss_quantity=[$4], ss_wholesale_cost=[$5], ss_sales_price=[$6])
- HiveFilter(condition=[IS NULL($8)])
- HiveJoin(condition=[AND(=($8, $3), =($1, $7))], joinType=[left], algorithm=[none], cost=[not available])
- HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_customer_sk=[$3], ss_ticket_number=[$9], ss_quantity=[$10], ss_wholesale_cost=[$11], ss_sales_price=[$13])
- HiveFilter(condition=[IS NOT NULL($0)])
- HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
- HiveProject(sr_item_sk=[$2], sr_ticket_number=[$9])
- HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns])
- HiveProject(ws_item_sk=[$0], ws_bill_customer_sk=[$1], $f2=[$2], $f3=[$3], $f4=[$4])
- HiveAggregate(group=[{2, 3}], agg#0=[sum($4)], agg#1=[sum($5)], agg#2=[sum($6)])
- HiveJoin(condition=[=($1, $0)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[AND(=($6, 2000), IS NOT NULL($0))])
- HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$1], ws_bill_customer_sk=[$2], ws_quantity=[$4], ws_wholesale_cost=[$5], ws_sales_price=[$6])
- HiveFilter(condition=[IS NULL($8)])
- HiveJoin(condition=[AND(=($8, $3), =($1, $7))], joinType=[left], algorithm=[none], cost=[not available])
- HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_bill_customer_sk=[$4], ws_order_number=[$17], ws_quantity=[$18], ws_wholesale_cost=[$19], ws_sales_price=[$21])
- HiveFilter(condition=[IS NOT NULL($0)])
- HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales])
- HiveProject(wr_item_sk=[$2], wr_order_number=[$13])
- HiveTableScan(table=[[default, web_returns]], table:alias=[web_returns])
- HiveProject($f2=[$0], $f3=[$2], $f4=[$3], $f5=[$4])
+ HiveProject(ss_item_sk=[$0], ss_customer_sk=[$1], ratio=[round(/(CAST($2):DOUBLE, CAST(CASE(AND($12, IS NOT NULL($7)), +($7, $11), 1)):DOUBLE), 2)], store_qty=[$2], store_wholesale_cost=[$3], store_sales_price=[$4], other_chan_qty=[+(CASE(IS NOT NULL($7), $7, 0), $13)], other_chan_wholesale_cost=[+(CASE(IS NOT NULL($8), $8, 0), $14)], other_chan_sales_price=[+(CASE(IS NOT NULL($9), $9, 0), $15)], ss_qty=[$2], ss_wc=[$3], ss_sp=[$4], (tok_function round (/ (tok_table_or_col ss_qty) (tok_function coalesce (+ (tok_table_or_col ws_qty) (tok_table_or_col cs_qty)) 1)) 2)=[round(/(CAST($2):DOUBLE, CAST(CASE(AND(IS NOT NULL($7), IS NOT NULL($11)), +($7, $11), 1)):DOUBLE), 2)])
+ HiveJoin(condition=[=($10, $1)], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($5, $0), =($6, $1))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveProject(ss_item_sk=[$0], ss_customer_sk=[$1], $f2=[$2], $f3=[$3], $f4=[$4])
HiveAggregate(group=[{2, 3}], agg#0=[sum($4)], agg#1=[sum($5)], agg#2=[sum($6)])
HiveJoin(condition=[=($1, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[AND(=($6, 2000), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(cs_sold_date_sk=[$0], cs_bill_customer_sk=[$1], cs_item_sk=[$2], cs_quantity=[$4], cs_wholesale_cost=[$5], cs_sales_price=[$6])
+ HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$1], ss_customer_sk=[$2], ss_quantity=[$4], ss_wholesale_cost=[$5], ss_sales_price=[$6])
HiveFilter(condition=[IS NULL($8)])
- HiveJoin(condition=[AND(=($8, $3), =($2, $7))], joinType=[left], algorithm=[none], cost=[not available])
- HiveProject(cs_sold_date_sk=[$0], cs_bill_customer_sk=[$3], cs_item_sk=[$15], cs_order_number=[$17], cs_quantity=[$18], cs_wholesale_cost=[$19], cs_sales_price=[$21])
- HiveFilter(condition=[AND(=($15, $15), IS NOT NULL($0))])
- HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales])
- HiveProject(cr_item_sk=[$2], cr_order_number=[$16])
- HiveTableScan(table=[[default, catalog_returns]], table:alias=[catalog_returns])
+ HiveJoin(condition=[AND(=($8, $3), =($1, $7))], joinType=[left], algorithm=[none], cost=[not available])
+ HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_customer_sk=[$3], ss_ticket_number=[$9], ss_quantity=[$10], ss_wholesale_cost=[$11], ss_sales_price=[$13])
+ HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($2), IS NOT NULL($3))])
+ HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
+ HiveProject(sr_item_sk=[$2], sr_ticket_number=[$9])
+ HiveFilter(condition=[IS NOT NULL($2)])
+ HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns])
+ HiveProject(ws_item_sk=[$0], ws_bill_customer_sk=[$1], $f2=[$2], $f3=[$3], $f4=[$4])
+ HiveFilter(condition=[>($2, 0)])
+ HiveAggregate(group=[{2, 3}], agg#0=[sum($4)], agg#1=[sum($5)], agg#2=[sum($6)])
+ HiveJoin(condition=[=($1, $0)], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveProject(d_date_sk=[$0])
+ HiveFilter(condition=[AND(=($6, 2000), IS NOT NULL($0))])
+ HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
+ HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$1], ws_bill_customer_sk=[$2], ws_quantity=[$4], ws_wholesale_cost=[$5], ws_sales_price=[$6])
+ HiveFilter(condition=[IS NULL($8)])
+ HiveJoin(condition=[AND(=($8, $3), =($1, $7))], joinType=[left], algorithm=[none], cost=[not available])
+ HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_bill_customer_sk=[$4], ws_order_number=[$17], ws_quantity=[$18], ws_wholesale_cost=[$19], ws_sales_price=[$21])
+ HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($3), IS NOT NULL($4))])
+ HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales])
+ HiveProject(wr_item_sk=[$2], wr_order_number=[$13])
+ HiveFilter(condition=[IS NOT NULL($2)])
+ HiveTableScan(table=[[default, web_returns]], table:alias=[web_returns])
+ HiveProject($f2=[$1], $f3=[$2], IS NOT NULL=[IS NOT NULL($2)], CASE=[CASE(IS NOT NULL($2), $2, 0)], CASE7=[CASE(IS NOT NULL($3), $3, 0)], CASE8=[CASE(IS NOT NULL($4), $4, 0)])
+ HiveFilter(condition=[>($2, 0)])
+ HiveProject(cs_item_sk=[$1], cs_bill_customer_sk=[$0], $f2=[$2], $f3=[$3], $f4=[$4])
+ HiveAggregate(group=[{2, 3}], agg#0=[sum($4)], agg#1=[sum($5)], agg#2=[sum($6)])
+ HiveJoin(condition=[=($1, $0)], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveProject(d_date_sk=[$0])
+ HiveFilter(condition=[AND(=($6, 2000), IS NOT NULL($0))])
+ HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
+ HiveProject(cs_sold_date_sk=[$0], cs_bill_customer_sk=[$1], cs_item_sk=[$2], cs_quantity=[$4], cs_wholesale_cost=[$5], cs_sales_price=[$6])
+ HiveFilter(condition=[IS NULL($8)])
+ HiveJoin(condition=[AND(=($8, $3), =($2, $7))], joinType=[left], algorithm=[none], cost=[not available])
+ HiveProject(cs_sold_date_sk=[$0], cs_bill_customer_sk=[$3], cs_item_sk=[$15], cs_order_number=[$17], cs_quantity=[$18], cs_wholesale_cost=[$19], cs_sales_price=[$21])
+ HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($15), IS NOT NULL($3))])
+ HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales])
+ HiveProject(cr_item_sk=[$2], cr_order_number=[$16])
+ HiveFilter(condition=[IS NOT NULL($2)])
+ HiveTableScan(table=[[default, catalog_returns]], table:alias=[catalog_returns])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query80.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query80.q.out
index 334f09cc33..5d6948cdfa 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query80.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query80.q.out
@@ -220,7 +220,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveAggregate(group=[{0, 1}], groups=[[{0, 1}, {0}, {}]], agg#0=[sum($2)], agg#1=[sum($3)], agg#2=[sum($4)])
HiveProject(channel=[$0], id=[$1], sales=[$2], returns=[$3], profit=[$4])
HiveUnion(all=[true])
- HiveProject(channel=[_UTF-16LE'store channel'], id=[||(_UTF-16LE'store', $0)], sales=[$1], returns=[$2], profit=[$3])
+ HiveProject(channel=[_UTF-16LE'store channel':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], id=[||(_UTF-16LE'store', $0)], sales=[$1], returns=[$2], profit=[$3])
HiveAggregate(group=[{0}], agg#0=[sum($1)], agg#1=[sum($2)], agg#2=[sum($3)])
HiveProject($f0=[$1], $f1=[$8], $f2=[CASE(IS NOT NULL($12), $12, 0)], $f3=[-($9, CASE(IS NOT NULL($13), $13, 0))])
HiveJoin(condition=[=($5, $0)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -230,7 +230,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveJoin(condition=[=($4, $13)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(i_item_sk=[$0])
- HiveFilter(condition=[AND(>($5, 50), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(>($5, 50:DECIMAL(2, 0)), IS NOT NULL($0))])
HiveTableScan(table=[[default, item]], table:alias=[item])
HiveJoin(condition=[=($0, $11)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[AND(=($1, $7), =($4, $8))], joinType=[left], algorithm=[none], cost=[not available])
@@ -241,12 +241,12 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveFilter(condition=[IS NOT NULL($2)])
HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00, 1998-09-03 00:00:00), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00:TIMESTAMP(9), 1998-09-03 00:00:00:TIMESTAMP(9)), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(p_promo_sk=[$0])
HiveFilter(condition=[AND(=($11, _UTF-16LE'N'), IS NOT NULL($0))])
HiveTableScan(table=[[default, promotion]], table:alias=[promotion])
- HiveProject(channel=[_UTF-16LE'catalog channel'], id=[||(_UTF-16LE'catalog_page', $0)], sales=[$1], returns=[$2], profit=[$3])
+ HiveProject(channel=[_UTF-16LE'catalog channel':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], id=[||(_UTF-16LE'catalog_page', $0)], sales=[$1], returns=[$2], profit=[$3])
HiveAggregate(group=[{0}], agg#0=[sum($1)], agg#1=[sum($2)], agg#2=[sum($3)])
HiveProject($f0=[$1], $f1=[$8], $f2=[CASE(IS NOT NULL($12), $12, 0)], $f3=[-($9, CASE(IS NOT NULL($13), $13, 0))])
HiveJoin(condition=[=($4, $0)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -256,7 +256,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveJoin(condition=[=($4, $13)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(i_item_sk=[$0])
- HiveFilter(condition=[AND(>($5, 50), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(>($5, 50:DECIMAL(2, 0)), IS NOT NULL($0))])
HiveTableScan(table=[[default, item]], table:alias=[item])
HiveJoin(condition=[=($0, $11)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[AND(=($2, $7), =($4, $8))], joinType=[left], algorithm=[none], cost=[not available])
@@ -267,12 +267,12 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveFilter(condition=[IS NOT NULL($2)])
HiveTableScan(table=[[default, catalog_returns]], table:alias=[catalog_returns])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00, 1998-09-03 00:00:00), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00:TIMESTAMP(9), 1998-09-03 00:00:00:TIMESTAMP(9)), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(p_promo_sk=[$0])
HiveFilter(condition=[AND(=($11, _UTF-16LE'N'), IS NOT NULL($0))])
HiveTableScan(table=[[default, promotion]], table:alias=[promotion])
- HiveProject(channel=[_UTF-16LE'web channel'], id=[||(_UTF-16LE'web_site', $0)], sales=[$1], returns=[$2], profit=[$3])
+ HiveProject(channel=[_UTF-16LE'web channel':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], id=[||(_UTF-16LE'web_site', $0)], sales=[$1], returns=[$2], profit=[$3])
HiveAggregate(group=[{0}], agg#0=[sum($1)], agg#1=[sum($2)], agg#2=[sum($3)])
HiveProject($f0=[$15], $f1=[$7], $f2=[CASE(IS NOT NULL($11), $11, 0)], $f3=[-($8, CASE(IS NOT NULL($12), $12, 0))])
HiveJoin(condition=[=($4, $14)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -282,7 +282,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveTableScan(table=[[default, promotion]], table:alias=[promotion])
HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(i_item_sk=[$0])
- HiveFilter(condition=[AND(>($5, 50), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(>($5, 50:DECIMAL(2, 0)), IS NOT NULL($0))])
HiveTableScan(table=[[default, item]], table:alias=[item])
HiveJoin(condition=[=($0, $11)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[AND(=($1, $7), =($4, $8))], joinType=[left], algorithm=[none], cost=[not available])
@@ -293,7 +293,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveFilter(condition=[IS NOT NULL($2)])
HiveTableScan(table=[[default, web_returns]], table:alias=[web_returns])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00, 1998-09-03 00:00:00), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00:TIMESTAMP(9), 1998-09-03 00:00:00:TIMESTAMP(9)), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(web_site_sk=[$0], web_site_id=[$1])
HiveFilter(condition=[IS NOT NULL($0)])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query81.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query81.q.out
index 0adb5551da..b23efd5a3c 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query81.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query81.q.out
@@ -69,7 +69,7 @@ POSTHOOK: Input: default@customer_address
POSTHOOK: Input: default@date_dim
POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
-HiveProject(c_customer_id=[$0], c_salutation=[$1], c_first_name=[$2], c_last_name=[$3], ca_street_number=[$4], ca_street_name=[$5], ca_street_type=[$6], ca_suite_number=[$7], ca_city=[$8], ca_county=[$9], ca_state=[CAST(_UTF-16LE'IL'):VARCHAR(2147483647) CHARACTER SET "UTF-16LE" COLLATE "ISO-8859-1$en_US$primary"], ca_zip=[$10], ca_country=[$11], ca_gmt_offset=[$12], ca_location_type=[$13], ctr_total_return=[$14])
+HiveProject(c_customer_id=[$0], c_salutation=[$1], c_first_name=[$2], c_last_name=[$3], ca_street_number=[$4], ca_street_name=[$5], ca_street_type=[$6], ca_suite_number=[$7], ca_city=[$8], ca_county=[$9], ca_state=[CAST(_UTF-16LE'IL':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"):VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], ca_zip=[$10], ca_country=[$11], ca_gmt_offset=[$12], ca_location_type=[$13], ctr_total_return=[$14])
HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$4], sort5=[$5], sort6=[$6], sort7=[$7], sort8=[$8], sort9=[$9], sort10=[$10], sort11=[$11], sort12=[$12], sort13=[$13], sort14=[$14], dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC], dir4=[ASC], dir5=[ASC], dir6=[ASC], dir7=[ASC], dir8=[ASC], dir9=[ASC], dir10=[ASC], dir11=[ASC], dir12=[ASC], dir13=[ASC], dir14=[ASC], fetch=[100])
HiveProject(c_customer_id=[$1], c_salutation=[$3], c_first_name=[$4], c_last_name=[$5], ca_street_number=[$7], ca_street_name=[$8], ca_street_type=[$9], ca_suite_number=[$10], ca_city=[$11], ca_county=[$12], ca_zip=[$13], ca_country=[$14], ca_gmt_offset=[$15], ca_location_type=[$16], ctr_total_return=[$19])
HiveJoin(condition=[=($17, $0)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -95,7 +95,7 @@ HiveProject(c_customer_id=[$0], c_salutation=[$1], c_first_name=[$2], c_last_nam
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[AND(=($6, 1998), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(_o__c0=[*(/($1, $2), 1.2)], ctr_state=[$0])
+ HiveProject(_o__c0=[*(/($1, $2), 1.2:DECIMAL(2, 1))], ctr_state=[$0])
HiveAggregate(group=[{0}], agg#0=[sum($2)], agg#1=[count($2)])
HiveProject(ca_state=[$0], cr_returning_customer_sk=[$1], $f2=[$2])
HiveAggregate(group=[{1, 3}], agg#0=[sum($5)])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query82.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query82.q.out
index a60312f11b..1037ce66c6 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query82.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query82.q.out
@@ -50,7 +50,7 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100])
HiveFilter(condition=[IS NOT NULL($2)])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(i_item_sk=[$0], i_item_id=[$1], i_item_desc=[$4], i_current_price=[$5])
- HiveFilter(condition=[AND(IN($13, 437, 129, 727, 663), BETWEEN(false, $5, 30, 60), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(IN($13, 437, 129, 727, 663), BETWEEN(false, $5, 30:DECIMAL(12, 2), 60:DECIMAL(2, 0)), IS NOT NULL($0))])
HiveTableScan(table=[[default, item]], table:alias=[item])
HiveProject(inv_date_sk=[$0], inv_item_sk=[$1], d_date_sk=[$2])
HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -58,6 +58,6 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100])
HiveFilter(condition=[AND(BETWEEN(false, $3, 100, 500), IS NOT NULL($1), IS NOT NULL($0))])
HiveTableScan(table=[[default, inventory]], table:alias=[inventory])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 2002-05-30 00:00:00, 2002-07-29 00:00:00), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 2002-05-30 00:00:00:TIMESTAMP(9), 2002-07-29 00:00:00:TIMESTAMP(9)), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query83.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query83.q.out
index 8211db1c95..7dd31f22fa 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query83.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query83.q.out
@@ -144,7 +144,7 @@ POSTHOOK: Input: default@web_returns
POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
- HiveProject(item_id=[$0], sr_item_qty=[$4], sr_dev=[*(/(/($5, CAST(+(+($4, $1), $7)):DOUBLE), CAST(3):DOUBLE), CAST(100):DOUBLE)], cr_item_qty=[$1], cr_dev=[*(/(/($2, CAST(+(+($4, $1), $7)):DOUBLE), CAST(3):DOUBLE), CAST(100):DOUBLE)], wr_item_qty=[$7], wr_dev=[*(/(/($8, CAST(+(+($4, $1), $7)):DOUBLE), CAST(3):DOUBLE), CAST(100):DOUBLE)], average=[/(CAST(+(+($4, $1), $7)):DECIMAL(19, 0), 3)])
+ HiveProject(item_id=[$0], sr_item_qty=[$4], sr_dev=[*(/(/($5, CAST(+(+($4, $1), $7)):DOUBLE), 3), 100)], cr_item_qty=[$1], cr_dev=[*(/(/($2, CAST(+(+($4, $1), $7)):DOUBLE), 3), 100)], wr_item_qty=[$7], wr_dev=[*(/(/($8, CAST(+(+($4, $1), $7)):DOUBLE), 3), 100)], average=[/(CAST(+(+($4, $1), $7)):DECIMAL(19, 0), 3:DECIMAL(1, 0))])
HiveJoin(condition=[=($0, $6)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject($f0=[$0], $f1=[$1], CAST=[CAST($1):DOUBLE])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query85.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query85.q.out
index 0963936768..3de854da06 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query85.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query85.q.out
@@ -186,17 +186,17 @@ HiveProject(_o__c0=[$0], _o__c1=[$1], _o__c2=[$2], _o__c3=[$3])
HiveProject(_o__c0=[substr($0, 1, 20)], _o__c1=[/(CAST($1):DOUBLE, $2)], _o__c2=[/($3, $4)], _o__c3=[/($5, $6)], (tok_function avg (tok_table_or_col ws_quantity))=[/(CAST($1):DOUBLE, $2)], (tok_function avg (tok_table_or_col wr_refunded_cash))=[/($3, $4)], (tok_function avg (tok_table_or_col wr_fee))=[/($5, $6)], (tok_function substr (tok_table_or_col r_reason_desc) 1 20)=[substr($0, 1, 20)])
HiveAggregate(group=[{37}], agg#0=[sum($4)], agg#1=[count($4)], agg#2=[sum($28)], agg#3=[count($28)], agg#4=[sum($27)], agg#5=[count($27)])
HiveJoin(condition=[=($2, $38)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveJoin(condition=[AND(AND(AND(=($1, $21), =($3, $26)), OR(AND($15, $16, $8), AND($17, $18, $9), AND($19, $20, $10))), OR(AND($30, $5), AND($31, $6), AND($32, $7)))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($1, $21), =($3, $26), OR(AND($15, $16, $8), AND($17, $18, $9), AND($19, $20, $10)), OR(AND($30, $5), AND($31, $6), AND($32, $7)))], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($0, $11)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_web_page_sk=[$12], ws_order_number=[$17], ws_quantity=[$18], BETWEEN=[BETWEEN(false, $33, 100, 200)], BETWEEN6=[BETWEEN(false, $33, 150, 300)], BETWEEN7=[BETWEEN(false, $33, 50, 250)], BETWEEN8=[BETWEEN(false, $21, 100, 150)], BETWEEN9=[BETWEEN(false, $21, 50, 100)], BETWEEN10=[BETWEEN(false, $21, 150, 200)])
- HiveFilter(condition=[AND(OR(<=(100, $21), <=($21, 150), IS NOT NULL($21), <=($21, 200)), OR(<=(100, $33), <=($33, 200), IS NOT NULL($33), <=($33, 300), <=($33, 250)), IS NOT NULL($3), IS NOT NULL($17), IS NOT NULL($12), IS NOT NULL($0))])
+ HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_web_page_sk=[$12], ws_order_number=[$17], ws_quantity=[$18], BETWEEN=[BETWEEN(false, $33, 100:DECIMAL(12, 2), 200:DECIMAL(12, 2))], BETWEEN6=[BETWEEN(false, $33, 150:DECIMAL(12, 2), 300:DECIMAL(12, 2))], BETWEEN7=[BETWEEN(false, $33, 50:DECIMAL(12, 2), 250:DECIMAL(12, 2))], BETWEEN8=[BETWEEN(false, $21, 100:DECIMAL(3, 0), 150:DECIMAL(3, 0))], BETWEEN9=[BETWEEN(false, $21, 50:DECIMAL(2, 0), 100:DECIMAL(3, 0))], BETWEEN10=[BETWEEN(false, $21, 150:DECIMAL(3, 0), 200:DECIMAL(3, 0))])
+ HiveFilter(condition=[AND(OR(<=(100:DECIMAL(3, 0), $21), <=($21, 150:DECIMAL(3, 0)), <=(50:DECIMAL(2, 0), $21), <=($21, 100:DECIMAL(3, 0)), <=(150:DECIMAL(3, 0), $21), <=($21, 200:DECIMAL(3, 0))), OR(<=(100:DECIMAL(12, 2), $33), <=($33, 200:DECIMAL(12, 2)), <=(150:DECIMAL(12, 2), $33), <=($33, 300:DECIMAL(12, 2)), <=(50:DECIMAL(12, 2), $33), <=($33, 250:DECIMAL(12, 2))), IS NOT NULL($3), IS NOT NULL($17), IS NOT NULL($12), IS NOT NULL($0))])
HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales])
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[AND(=($6, 1998), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(cd_demo_sk=[$0], cd_marital_status=[$1], cd_education_status=[$2], ==[$3], =4=[$4], =5=[$5], =6=[$6], =7=[$7], =8=[$8], wr_item_sk=[$9], wr_refunded_cdemo_sk=[$10], wr_refunded_addr_sk=[$11], wr_returning_cdemo_sk=[$12], wr_reason_sk=[$13], wr_order_number=[$14], wr_fee=[$15], wr_refunded_cash=[$16], ca_address_sk=[$17], IN=[$18], IN2=[$19], IN3=[$20], cd_demo_sk0=[$21], cd_marital_status0=[$22], cd_education_status0=[$23], r_reason_sk=[$24], r_reason_desc=[$25])
HiveJoin(condition=[=($24, $13)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveJoin(condition=[AND(AND(=($1, $22), =($2, $23)), =($0, $10))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($1, $22), =($2, $23), =($0, $10))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(cd_demo_sk=[$0], cd_marital_status=[$2], cd_education_status=[$3], ==[=($2, _UTF-16LE'M')], =4=[=($3, _UTF-16LE'4 yr Degree')], =5=[=($2, _UTF-16LE'D')], =6=[=($3, _UTF-16LE'Primary')], =7=[=($2, _UTF-16LE'U')], =8=[=($3, _UTF-16LE'Advanced Degree')])
HiveFilter(condition=[AND(IN($3, _UTF-16LE'4 yr Degree', _UTF-16LE'Primary', _UTF-16LE'Advanced Degree'), IN($2, _UTF-16LE'M', _UTF-16LE'D', _UTF-16LE'U'), IS NOT NULL($0))])
HiveTableScan(table=[[default, customer_demographics]], table:alias=[cd1])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query87.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query87.q.out
index e030b3eb2c..2700be640b 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query87.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query87.q.out
@@ -59,14 +59,14 @@ HiveAggregate(group=[{}], agg#0=[count()])
HiveAggregate(group=[{0, 1, 2}], agg#0=[sum($3)], agg#1=[sum($4)])
HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f4=[$4], $f5=[*($3, $4)])
HiveUnion(all=[true])
- HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[2], $f4=[$3])
+ HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[2:BIGINT], $f4=[$3])
HiveAggregate(group=[{0, 1, 2}], agg#0=[count()])
HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3], $f4=[$4])
HiveFilter(condition=[AND(>($3, 0), =(*($3, 2), $4))])
HiveAggregate(group=[{0, 1, 2}], agg#0=[sum($3)], agg#1=[sum($4)])
HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f4=[$4], $f5=[*($3, $4)])
HiveUnion(all=[true])
- HiveProject($f0=[$1], $f1=[$0], $f2=[$2], $f3=[2], $f4=[$3])
+ HiveProject($f0=[$1], $f1=[$0], $f2=[$2], $f3=[2:BIGINT], $f4=[$3])
HiveAggregate(group=[{0, 1, 2}], agg#0=[count()])
HiveProject(c_first_name=[$0], c_last_name=[$1], d_date=[$2])
HiveAggregate(group=[{1, 2, 6}])
@@ -81,7 +81,7 @@ HiveAggregate(group=[{}], agg#0=[count()])
HiveProject(d_date_sk=[$0], d_date=[$2])
HiveFilter(condition=[AND(BETWEEN(false, $3, 1212, 1223), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject($f0=[$1], $f1=[$0], $f2=[$2], $f3=[1], $f4=[$3])
+ HiveProject($f0=[$1], $f1=[$0], $f2=[$2], $f3=[1:BIGINT], $f4=[$3])
HiveAggregate(group=[{0, 1, 2}], agg#0=[count()])
HiveProject(c_first_name=[$0], c_last_name=[$1], d_date=[$2])
HiveAggregate(group=[{1, 2, 6}])
@@ -96,7 +96,7 @@ HiveAggregate(group=[{}], agg#0=[count()])
HiveProject(d_date_sk=[$0], d_date=[$2])
HiveFilter(condition=[AND(BETWEEN(false, $3, 1212, 1223), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject($f0=[$1], $f1=[$0], $f2=[$2], $f3=[1], $f4=[$3])
+ HiveProject($f0=[$1], $f1=[$0], $f2=[$2], $f3=[1:BIGINT], $f4=[$3])
HiveAggregate(group=[{0, 1, 2}], agg#0=[count()])
HiveProject(c_first_name=[$0], c_last_name=[$1], d_date=[$2])
HiveAggregate(group=[{1, 2, 6}])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query88.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query88.q.out
index 1f4471e8ae..5dbc2bcfc6 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query88.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query88.q.out
@@ -217,7 +217,7 @@ HiveProject($f0=[$0], $f00=[$7], $f01=[$6], $f02=[$5], $f03=[$4], $f04=[$3], $f0
HiveFilter(condition=[AND(IS NOT NULL($5), IS NOT NULL($1), IS NOT NULL($7))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(hd_demo_sk=[$0])
- HiveFilter(condition=[AND(IN($3, 3, 0, 1), <=($4, 5), OR(AND(=($3, 3), IS NOT NULL($4)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(IN($3, 3, 0, 1), OR(<=($4, 5), <=($4, 2), <=($4, 3)), OR(AND(=($3, 3), <=($4, 5)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))), IS NOT NULL($0))])
HiveTableScan(table=[[default, household_demographics]], table:alias=[household_demographics])
HiveProject(t_time_sk=[$0])
HiveFilter(condition=[AND(=($3, 8), >=($4, 30), IS NOT NULL($0))])
@@ -234,7 +234,7 @@ HiveProject($f0=[$0], $f00=[$7], $f01=[$6], $f02=[$5], $f03=[$4], $f04=[$3], $f0
HiveFilter(condition=[AND(IS NOT NULL($5), IS NOT NULL($1), IS NOT NULL($7))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(hd_demo_sk=[$0])
- HiveFilter(condition=[AND(IN($3, 3, 0, 1), <=($4, 5), OR(AND(=($3, 3), IS NOT NULL($4)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(IN($3, 3, 0, 1), OR(<=($4, 5), <=($4, 2), <=($4, 3)), OR(AND(=($3, 3), <=($4, 5)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))), IS NOT NULL($0))])
HiveTableScan(table=[[default, household_demographics]], table:alias=[household_demographics])
HiveProject(t_time_sk=[$0])
HiveFilter(condition=[AND(=($3, 12), <($4, 30), IS NOT NULL($0))])
@@ -251,7 +251,7 @@ HiveProject($f0=[$0], $f00=[$7], $f01=[$6], $f02=[$5], $f03=[$4], $f04=[$3], $f0
HiveFilter(condition=[AND(IS NOT NULL($5), IS NOT NULL($1), IS NOT NULL($7))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(hd_demo_sk=[$0])
- HiveFilter(condition=[AND(IN($3, 3, 0, 1), <=($4, 5), OR(AND(=($3, 3), IS NOT NULL($4)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(IN($3, 3, 0, 1), OR(<=($4, 5), <=($4, 2), <=($4, 3)), OR(AND(=($3, 3), <=($4, 5)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))), IS NOT NULL($0))])
HiveTableScan(table=[[default, household_demographics]], table:alias=[household_demographics])
HiveProject(t_time_sk=[$0])
HiveFilter(condition=[AND(=($3, 11), >=($4, 30), IS NOT NULL($0))])
@@ -268,7 +268,7 @@ HiveProject($f0=[$0], $f00=[$7], $f01=[$6], $f02=[$5], $f03=[$4], $f04=[$3], $f0
HiveFilter(condition=[AND(IS NOT NULL($5), IS NOT NULL($1), IS NOT NULL($7))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(hd_demo_sk=[$0])
- HiveFilter(condition=[AND(IN($3, 3, 0, 1), <=($4, 5), OR(AND(=($3, 3), IS NOT NULL($4)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(IN($3, 3, 0, 1), OR(<=($4, 5), <=($4, 2), <=($4, 3)), OR(AND(=($3, 3), <=($4, 5)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))), IS NOT NULL($0))])
HiveTableScan(table=[[default, household_demographics]], table:alias=[household_demographics])
HiveProject(t_time_sk=[$0])
HiveFilter(condition=[AND(=($3, 11), <($4, 30), IS NOT NULL($0))])
@@ -285,7 +285,7 @@ HiveProject($f0=[$0], $f00=[$7], $f01=[$6], $f02=[$5], $f03=[$4], $f04=[$3], $f0
HiveFilter(condition=[AND(IS NOT NULL($5), IS NOT NULL($1), IS NOT NULL($7))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(hd_demo_sk=[$0])
- HiveFilter(condition=[AND(IN($3, 3, 0, 1), <=($4, 5), OR(AND(=($3, 3), IS NOT NULL($4)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(IN($3, 3, 0, 1), OR(<=($4, 5), <=($4, 2), <=($4, 3)), OR(AND(=($3, 3), <=($4, 5)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))), IS NOT NULL($0))])
HiveTableScan(table=[[default, household_demographics]], table:alias=[household_demographics])
HiveProject(t_time_sk=[$0])
HiveFilter(condition=[AND(=($3, 10), >=($4, 30), IS NOT NULL($0))])
@@ -302,7 +302,7 @@ HiveProject($f0=[$0], $f00=[$7], $f01=[$6], $f02=[$5], $f03=[$4], $f04=[$3], $f0
HiveFilter(condition=[AND(IS NOT NULL($5), IS NOT NULL($1), IS NOT NULL($7))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(hd_demo_sk=[$0])
- HiveFilter(condition=[AND(IN($3, 3, 0, 1), <=($4, 5), OR(AND(=($3, 3), IS NOT NULL($4)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(IN($3, 3, 0, 1), OR(<=($4, 5), <=($4, 2), <=($4, 3)), OR(AND(=($3, 3), <=($4, 5)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))), IS NOT NULL($0))])
HiveTableScan(table=[[default, household_demographics]], table:alias=[household_demographics])
HiveProject(t_time_sk=[$0])
HiveFilter(condition=[AND(=($3, 10), <($4, 30), IS NOT NULL($0))])
@@ -319,7 +319,7 @@ HiveProject($f0=[$0], $f00=[$7], $f01=[$6], $f02=[$5], $f03=[$4], $f04=[$3], $f0
HiveFilter(condition=[AND(IS NOT NULL($5), IS NOT NULL($1), IS NOT NULL($7))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(hd_demo_sk=[$0])
- HiveFilter(condition=[AND(IN($3, 3, 0, 1), <=($4, 5), OR(AND(=($3, 3), IS NOT NULL($4)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(IN($3, 3, 0, 1), OR(<=($4, 5), <=($4, 2), <=($4, 3)), OR(AND(=($3, 3), <=($4, 5)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))), IS NOT NULL($0))])
HiveTableScan(table=[[default, household_demographics]], table:alias=[household_demographics])
HiveProject(t_time_sk=[$0])
HiveFilter(condition=[AND(=($3, 9), >=($4, 30), IS NOT NULL($0))])
@@ -336,7 +336,7 @@ HiveProject($f0=[$0], $f00=[$7], $f01=[$6], $f02=[$5], $f03=[$4], $f04=[$3], $f0
HiveFilter(condition=[AND(IS NOT NULL($5), IS NOT NULL($1), IS NOT NULL($7))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(hd_demo_sk=[$0])
- HiveFilter(condition=[AND(IN($3, 3, 0, 1), <=($4, 5), OR(AND(=($3, 3), IS NOT NULL($4)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(IN($3, 3, 0, 1), OR(<=($4, 5), <=($4, 2), <=($4, 3)), OR(AND(=($3, 3), <=($4, 5)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))), IS NOT NULL($0))])
HiveTableScan(table=[[default, household_demographics]], table:alias=[household_demographics])
HiveProject(t_time_sk=[$0])
HiveFilter(condition=[AND(=($3, 9), <($4, 30), IS NOT NULL($0))])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query89.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query89.q.out
index 7cfb3ecdec..bd40a31ff9 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query89.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query89.q.out
@@ -66,7 +66,7 @@ CBO PLAN:
HiveProject(i_category=[$0], i_class=[$1], i_brand=[$2], s_store_name=[$3], s_company_name=[$4], d_moy=[$5], sum_sales=[$6], avg_monthly_sales=[$7])
HiveSortLimit(sort0=[$8], sort1=[$3], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveProject(i_category=[$0], i_class=[$1], i_brand=[$2], s_store_name=[$3], s_company_name=[$4], d_moy=[$5], sum_sales=[$6], avg_monthly_sales=[$7], (- (tok_table_or_col sum_sales) (tok_table_or_col avg_monthly_sales))=[-($6, $7)])
- HiveFilter(condition=[CASE(<>($7, 0), >(/(ABS(-($6, $7)), $7), 0.1), null)])
+ HiveFilter(condition=[CASE(<>($7, 0:DECIMAL(1, 0)), >(/(ABS(-($6, $7)), $7), 0.1:DECIMAL(2, 1)), false)])
HiveProject((tok_table_or_col i_category)=[$2], (tok_table_or_col i_class)=[$1], (tok_table_or_col i_brand)=[$0], (tok_table_or_col s_store_name)=[$4], (tok_table_or_col s_company_name)=[$5], (tok_table_or_col d_moy)=[$3], (tok_function sum (tok_table_or_col ss_sales_price))=[$6], avg_window_0=[avg($6) OVER (PARTITION BY $2, $0, $4, $5 ORDER BY $2 NULLS FIRST, $0 NULLS FIRST, $4 NULLS FIRST, $5 NULLS FIRST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)])
HiveProject(i_brand=[$0], i_class=[$1], i_category=[$2], d_moy=[$3], s_store_name=[$4], s_company_name=[$5], $f6=[$6])
HiveAggregate(group=[{5, 6, 7, 9, 11, 12}], agg#0=[sum($3)])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query91.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query91.q.out
index e6fe23fb5b..ef1676c804 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query91.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query91.q.out
@@ -83,7 +83,7 @@ HiveProject(call_center=[$0], call_center_name=[$1], manager=[$2], returns_loss=
HiveJoin(condition=[=($9, $1)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ca_address_sk=[$0])
- HiveFilter(condition=[AND(=($11, -7), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(=($11, -7:DECIMAL(1, 0)), IS NOT NULL($0))])
HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveJoin(condition=[=($4, $1)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(c_customer_sk=[$0], c_current_cdemo_sk=[$2], c_current_hdemo_sk=[$3], c_current_addr_sk=[$4])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query92.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query92.q.out
index be7f364ee9..ece079fd18 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query92.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query92.q.out
@@ -72,18 +72,18 @@ HiveAggregate(group=[{}], agg#0=[sum($2)])
HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))])
HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00, 1998-06-16 00:00:00), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00:TIMESTAMP(9), 1998-06-16 00:00:00:TIMESTAMP(9)), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(ws_item_sk=[$0], CAST=[$1], i_item_sk=[$2])
HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(ws_item_sk=[$0], CAST=[CAST(*(1.3, /($1, $2))):DECIMAL(14, 7)])
+ HiveProject(ws_item_sk=[$0], CAST=[CAST(*(1.3:DECIMAL(2, 1), /($1, $2))):DECIMAL(14, 7)])
HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_ext_discount_amt=[$22])
HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))])
HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00, 1998-06-16 00:00:00), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00:TIMESTAMP(9), 1998-06-16 00:00:00:TIMESTAMP(9)), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(i_item_sk=[$0])
HiveFilter(condition=[AND(=($13, 269), IS NOT NULL($0))])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query93.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query93.q.out
index 6a8ed39e29..b0b8169a91 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query93.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query93.q.out
@@ -44,13 +44,13 @@ CBO PLAN:
HiveSortLimit(sort0=[$1], sort1=[$0], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveProject(ss_customer_sk=[$0], $f1=[$1])
HiveAggregate(group=[{0}], agg#0=[sum($1)])
- HiveProject(ss_customer_sk=[$1], act_sales=[CASE($10, *(CAST(-($3, $9)):DECIMAL(10, 0), $4), $5)])
- HiveJoin(condition=[AND(=($6, $0), =($8, $2))], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(ss_item_sk=[$2], ss_customer_sk=[$3], ss_ticket_number=[$9], ss_quantity=[$10], ss_sales_price=[$13], *=[*(CAST($10):DECIMAL(10, 0), $13)])
+ HiveProject(ss_customer_sk=[$1], act_sales=[CASE(IS NOT NULL($8), *(CAST(-($3, $8)):DECIMAL(10, 0), $4), *(CAST($3):DECIMAL(10, 0), $4))])
+ HiveJoin(condition=[AND(=($5, $0), =($7, $2))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveProject(ss_item_sk=[$2], ss_customer_sk=[$3], ss_ticket_number=[$9], ss_quantity=[$10], ss_sales_price=[$13])
HiveFilter(condition=[AND(IS NOT NULL($2), IS NOT NULL($9))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
- HiveJoin(condition=[=($1, $5)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(sr_item_sk=[$2], sr_reason_sk=[$8], sr_ticket_number=[$9], sr_return_quantity=[$10], IS NOT NULL=[IS NOT NULL($10)])
+ HiveJoin(condition=[=($1, $4)], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveProject(sr_item_sk=[$2], sr_reason_sk=[$8], sr_ticket_number=[$9], sr_return_quantity=[$10])
HiveFilter(condition=[AND(IS NOT NULL($8), IS NOT NULL($2), IS NOT NULL($9))])
HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns])
HiveProject(r_reason_sk=[$0])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query94.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query94.q.out
index e80788209e..7210fa1170 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query94.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query94.q.out
@@ -74,7 +74,7 @@ HiveAggregate(group=[{}], agg#0=[count(DISTINCT $4)], agg#1=[sum($5)], agg#2=[su
HiveProject(ws_ship_date_sk=[$2], ws_ship_addr_sk=[$3], ws_web_site_sk=[$4], ws_warehouse_sk=[$5], ws_order_number=[$6], ws_ext_ship_cost=[$7], ws_net_profit=[$8], d_date_sk=[$9], d_date=[$10], ca_address_sk=[$0], ca_state=[$1], web_site_sk=[$11], web_company_name=[$12])
HiveJoin(condition=[=($4, $11)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(ca_address_sk=[$0], ca_state=[CAST(_UTF-16LE'TX'):VARCHAR(2147483647) CHARACTER SET "UTF-16LE" COLLATE "ISO-8859-1$en_US$primary"])
+ HiveProject(ca_address_sk=[$0], ca_state=[CAST(_UTF-16LE'TX':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"):VARCHAR(2147483647) CHARACTER SET "UTF-16LE"])
HiveFilter(condition=[AND(=($8, _UTF-16LE'TX'), IS NOT NULL($0))])
HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveJoin(condition=[=($0, $7)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -82,9 +82,9 @@ HiveAggregate(group=[{}], agg#0=[count(DISTINCT $4)], agg#1=[sum($5)], agg#2=[su
HiveFilter(condition=[AND(IS NOT NULL($2), IS NOT NULL($11), IS NOT NULL($13), IS NOT NULL($17))])
HiveTableScan(table=[[default, web_sales]], table:alias=[ws1])
HiveProject(d_date_sk=[$0], d_date=[$2])
- HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1999-05-01 00:00:00, 1999-06-30 00:00:00), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1999-05-01 00:00:00:TIMESTAMP(9), 1999-06-30 00:00:00:TIMESTAMP(9)), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(web_site_sk=[$0], web_company_name=[CAST(_UTF-16LE'pri'):VARCHAR(2147483647) CHARACTER SET "UTF-16LE" COLLATE "ISO-8859-1$en_US$primary"])
+ HiveProject(web_site_sk=[$0], web_company_name=[CAST(_UTF-16LE'pri':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"):VARCHAR(2147483647) CHARACTER SET "UTF-16LE"])
HiveFilter(condition=[AND(=($14, _UTF-16LE'pri'), IS NOT NULL($0))])
HiveTableScan(table=[[default, web_site]], table:alias=[web_site])
HiveProject(ws_warehouse_sk=[$15], ws_order_number=[$17])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query95.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query95.q.out
index 68f318934c..266fc8b265 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query95.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query95.q.out
@@ -109,7 +109,7 @@ HiveAggregate(group=[{}], agg#0=[count(DISTINCT $6)], agg#1=[sum($7)], agg#2=[su
HiveFilter(condition=[AND(IS NOT NULL($17), IS NOT NULL($2), IS NOT NULL($11), IS NOT NULL($13))])
HiveTableScan(table=[[default, web_sales]], table:alias=[ws1])
HiveProject(d_date_sk=[$0], d_date=[$2])
- HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1999-05-01 00:00:00, 1999-06-30 00:00:00), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 1999-05-01 00:00:00:TIMESTAMP(9), 1999-06-30 00:00:00:TIMESTAMP(9)), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(web_site_sk=[$0])
HiveFilter(condition=[AND(=($14, _UTF-16LE'pri'), IS NOT NULL($0))])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query97.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query97.q.out
index a6f39397ea..520d11739a 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query97.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query97.q.out
@@ -56,7 +56,7 @@ POSTHOOK: Input: default@store_sales
POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveAggregate(group=[{}], agg#0=[sum($0)], agg#1=[sum($1)], agg#2=[sum($2)])
- HiveProject($f0=[CASE(AND(IS NOT NULL($0), IS NULL($2)), 1, 0)], $f1=[CASE(AND(IS NULL($0), IS NOT NULL($2)), 1, 0)], $f2=[CASE(AND(IS NOT NULL($0), IS NOT NULL($2)), 1, 0)])
+ HiveProject($f0=[CAST(CASE(AND(IS NULL($2), IS NOT NULL($0)), 1, 0)):INTEGER], $f1=[CASE(AND(IS NULL($0), IS NOT NULL($2)), 1, 0)], $f2=[CASE(AND(IS NOT NULL($0), IS NOT NULL($2)), 1, 0)])
HiveJoin(condition=[AND(=($0, $2), =($1, $3))], joinType=[full], algorithm=[none], cost=[not available])
HiveProject(ss_customer_sk=[$1], ss_item_sk=[$0])
HiveAggregate(group=[{1, 2}])
diff --git ql/src/test/results/clientpositive/perf/tez/cbo_query98.q.out ql/src/test/results/clientpositive/perf/tez/cbo_query98.q.out
index 374a6a06d6..d406b47d36 100644
--- ql/src/test/results/clientpositive/perf/tez/cbo_query98.q.out
+++ ql/src/test/results/clientpositive/perf/tez/cbo_query98.q.out
@@ -71,7 +71,7 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveProject(i_item_desc=[$0], i_category=[$1], i_class=[$2], i_current_price=[$3], itemrevenue=[$4], revenueratio=[$5])
HiveSortLimit(sort0=[$1], sort1=[$2], sort2=[$6], sort3=[$0], sort4=[$5], dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC], dir4=[ASC])
- HiveProject(i_item_desc=[$1], i_category=[$4], i_class=[$3], i_current_price=[$2], itemrevenue=[$5], revenueratio=[/(*($5, CAST(100):DECIMAL(10, 0)), sum($5) OVER (PARTITION BY $3 ORDER BY $3 NULLS FIRST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING))], (tok_table_or_col i_item_id)=[$0])
+ HiveProject(i_item_desc=[$1], i_category=[$4], i_class=[$3], i_current_price=[$2], itemrevenue=[$5], revenueratio=[/(*($5, 100:DECIMAL(10, 0)), sum($5) OVER (PARTITION BY $3 ORDER BY $3 NULLS FIRST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING))], (tok_table_or_col i_item_id)=[$0])
HiveAggregate(group=[{1, 2, 3, 4, 5}], agg#0=[sum($8)])
HiveJoin(condition=[=($7, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(i_item_sk=[$0], i_item_id=[$1], i_item_desc=[$4], i_current_price=[$5], i_class=[$10], i_category=[$12])
@@ -82,6 +82,6 @@ HiveProject(i_item_desc=[$0], i_category=[$1], i_class=[$2], i_current_price=[$3
HiveFilter(condition=[AND(IS NOT NULL($2), IS NOT NULL($0))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 2001-01-12 00:00:00, 2001-02-11 00:00:00), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(BETWEEN(false, CAST($2):TIMESTAMP(9), 2001-01-12 00:00:00:TIMESTAMP(9), 2001-02-11 00:00:00:TIMESTAMP(9)), IS NOT NULL($0))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_ext_query1.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_ext_query1.q.out
index 255261bdaa..41783cef65 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_ext_query1.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_ext_query1.q.out
@@ -59,10 +59,10 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
HiveProject(c_customer_id=[$1]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveJoin(condition=[AND(=($3, $7), >($4, $6))], joinType=[inner], algorithm=[none], cost=[not available]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveProject(c_customer_sk=[$0], c_customer_id=[$1]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveTableScan(table=[[default, customer]], table:alias=[customer]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveProject(c_customer_sk=[$0], c_customer_id=[$1]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveTableScan(table=[[default, customer]], table:alias=[customer]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveJoin(condition=[AND(=($1, $5), >($2, $4))], joinType=[inner], algorithm=[none], cost=[not available]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
HiveJoin(condition=[=($3, $1)], joinType=[inner], algorithm=[none], cost=[not available]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
@@ -76,17 +76,17 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100]): rowcount = ###Masked###, cum
HiveProject(s_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
HiveFilter(condition=[=($24, _UTF-16LE'NM')]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
HiveTableScan(table=[[default, store]], table:alias=[store]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveProject(_o__c0=[*(/($1, $2), 1.2)], ctr_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveProject(sr_returned_date_sk=[$0], sr_customer_sk=[$3], sr_store_sk=[$7], sr_fee=[$14]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveProject(d_date_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveFilter(condition=[=($6, 2000)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveProject(_o__c0=[*(/($1, $2), 1.2:DECIMAL(2, 1))], ctr_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveProject(sr_returned_date_sk=[$0], sr_customer_sk=[$3], sr_store_sk=[$7], sr_fee=[$14]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveProject(d_date_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveFilter(condition=[=($6, 2000)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
PREHOOK: query: explain cbo joincost
with customer_total_return as
@@ -149,10 +149,10 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
HiveProject(c_customer_id=[$1]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveJoin(condition=[AND(=($3, $7), >($4, $6))], joinType=[inner], algorithm=[none], cost=[{415687.382770037 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[{8.00093932086143E7 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveProject(c_customer_sk=[$0], c_customer_id=[$1]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveTableScan(table=[[default, customer]], table:alias=[customer]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[{8.041115324461429E7 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveProject(c_customer_sk=[$0], c_customer_id=[$1]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveTableScan(table=[[default, customer]], table:alias=[customer]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveJoin(condition=[AND(=($1, $5), >($2, $4))], joinType=[inner], algorithm=[none], cost=[{415687.382770037 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
HiveJoin(condition=[=($3, $1)], joinType=[inner], algorithm=[none], cost=[{460301.9976112889 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
@@ -166,15 +166,15 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100]): rowcount = ###Masked###, cum
HiveProject(s_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
HiveFilter(condition=[=($24, _UTF-16LE'NM')]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
HiveTableScan(table=[[default, store]], table:alias=[store]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveProject(_o__c0=[*(/($1, $2), 1.2)], ctr_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[{5.3635511784936875E7 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveProject(sr_returned_date_sk=[$0], sr_customer_sk=[$3], sr_store_sk=[$7], sr_fee=[$14]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveProject(d_date_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveFilter(condition=[=($6, 2000)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
- HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveProject(_o__c0=[*(/($1, $2), 1.2:DECIMAL(2, 1))], ctr_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[{5.3635511784936875E7 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveProject(sr_returned_date_sk=[$0], sr_customer_sk=[$3], sr_store_sk=[$7], sr_fee=[$14]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveProject(d_date_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveFilter(condition=[=($6, 2000)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
+ HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked###
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query1.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query1.q.out
index 13801ffc6c..67bf09e9bb 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query1.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query1.q.out
@@ -59,10 +59,10 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100])
HiveProject(c_customer_id=[$1])
- HiveJoin(condition=[AND(=($3, $7), >($4, $6))], joinType=[inner], algorithm=[none], cost=[not available])
- HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(c_customer_sk=[$0], c_customer_id=[$1])
- HiveTableScan(table=[[default, customer]], table:alias=[customer])
+ HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveProject(c_customer_sk=[$0], c_customer_id=[$1])
+ HiveTableScan(table=[[default, customer]], table:alias=[customer])
+ HiveJoin(condition=[AND(=($1, $5), >($2, $4))], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($3, $1)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2])
HiveAggregate(group=[{1, 2}], agg#0=[sum($3)])
@@ -76,15 +76,15 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100])
HiveProject(s_store_sk=[$0])
HiveFilter(condition=[=($24, _UTF-16LE'NM')])
HiveTableScan(table=[[default, store]], table:alias=[store])
- HiveProject(_o__c0=[*(/($1, $2), 1.2)], ctr_store_sk=[$0])
- HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)])
- HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2])
- HiveAggregate(group=[{1, 2}], agg#0=[sum($3)])
- HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(sr_returned_date_sk=[$0], sr_customer_sk=[$3], sr_store_sk=[$7], sr_fee=[$14])
- HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))])
- HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns])
- HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[=($6, 2000)])
- HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
+ HiveProject(_o__c0=[*(/($1, $2), 1.2:DECIMAL(2, 1))], ctr_store_sk=[$0])
+ HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)])
+ HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2])
+ HiveAggregate(group=[{1, 2}], agg#0=[sum($3)])
+ HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveProject(sr_returned_date_sk=[$0], sr_customer_sk=[$3], sr_store_sk=[$7], sr_fee=[$14])
+ HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))])
+ HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns])
+ HiveProject(d_date_sk=[$0])
+ HiveFilter(condition=[=($6, 2000)])
+ HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query11.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query11.q.out
index f315e3c455..0388034f84 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query11.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query11.q.out
@@ -159,7 +159,7 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100])
HiveProject(c_preferred_cust_flag=[$1])
- HiveJoin(condition=[AND(=($0, $8), CASE(CAST(IS NOT NULL($9)):BOOLEAN, CASE($7, >(/($4, $6), /($2, $9)), >(null, /($2, $9))), CASE($7, >(/($4, $6), null), null)))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($0, $8), CASE(IS NOT NULL($9), CASE($7, >(/($4, $6), /($2, $9)), false), false))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject($f0=[$0], $f4=[$3], $f9=[$7])
HiveAggregate(group=[{1, 2, 3, 4, 5, 6, 7}], agg#0=[sum($10)])
HiveJoin(condition=[=($0, $9)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -187,7 +187,7 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(customer_id=[$0], year_total=[$7], CAST=[CAST(IS NOT NULL($7)):BOOLEAN])
- HiveFilter(condition=[>($7, 0)])
+ HiveFilter(condition=[>($7, 0:DECIMAL(1, 0))])
HiveAggregate(group=[{1, 2, 3, 4, 5, 6, 7}], agg#0=[sum($10)])
HiveJoin(condition=[=($0, $9)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(c_customer_sk=[$0], c_customer_id=[$1], c_first_name=[$8], c_last_name=[$9], c_preferred_cust_flag=[$10], c_birth_country=[$14], c_login=[$15], c_email_address=[$16])
@@ -200,7 +200,7 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100])
HiveFilter(condition=[=($6, 2001)])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject($f0=[$0], $f9=[$7])
- HiveFilter(condition=[>($7, 0)])
+ HiveFilter(condition=[>($7, 0:DECIMAL(1, 0))])
HiveAggregate(group=[{1, 2, 3, 4, 5, 6, 7}], agg#0=[sum($10)])
HiveJoin(condition=[=($0, $9)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(c_customer_sk=[$0], c_customer_id=[$1], c_first_name=[$8], c_last_name=[$9], c_preferred_cust_flag=[$10], c_birth_country=[$14], c_login=[$15], c_email_address=[$16])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query12.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query12.q.out
index ab4a8377e6..cfb7945fb4 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query12.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query12.q.out
@@ -73,7 +73,7 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveProject(i_item_desc=[$0], i_category=[$1], i_class=[$2], i_current_price=[$3], itemrevenue=[$4], revenueratio=[$5])
HiveSortLimit(sort0=[$1], sort1=[$2], sort2=[$6], sort3=[$0], sort4=[$5], dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC], dir4=[ASC], fetch=[100])
- HiveProject(i_item_desc=[$1], i_category=[$4], i_class=[$3], i_current_price=[$2], itemrevenue=[$5], revenueratio=[/(*($5, CAST(100):DECIMAL(10, 0)), sum($5) OVER (PARTITION BY $3 ORDER BY $3 NULLS FIRST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING))], (tok_table_or_col i_item_id)=[$0])
+ HiveProject(i_item_desc=[$1], i_category=[$4], i_class=[$3], i_current_price=[$2], itemrevenue=[$5], revenueratio=[/(*($5, 100:DECIMAL(10, 0)), sum($5) OVER (PARTITION BY $3 ORDER BY $3 NULLS FIRST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING))], (tok_table_or_col i_item_id)=[$0])
HiveAggregate(group=[{1, 2, 3, 4, 5}], agg#0=[sum($8)])
HiveJoin(condition=[=($7, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(i_item_sk=[$0], i_item_id=[$1], i_item_desc=[$4], i_current_price=[$5], i_class=[$10], i_category=[$12])
@@ -84,6 +84,6 @@ HiveProject(i_item_desc=[$0], i_category=[$1], i_class=[$2], i_current_price=[$3
HiveFilter(condition=[IS NOT NULL($0)])
HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 2001-01-12 00:00:00, 2001-02-11 00:00:00)])
+ HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 2001-01-12 00:00:00:TIMESTAMP(9), 2001-02-11 00:00:00:TIMESTAMP(9))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query13.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query13.q.out
index a08c5a4be1..d4753960ee 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query13.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query13.q.out
@@ -114,23 +114,23 @@ POSTHOOK: Input: default@store_sales
POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveProject($f0=[/(CAST($0):DOUBLE, $1)], $f1=[/($2, $3)], $f2=[/($4, $5)], $f3=[CAST($4):DECIMAL(17, 2)])
- HiveAggregate(group=[{}], agg#0=[sum($11)], agg#1=[count($11)], agg#2=[sum($12)], agg#3=[count($12)], agg#4=[sum($13)], agg#5=[count($13)])
- HiveJoin(condition=[AND(=($9, $25), OR(AND($1, $2, $17, $26), AND($3, $4, $18, $27), AND($5, $6, $19, $27)))], joinType=[inner], algorithm=[none], cost=[not available])
- HiveJoin(condition=[=($0, $8)], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveAggregate(group=[{}], agg#0=[sum($15)], agg#1=[count($15)], agg#2=[sum($16)], agg#3=[count($16)], agg#4=[sum($17)], agg#5=[count($17)])
+ HiveJoin(condition=[AND(=($13, $25), OR(AND($1, $2, $21, $26), AND($3, $4, $22, $27), AND($5, $6, $23, $27)))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[=($0, $12)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(cd_demo_sk=[$0], ==[=($2, _UTF-16LE'M')], =2=[=($3, _UTF-16LE'4 yr Degree')], =3=[=($2, _UTF-16LE'D')], =4=[=($3, _UTF-16LE'Primary')], =5=[=($2, _UTF-16LE'U')], =6=[=($3, _UTF-16LE'Advanced Degree')])
HiveFilter(condition=[AND(IN($2, _UTF-16LE'M', _UTF-16LE'D', _UTF-16LE'U'), IN($3, _UTF-16LE'4 yr Degree', _UTF-16LE'Primary', _UTF-16LE'Advanced Degree'))])
HiveTableScan(table=[[default, customer_demographics]], table:alias=[customer_demographics])
- HiveJoin(condition=[AND(=($3, $14), OR(AND($15, $7), AND($16, $8), AND($17, $9)))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($7, $0), OR(AND($1, $11), AND($2, $12), AND($3, $13)))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveProject(ca_address_sk=[$0], IN=[IN($8, _UTF-16LE'KY', _UTF-16LE'GA', _UTF-16LE'NM')], IN2=[IN($8, _UTF-16LE'MT', _UTF-16LE'OR', _UTF-16LE'IN')], IN3=[IN($8, _UTF-16LE'WI', _UTF-16LE'MO', _UTF-16LE'WV')])
+ HiveFilter(condition=[AND(IN($8, _UTF-16LE'KY', _UTF-16LE'GA', _UTF-16LE'NM', _UTF-16LE'MT', _UTF-16LE'OR', _UTF-16LE'IN', _UTF-16LE'WI', _UTF-16LE'MO', _UTF-16LE'WV'), =($10, _UTF-16LE'United States'))])
+ HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveJoin(condition=[=($0, $13)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(ss_sold_date_sk=[$0], ss_cdemo_sk=[$4], ss_hdemo_sk=[$5], ss_addr_sk=[$6], ss_quantity=[$10], ss_ext_sales_price=[$15], ss_ext_wholesale_cost=[$16], BETWEEN=[BETWEEN(false, $22, 100, 200)], BETWEEN9=[BETWEEN(false, $22, 150, 300)], BETWEEN10=[BETWEEN(false, $22, 50, 250)], BETWEEN11=[BETWEEN(false, $13, 100, 150)], BETWEEN12=[BETWEEN(false, $13, 50, 100)], BETWEEN13=[BETWEEN(false, $13, 150, 200)])
- HiveFilter(condition=[AND(OR(<=(100, $13), <=($13, 150), IS NOT NULL($13), <=($13, 200)), OR(<=(100, $22), <=($22, 200), IS NOT NULL($22), <=($22, 300), <=($22, 250)), IS NOT NULL($7), IS NOT NULL($4), IS NOT NULL($5), IS NOT NULL($6), IS NOT NULL($0))])
+ HiveProject(ss_sold_date_sk=[$0], ss_cdemo_sk=[$4], ss_hdemo_sk=[$5], ss_addr_sk=[$6], ss_quantity=[$10], ss_ext_sales_price=[$15], ss_ext_wholesale_cost=[$16], BETWEEN=[BETWEEN(false, $22, 100:DECIMAL(12, 2), 200:DECIMAL(12, 2))], BETWEEN9=[BETWEEN(false, $22, 150:DECIMAL(12, 2), 300:DECIMAL(12, 2))], BETWEEN10=[BETWEEN(false, $22, 50:DECIMAL(12, 2), 250:DECIMAL(12, 2))], BETWEEN11=[BETWEEN(false, $13, 100:DECIMAL(3, 0), 150:DECIMAL(3, 0))], BETWEEN12=[BETWEEN(false, $13, 50:DECIMAL(2, 0), 100:DECIMAL(3, 0))], BETWEEN13=[BETWEEN(false, $13, 150:DECIMAL(3, 0), 200:DECIMAL(3, 0))])
+ HiveFilter(condition=[AND(OR(<=(100:DECIMAL(3, 0), $13), <=($13, 150:DECIMAL(3, 0)), <=(50:DECIMAL(2, 0), $13), <=($13, 100:DECIMAL(3, 0)), <=(150:DECIMAL(3, 0), $13), <=($13, 200:DECIMAL(3, 0))), OR(<=(100:DECIMAL(12, 2), $22), <=($22, 200:DECIMAL(12, 2)), <=(150:DECIMAL(12, 2), $22), <=($22, 300:DECIMAL(12, 2)), <=(50:DECIMAL(12, 2), $22), <=($22, 250:DECIMAL(12, 2))), IS NOT NULL($7), IS NOT NULL($4), IS NOT NULL($5), IS NOT NULL($6), IS NOT NULL($0))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[=($6, 2001)])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(ca_address_sk=[$0], IN=[IN($8, _UTF-16LE'KY', _UTF-16LE'GA', _UTF-16LE'NM')], IN2=[IN($8, _UTF-16LE'MT', _UTF-16LE'OR', _UTF-16LE'IN')], IN3=[IN($8, _UTF-16LE'WI', _UTF-16LE'MO', _UTF-16LE'WV')])
- HiveFilter(condition=[AND(IN($8, _UTF-16LE'KY', _UTF-16LE'GA', _UTF-16LE'NM', _UTF-16LE'MT', _UTF-16LE'OR', _UTF-16LE'IN', _UTF-16LE'WI', _UTF-16LE'MO', _UTF-16LE'WV'), =($10, _UTF-16LE'United States'))])
- HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveProject(hd_demo_sk=[$0], ==[=($3, 3)], =2=[=($3, 1)])
HiveFilter(condition=[IN($3, 3, 1)])
HiveTableScan(table=[[default, household_demographics]], table:alias=[household_demographics])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query14.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query14.q.out
index 118d23b577..2af220a62c 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query14.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query14.q.out
@@ -225,7 +225,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[
HiveAggregate(group=[{0, 1, 2, 3}], groups=[[{0, 1, 2, 3}, {0, 1, 2}, {0, 1}, {0}, {}]], agg#0=[sum($4)], agg#1=[sum($5)])
HiveProject(channel=[$0], i_brand_id=[$1], i_class_id=[$2], i_category_id=[$3], sales=[$4], number_sales=[$5])
HiveUnion(all=[true])
- HiveProject(channel=[_UTF-16LE'store'], i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], sales=[$3], number_sales=[$4])
+ HiveProject(channel=[_UTF-16LE'store':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], sales=[$3], number_sales=[$4])
HiveJoin(condition=[>($3, $5)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3], $f4=[$4])
HiveAggregate(group=[{0, 1, 2}], agg#0=[sum($3)], agg#1=[count()])
@@ -235,7 +235,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[
HiveTableScan(table=[[default, item]], table:alias=[item])
HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ss_item_sk=[$0])
- HiveJoin(condition=[AND(AND(=($1, $4), =($2, $5)), =($3, $6))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($1, $4), =($2, $5), =($3, $6))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11])
HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))])
HiveTableScan(table=[[default, item]], table:alias=[item])
@@ -318,7 +318,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[BETWEEN(false, $6, 1998, 2000)])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(channel=[_UTF-16LE'catalog'], i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], sales=[$3], number_sales=[$4])
+ HiveProject(channel=[_UTF-16LE'catalog':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], sales=[$3], number_sales=[$4])
HiveJoin(condition=[>($3, $5)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3], $f4=[$4])
HiveAggregate(group=[{0, 1, 2}], agg#0=[sum($3)], agg#1=[count()])
@@ -328,7 +328,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[
HiveTableScan(table=[[default, item]], table:alias=[item])
HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ss_item_sk=[$0])
- HiveJoin(condition=[AND(AND(=($1, $4), =($2, $5)), =($3, $6))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($1, $4), =($2, $5), =($3, $6))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11])
HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))])
HiveTableScan(table=[[default, item]], table:alias=[item])
@@ -411,7 +411,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[BETWEEN(false, $6, 1998, 2000)])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(channel=[_UTF-16LE'web'], i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], sales=[$3], number_sales=[$4])
+ HiveProject(channel=[_UTF-16LE'web':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], sales=[$3], number_sales=[$4])
HiveJoin(condition=[>($3, $5)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3], $f4=[$4])
HiveAggregate(group=[{0, 1, 2}], agg#0=[sum($3)], agg#1=[count()])
@@ -421,7 +421,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[
HiveTableScan(table=[[default, item]], table:alias=[item])
HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ss_item_sk=[$0])
- HiveJoin(condition=[AND(AND(=($1, $4), =($2, $5)), =($3, $6))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($1, $4), =($2, $5), =($3, $6))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11])
HiveFilter(condition=[AND(IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11))])
HiveTableScan(table=[[default, item]], table:alias=[item])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query15.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query15.q.out
index 32404b6209..73da8bfe42 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query15.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query15.q.out
@@ -59,7 +59,7 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100])
HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveProject(cs_sold_date_sk=[$0], cs_bill_customer_sk=[$1], cs_sales_price=[$2], >=[$3], d_date_sk=[$4])
HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(cs_sold_date_sk=[$0], cs_bill_customer_sk=[$3], cs_sales_price=[$21], >=[>($21, 500)])
+ HiveProject(cs_sold_date_sk=[$0], cs_bill_customer_sk=[$3], cs_sales_price=[$21], >=[>($21, 500:DECIMAL(3, 0))])
HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))])
HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales])
HiveProject(d_date_sk=[$0])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query16.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query16.q.out
index 1de59b24d9..f931724b4a 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query16.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query16.q.out
@@ -78,7 +78,7 @@ HiveAggregate(group=[{}], agg#0=[count(DISTINCT $4)], agg#1=[sum($5)], agg#2=[su
HiveProject(cs_ship_date_sk=[$2], cs_ship_addr_sk=[$3], cs_call_center_sk=[$4], cs_warehouse_sk=[$5], cs_order_number=[$6], cs_ext_ship_cost=[$7], cs_net_profit=[$8], d_date_sk=[$9], d_date=[$10], ca_address_sk=[$0], ca_state=[$1], cc_call_center_sk=[$11], cc_county=[$12])
HiveJoin(condition=[=($4, $11)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(ca_address_sk=[$0], ca_state=[CAST(_UTF-16LE'NY'):VARCHAR(2147483647) CHARACTER SET "UTF-16LE" COLLATE "ISO-8859-1$en_US$primary"])
+ HiveProject(ca_address_sk=[$0], ca_state=[CAST(_UTF-16LE'NY':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"):VARCHAR(2147483647) CHARACTER SET "UTF-16LE"])
HiveFilter(condition=[=($8, _UTF-16LE'NY')])
HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveJoin(condition=[=($0, $7)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -86,7 +86,7 @@ HiveAggregate(group=[{}], agg#0=[count(DISTINCT $4)], agg#1=[sum($5)], agg#2=[su
HiveFilter(condition=[AND(IS NOT NULL($2), IS NOT NULL($10), IS NOT NULL($11))])
HiveTableScan(table=[[default, catalog_sales]], table:alias=[cs1])
HiveProject(d_date_sk=[$0], d_date=[$2])
- HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 2001-04-01 00:00:00, 2001-05-31 00:00:00)])
+ HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 2001-04-01 00:00:00:TIMESTAMP(9), 2001-05-31 00:00:00:TIMESTAMP(9))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(cc_call_center_sk=[$0], cc_county=[$25])
HiveFilter(condition=[IN($25, _UTF-16LE'Ziebach County', _UTF-16LE'Levy County', _UTF-16LE'Huron County', _UTF-16LE'Franklin Parish', _UTF-16LE'Daviess County')])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query17.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query17.q.out
index 120c8d28d1..efafbf376c 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query17.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query17.q.out
@@ -102,7 +102,7 @@ POSTHOOK: Input: default@store_sales
POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], dir0=[ASC], dir1=[ASC], dir2=[ASC], fetch=[100])
- HiveProject(i_item_id=[$0], i_item_desc=[$1], s_state=[$2], store_sales_quantitycount=[$3], store_sales_quantityave=[/(CAST($4):DOUBLE, $3)], store_sales_quantitystdev=[POWER(/(-($5, /(*($6, $6), $3)), CASE(=($3, 1), null, -($3, 1))), 0.5)], store_sales_quantitycov=[/(POWER(/(-($5, /(*($6, $6), $3)), CASE(=($3, 1), null, -($3, 1))), 0.5), /(CAST($4):DOUBLE, $3))], as_store_returns_quantitycount=[$7], as_store_returns_quantityave=[/(CAST($8):DOUBLE, $7)], as_store_returns_quantitystdev=[POWER(/(-($9, /(*($10, $10), $7)), CASE(=($7, 1), null, -($7, 1))), 0.5)], store_returns_quantitycov=[/(POWER(/(-($9, /(*($10, $10), $7)), CASE(=($7, 1), null, -($7, 1))), 0.5), /(CAST($8):DOUBLE, $7))], catalog_sales_quantitycount=[$11], catalog_sales_quantityave=[/(CAST($12):DOUBLE, $11)], catalog_sales_quantitystdev=[/(POWER(/(-($13, /(*($14, $14), $11)), CASE(=($11, 1), null, -($11, 1))), 0.5), /(CAST($12):DOUBLE, $11))], catalog_sales_quantitycov=[/(POWER(/(-($13, /(*($14, $14), $11)), CASE(=($11, 1), null, -($11, 1))), 0.5), /(CAST($12):DOUBLE, $11))])
+ HiveProject(i_item_id=[$0], i_item_desc=[$1], s_state=[$2], store_sales_quantitycount=[$3], store_sales_quantityave=[/(CAST($4):DOUBLE, $3)], store_sales_quantitystdev=[POWER(/(-($5, /(*($6, $6), $3)), CASE(=($3, 1), null:BIGINT, -($3, 1))), 0.5:DECIMAL(2, 1))], store_sales_quantitycov=[/(POWER(/(-($5, /(*($6, $6), $3)), CASE(=($3, 1), null:BIGINT, -($3, 1))), 0.5:DECIMAL(2, 1)), /(CAST($4):DOUBLE, $3))], as_store_returns_quantitycount=[$7], as_store_returns_quantityave=[/(CAST($8):DOUBLE, $7)], as_store_returns_quantitystdev=[POWER(/(-($9, /(*($10, $10), $7)), CASE(=($7, 1), null:BIGINT, -($7, 1))), 0.5:DECIMAL(2, 1))], store_returns_quantitycov=[/(POWER(/(-($9, /(*($10, $10), $7)), CASE(=($7, 1), null:BIGINT, -($7, 1))), 0.5:DECIMAL(2, 1)), /(CAST($8):DOUBLE, $7))], catalog_sales_quantitycount=[$11], catalog_sales_quantityave=[/(CAST($12):DOUBLE, $11)], catalog_sales_quantitystdev=[/(POWER(/(-($13, /(*($14, $14), $11)), CASE(=($11, 1), null:BIGINT, -($11, 1))), 0.5:DECIMAL(2, 1)), /(CAST($12):DOUBLE, $11))], catalog_sales_quantitycov=[/(POWER(/(-($13, /(*($14, $14), $11)), CASE(=($11, 1), null:BIGINT, -($11, 1))), 0.5:DECIMAL(2, 1)), /(CAST($12):DOUBLE, $11))])
HiveAggregate(group=[{0, 1, 2}], agg#0=[count($3)], agg#1=[sum($3)], agg#2=[sum($7)], agg#3=[sum($6)], agg#4=[count($4)], agg#5=[sum($4)], agg#6=[sum($9)], agg#7=[sum($8)], agg#8=[count($5)], agg#9=[sum($5)], agg#10=[sum($11)], agg#11=[sum($10)])
HiveProject($f0=[$21], $f1=[$22], $f2=[$19], $f3=[$10], $f4=[$16], $f5=[$3], $f30=[CAST($10):DOUBLE], $f7=[*(CAST($10):DOUBLE, CAST($10):DOUBLE)], $f40=[CAST($16):DOUBLE], $f9=[*(CAST($16):DOUBLE, CAST($16):DOUBLE)], $f50=[CAST($3):DOUBLE], $f11=[*(CAST($3):DOUBLE, CAST($3):DOUBLE)])
HiveJoin(condition=[=($20, $6)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -116,7 +116,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], dir0=[ASC], dir1=[ASC], dir2=[
HiveFilter(condition=[IN($15, _UTF-16LE'2000Q1', _UTF-16LE'2000Q2', _UTF-16LE'2000Q3')])
HiveTableScan(table=[[default, date_dim]], table:alias=[d3])
HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$1], ss_customer_sk=[$2], ss_store_sk=[$3], ss_ticket_number=[$4], ss_quantity=[$5], d_date_sk=[$6], sr_returned_date_sk=[$7], sr_item_sk=[$8], sr_customer_sk=[$9], sr_ticket_number=[$10], sr_return_quantity=[$11], d_date_sk0=[$12])
- HiveJoin(condition=[AND(AND(=($2, $9), =($1, $8)), =($4, $10))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($2, $9), =($1, $8), =($4, $10))], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($6, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_customer_sk=[$3], ss_store_sk=[$7], ss_ticket_number=[$9], ss_quantity=[$10])
HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0), IS NOT NULL($7))])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query2.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query2.q.out
index 07ab7a16e0..30ecde869a 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query2.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query2.q.out
@@ -131,7 +131,7 @@ HiveSortLimit(sort0=[$0], dir0=[ASC])
HiveJoin(condition=[=($8, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3], $f4=[$4], $f5=[$5], $f6=[$6], $f7=[$7])
HiveAggregate(group=[{0}], agg#0=[sum($1)], agg#1=[sum($2)], agg#2=[sum($3)], agg#3=[sum($4)], agg#4=[sum($5)], agg#5=[sum($6)], agg#6=[sum($7)])
- HiveProject($f0=[$3], $f1=[CASE($4, $1, null)], $f2=[CASE($5, $1, null)], $f3=[CASE($6, $1, null)], $f4=[CASE($7, $1, null)], $f5=[CASE($8, $1, null)], $f6=[CASE($9, $1, null)], $f7=[CASE($10, $1, null)])
+ HiveProject($f0=[$3], $f1=[CASE($4, $1, null:NULL)], $f2=[CASE($5, $1, null:NULL)], $f3=[CASE($6, $1, null:NULL)], $f4=[CASE($7, $1, null:NULL)], $f5=[CASE($8, $1, null:NULL)], $f6=[CASE($9, $1, null:NULL)], $f7=[CASE($10, $1, null:NULL)])
HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ws_sold_date_sk=[$0], ws_ext_sales_price=[$1])
HiveUnion(all=[true])
@@ -151,7 +151,7 @@ HiveSortLimit(sort0=[$0], dir0=[ASC])
HiveJoin(condition=[=($8, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3], $f4=[$4], $f5=[$5], $f6=[$6], $f7=[$7])
HiveAggregate(group=[{0}], agg#0=[sum($1)], agg#1=[sum($2)], agg#2=[sum($3)], agg#3=[sum($4)], agg#4=[sum($5)], agg#5=[sum($6)], agg#6=[sum($7)])
- HiveProject($f0=[$3], $f1=[CASE($4, $1, null)], $f2=[CASE($5, $1, null)], $f3=[CASE($6, $1, null)], $f4=[CASE($7, $1, null)], $f5=[CASE($8, $1, null)], $f6=[CASE($9, $1, null)], $f7=[CASE($10, $1, null)])
+ HiveProject($f0=[$3], $f1=[CASE($4, $1, null:NULL)], $f2=[CASE($5, $1, null:NULL)], $f3=[CASE($6, $1, null:NULL)], $f4=[CASE($7, $1, null:NULL)], $f5=[CASE($8, $1, null:NULL)], $f6=[CASE($9, $1, null:NULL)], $f7=[CASE($10, $1, null:NULL)])
HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ws_sold_date_sk=[$0], ws_ext_sales_price=[$1])
HiveUnion(all=[true])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query20.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query20.q.out
index 29382b389b..05c9f5fefd 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query20.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query20.q.out
@@ -65,7 +65,7 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveProject(i_item_desc=[$0], i_category=[$1], i_class=[$2], i_current_price=[$3], itemrevenue=[$4], revenueratio=[$5])
HiveSortLimit(sort0=[$1], sort1=[$2], sort2=[$6], sort3=[$0], sort4=[$5], dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC], dir4=[ASC], fetch=[100])
- HiveProject(i_item_desc=[$1], i_category=[$4], i_class=[$3], i_current_price=[$2], itemrevenue=[$5], revenueratio=[/(*($5, CAST(100):DECIMAL(10, 0)), sum($5) OVER (PARTITION BY $3 ORDER BY $3 NULLS FIRST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING))], (tok_table_or_col i_item_id)=[$0])
+ HiveProject(i_item_desc=[$1], i_category=[$4], i_class=[$3], i_current_price=[$2], itemrevenue=[$5], revenueratio=[/(*($5, 100:DECIMAL(10, 0)), sum($5) OVER (PARTITION BY $3 ORDER BY $3 NULLS FIRST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING))], (tok_table_or_col i_item_id)=[$0])
HiveAggregate(group=[{1, 2, 3, 4, 5}], agg#0=[sum($8)])
HiveJoin(condition=[=($7, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(i_item_sk=[$0], i_item_id=[$1], i_item_desc=[$4], i_current_price=[$5], i_class=[$10], i_category=[$12])
@@ -76,6 +76,6 @@ HiveProject(i_item_desc=[$0], i_category=[$1], i_class=[$2], i_current_price=[$3
HiveFilter(condition=[IS NOT NULL($0)])
HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 2001-01-12 00:00:00, 2001-02-11 00:00:00)])
+ HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 2001-01-12 00:00:00:TIMESTAMP(9), 2001-02-11 00:00:00:TIMESTAMP(9))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query21.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query21.q.out
index 5e165e8e70..fc95a2bde8 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query21.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query21.q.out
@@ -69,7 +69,7 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3])
- HiveFilter(condition=[AND(CASE(>($2, 0), <=(6.66667E-1, /(CAST($3):DOUBLE, CAST($2):DOUBLE)), null), CASE(>($2, 0), <=(/(CAST($3):DOUBLE, CAST($2):DOUBLE), 1.5E0), null))])
+ HiveFilter(condition=[AND(CASE(>($2, 0), <=(6.66667E-1, /(CAST($3):DOUBLE, CAST($2):DOUBLE)), false), CASE(>($2, 0), <=(/(CAST($3):DOUBLE, CAST($2):DOUBLE), 1.5E0), false))])
HiveAggregate(group=[{0, 1}], agg#0=[sum($2)], agg#1=[sum($3)])
HiveProject($f0=[$1], $f1=[$10], $f2=[CASE($7, $5, 0)], $f3=[CASE($8, $5, 0)])
HiveJoin(condition=[=($4, $0)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -80,9 +80,9 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveProject(inv_date_sk=[$0], inv_item_sk=[$1], inv_warehouse_sk=[$2], inv_quantity_on_hand=[$3])
HiveTableScan(table=[[default, inventory]], table:alias=[inventory])
HiveProject(d_date_sk=[$0], <=[<(CAST($2):DATE, 1998-04-08)], >==[>=(CAST($2):DATE, 1998-04-08)])
- HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-09 00:00:00, 1998-05-08 00:00:00)])
+ HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-09 00:00:00:TIMESTAMP(9), 1998-05-08 00:00:00:TIMESTAMP(9))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(i_item_sk=[$0], i_item_id=[$1])
- HiveFilter(condition=[BETWEEN(false, $5, 0.99, 1.49)])
+ HiveFilter(condition=[BETWEEN(false, $5, 0.99:DECIMAL(3, 2), 1.49:DECIMAL(3, 2))])
HiveTableScan(table=[[default, item]], table:alias=[item])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query23.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query23.q.out
index 3146b776ce..e6d6c0c875 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query23.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query23.q.out
@@ -126,7 +126,7 @@ HiveAggregate(group=[{}], agg#0=[sum($0)])
HiveSemiJoin(condition=[=($3, $7)], joinType=[inner])
HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject($f0=[$0])
- HiveJoin(condition=[>($1, *(0.95, $3))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[>($1, *(0.95:DECIMAL(3, 2), $3))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ss_customer_sk=[$0], $f1=[$1])
HiveAggregate(group=[{0}], agg#0=[sum($1)])
HiveProject(ss_customer_sk=[CAST($3):INTEGER NOT NULL], *=[*(CAST($10):DECIMAL(10, 0), $13)])
@@ -185,7 +185,7 @@ HiveAggregate(group=[{}], agg#0=[sum($0)])
HiveSemiJoin(condition=[=($2, $7)], joinType=[inner])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject($f0=[$0])
- HiveJoin(condition=[>($1, *(0.95, $3))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[>($1, *(0.95:DECIMAL(3, 2), $3))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ss_customer_sk=[$0], $f1=[$1])
HiveAggregate(group=[{0}], agg#0=[sum($1)])
HiveProject(ss_customer_sk=[CAST($3):INTEGER NOT NULL], *=[*(CAST($10):DECIMAL(10, 0), $13)])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query24.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query24.q.out
index 41d96ea303..d32e0c8920 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query24.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query24.q.out
@@ -143,7 +143,7 @@ HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3])
HiveProject(i_item_sk=[$0], i_current_price=[$5], i_size=[$15], i_units=[$18], i_manager_id=[$20])
HiveFilter(condition=[=($17, _UTF-16LE'orchid')])
HiveTableScan(table=[[default, item]], table:alias=[item])
- HiveProject(_o__c0=[*(0.05, /($0, $1))])
+ HiveProject(_o__c0=[*(0.05:DECIMAL(3, 2), /($0, $1))])
HiveAggregate(group=[{}], agg#0=[sum($10)], agg#1=[count($10)])
HiveProject(c_first_name=[$0], c_last_name=[$1], ca_state=[$2], s_store_name=[$3], s_state=[$4], i_current_price=[$5], i_size=[$6], i_color=[$7], i_units=[$8], i_manager_id=[$9], $f10=[$10])
HiveAggregate(group=[{9, 10, 13, 17, 18, 21, 22, 23, 24, 25}], agg#0=[sum($4)])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query25.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query25.q.out
index 958033e41b..be19f71193 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query25.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query25.q.out
@@ -121,7 +121,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[
HiveFilter(condition=[AND(BETWEEN(false, $8, 4, 10), =($6, 2000))])
HiveTableScan(table=[[default, date_dim]], table:alias=[d3])
HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$1], ss_customer_sk=[$2], ss_store_sk=[$3], ss_ticket_number=[$4], ss_net_profit=[$5], d_date_sk=[$6], sr_returned_date_sk=[$7], sr_item_sk=[$8], sr_customer_sk=[$9], sr_ticket_number=[$10], sr_net_loss=[$11], d_date_sk0=[$12])
- HiveJoin(condition=[AND(AND(=($2, $9), =($1, $8)), =($4, $10))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($2, $9), =($1, $8), =($4, $10))], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($6, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_customer_sk=[$3], ss_store_sk=[$7], ss_ticket_number=[$9], ss_net_profit=[$22])
HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0), IS NOT NULL($7))])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query27.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query27.q.out
index 7fae258207..4908bc6171 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query27.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query27.q.out
@@ -56,7 +56,7 @@ POSTHOOK: Input: default@store_sales
POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
- HiveProject(i_item_id=[$0], s_state=[$1], g_state=[grouping($10, 0)], agg1=[/(CAST($2):DOUBLE, $3)], agg2=[/($4, $5)], agg3=[/($6, $7)], agg4=[/($8, $9)])
+ HiveProject(i_item_id=[$0], s_state=[$1], g_state=[grouping($10, 0:BIGINT)], agg1=[/(CAST($2):DOUBLE, $3)], agg2=[/($4, $5)], agg3=[/($6, $7)], agg4=[/($8, $9)])
HiveAggregate(group=[{0, 1}], groups=[[{0, 1}, {0}, {}]], agg#0=[sum($2)], agg#1=[count($2)], agg#2=[sum($3)], agg#3=[count($3)], agg#4=[sum($4)], agg#5=[count($4)], agg#6=[sum($5)], agg#7=[count($5)], GROUPING__ID=[GROUPING__ID()])
HiveProject($f0=[$1], $f1=[$13], $f2=[$6], $f3=[$7], $f4=[$9], $f5=[$8])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query28.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query28.q.out
index e0e61534c5..5fe992aeab 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query28.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query28.q.out
@@ -120,26 +120,26 @@ HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f00=[$15], $f10=[$16], $f20=[$17], $f
HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject($f0=[/($0, $1)], $f1=[$1], $f2=[$2])
HiveAggregate(group=[{}], agg#0=[sum($12)], agg#1=[count($12)], agg#2=[count(DISTINCT $12)])
- HiveFilter(condition=[AND(BETWEEN(false, $10, 0, 5), OR(BETWEEN(false, $12, 11, 21), BETWEEN(false, $19, 460, 1460), BETWEEN(false, $11, 14, 34)))])
+ HiveFilter(condition=[AND(BETWEEN(false, $10, 0, 5), OR(BETWEEN(false, $12, 11:DECIMAL(12, 2), 21:DECIMAL(2, 0)), BETWEEN(false, $19, 460:DECIMAL(12, 2), 1460:DECIMAL(4, 0)), BETWEEN(false, $11, 14:DECIMAL(12, 2), 34:DECIMAL(2, 0))))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject($f0=[/($0, $1)], $f1=[$1], $f2=[$2])
HiveAggregate(group=[{}], agg#0=[sum($12)], agg#1=[count($12)], agg#2=[count(DISTINCT $12)])
- HiveFilter(condition=[AND(BETWEEN(false, $10, 26, 30), OR(BETWEEN(false, $12, 28, 38), BETWEEN(false, $19, 2513, 3513), BETWEEN(false, $11, 42, 62)))])
+ HiveFilter(condition=[AND(BETWEEN(false, $10, 26, 30), OR(BETWEEN(false, $12, 28:DECIMAL(12, 2), 38:DECIMAL(2, 0)), BETWEEN(false, $19, 2513:DECIMAL(12, 2), 3513:DECIMAL(4, 0)), BETWEEN(false, $11, 42:DECIMAL(12, 2), 62:DECIMAL(2, 0))))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject($f0=[/($0, $1)], $f1=[$1], $f2=[$2])
HiveAggregate(group=[{}], agg#0=[sum($12)], agg#1=[count($12)], agg#2=[count(DISTINCT $12)])
- HiveFilter(condition=[AND(BETWEEN(false, $10, 21, 25), OR(BETWEEN(false, $12, 135, 145), BETWEEN(false, $19, 14180, 15180), BETWEEN(false, $11, 38, 58)))])
+ HiveFilter(condition=[AND(BETWEEN(false, $10, 21, 25), OR(BETWEEN(false, $12, 135:DECIMAL(12, 2), 145:DECIMAL(3, 0)), BETWEEN(false, $19, 14180:DECIMAL(12, 2), 15180:DECIMAL(5, 0)), BETWEEN(false, $11, 38:DECIMAL(12, 2), 58:DECIMAL(2, 0))))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject($f0=[/($0, $1)], $f1=[$1], $f2=[$2])
HiveAggregate(group=[{}], agg#0=[sum($12)], agg#1=[count($12)], agg#2=[count(DISTINCT $12)])
- HiveFilter(condition=[AND(BETWEEN(false, $10, 16, 20), OR(BETWEEN(false, $12, 142, 152), BETWEEN(false, $19, 3054, 4054), BETWEEN(false, $11, 80, 100)))])
+ HiveFilter(condition=[AND(BETWEEN(false, $10, 16, 20), OR(BETWEEN(false, $12, 142:DECIMAL(12, 2), 152:DECIMAL(3, 0)), BETWEEN(false, $19, 3054:DECIMAL(12, 2), 4054:DECIMAL(4, 0)), BETWEEN(false, $11, 80:DECIMAL(12, 2), 100:DECIMAL(3, 0))))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject($f0=[/($0, $1)], $f1=[$1], $f2=[$2])
HiveAggregate(group=[{}], agg#0=[sum($12)], agg#1=[count($12)], agg#2=[count(DISTINCT $12)])
- HiveFilter(condition=[AND(BETWEEN(false, $10, 11, 15), OR(BETWEEN(false, $12, 66, 76), BETWEEN(false, $19, 920, 1920), BETWEEN(false, $11, 4, 24)))])
+ HiveFilter(condition=[AND(BETWEEN(false, $10, 11, 15), OR(BETWEEN(false, $12, 66:DECIMAL(12, 2), 76:DECIMAL(2, 0)), BETWEEN(false, $19, 920:DECIMAL(12, 2), 1920:DECIMAL(4, 0)), BETWEEN(false, $11, 4:DECIMAL(12, 2), 24:DECIMAL(2, 0))))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject($f0=[/($0, $1)], $f1=[$1], $f2=[$2])
HiveAggregate(group=[{}], agg#0=[sum($12)], agg#1=[count($12)], agg#2=[count(DISTINCT $12)])
- HiveFilter(condition=[AND(BETWEEN(false, $10, 6, 10), OR(BETWEEN(false, $12, 91, 101), BETWEEN(false, $19, 1430, 2430), BETWEEN(false, $11, 32, 52)))])
+ HiveFilter(condition=[AND(BETWEEN(false, $10, 6, 10), OR(BETWEEN(false, $12, 91:DECIMAL(12, 2), 101:DECIMAL(3, 0)), BETWEEN(false, $19, 1430:DECIMAL(12, 2), 2430:DECIMAL(4, 0)), BETWEEN(false, $11, 32:DECIMAL(12, 2), 52:DECIMAL(2, 0))))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query29.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query29.q.out
index 3e7c6805b2..f73b7cee01 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query29.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query29.q.out
@@ -119,7 +119,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[
HiveFilter(condition=[IN($6, 1999, 2000, 2001)])
HiveTableScan(table=[[default, date_dim]], table:alias=[d3])
HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$1], ss_customer_sk=[$2], ss_store_sk=[$3], ss_ticket_number=[$4], ss_quantity=[$5], d_date_sk=[$6], sr_returned_date_sk=[$7], sr_item_sk=[$8], sr_customer_sk=[$9], sr_ticket_number=[$10], sr_return_quantity=[$11], d_date_sk0=[$12])
- HiveJoin(condition=[AND(AND(=($2, $9), =($1, $8)), =($4, $10))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($2, $9), =($1, $8), =($4, $10))], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($6, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_customer_sk=[$3], ss_store_sk=[$7], ss_ticket_number=[$9], ss_quantity=[$10])
HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0), IS NOT NULL($7))])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query30.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query30.q.out
index bd68baa23b..7c8bfebdca 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query30.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query30.q.out
@@ -94,7 +94,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$4], sort5=
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[=($6, 2002)])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(_o__c0=[*(/($1, $2), 1.2)], ctr_state=[$0])
+ HiveProject(_o__c0=[*(/($1, $2), 1.2:DECIMAL(2, 1))], ctr_state=[$0])
HiveAggregate(group=[{0}], agg#0=[sum($2)], agg#1=[count($2)])
HiveProject(ca_state=[$0], wr_returning_customer_sk=[$1], $f2=[$2])
HiveAggregate(group=[{1, 3}], agg#0=[sum($5)])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query31.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query31.q.out
index f8e31a23aa..55435c7049 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query31.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query31.q.out
@@ -112,10 +112,10 @@ POSTHOOK: Input: default@web_sales
POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveProject(ca_county=[$8], d_year=[CAST(2000):INTEGER], web_q1_q2_increase=[/($6, $1)], store_q1_q2_increase=[/($9, $11)], web_q2_q3_increase=[/($4, $6)], store_q2_q3_increase=[/($13, $9)])
- HiveJoin(condition=[AND(AND(=($8, $0), CASE(>($11, 0), CASE($2, >(/($6, $1), /($9, $11)), >(null, /($9, $11))), CASE($2, >(/($6, $1), null), null))), CASE(>($9, 0), CASE($7, >(/($4, $6), /($13, $9)), >(null, /($13, $9))), CASE($7, >(/($4, $6), null), null)))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($8, $0), CASE(>($11, 0:DECIMAL(1, 0)), CASE($2, >(/($6, $1), /($9, $11)), false), false), CASE(>($9, 0:DECIMAL(1, 0)), CASE($7, >(/($4, $6), /($13, $9)), false), false))], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($0, $5)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject($f0=[$0], $f3=[$1], >=[>($1, 0)])
+ HiveProject($f0=[$0], $f3=[$1], >=[>($1, 0:DECIMAL(1, 0))])
HiveAggregate(group=[{1}], agg#0=[sum($4)])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ca_address_sk=[$0], ca_county=[$7])
@@ -141,7 +141,7 @@ HiveProject(ca_county=[$8], d_year=[CAST(2000):INTEGER], web_q1_q2_increase=[/($
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[AND(=($10, 3), =($6, 2000))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject($f0=[$0], $f3=[$1], >=[>($1, 0)])
+ HiveProject($f0=[$0], $f3=[$1], >=[>($1, 0:DECIMAL(1, 0))])
HiveAggregate(group=[{1}], agg#0=[sum($4)])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ca_address_sk=[$0], ca_county=[$7])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query32.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query32.q.out
index b5cf714198..ba9ac46373 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query32.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query32.q.out
@@ -68,18 +68,18 @@ HiveAggregate(group=[{}], agg#0=[sum($2)])
HiveFilter(condition=[IS NOT NULL($0)])
HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00, 1998-06-16 00:00:00)])
+ HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00:TIMESTAMP(9), 1998-06-16 00:00:00:TIMESTAMP(9))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(cs_item_sk=[$0], CAST3=[$1], i_item_sk=[$2])
HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(cs_item_sk=[$0], CAST3=[CAST(*(1.3, /($1, $2))):DECIMAL(14, 7)])
+ HiveProject(cs_item_sk=[$0], CAST3=[CAST(*(1.3:DECIMAL(2, 1), /($1, $2))):DECIMAL(14, 7)])
HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15], cs_ext_discount_amt=[$22])
HiveFilter(condition=[IS NOT NULL($0)])
HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00, 1998-06-16 00:00:00)])
+ HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00:TIMESTAMP(9), 1998-06-16 00:00:00:TIMESTAMP(9))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(i_item_sk=[$0])
HiveFilter(condition=[=($13, 269)])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query33.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query33.q.out
index e8824ddf54..d917a04afb 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query33.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query33.q.out
@@ -180,7 +180,7 @@ HiveSortLimit(sort0=[$1], dir0=[ASC], fetch=[100])
HiveProject(ca_address_sk=[$0], ss_sold_date_sk=[$1], ss_item_sk=[$2], ss_addr_sk=[$3], ss_ext_sales_price=[$4], d_date_sk=[$5])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ca_address_sk=[$0])
- HiveFilter(condition=[=($11, -6)])
+ HiveFilter(condition=[=($11, -6:DECIMAL(1, 0))])
HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_addr_sk=[$6], ss_ext_sales_price=[$15])
@@ -203,7 +203,7 @@ HiveSortLimit(sort0=[$1], dir0=[ASC], fetch=[100])
HiveProject(ca_address_sk=[$0], cs_sold_date_sk=[$1], cs_bill_addr_sk=[$2], cs_item_sk=[$3], cs_ext_sales_price=[$4], d_date_sk=[$5])
HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ca_address_sk=[$0])
- HiveFilter(condition=[=($11, -6)])
+ HiveFilter(condition=[=($11, -6:DECIMAL(1, 0))])
HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(cs_sold_date_sk=[$0], cs_bill_addr_sk=[$6], cs_item_sk=[$15], cs_ext_sales_price=[$23])
@@ -226,7 +226,7 @@ HiveSortLimit(sort0=[$1], dir0=[ASC], fetch=[100])
HiveProject(ca_address_sk=[$0], ws_sold_date_sk=[$1], ws_item_sk=[$2], ws_bill_addr_sk=[$3], ws_ext_sales_price=[$4], d_date_sk=[$5])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ca_address_sk=[$0])
- HiveFilter(condition=[=($11, -6)])
+ HiveFilter(condition=[=($11, -6:DECIMAL(1, 0))])
HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_bill_addr_sk=[$7], ws_ext_sales_price=[$23])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query34.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query34.q.out
index 987f8d3eea..9f6a6f7ff9 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query34.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query34.q.out
@@ -77,7 +77,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[
HiveProject(c_customer_sk=[$0], c_salutation=[$7], c_first_name=[$8], c_last_name=[$9], c_preferred_cust_flag=[$10])
HiveTableScan(table=[[default, customer]], table:alias=[customer])
HiveProject(ss_ticket_number=[$0], ss_customer_sk=[$1], $f2=[$2])
- HiveFilter(condition=[BETWEEN(false, $2, 15, 20)])
+ HiveFilter(condition=[BETWEEN(false, $2, 15:BIGINT, 20:BIGINT)])
HiveProject(ss_ticket_number=[$1], ss_customer_sk=[$0], $f2=[$2])
HiveAggregate(group=[{1, 4}], agg#0=[count()])
HiveJoin(condition=[=($3, $7)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -90,7 +90,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[
HiveFilter(condition=[AND(IN($6, 2000, 2001, 2002), OR(<=(1, $9), <=($9, 3), <=(25, $9), <=($9, 28)), OR(BETWEEN(false, $9, 1, 3), BETWEEN(false, $9, 25, 28)))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(hd_demo_sk=[$0])
- HiveFilter(condition=[AND(IN($2, _UTF-16LE'>10000', _UTF-16LE'unknown'), >($4, 0), CASE(>($4, 0), >(/(CAST($3):DOUBLE, CAST($4):DOUBLE), 1.2), null))])
+ HiveFilter(condition=[AND(IN($2, _UTF-16LE'>10000', _UTF-16LE'unknown'), >($4, 0), CASE(>($4, 0), >(/(CAST($3):DOUBLE, CAST($4):DOUBLE), 1.2), false))])
HiveTableScan(table=[[default, household_demographics]], table:alias=[household_demographics])
HiveProject(s_store_sk=[$0])
HiveFilter(condition=[IN($23, _UTF-16LE'Mobile County', _UTF-16LE'Maverick County', _UTF-16LE'Huron County', _UTF-16LE'Kittitas County', _UTF-16LE'Fairfield County', _UTF-16LE'Jackson County', _UTF-16LE'Barrow County', _UTF-16LE'Pennington County')])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query36.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query36.q.out
index d4031261c7..783245824a 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query36.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query36.q.out
@@ -69,7 +69,7 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveProject(gross_margin=[$0], i_category=[$1], i_class=[$2], lochierarchy=[$3], rank_within_parent=[$4])
HiveSortLimit(sort0=[$3], sort1=[$5], sort2=[$4], dir0=[DESC-nulls-last], dir1=[ASC], dir2=[ASC], fetch=[100])
- HiveProject(gross_margin=[/($2, $3)], i_category=[$0], i_class=[$1], lochierarchy=[+(grouping($4, 1), grouping($4, 0))], rank_within_parent=[rank() OVER (PARTITION BY +(grouping($4, 1), grouping($4, 0)), CASE(=(grouping($4, 0), 0), $0, null) ORDER BY /($2, $3) NULLS FIRST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)], (tok_function when (= (tok_table_or_col lochierarchy) 0) (tok_table_or_col i_category))=[CASE(=(+(grouping($4, 1), grouping($4, 0)), 0), $0, null)])
+ HiveProject(gross_margin=[/($2, $3)], i_category=[$0], i_class=[$1], lochierarchy=[+(grouping($4, 1:BIGINT), grouping($4, 0:BIGINT))], rank_within_parent=[rank() OVER (PARTITION BY +(grouping($4, 1:BIGINT), grouping($4, 0:BIGINT)), CASE(=(grouping($4, 0:BIGINT), CAST(0):BIGINT), $0, null:VARCHAR(2147483647) CHARACTER SET "UTF-16LE") ORDER BY /($2, $3) NULLS FIRST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)], (tok_function when (= (tok_table_or_col lochierarchy) 0) (tok_table_or_col i_category))=[CASE(=(+(grouping($4, 1:BIGINT), grouping($4, 0:BIGINT)), 0), $0, null:VARCHAR(2147483647) CHARACTER SET "UTF-16LE")])
HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3], GROUPING__ID=[$4])
HiveAggregate(group=[{0, 1}], groups=[[{0, 1}, {0}, {}]], agg#0=[sum($2)], agg#1=[sum($3)], GROUPING__ID=[GROUPING__ID()])
HiveProject($f0=[$9], $f1=[$8], $f2=[$4], $f3=[$3])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query37.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query37.q.out
index f054717d70..dfa6798d3e 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query37.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query37.q.out
@@ -49,7 +49,7 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100])
HiveProject(cs_item_sk=[$15])
HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales])
HiveProject(i_item_sk=[$0], i_item_id=[$1], i_item_desc=[$4], i_current_price=[$5])
- HiveFilter(condition=[AND(IN($13, 678, 964, 918, 849), BETWEEN(false, $5, 22, 52))])
+ HiveFilter(condition=[AND(IN($13, 678, 964, 918, 849), BETWEEN(false, $5, 22:DECIMAL(12, 2), 52:DECIMAL(2, 0)))])
HiveTableScan(table=[[default, item]], table:alias=[item])
HiveProject(inv_date_sk=[$0], inv_item_sk=[$1], d_date_sk=[$2])
HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -57,6 +57,6 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100])
HiveFilter(condition=[BETWEEN(false, $3, 100, 500)])
HiveTableScan(table=[[default, inventory]], table:alias=[inventory])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 2001-06-02 00:00:00, 2001-08-01 00:00:00)])
+ HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 2001-06-02 00:00:00:TIMESTAMP(9), 2001-08-01 00:00:00:TIMESTAMP(9))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query39.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query39.q.out
index 272bedcbce..ec236ee4df 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query39.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query39.q.out
@@ -65,8 +65,8 @@ HiveProject(w_warehouse_sk=[$0], i_item_sk=[$1], d_moy=[CAST(4):INTEGER], mean=[
HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$6], sort5=[$7], dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC], dir4=[ASC], dir5=[ASC])
HiveProject(w_warehouse_sk=[$0], i_item_sk=[$1], mean=[$6], cov=[$7], w_warehouse_sk0=[$0], i_item_sk0=[$1], mean0=[$2], cov0=[$3])
HiveJoin(condition=[AND(=($5, $1), =($4, $0))], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(w_warehouse_sk=[$0], i_item_sk=[$1], mean=[/(CAST($5):DOUBLE, $4)], cov=[CASE(=(/(CAST($5):DOUBLE, $4), 0), null, /(POWER(/(-($2, /(*($3, $3), $4)), CASE(=($4, 1), null, -($4, 1))), 0.5), /(CAST($5):DOUBLE, $4)))])
- HiveFilter(condition=[CASE(=(/(CAST($5):DOUBLE, $4), 0), false, >(/(POWER(/(-($2, /(*($3, $3), $4)), CASE(=($4, 1), null, -($4, 1))), 0.5), /(CAST($5):DOUBLE, $4)), 1))])
+ HiveProject(w_warehouse_sk=[$0], i_item_sk=[$1], mean=[/(CAST($5):DOUBLE, $4)], cov=[CASE(=(/(CAST($5):DOUBLE, $4), 0), null:NULL, /(POWER(/(-($2, /(*($3, $3), $4)), CASE(=($4, 1), null:BIGINT, -($4, 1))), 0.5:DECIMAL(2, 1)), /(CAST($5):DOUBLE, $4)))])
+ HiveFilter(condition=[CASE(=(/(CAST($5):DOUBLE, $4), 0), false, >(/(POWER(/(-($2, /(*($3, $3), $4)), CASE(=($4, 1), null:BIGINT, -($4, 1))), 0.5:DECIMAL(2, 1)), /(CAST($5):DOUBLE, $4)), 1))])
HiveAggregate(group=[{1, 2}], agg#0=[sum($5)], agg#1=[sum($4)], agg#2=[count($3)], agg#3=[sum($3)])
HiveProject($f0=[$6], $f1=[$5], $f2=[$3], $f4=[$2], $f40=[CAST($2):DOUBLE], $f6=[*(CAST($2):DOUBLE, CAST($2):DOUBLE)])
HiveJoin(condition=[=($1, $5)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -78,8 +78,8 @@ HiveProject(w_warehouse_sk=[$0], i_item_sk=[$1], d_moy=[CAST(4):INTEGER], mean=[
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(w_warehouse_sk=[$0], w_warehouse_name=[$2])
HiveTableScan(table=[[default, warehouse]], table:alias=[warehouse])
- HiveProject(w_warehouse_sk=[$0], i_item_sk=[$1], mean=[/(CAST($5):DOUBLE, $4)], cov=[CASE(=(/(CAST($5):DOUBLE, $4), 0), null, /(POWER(/(-($2, /(*($3, $3), $4)), CASE(=($4, 1), null, -($4, 1))), 0.5), /(CAST($5):DOUBLE, $4)))])
- HiveFilter(condition=[CASE(=(/(CAST($5):DOUBLE, $4), 0), false, >(/(POWER(/(-($2, /(*($3, $3), $4)), CASE(=($4, 1), null, -($4, 1))), 0.5), /(CAST($5):DOUBLE, $4)), 1))])
+ HiveProject(w_warehouse_sk=[$0], i_item_sk=[$1], mean=[/(CAST($5):DOUBLE, $4)], cov=[CASE(=(/(CAST($5):DOUBLE, $4), 0), null:NULL, /(POWER(/(-($2, /(*($3, $3), $4)), CASE(=($4, 1), null:BIGINT, -($4, 1))), 0.5:DECIMAL(2, 1)), /(CAST($5):DOUBLE, $4)))])
+ HiveFilter(condition=[CASE(=(/(CAST($5):DOUBLE, $4), 0), false, >(/(POWER(/(-($2, /(*($3, $3), $4)), CASE(=($4, 1), null:BIGINT, -($4, 1))), 0.5:DECIMAL(2, 1)), /(CAST($5):DOUBLE, $4)), 1))])
HiveAggregate(group=[{1, 2}], agg#0=[sum($5)], agg#1=[sum($4)], agg#2=[count($3)], agg#3=[sum($3)])
HiveProject($f0=[$6], $f1=[$5], $f2=[$3], $f4=[$2], $f40=[CAST($2):DOUBLE], $f6=[*(CAST($2):DOUBLE, CAST($2):DOUBLE)])
HiveJoin(condition=[=($1, $5)], joinType=[inner], algorithm=[none], cost=[not available])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query4.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query4.q.out
index 9668e0f4a1..b8e135292a 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query4.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query4.q.out
@@ -229,27 +229,27 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100])
HiveProject(customer_preferred_cust_flag=[$1])
- HiveJoin(condition=[AND(=($0, $10), CASE(CAST(IS NOT NULL($11)):BOOLEAN, CASE($14, >(/($6, $13), /($2, $11)), >(null, /($2, $11))), CASE($14, >(/($6, $13), null), null)))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($0, $10), CASE(IS NOT NULL($11), CASE($14, >(/($6, $13), /($2, $11)), false), false))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject($f0=[$0], $f3=[$3], $f8=[$7])
HiveAggregate(group=[{1, 2, 3, 4, 5, 6, 7}], agg#0=[sum($10)])
HiveJoin(condition=[=($0, $9)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(c_customer_sk=[$0], c_customer_id=[$1], c_first_name=[$8], c_last_name=[$9], c_preferred_cust_flag=[$10], c_birth_country=[$14], c_login=[$15], c_email_address=[$16])
HiveTableScan(table=[[default, customer]], table:alias=[customer])
HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(ss_sold_date_sk=[$0], ss_customer_sk=[$3], /=[/(+(-(-($17, $16), $14), $15), CAST(2):DECIMAL(10, 0))])
+ HiveProject(ss_sold_date_sk=[$0], ss_customer_sk=[$3], /=[/(+(-(-($17, $16), $14), $15), 2:DECIMAL(10, 0))])
HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[=($6, 2002)])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveJoin(condition=[AND(=($7, $0), CASE($6, CASE($11, >(/($3, $10), /($1, $5)), >(null, /($1, $5))), CASE($11, >(/($3, $10), null), null)))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($7, $0), CASE($6, CASE($11, >(/($3, $10), /($1, $5)), false), false))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject($f0=[$0], $f8=[$7])
HiveAggregate(group=[{1, 2, 3, 4, 5, 6, 7}], agg#0=[sum($10)])
HiveJoin(condition=[=($0, $9)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(c_customer_sk=[$0], c_customer_id=[$1], c_first_name=[$8], c_last_name=[$9], c_preferred_cust_flag=[$10], c_birth_country=[$14], c_login=[$15], c_email_address=[$16])
HiveTableScan(table=[[default, customer]], table:alias=[customer])
HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(ws_sold_date_sk=[$0], ws_bill_customer_sk=[$4], /=[/(+(-(-($25, $24), $22), $23), CAST(2):DECIMAL(10, 0))])
+ HiveProject(ws_sold_date_sk=[$0], ws_bill_customer_sk=[$4], /=[/(+(-(-($25, $24), $22), $23), 2:DECIMAL(10, 0))])
HiveFilter(condition=[AND(IS NOT NULL($4), IS NOT NULL($0))])
HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales])
HiveProject(d_date_sk=[$0])
@@ -262,7 +262,7 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100])
HiveProject(c_customer_sk=[$0], c_customer_id=[$1], c_first_name=[$8], c_last_name=[$9], c_preferred_cust_flag=[$10], c_birth_country=[$14], c_login=[$15], c_email_address=[$16])
HiveTableScan(table=[[default, customer]], table:alias=[customer])
HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(cs_sold_date_sk=[$0], cs_bill_customer_sk=[$3], /=[/(+(-(-($25, $24), $22), $23), CAST(2):DECIMAL(10, 0))])
+ HiveProject(cs_sold_date_sk=[$0], cs_bill_customer_sk=[$3], /=[/(+(-(-($25, $24), $22), $23), 2:DECIMAL(10, 0))])
HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))])
HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales])
HiveProject(d_date_sk=[$0])
@@ -271,39 +271,39 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100])
HiveJoin(condition=[=($3, $5)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(customer_id=[$0], year_total=[$7], CAST=[CAST(IS NOT NULL($7)):BOOLEAN])
- HiveFilter(condition=[>($7, 0)])
+ HiveFilter(condition=[>($7, 0:DECIMAL(1, 0))])
HiveAggregate(group=[{1, 2, 3, 4, 5, 6, 7}], agg#0=[sum($10)])
HiveJoin(condition=[=($0, $9)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(c_customer_sk=[$0], c_customer_id=[$1], c_first_name=[$8], c_last_name=[$9], c_preferred_cust_flag=[$10], c_birth_country=[$14], c_login=[$15], c_email_address=[$16])
HiveTableScan(table=[[default, customer]], table:alias=[customer])
HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(ws_sold_date_sk=[$0], ws_bill_customer_sk=[$4], /=[/(+(-(-($25, $24), $22), $23), CAST(2):DECIMAL(10, 0))])
+ HiveProject(ws_sold_date_sk=[$0], ws_bill_customer_sk=[$4], /=[/(+(-(-($25, $24), $22), $23), 2:DECIMAL(10, 0))])
HiveFilter(condition=[AND(IS NOT NULL($4), IS NOT NULL($0))])
HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales])
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[=($6, 2001)])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject($f0=[$0], $f8=[$7])
- HiveFilter(condition=[>($7, 0)])
+ HiveFilter(condition=[>($7, 0:DECIMAL(1, 0))])
HiveAggregate(group=[{1, 2, 3, 4, 5, 6, 7}], agg#0=[sum($10)])
HiveJoin(condition=[=($0, $9)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(c_customer_sk=[$0], c_customer_id=[$1], c_first_name=[$8], c_last_name=[$9], c_preferred_cust_flag=[$10], c_birth_country=[$14], c_login=[$15], c_email_address=[$16])
HiveTableScan(table=[[default, customer]], table:alias=[customer])
HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(ss_sold_date_sk=[$0], ss_customer_sk=[$3], /=[/(+(-(-($17, $16), $14), $15), CAST(2):DECIMAL(10, 0))])
+ HiveProject(ss_sold_date_sk=[$0], ss_customer_sk=[$3], /=[/(+(-(-($17, $16), $14), $15), 2:DECIMAL(10, 0))])
HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[=($6, 2001)])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(customer_id=[$0], year_total=[$7], CAST=[CAST(IS NOT NULL($7)):BOOLEAN])
- HiveFilter(condition=[>($7, 0)])
+ HiveFilter(condition=[>($7, 0:DECIMAL(1, 0))])
HiveAggregate(group=[{1, 2, 3, 4, 5, 6, 7}], agg#0=[sum($10)])
HiveJoin(condition=[=($0, $9)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(c_customer_sk=[$0], c_customer_id=[$1], c_first_name=[$8], c_last_name=[$9], c_preferred_cust_flag=[$10], c_birth_country=[$14], c_login=[$15], c_email_address=[$16])
HiveTableScan(table=[[default, customer]], table:alias=[customer])
HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(cs_sold_date_sk=[$0], cs_bill_customer_sk=[$3], /=[/(+(-(-($25, $24), $22), $23), CAST(2):DECIMAL(10, 0))])
+ HiveProject(cs_sold_date_sk=[$0], cs_bill_customer_sk=[$3], /=[/(+(-(-($25, $24), $22), $23), 2:DECIMAL(10, 0))])
HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))])
HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales])
HiveProject(d_date_sk=[$0])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query40.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query40.q.out
index 5cce22af4e..1aa3fa83d8 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query40.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query40.q.out
@@ -81,9 +81,9 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveProject(cr_item_sk=[$2], cr_order_number=[$16], cr_refunded_cash=[$23])
HiveTableScan(table=[[default, catalog_returns]], table:alias=[catalog_returns])
HiveProject(d_date_sk=[$0], <=[<(CAST($2):DATE, 1998-04-08)], >==[>=(CAST($2):DATE, 1998-04-08)])
- HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-09 00:00:00, 1998-05-08 00:00:00)])
+ HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-09 00:00:00:TIMESTAMP(9), 1998-05-08 00:00:00:TIMESTAMP(9))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(i_item_sk=[$0], i_item_id=[$1])
- HiveFilter(condition=[BETWEEN(false, $5, 0.99, 1.49)])
+ HiveFilter(condition=[BETWEEN(false, $5, 0.99:DECIMAL(3, 2), 1.49:DECIMAL(3, 2))])
HiveTableScan(table=[[default, item]], table:alias=[item])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query43.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query43.q.out
index 6b21ee45c0..6058e4ca9e 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query43.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query43.q.out
@@ -46,7 +46,7 @@ CBO PLAN:
HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$4], sort5=[$5], sort6=[$6], sort7=[$7], sort8=[$8], dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC], dir4=[ASC], dir5=[ASC], dir6=[ASC], dir7=[ASC], dir8=[ASC], fetch=[100])
HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3], $f4=[$4], $f5=[$5], $f6=[$6], $f7=[$7], $f8=[$8])
HiveAggregate(group=[{0, 1}], agg#0=[sum($2)], agg#1=[sum($3)], agg#2=[sum($4)], agg#3=[sum($5)], agg#4=[sum($6)], agg#5=[sum($7)], agg#6=[sum($8)])
- HiveProject($f0=[$13], $f1=[$12], $f2=[CASE($4, $2, null)], $f3=[CASE($5, $2, null)], $f4=[CASE($6, $2, null)], $f5=[CASE($7, $2, null)], $f6=[CASE($8, $2, null)], $f7=[CASE($9, $2, null)], $f8=[CASE($10, $2, null)])
+ HiveProject($f0=[$13], $f1=[$12], $f2=[CASE($4, $2, null:NULL)], $f3=[CASE($5, $2, null:NULL)], $f4=[CASE($6, $2, null:NULL)], $f5=[CASE($7, $2, null:NULL)], $f6=[CASE($8, $2, null:NULL)], $f7=[CASE($9, $2, null:NULL)], $f8=[CASE($10, $2, null:NULL)])
HiveJoin(condition=[=($11, $1)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ss_sold_date_sk=[$0], ss_store_sk=[$7], ss_sales_price=[$13])
@@ -56,6 +56,6 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$4], sort5=
HiveFilter(condition=[=($6, 1998)])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(s_store_sk=[$0], s_store_id=[$1], s_store_name=[$5])
- HiveFilter(condition=[=($27, -6)])
+ HiveFilter(condition=[=($27, -6:DECIMAL(1, 0))])
HiveTableScan(table=[[default, store]], table:alias=[store])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query46.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query46.q.out
index 9d21449b65..df36f9ba14 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query46.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query46.q.out
@@ -82,32 +82,32 @@ POSTHOOK: Input: default@store_sales
POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$4], dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC], dir4=[ASC], fetch=[100])
- HiveProject(c_last_name=[$5], c_first_name=[$4], ca_city=[$1], bought_city=[$8], ss_ticket_number=[$6], amt=[$9], profit=[$10])
- HiveJoin(condition=[AND(=($3, $0), <>($1, $8))], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(ca_address_sk=[$0], ca_city=[$6])
- HiveTableScan(table=[[default, customer_address]], table:alias=[current_addr])
- HiveJoin(condition=[=($5, $0)], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveProject(c_last_name=[$3], c_first_name=[$2], ca_city=[$5], bought_city=[$8], ss_ticket_number=[$6], amt=[$9], profit=[$10])
+ HiveJoin(condition=[AND(<>($5, $8), =($7, $0))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[=($1, $4)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(c_customer_sk=[$0], c_current_addr_sk=[$4], c_first_name=[$8], c_last_name=[$9])
HiveFilter(condition=[IS NOT NULL($4)])
HiveTableScan(table=[[default, customer]], table:alias=[customer])
- HiveProject(ss_ticket_number=[$3], ss_customer_sk=[$1], bought_city=[$0], amt=[$4], profit=[$5])
- HiveAggregate(group=[{1, 3, 5, 7}], agg#0=[sum($8)], agg#1=[sum($9)])
- HiveJoin(condition=[=($5, $0)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(ca_address_sk=[$0], ca_city=[$6])
- HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
- HiveJoin(condition=[=($2, $10)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveJoin(condition=[=($4, $9)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveJoin(condition=[=($0, $8)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(ss_sold_date_sk=[$0], ss_customer_sk=[$3], ss_hdemo_sk=[$5], ss_addr_sk=[$6], ss_store_sk=[$7], ss_ticket_number=[$9], ss_coupon_amt=[$19], ss_net_profit=[$22])
- HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($5), IS NOT NULL($6), IS NOT NULL($3))])
- HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
- HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[AND(IN($7, 6, 0), IN($6, 1998, 1999, 2000))])
- HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(s_store_sk=[$0])
- HiveFilter(condition=[IN($22, _UTF-16LE'Cedar Grove', _UTF-16LE'Wildwood', _UTF-16LE'Union', _UTF-16LE'Salem', _UTF-16LE'Highland Park')])
- HiveTableScan(table=[[default, store]], table:alias=[store])
- HiveProject(hd_demo_sk=[$0])
- HiveFilter(condition=[OR(=($3, 2), =($4, 1))])
- HiveTableScan(table=[[default, household_demographics]], table:alias=[household_demographics])
+ HiveProject(ca_address_sk=[$0], ca_city=[$6])
+ HiveTableScan(table=[[default, customer_address]], table:alias=[current_addr])
+ HiveProject(ss_ticket_number=[$3], ss_customer_sk=[$1], bought_city=[$0], amt=[$4], profit=[$5])
+ HiveAggregate(group=[{1, 3, 5, 7}], agg#0=[sum($8)], agg#1=[sum($9)])
+ HiveJoin(condition=[=($5, $0)], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveProject(ca_address_sk=[$0], ca_city=[$6])
+ HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
+ HiveJoin(condition=[=($2, $10)], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[=($4, $9)], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[=($0, $8)], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveProject(ss_sold_date_sk=[$0], ss_customer_sk=[$3], ss_hdemo_sk=[$5], ss_addr_sk=[$6], ss_store_sk=[$7], ss_ticket_number=[$9], ss_coupon_amt=[$19], ss_net_profit=[$22])
+ HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($5), IS NOT NULL($6), IS NOT NULL($3))])
+ HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
+ HiveProject(d_date_sk=[$0])
+ HiveFilter(condition=[AND(IN($7, 6, 0), IN($6, 1998, 1999, 2000))])
+ HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
+ HiveProject(s_store_sk=[$0])
+ HiveFilter(condition=[IN($22, _UTF-16LE'Cedar Grove', _UTF-16LE'Wildwood', _UTF-16LE'Union', _UTF-16LE'Salem', _UTF-16LE'Highland Park')])
+ HiveTableScan(table=[[default, store]], table:alias=[store])
+ HiveProject(hd_demo_sk=[$0])
+ HiveFilter(condition=[OR(=($3, 2), =($4, 1))])
+ HiveTableScan(table=[[default, household_demographics]], table:alias=[household_demographics])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query47.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query47.q.out
index 8aa0871cb0..e71fd8778a 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query47.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query47.q.out
@@ -112,7 +112,7 @@ CBO PLAN:
HiveProject(i_category=[$0], d_year=[$1], d_moy=[$2], avg_monthly_sales=[$3], sum_sales=[$4], psum=[$5], nsum=[$6])
HiveSortLimit(sort0=[$7], sort1=[$2], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveProject(i_category=[$12], d_year=[$16], d_moy=[$17], avg_monthly_sales=[$19], sum_sales=[$18], psum=[$10], nsum=[$4], (- (tok_table_or_col sum_sales) (tok_table_or_col avg_monthly_sales))=[-($18, $19)])
- HiveJoin(condition=[AND(AND(AND(AND(=($12, $0), =($13, $1)), =($14, $2)), =($15, $3)), =($20, $5))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($12, $0), =($13, $1), =($14, $2), =($15, $3), =($20, $5))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject((tok_table_or_col i_category)=[$0], (tok_table_or_col i_brand)=[$1], (tok_table_or_col s_store_name)=[$2], (tok_table_or_col s_company_name)=[$3], (tok_function sum (tok_table_or_col ss_sales_price))=[$4], -=[-($5, 1)])
HiveFilter(condition=[IS NOT NULL($5)])
HiveProject((tok_table_or_col i_category)=[$5], (tok_table_or_col i_brand)=[$4], (tok_table_or_col s_store_name)=[$2], (tok_table_or_col s_company_name)=[$3], (tok_function sum (tok_table_or_col ss_sales_price))=[$6], rank_window_1=[rank() OVER (PARTITION BY $5, $4, $2, $3 ORDER BY $0 NULLS LAST, $1 NULLS LAST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)])
@@ -133,7 +133,7 @@ HiveProject(i_category=[$0], d_year=[$1], d_moy=[$2], avg_monthly_sales=[$3], su
HiveProject(i_item_sk=[$0], i_brand=[$8], i_category=[$12])
HiveFilter(condition=[AND(IS NOT NULL($12), IS NOT NULL($8))])
HiveTableScan(table=[[default, item]], table:alias=[item])
- HiveJoin(condition=[AND(AND(AND(AND(=($6, $0), =($7, $1)), =($8, $2)), =($9, $3)), =($14, $5))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($6, $0), =($7, $1), =($8, $2), =($9, $3), =($14, $5))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject((tok_table_or_col i_category)=[$0], (tok_table_or_col i_brand)=[$1], (tok_table_or_col s_store_name)=[$2], (tok_table_or_col s_company_name)=[$3], (tok_function sum (tok_table_or_col ss_sales_price))=[$4], +=[+($5, 1)])
HiveFilter(condition=[IS NOT NULL($5)])
HiveProject((tok_table_or_col i_category)=[$5], (tok_table_or_col i_brand)=[$4], (tok_table_or_col s_store_name)=[$2], (tok_table_or_col s_company_name)=[$3], (tok_function sum (tok_table_or_col ss_sales_price))=[$6], rank_window_1=[rank() OVER (PARTITION BY $5, $4, $2, $3 ORDER BY $0 NULLS LAST, $1 NULLS LAST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)])
@@ -155,7 +155,7 @@ HiveProject(i_category=[$0], d_year=[$1], d_moy=[$2], avg_monthly_sales=[$3], su
HiveFilter(condition=[AND(IS NOT NULL($12), IS NOT NULL($8))])
HiveTableScan(table=[[default, item]], table:alias=[item])
HiveProject((tok_table_or_col i_category)=[$0], (tok_table_or_col i_brand)=[$1], (tok_table_or_col s_store_name)=[$2], (tok_table_or_col s_company_name)=[$3], (tok_table_or_col d_year)=[$4], (tok_table_or_col d_moy)=[$5], (tok_function sum (tok_table_or_col ss_sales_price))=[$6], avg_window_0=[$7], rank_window_1=[$8])
- HiveFilter(condition=[AND(=($4, 2000), >($7, 0), CASE(>($7, 0), >(/(ABS(-($6, $7)), $7), 0.1), null), IS NOT NULL($8))])
+ HiveFilter(condition=[AND(=($4, 2000), >($7, 0:DECIMAL(1, 0)), CASE(>($7, 0:DECIMAL(1, 0)), >(/(ABS(-($6, $7)), $7), 0.1:DECIMAL(2, 1)), false), IS NOT NULL($8))])
HiveProject((tok_table_or_col i_category)=[$5], (tok_table_or_col i_brand)=[$4], (tok_table_or_col s_store_name)=[$2], (tok_table_or_col s_company_name)=[$3], (tok_table_or_col d_year)=[$0], (tok_table_or_col d_moy)=[$1], (tok_function sum (tok_table_or_col ss_sales_price))=[$6], avg_window_0=[avg($6) OVER (PARTITION BY $5, $4, $2, $3, $0 ORDER BY $5 NULLS FIRST, $4 NULLS FIRST, $2 NULLS FIRST, $3 NULLS FIRST, $0 NULLS FIRST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)], rank_window_1=[rank() OVER (PARTITION BY $5, $4, $2, $3 ORDER BY $0 NULLS LAST, $1 NULLS LAST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)])
HiveProject(d_year=[$0], d_moy=[$1], s_store_name=[$2], s_company_name=[$3], i_brand=[$4], i_category=[$5], $f6=[$6])
HiveAggregate(group=[{5, 6, 8, 9, 11, 12}], agg#0=[sum($3)])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query48.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query48.q.out
index 3188d82f28..a20a40766b 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query48.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query48.q.out
@@ -151,8 +151,8 @@ HiveAggregate(group=[{}], agg#0=[sum($8)])
HiveFilter(condition=[AND(=($2, _UTF-16LE'M'), =($3, _UTF-16LE'4 yr Degree'))])
HiveTableScan(table=[[default, customer_demographics]], table:alias=[customer_demographics])
HiveJoin(condition=[=($0, $7)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(ss_sold_date_sk=[$0], ss_cdemo_sk=[$4], ss_addr_sk=[$6], ss_quantity=[$10], BETWEEN=[BETWEEN(false, $22, 0, 2000)], BETWEEN6=[BETWEEN(false, $22, 150, 3000)], BETWEEN7=[BETWEEN(false, $22, 50, 25000)])
- HiveFilter(condition=[AND(OR(<=(100, $13), <=($13, 150), IS NOT NULL($13), <=($13, 200)), OR(<=(0, $22), <=($22, 2000), IS NOT NULL($22), <=($22, 3000), <=($22, 25000)), OR(BETWEEN(false, $13, 100, 150), BETWEEN(false, $13, 50, 100), BETWEEN(false, $13, 150, 200)), IS NOT NULL($7), IS NOT NULL($4), IS NOT NULL($6), IS NOT NULL($0))])
+ HiveProject(ss_sold_date_sk=[$0], ss_cdemo_sk=[$4], ss_addr_sk=[$6], ss_quantity=[$10], BETWEEN=[BETWEEN(false, $22, 0:DECIMAL(12, 2), 2000:DECIMAL(12, 2))], BETWEEN6=[BETWEEN(false, $22, 150:DECIMAL(12, 2), 3000:DECIMAL(12, 2))], BETWEEN7=[BETWEEN(false, $22, 50:DECIMAL(12, 2), 25000:DECIMAL(12, 2))])
+ HiveFilter(condition=[AND(OR(<=(100:DECIMAL(3, 0), $13), <=($13, 150:DECIMAL(3, 0)), <=(50:DECIMAL(2, 0), $13), <=($13, 100:DECIMAL(3, 0)), <=(150:DECIMAL(3, 0), $13), <=($13, 200:DECIMAL(3, 0))), OR(<=(0:DECIMAL(12, 2), $22), <=($22, 2000:DECIMAL(12, 2)), <=(150:DECIMAL(12, 2), $22), <=($22, 3000:DECIMAL(12, 2)), <=(50:DECIMAL(12, 2), $22), <=($22, 25000:DECIMAL(12, 2))), OR(BETWEEN(false, $13, 100:DECIMAL(3, 0), 150:DECIMAL(3, 0)), BETWEEN(false, $13, 50:DECIMAL(2, 0), 100:DECIMAL(3, 0)), BETWEEN(false, $13, 150:DECIMAL(3, 0), 200:DECIMAL(3, 0))), IS NOT NULL($7), IS NOT NULL($4), IS NOT NULL($6), IS NOT NULL($0))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[=($6, 1998)])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query49.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query49.q.out
index bc108dba6e..af1b3321e8 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query49.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query49.q.out
@@ -276,7 +276,7 @@ HiveSortLimit(sort0=[$0], sort1=[$3], sort2=[$4], dir0=[ASC], dir1=[ASC], dir2=[
HiveAggregate(group=[{0, 1, 2, 3, 4}])
HiveProject(channel=[$0], item=[$1], return_ratio=[$2], return_rank=[$3], currency_rank=[$4])
HiveUnion(all=[true])
- HiveProject(channel=[_UTF-16LE'web'], item=[$0], return_ratio=[$1], return_rank=[$2], currency_rank=[$3])
+ HiveProject(channel=[_UTF-16LE'web':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], item=[$0], return_ratio=[$1], return_rank=[$2], currency_rank=[$3])
HiveFilter(condition=[OR(<=($2, 10), <=($3, 10))])
HiveProject(item=[$0], return_ratio=[/(CAST($1):DECIMAL(15, 4), CAST($2):DECIMAL(15, 4))], rank_window_0=[rank() OVER (PARTITION BY 0 ORDER BY /(CAST($1):DECIMAL(15, 4), CAST($2):DECIMAL(15, 4)) NULLS LAST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)], rank_window_1=[rank() OVER (PARTITION BY 0 ORDER BY /(CAST($3):DECIMAL(15, 4), CAST($4):DECIMAL(15, 4)) NULLS LAST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)])
HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3], $f4=[$4])
@@ -284,16 +284,16 @@ HiveSortLimit(sort0=[$0], sort1=[$3], sort2=[$4], dir0=[ASC], dir1=[ASC], dir2=[
HiveProject($f0=[$5], $f1=[CASE(IS NOT NULL($2), $2, 0)], $f2=[CASE(IS NOT NULL($7), $7, 0)], $f3=[CASE(IS NOT NULL($3), $3, 0)], $f4=[CASE(IS NOT NULL($8), $8, 0)])
HiveJoin(condition=[AND(=($6, $1), =($5, $0))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(wr_item_sk=[$2], wr_order_number=[$13], wr_return_quantity=[$14], wr_return_amt=[$15])
- HiveFilter(condition=[>($15, 10000)])
+ HiveFilter(condition=[>($15, 10000:DECIMAL(5, 0))])
HiveTableScan(table=[[default, web_returns]], table:alias=[wr])
HiveJoin(condition=[=($0, $6)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_order_number=[$17], ws_quantity=[$18], ws_net_paid=[$29], ws_net_profit=[$33])
- HiveFilter(condition=[AND(>($33, 1), >($29, 0), >($18, 0), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(>($33, 1:DECIMAL(1, 0)), >($29, 0:DECIMAL(1, 0)), >($18, 0), IS NOT NULL($0))])
HiveTableScan(table=[[default, web_sales]], table:alias=[ws])
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[AND(=($6, 2000), =($8, 12))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(channel=[_UTF-16LE'catalog'], item=[$0], return_ratio=[$1], return_rank=[$2], currency_rank=[$3])
+ HiveProject(channel=[_UTF-16LE'catalog':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], item=[$0], return_ratio=[$1], return_rank=[$2], currency_rank=[$3])
HiveFilter(condition=[OR(<=($2, 10), <=($3, 10))])
HiveProject(item=[$0], return_ratio=[/(CAST($1):DECIMAL(15, 4), CAST($2):DECIMAL(15, 4))], rank_window_0=[rank() OVER (PARTITION BY 0 ORDER BY /(CAST($1):DECIMAL(15, 4), CAST($2):DECIMAL(15, 4)) NULLS LAST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)], rank_window_1=[rank() OVER (PARTITION BY 0 ORDER BY /(CAST($3):DECIMAL(15, 4), CAST($4):DECIMAL(15, 4)) NULLS LAST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)])
HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3], $f4=[$4])
@@ -301,16 +301,16 @@ HiveSortLimit(sort0=[$0], sort1=[$3], sort2=[$4], dir0=[ASC], dir1=[ASC], dir2=[
HiveProject($f0=[$5], $f1=[CASE(IS NOT NULL($2), $2, 0)], $f2=[CASE(IS NOT NULL($7), $7, 0)], $f3=[CASE(IS NOT NULL($3), $3, 0)], $f4=[CASE(IS NOT NULL($8), $8, 0)])
HiveJoin(condition=[AND(=($6, $1), =($5, $0))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(cr_item_sk=[$2], cr_order_number=[$16], cr_return_quantity=[$17], cr_return_amount=[$18])
- HiveFilter(condition=[>($18, 10000)])
+ HiveFilter(condition=[>($18, 10000:DECIMAL(5, 0))])
HiveTableScan(table=[[default, catalog_returns]], table:alias=[cr])
HiveJoin(condition=[=($0, $6)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15], cs_order_number=[$17], cs_quantity=[$18], cs_net_paid=[$29], cs_net_profit=[$33])
- HiveFilter(condition=[AND(>($33, 1), >($29, 0), >($18, 0), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(>($33, 1:DECIMAL(1, 0)), >($29, 0:DECIMAL(1, 0)), >($18, 0), IS NOT NULL($0))])
HiveTableScan(table=[[default, catalog_sales]], table:alias=[cs])
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[AND(=($6, 2000), =($8, 12))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(channel=[_UTF-16LE'store'], item=[$0], return_ratio=[$1], return_rank=[$2], currency_rank=[$3])
+ HiveProject(channel=[_UTF-16LE'store':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], item=[$0], return_ratio=[$1], return_rank=[$2], currency_rank=[$3])
HiveFilter(condition=[OR(<=($2, 10), <=($3, 10))])
HiveProject(item=[$0], return_ratio=[/(CAST($1):DECIMAL(15, 4), CAST($2):DECIMAL(15, 4))], rank_window_0=[rank() OVER (PARTITION BY 0 ORDER BY /(CAST($1):DECIMAL(15, 4), CAST($2):DECIMAL(15, 4)) NULLS LAST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)], rank_window_1=[rank() OVER (PARTITION BY 0 ORDER BY /(CAST($3):DECIMAL(15, 4), CAST($4):DECIMAL(15, 4)) NULLS LAST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)])
HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3], $f4=[$4])
@@ -318,11 +318,11 @@ HiveSortLimit(sort0=[$0], sort1=[$3], sort2=[$4], dir0=[ASC], dir1=[ASC], dir2=[
HiveProject($f0=[$5], $f1=[CASE(IS NOT NULL($2), $2, 0)], $f2=[CASE(IS NOT NULL($7), $7, 0)], $f3=[CASE(IS NOT NULL($3), $3, 0)], $f4=[CASE(IS NOT NULL($8), $8, 0)])
HiveJoin(condition=[AND(=($6, $1), =($5, $0))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(sr_item_sk=[$2], sr_ticket_number=[$9], sr_return_quantity=[$10], sr_return_amt=[$11])
- HiveFilter(condition=[>($11, 10000)])
+ HiveFilter(condition=[>($11, 10000:DECIMAL(5, 0))])
HiveTableScan(table=[[default, store_returns]], table:alias=[sr])
HiveJoin(condition=[=($0, $6)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_ticket_number=[$9], ss_quantity=[$10], ss_net_paid=[$20], ss_net_profit=[$22])
- HiveFilter(condition=[AND(>($22, 1), >($20, 0), >($10, 0), IS NOT NULL($0))])
+ HiveFilter(condition=[AND(>($22, 1:DECIMAL(1, 0)), >($20, 0:DECIMAL(1, 0)), >($10, 0), IS NOT NULL($0))])
HiveTableScan(table=[[default, store_sales]], table:alias=[sts])
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[AND(=($6, 2000), =($8, 12))])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query5.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query5.q.out
index 54f3dd6a10..63e53e880d 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query5.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query5.q.out
@@ -280,24 +280,24 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveAggregate(group=[{0, 1}], groups=[[{0, 1}, {0}, {}]], agg#0=[sum($2)], agg#1=[sum($3)], agg#2=[sum($4)])
HiveProject(channel=[$0], id=[$1], sales=[$2], returns=[$3], profit=[$4])
HiveUnion(all=[true])
- HiveProject(channel=[_UTF-16LE'store channel'], id=[||(_UTF-16LE'store', $0)], sales=[$1], returns=[$3], profit=[-($2, $4)])
+ HiveProject(channel=[_UTF-16LE'store channel':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], id=[||(_UTF-16LE'store', $0)], sales=[$1], returns=[$3], profit=[-($2, $4)])
HiveAggregate(group=[{8}], agg#0=[sum($2)], agg#1=[sum($3)], agg#2=[sum($4)], agg#3=[sum($5)])
HiveJoin(condition=[=($0, $7)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($1, $6)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(store_sk=[$0], date_sk=[$1], sales_price=[$2], profit=[$3], return_amt=[$4], net_loss=[$5])
HiveUnion(all=[true])
- HiveProject(store_sk=[$7], date_sk=[$0], sales_price=[$15], profit=[$22], return_amt=[CAST(0):DECIMAL(7, 2)], net_loss=[CAST(0):DECIMAL(7, 2)])
+ HiveProject(store_sk=[$7], date_sk=[$0], sales_price=[$15], profit=[$22], return_amt=[CAST(0:DECIMAL(7, 2)):DECIMAL(7, 2)], net_loss=[CAST(0:DECIMAL(7, 2)):DECIMAL(7, 2)])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
- HiveProject(store_sk=[$7], date_sk=[$0], sales_price=[CAST(0):DECIMAL(7, 2)], profit=[CAST(0):DECIMAL(7, 2)], return_amt=[$11], net_loss=[$19])
+ HiveProject(store_sk=[$7], date_sk=[$0], sales_price=[CAST(0:DECIMAL(7, 2)):DECIMAL(7, 2)], profit=[CAST(0:DECIMAL(7, 2)):DECIMAL(7, 2)], return_amt=[$11], net_loss=[$19])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))])
HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00, 1998-08-18 00:00:00)])
+ HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00:TIMESTAMP(9), 1998-08-18 00:00:00:TIMESTAMP(9))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(s_store_sk=[$0], s_store_id=[$1])
HiveTableScan(table=[[default, store]], table:alias=[store])
- HiveProject(channel=[_UTF-16LE'catalog channel'], id=[||(_UTF-16LE'catalog_page', $0)], sales=[$1], returns=[$3], profit=[-($2, $4)])
+ HiveProject(channel=[_UTF-16LE'catalog channel':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], id=[||(_UTF-16LE'catalog_page', $0)], sales=[$1], returns=[$3], profit=[-($2, $4)])
HiveAggregate(group=[{1}], agg#0=[sum($4)], agg#1=[sum($5)], agg#2=[sum($6)], agg#3=[sum($7)])
HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(cp_catalog_page_sk=[$0], cp_catalog_page_id=[$1])
@@ -305,25 +305,25 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveJoin(condition=[=($1, $6)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(page_sk=[$0], date_sk=[$1], sales_price=[$2], profit=[$3], return_amt=[$4], net_loss=[$5])
HiveUnion(all=[true])
- HiveProject(page_sk=[$12], date_sk=[$0], sales_price=[$23], profit=[$33], return_amt=[CAST(0):DECIMAL(7, 2)], net_loss=[CAST(0):DECIMAL(7, 2)])
+ HiveProject(page_sk=[$12], date_sk=[$0], sales_price=[$23], profit=[$33], return_amt=[CAST(0:DECIMAL(7, 2)):DECIMAL(7, 2)], net_loss=[CAST(0:DECIMAL(7, 2)):DECIMAL(7, 2)])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($12))])
HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales])
- HiveProject(page_sk=[$12], date_sk=[$0], sales_price=[CAST(0):DECIMAL(7, 2)], profit=[CAST(0):DECIMAL(7, 2)], return_amt=[$18], net_loss=[$26])
+ HiveProject(page_sk=[$12], date_sk=[$0], sales_price=[CAST(0:DECIMAL(7, 2)):DECIMAL(7, 2)], profit=[CAST(0:DECIMAL(7, 2)):DECIMAL(7, 2)], return_amt=[$18], net_loss=[$26])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($12))])
HiveTableScan(table=[[default, catalog_returns]], table:alias=[catalog_returns])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00, 1998-08-18 00:00:00)])
+ HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00:TIMESTAMP(9), 1998-08-18 00:00:00:TIMESTAMP(9))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(channel=[_UTF-16LE'web channel'], id=[||(_UTF-16LE'web_site', $0)], sales=[$1], returns=[$3], profit=[-($2, $4)])
+ HiveProject(channel=[_UTF-16LE'web channel':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], id=[||(_UTF-16LE'web_site', $0)], sales=[$1], returns=[$3], profit=[-($2, $4)])
HiveAggregate(group=[{8}], agg#0=[sum($2)], agg#1=[sum($3)], agg#2=[sum($4)], agg#3=[sum($5)])
HiveJoin(condition=[=($0, $7)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($1, $6)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(wsr_web_site_sk=[$0], date_sk=[$1], sales_price=[$2], profit=[$3], return_amt=[$4], net_loss=[$5])
HiveUnion(all=[true])
- HiveProject(wsr_web_site_sk=[$13], date_sk=[$0], sales_price=[$23], profit=[$33], return_amt=[CAST(0):DECIMAL(7, 2)], net_loss=[CAST(0):DECIMAL(7, 2)])
+ HiveProject(wsr_web_site_sk=[$13], date_sk=[$0], sales_price=[$23], profit=[$33], return_amt=[CAST(0:DECIMAL(7, 2)):DECIMAL(7, 2)], net_loss=[CAST(0:DECIMAL(7, 2)):DECIMAL(7, 2)])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($13))])
HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales])
- HiveProject(ws_web_site_sk=[$1], wr_returned_date_sk=[$3], $f2=[CAST(0):DECIMAL(7, 2)], $f3=[CAST(0):DECIMAL(7, 2)], wr_return_amt=[$6], wr_net_loss=[$7])
+ HiveProject(ws_web_site_sk=[$1], wr_returned_date_sk=[$3], $f2=[CAST(0:DECIMAL(7, 2)):DECIMAL(7, 2)], $f3=[CAST(0:DECIMAL(7, 2)):DECIMAL(7, 2)], wr_return_amt=[$6], wr_net_loss=[$7])
HiveJoin(condition=[AND(=($4, $0), =($5, $2))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ws_item_sk=[$3], ws_web_site_sk=[$13], ws_order_number=[$17])
HiveFilter(condition=[IS NOT NULL($13)])
@@ -332,7 +332,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveFilter(condition=[IS NOT NULL($0)])
HiveTableScan(table=[[default, web_returns]], table:alias=[web_returns])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00, 1998-08-18 00:00:00)])
+ HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00:TIMESTAMP(9), 1998-08-18 00:00:00:TIMESTAMP(9))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(web_site_sk=[$0], web_site_id=[$1])
HiveTableScan(table=[[default, web_site]], table:alias=[web_site])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query50.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query50.q.out
index 49c87eedb5..8acc34d291 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query50.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query50.q.out
@@ -130,7 +130,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$4], sort5=
HiveAggregate(group=[{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}], agg#0=[sum($10)], agg#1=[sum($11)], agg#2=[sum($12)], agg#3=[sum($13)], agg#4=[sum($14)])
HiveProject($f0=[$11], $f1=[$12], $f2=[$13], $f3=[$14], $f4=[$15], $f5=[$16], $f6=[$17], $f7=[$18], $f8=[$19], $f9=[$20], $f10=[CASE(<=(-($5, $0), 30), 1, 0)], $f11=[CASE(AND(>(-($5, $0), 30), <=(-($5, $0), 60)), 1, 0)], $f12=[CASE(AND(>(-($5, $0), 60), <=(-($5, $0), 90)), 1, 0)], $f13=[CASE(AND(>(-($5, $0), 90), <=(-($5, $0), 120)), 1, 0)], $f14=[CASE(>(-($5, $0), 120), 1, 0)])
HiveJoin(condition=[=($3, $10)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveJoin(condition=[AND(AND(=($4, $8), =($1, $6)), =($2, $7))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($4, $8), =($1, $6), =($2, $7))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_customer_sk=[$3], ss_store_sk=[$7], ss_ticket_number=[$9])
HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($7), IS NOT NULL($0))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query53.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query53.q.out
index bac3f77538..e79c81064e 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query53.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query53.q.out
@@ -65,7 +65,7 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveSortLimit(sort0=[$2], sort1=[$1], sort2=[$0], dir0=[ASC], dir1=[ASC], dir2=[ASC], fetch=[100])
HiveProject((tok_table_or_col i_manufact_id)=[$0], (tok_function sum (tok_table_or_col ss_sales_price))=[$1], avg_window_0=[$2])
- HiveFilter(condition=[CASE(>($2, 0), >(/(ABS(-($1, $2)), $2), 0.1), null)])
+ HiveFilter(condition=[CASE(>($2, 0:DECIMAL(1, 0)), >(/(ABS(-($1, $2)), $2), 0.1:DECIMAL(2, 1)), false)])
HiveProject((tok_table_or_col i_manufact_id)=[$0], (tok_function sum (tok_table_or_col ss_sales_price))=[$2], avg_window_0=[avg($2) OVER (PARTITION BY $0 ORDER BY $0 NULLS FIRST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)])
HiveProject(i_manufact_id=[$0], d_qoy=[$1], $f2=[$2])
HiveAggregate(group=[{4, 6}], agg#0=[sum($2)])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query54.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query54.q.out
index e33203d93c..f1230864b5 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query54.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query54.q.out
@@ -134,7 +134,7 @@ CBO PLAN:
HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveProject(segment=[$0], num_customers=[$1], segment_base=[*($0, 50)])
HiveAggregate(group=[{0}], agg#0=[count()])
- HiveProject(segment=[CAST(/($1, CAST(50):DECIMAL(10, 0))):INTEGER])
+ HiveProject(segment=[CAST(/($1, 50:DECIMAL(10, 0))):INTEGER])
HiveAggregate(group=[{5}], agg#0=[sum($2)])
HiveJoin(condition=[=($0, $12)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($5, $1)], joinType=[inner], algorithm=[none], cost=[not available])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query56.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query56.q.out
index a13e599b34..e1b2fd3d51 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query56.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query56.q.out
@@ -165,7 +165,7 @@ HiveSortLimit(sort0=[$1], dir0=[ASC], fetch=[100])
HiveProject(ca_address_sk=[$0], ss_sold_date_sk=[$1], ss_item_sk=[$2], ss_addr_sk=[$3], ss_ext_sales_price=[$4], d_date_sk=[$5])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ca_address_sk=[$0])
- HiveFilter(condition=[=($11, -8)])
+ HiveFilter(condition=[=($11, -8:DECIMAL(1, 0))])
HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_addr_sk=[$6], ss_ext_sales_price=[$15])
@@ -187,7 +187,7 @@ HiveSortLimit(sort0=[$1], dir0=[ASC], fetch=[100])
HiveProject(ca_address_sk=[$0], cs_sold_date_sk=[$1], cs_bill_addr_sk=[$2], cs_item_sk=[$3], cs_ext_sales_price=[$4], d_date_sk=[$5])
HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ca_address_sk=[$0])
- HiveFilter(condition=[=($11, -8)])
+ HiveFilter(condition=[=($11, -8:DECIMAL(1, 0))])
HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(cs_sold_date_sk=[$0], cs_bill_addr_sk=[$6], cs_item_sk=[$15], cs_ext_sales_price=[$23])
@@ -209,7 +209,7 @@ HiveSortLimit(sort0=[$1], dir0=[ASC], fetch=[100])
HiveProject(ca_address_sk=[$0], ws_sold_date_sk=[$1], ws_item_sk=[$2], ws_bill_addr_sk=[$3], ws_ext_sales_price=[$4], d_date_sk=[$5])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ca_address_sk=[$0])
- HiveFilter(condition=[=($11, -8)])
+ HiveFilter(condition=[=($11, -8:DECIMAL(1, 0))])
HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_bill_addr_sk=[$7], ws_ext_sales_price=[$23])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query57.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query57.q.out
index cb8f67b5c1..b3ae965061 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query57.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query57.q.out
@@ -106,7 +106,7 @@ CBO PLAN:
HiveProject(i_category=[$0], i_brand=[$1], d_year=[$2], d_moy=[$3], avg_monthly_sales=[$4], sum_sales=[$5], psum=[$6], nsum=[$7])
HiveSortLimit(sort0=[$8], sort1=[$2], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveProject(i_category=[$10], i_brand=[$11], d_year=[$13], d_moy=[$14], avg_monthly_sales=[$16], sum_sales=[$15], psum=[$8], nsum=[$3], (- (tok_table_or_col sum_sales) (tok_table_or_col avg_monthly_sales))=[-($15, $16)])
- HiveJoin(condition=[AND(AND(AND(=($10, $0), =($11, $1)), =($12, $2)), =($17, $4))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($10, $0), =($11, $1), =($12, $2), =($17, $4))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject((tok_table_or_col i_category)=[$0], (tok_table_or_col i_brand)=[$1], (tok_table_or_col cc_name)=[$2], (tok_function sum (tok_table_or_col cs_sales_price))=[$3], -=[-($4, 1)])
HiveFilter(condition=[IS NOT NULL($4)])
HiveProject((tok_table_or_col i_category)=[$4], (tok_table_or_col i_brand)=[$3], (tok_table_or_col cc_name)=[$2], (tok_function sum (tok_table_or_col cs_sales_price))=[$5], rank_window_1=[rank() OVER (PARTITION BY $4, $3, $2 ORDER BY $0 NULLS LAST, $1 NULLS LAST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)])
@@ -127,7 +127,7 @@ HiveProject(i_category=[$0], i_brand=[$1], d_year=[$2], d_moy=[$3], avg_monthly_
HiveProject(i_item_sk=[$0], i_brand=[$8], i_category=[$12])
HiveFilter(condition=[AND(IS NOT NULL($12), IS NOT NULL($8))])
HiveTableScan(table=[[default, item]], table:alias=[item])
- HiveJoin(condition=[AND(AND(AND(=($5, $0), =($6, $1)), =($7, $2)), =($12, $4))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($5, $0), =($6, $1), =($7, $2), =($12, $4))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject((tok_table_or_col i_category)=[$0], (tok_table_or_col i_brand)=[$1], (tok_table_or_col cc_name)=[$2], (tok_function sum (tok_table_or_col cs_sales_price))=[$3], +=[+($4, 1)])
HiveFilter(condition=[IS NOT NULL($4)])
HiveProject((tok_table_or_col i_category)=[$4], (tok_table_or_col i_brand)=[$3], (tok_table_or_col cc_name)=[$2], (tok_function sum (tok_table_or_col cs_sales_price))=[$5], rank_window_1=[rank() OVER (PARTITION BY $4, $3, $2 ORDER BY $0 NULLS LAST, $1 NULLS LAST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)])
@@ -149,7 +149,7 @@ HiveProject(i_category=[$0], i_brand=[$1], d_year=[$2], d_moy=[$3], avg_monthly_
HiveFilter(condition=[AND(IS NOT NULL($12), IS NOT NULL($8))])
HiveTableScan(table=[[default, item]], table:alias=[item])
HiveProject((tok_table_or_col i_category)=[$0], (tok_table_or_col i_brand)=[$1], (tok_table_or_col cc_name)=[$2], (tok_table_or_col d_year)=[$3], (tok_table_or_col d_moy)=[$4], (tok_function sum (tok_table_or_col cs_sales_price))=[$5], avg_window_0=[$6], rank_window_1=[$7])
- HiveFilter(condition=[AND(=($3, 2000), >($6, 0), CASE(>($6, 0), >(/(ABS(-($5, $6)), $6), 0.1), null), IS NOT NULL($7))])
+ HiveFilter(condition=[AND(=($3, 2000), >($6, 0:DECIMAL(1, 0)), CASE(>($6, 0:DECIMAL(1, 0)), >(/(ABS(-($5, $6)), $6), 0.1:DECIMAL(2, 1)), false), IS NOT NULL($7))])
HiveProject((tok_table_or_col i_category)=[$4], (tok_table_or_col i_brand)=[$3], (tok_table_or_col cc_name)=[$2], (tok_table_or_col d_year)=[$0], (tok_table_or_col d_moy)=[$1], (tok_function sum (tok_table_or_col cs_sales_price))=[$5], avg_window_0=[avg($5) OVER (PARTITION BY $4, $3, $2, $0 ORDER BY $4 NULLS FIRST, $3 NULLS FIRST, $2 NULLS FIRST, $0 NULLS FIRST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)], rank_window_1=[rank() OVER (PARTITION BY $4, $3, $2 ORDER BY $0 NULLS LAST, $1 NULLS LAST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)])
HiveProject(d_year=[$0], d_moy=[$1], cc_name=[$2], i_brand=[$3], i_category=[$4], $f5=[$5])
HiveAggregate(group=[{5, 6, 8, 10, 11}], agg#0=[sum($3)])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query58.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query58.q.out
index 3e89c2da75..954bdc4dd1 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query58.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query58.q.out
@@ -141,9 +141,9 @@ POSTHOOK: Input: default@web_sales
POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
- HiveProject(item_id=[$0], ss_item_rev=[$3], ss_dev=[*(/(/($3, +(+($3, $1), $5)), CAST(3):DECIMAL(10, 0)), CAST(100):DECIMAL(10, 0))], cs_item_rev=[$1], cs_dev=[*(/(/($1, +(+($3, $1), $5)), CAST(3):DECIMAL(10, 0)), CAST(100):DECIMAL(10, 0))], ws_item_rev=[$5], ws_dev=[*(/(/($5, +(+($3, $1), $5)), CAST(3):DECIMAL(10, 0)), CAST(100):DECIMAL(10, 0))], average=[/(+(+($3, $1), $5), CAST(3):DECIMAL(10, 0))])
- HiveJoin(condition=[AND(AND(AND(AND(=($0, $4), BETWEEN(false, $3, $6, $7)), BETWEEN(false, $1, $6, $7)), BETWEEN(false, $5, *(0.9, $3), *(1.1, $3))), BETWEEN(false, $5, *(0.9, $1), *(1.1, $1)))], joinType=[inner], algorithm=[none], cost=[not available])
- HiveJoin(condition=[AND(AND(=($2, $0), BETWEEN(false, $3, *(0.9, $1), *(1.1, $1))), BETWEEN(false, $1, *(0.9, $3), *(1.1, $3)))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveProject(item_id=[$0], ss_item_rev=[$3], ss_dev=[*(/(/($3, +(+($3, $1), $5)), 3:DECIMAL(10, 0)), 100:DECIMAL(10, 0))], cs_item_rev=[$1], cs_dev=[*(/(/($1, +(+($3, $1), $5)), 3:DECIMAL(10, 0)), 100:DECIMAL(10, 0))], ws_item_rev=[$5], ws_dev=[*(/(/($5, +(+($3, $1), $5)), 3:DECIMAL(10, 0)), 100:DECIMAL(10, 0))], average=[/(+(+($3, $1), $5), 3:DECIMAL(10, 0))])
+ HiveJoin(condition=[AND(=($0, $4), BETWEEN(false, $3, $6, $7), BETWEEN(false, $1, $6, $7), BETWEEN(false, $5, *(0.9:DECIMAL(2, 1), $3), *(1.1:DECIMAL(2, 1), $3)), BETWEEN(false, $5, *(0.9:DECIMAL(2, 1), $1), *(1.1:DECIMAL(2, 1), $1)))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($2, $0), BETWEEN(false, $3, *(0.9:DECIMAL(2, 1), $1), *(1.1:DECIMAL(2, 1), $1)), BETWEEN(false, $1, *(0.9:DECIMAL(2, 1), $3), *(1.1:DECIMAL(2, 1), $3)))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(i_item_id=[$0], $f1=[$1])
HiveAggregate(group=[{7}], agg#0=[sum($2)])
HiveJoin(condition=[=($1, $6)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -202,7 +202,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(i_item_sk=[$0], i_item_id=[$1])
HiveTableScan(table=[[default, item]], table:alias=[item])
- HiveProject(item_id=[$0], ws_item_rev=[$1], *=[*(0.9, $1)], *3=[*(1.1, $1)])
+ HiveProject(item_id=[$0], ws_item_rev=[$1], *=[*(0.9:DECIMAL(2, 1), $1)], *3=[*(1.1:DECIMAL(2, 1), $1)])
HiveAggregate(group=[{7}], agg#0=[sum($2)])
HiveJoin(condition=[=($1, $6)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query59.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query59.q.out
index 34376d1262..68081a558f 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query59.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query59.q.out
@@ -102,7 +102,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], dir0=[ASC], dir1=[ASC], dir2=[
HiveJoin(condition=[=($9, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3], $f4=[$4], $f5=[$5], $f6=[$6], $f7=[$7], $f8=[$8])
HiveAggregate(group=[{0, 1}], agg#0=[sum($2)], agg#1=[sum($3)], agg#2=[sum($4)], agg#3=[sum($5)], agg#4=[sum($6)], agg#5=[sum($7)], agg#6=[sum($8)])
- HiveProject($f0=[$4], $f1=[$1], $f2=[CASE($5, $2, null)], $f3=[CASE($6, $2, null)], $f4=[CASE($7, $2, null)], $f5=[CASE($8, $2, null)], $f6=[CASE($9, $2, null)], $f7=[CASE($10, $2, null)], $f8=[CASE($11, $2, null)])
+ HiveProject($f0=[$4], $f1=[$1], $f2=[CASE($5, $2, null:NULL)], $f3=[CASE($6, $2, null:NULL)], $f4=[CASE($7, $2, null:NULL)], $f5=[CASE($8, $2, null:NULL)], $f6=[CASE($9, $2, null:NULL)], $f7=[CASE($10, $2, null:NULL)], $f8=[CASE($11, $2, null:NULL)])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ss_sold_date_sk=[$0], ss_store_sk=[$7], ss_sales_price=[$13])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))])
@@ -120,7 +120,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], dir0=[ASC], dir1=[ASC], dir2=[
HiveJoin(condition=[=($8, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3], $f4=[$4], $f5=[$5], $f6=[$6], $f7=[$7])
HiveAggregate(group=[{0, 1}], agg#0=[sum($2)], agg#1=[sum($3)], agg#2=[sum($5)], agg#3=[sum($6)], agg#4=[sum($7)], agg#5=[sum($8)])
- HiveProject($f0=[$4], $f1=[$1], $f2=[CASE($5, $2, null)], $f3=[CASE($6, $2, null)], $f4=[CASE($7, $2, null)], $f5=[CASE($8, $2, null)], $f6=[CASE($9, $2, null)], $f7=[CASE($10, $2, null)], $f8=[CASE($11, $2, null)])
+ HiveProject($f0=[$4], $f1=[$1], $f2=[CASE($5, $2, null:NULL)], $f3=[CASE($6, $2, null:NULL)], $f4=[CASE($7, $2, null:NULL)], $f5=[CASE($8, $2, null:NULL)], $f6=[CASE($9, $2, null:NULL)], $f7=[CASE($10, $2, null:NULL)], $f8=[CASE($11, $2, null:NULL)])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ss_sold_date_sk=[$0], ss_store_sk=[$7], ss_sales_price=[$13])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query6.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query6.q.out
index 5e3deb3eb9..4c0cb9c799 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query6.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query6.q.out
@@ -1,4 +1,4 @@
-Warning: Map Join MAPJOIN[170][bigTable=?] in task 'Map 11' is a cross product
+Warning: Map Join MAPJOIN[168][bigTable=?] in task 'Map 1' is a cross product
PREHOOK: query: explain cbo
select a.ca_state state, count(*) cnt
from customer_address a
@@ -65,43 +65,43 @@ CBO PLAN:
HiveSortLimit(sort0=[$1], dir0=[ASC], fetch=[100])
HiveProject(ca_state=[$0], $f1=[$1])
HiveFilter(condition=[>=($1, 10)])
- HiveAggregate(group=[{10}], agg#0=[count()])
- HiveJoin(condition=[=($1, $11)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveJoin(condition=[=($6, $2)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_customer_sk=[$3])
- HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))])
- HiveTableScan(table=[[default, store_sales]], table:alias=[s])
- HiveJoin(condition=[=($1, $2)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(d_date_sk=[$0], d_month_seq=[$3])
- HiveFilter(condition=[IS NOT NULL($3)])
- HiveTableScan(table=[[default, date_dim]], table:alias=[d])
- HiveProject(d_month_seq=[$0])
- HiveAggregate(group=[{3}])
- HiveFilter(condition=[AND(=($6, 2000), =($8, 2), IS NOT NULL($3))])
- HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(c_customer_sk=[$0], c_current_addr_sk=[$1], cnt=[$2], ca_address_sk=[$3], ca_state=[$4])
- HiveJoin(condition=[=($3, $1)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(c_customer_sk=[$0], c_current_addr_sk=[$4])
- HiveFilter(condition=[IS NOT NULL($4)])
- HiveTableScan(table=[[default, customer]], table:alias=[c])
- HiveProject(cnt=[$0])
- HiveFilter(condition=[<=(sq_count_check($0), 1)])
- HiveProject(cnt=[$0])
- HiveAggregate(group=[{}], cnt=[COUNT()])
- HiveProject(d_month_seq=[$0])
- HiveAggregate(group=[{3}])
- HiveFilter(condition=[AND(=($6, 2000), =($8, 2))])
- HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(ca_address_sk=[$0], ca_state=[$8])
- HiveTableScan(table=[[default, customer_address]], table:alias=[a])
+ HiveAggregate(group=[{4}], agg#0=[count()])
+ HiveJoin(condition=[=($6, $11)], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[=($0, $7)], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[=($3, $1)], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveProject(c_customer_sk=[$0], c_current_addr_sk=[$4])
+ HiveFilter(condition=[IS NOT NULL($4)])
+ HiveTableScan(table=[[default, customer]], table:alias=[c])
+ HiveProject(cnt=[$0])
+ HiveFilter(condition=[<=(sq_count_check($0), 1)])
+ HiveProject(cnt=[$0])
+ HiveAggregate(group=[{}], cnt=[COUNT()])
+ HiveProject(d_month_seq=[$0])
+ HiveAggregate(group=[{3}])
+ HiveFilter(condition=[AND(=($6, 2000), =($8, 2))])
+ HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
+ HiveProject(ca_address_sk=[$0], ca_state=[$8])
+ HiveTableScan(table=[[default, customer_address]], table:alias=[a])
+ HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$1], ss_customer_sk=[$2], d_date_sk=[$3], d_month_seq=[$4], d_month_seq0=[$5])
+ HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_customer_sk=[$3])
+ HiveFilter(condition=[AND(IS NOT NULL($3), IS NOT NULL($0))])
+ HiveTableScan(table=[[default, store_sales]], table:alias=[s])
+ HiveJoin(condition=[=($1, $2)], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveProject(d_date_sk=[$0], d_month_seq=[$3])
+ HiveFilter(condition=[IS NOT NULL($3)])
+ HiveTableScan(table=[[default, date_dim]], table:alias=[d])
+ HiveProject(d_month_seq=[$0])
+ HiveAggregate(group=[{3}])
+ HiveFilter(condition=[AND(=($6, 2000), =($8, 2), IS NOT NULL($3))])
+ HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(i_item_sk=[$0], i_current_price=[$1], i_category=[$2], i_category0=[$3], *=[$4])
HiveJoin(condition=[AND(=($3, $2), >($1, $4))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(i_item_sk=[$0], i_current_price=[$5], i_category=[$12])
HiveFilter(condition=[IS NOT NULL($12)])
HiveTableScan(table=[[default, item]], table:alias=[i])
- HiveProject(i_category=[$0], *=[*(1.2, CAST(/($1, $2)):DECIMAL(16, 6))])
+ HiveProject(i_category=[$0], *=[*(1.2:DECIMAL(2, 1), CAST(/($1, $2)):DECIMAL(16, 6))])
HiveAggregate(group=[{12}], agg#0=[sum($5)], agg#1=[count($5)])
HiveFilter(condition=[IS NOT NULL($12)])
HiveTableScan(table=[[default, item]], table:alias=[j])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query60.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query60.q.out
index ea098f7567..be97f9d182 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query60.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query60.q.out
@@ -185,7 +185,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveProject(ca_address_sk=[$0], ss_sold_date_sk=[$1], ss_item_sk=[$2], ss_addr_sk=[$3], ss_ext_sales_price=[$4], d_date_sk=[$5])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ca_address_sk=[$0])
- HiveFilter(condition=[=($11, -6)])
+ HiveFilter(condition=[=($11, -6:DECIMAL(1, 0))])
HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_addr_sk=[$6], ss_ext_sales_price=[$15])
@@ -207,7 +207,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveProject(ca_address_sk=[$0], cs_sold_date_sk=[$1], cs_bill_addr_sk=[$2], cs_item_sk=[$3], cs_ext_sales_price=[$4], d_date_sk=[$5])
HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ca_address_sk=[$0])
- HiveFilter(condition=[=($11, -6)])
+ HiveFilter(condition=[=($11, -6:DECIMAL(1, 0))])
HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(cs_sold_date_sk=[$0], cs_bill_addr_sk=[$6], cs_item_sk=[$15], cs_ext_sales_price=[$23])
@@ -229,7 +229,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveProject(ca_address_sk=[$0], ws_sold_date_sk=[$1], ws_item_sk=[$2], ws_bill_addr_sk=[$3], ws_ext_sales_price=[$4], d_date_sk=[$5])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ca_address_sk=[$0])
- HiveFilter(condition=[=($11, -6)])
+ HiveFilter(condition=[=($11, -6:DECIMAL(1, 0))])
HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_bill_addr_sk=[$7], ws_ext_sales_price=[$23])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query61.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query61.q.out
index 2bc02f51f7..0a9ecd7450 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query61.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query61.q.out
@@ -102,7 +102,7 @@ POSTHOOK: Input: default@store
POSTHOOK: Input: default@store_sales
POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
-HiveProject(promotions=[$0], total=[$1], _o__c2=[*(/(CAST($0):DECIMAL(15, 4), CAST($1):DECIMAL(15, 4)), CAST(100):DECIMAL(10, 0))])
+HiveProject(promotions=[$0], total=[$1], _o__c2=[*(/(CAST($0):DECIMAL(15, 4), CAST($1):DECIMAL(15, 4)), 100:DECIMAL(10, 0))])
HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject($f0=[$0])
HiveAggregate(group=[{}], agg#0=[sum($8)])
@@ -112,7 +112,7 @@ HiveProject(promotions=[$0], total=[$1], _o__c2=[*(/(CAST($0):DECIMAL(15, 4), CA
HiveFilter(condition=[IS NOT NULL($4)])
HiveTableScan(table=[[default, customer]], table:alias=[customer])
HiveProject(ca_address_sk=[$0])
- HiveFilter(condition=[=($11, -7)])
+ HiveFilter(condition=[=($11, -7:DECIMAL(1, 0))])
HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$1], ss_customer_sk=[$2], ss_store_sk=[$3], ss_promo_sk=[$4], ss_ext_sales_price=[$5], d_date_sk=[$6], i_item_sk=[$7], s_store_sk=[$8], p_promo_sk=[$9])
HiveJoin(condition=[=($4, $9)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -129,7 +129,7 @@ HiveProject(promotions=[$0], total=[$1], _o__c2=[*(/(CAST($0):DECIMAL(15, 4), CA
HiveFilter(condition=[=($12, _UTF-16LE'Electronics')])
HiveTableScan(table=[[default, item]], table:alias=[item])
HiveProject(s_store_sk=[$0])
- HiveFilter(condition=[=($27, -7)])
+ HiveFilter(condition=[=($27, -7:DECIMAL(1, 0))])
HiveTableScan(table=[[default, store]], table:alias=[store])
HiveProject(p_promo_sk=[$0])
HiveFilter(condition=[OR(=($8, _UTF-16LE'Y'), =($9, _UTF-16LE'Y'), =($11, _UTF-16LE'Y'))])
@@ -142,7 +142,7 @@ HiveProject(promotions=[$0], total=[$1], _o__c2=[*(/(CAST($0):DECIMAL(15, 4), CA
HiveFilter(condition=[IS NOT NULL($4)])
HiveTableScan(table=[[default, customer]], table:alias=[customer])
HiveProject(ca_address_sk=[$0])
- HiveFilter(condition=[=($11, -7)])
+ HiveFilter(condition=[=($11, -7:DECIMAL(1, 0))])
HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$1], ss_customer_sk=[$2], ss_store_sk=[$3], ss_ext_sales_price=[$4], d_date_sk=[$5], i_item_sk=[$6], s_store_sk=[$7])
HiveJoin(condition=[=($3, $7)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -158,6 +158,6 @@ HiveProject(promotions=[$0], total=[$1], _o__c2=[*(/(CAST($0):DECIMAL(15, 4), CA
HiveFilter(condition=[=($12, _UTF-16LE'Electronics')])
HiveTableScan(table=[[default, item]], table:alias=[item])
HiveProject(s_store_sk=[$0])
- HiveFilter(condition=[=($27, -7)])
+ HiveFilter(condition=[=($27, -7:DECIMAL(1, 0))])
HiveTableScan(table=[[default, store]], table:alias=[store])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query63.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query63.q.out
index e22d812f78..0cecebb32d 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query63.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query63.q.out
@@ -67,7 +67,7 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveSortLimit(sort0=[$0], sort1=[$2], sort2=[$1], dir0=[ASC], dir1=[ASC], dir2=[ASC], fetch=[100])
HiveProject((tok_table_or_col i_manager_id)=[$0], (tok_function sum (tok_table_or_col ss_sales_price))=[$1], avg_window_0=[$2])
- HiveFilter(condition=[CASE(>($2, 0), >(/(ABS(-($1, $2)), $2), 0.1), null)])
+ HiveFilter(condition=[CASE(>($2, 0:DECIMAL(1, 0)), >(/(ABS(-($1, $2)), $2), 0.1:DECIMAL(2, 1)), false)])
HiveProject((tok_table_or_col i_manager_id)=[$0], (tok_function sum (tok_table_or_col ss_sales_price))=[$2], avg_window_0=[avg($2) OVER (PARTITION BY $0 ORDER BY $0 NULLS FIRST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)])
HiveProject(i_manager_id=[$0], d_moy=[$1], $f2=[$2])
HiveAggregate(group=[{4, 6}], agg#0=[sum($2)])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query64.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query64.q.out
index 8223efcdb6..10f1a812a5 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query64.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query64.q.out
@@ -266,7 +266,7 @@ CBO PLAN:
HiveProject(product_name=[$0], store_name=[$1], store_zip=[$2], b_street_number=[$3], b_streen_name=[$4], b_city=[$5], b_zip=[$6], c_street_number=[$7], c_street_name=[$8], c_city=[$9], c_zip=[$10], syear=[CAST(2000):INTEGER], cnt=[$11], s1=[$12], s2=[$13], s3=[$14], s11=[$15], s21=[$16], s31=[$17], syear1=[CAST(2001):INTEGER], cnt1=[$18])
HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$18], dir0=[ASC], dir1=[ASC], dir2=[ASC])
HiveProject(product_name=[$0], store_name=[$2], store_zip=[$3], b_street_number=[$4], b_streen_name=[$5], b_city=[$6], b_zip=[$7], c_street_number=[$8], c_street_name=[$9], c_city=[$10], c_zip=[$11], cnt=[$12], s1=[$13], s2=[$14], s3=[$15], s11=[$20], s21=[$21], s31=[$22], cnt1=[$19])
- HiveJoin(condition=[AND(AND(AND(=($1, $16), <=($19, $12)), =($2, $17)), =($3, $18))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($1, $16), <=($19, $12), =($2, $17), =($3, $18))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject($f0=[$1], $f1=[$0], $f2=[$2], $f3=[$3], $f4=[$6], $f5=[$7], $f6=[$8], $f7=[$9], $f8=[$10], $f9=[$11], $f10=[$12], $f11=[$13], $f15=[$14], $f16=[$15], $f17=[$16], $f18=[$17])
HiveAggregate(group=[{19, 20, 24, 25, 29, 31, 37, 38, 39, 40, 42, 43, 44, 45}], agg#0=[count()], agg#1=[sum($16)], agg#2=[sum($17)], agg#3=[sum($18)])
HiveJoin(condition=[=($5, $41)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -292,13 +292,13 @@ HiveProject(product_name=[$0], store_name=[$1], store_zip=[$2], b_street_number=
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($3), IS NOT NULL($4), IS NOT NULL($8), IS NOT NULL($5), IS NOT NULL($6))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(i_item_sk=[$0], i_product_name=[$21])
- HiveFilter(condition=[AND(IN($17, _UTF-16LE'maroon', _UTF-16LE'burnished', _UTF-16LE'dim', _UTF-16LE'steel', _UTF-16LE'navajo', _UTF-16LE'chocolate'), BETWEEN(false, $5, 36, 45))])
+ HiveFilter(condition=[AND(IN($17, _UTF-16LE'maroon', _UTF-16LE'burnished', _UTF-16LE'dim', _UTF-16LE'steel', _UTF-16LE'navajo', _UTF-16LE'chocolate'), BETWEEN(false, $5, 36:DECIMAL(2, 0), 45:DECIMAL(2, 0)))])
HiveTableScan(table=[[default, item]], table:alias=[item])
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[=($6, 2000)])
HiveTableScan(table=[[default, date_dim]], table:alias=[d1])
HiveProject(cs_item_sk=[$0])
- HiveFilter(condition=[>($1, *(2, $2))])
+ HiveFilter(condition=[>($1, *(2:DECIMAL(10, 0), $2))])
HiveAggregate(group=[{0}], agg#0=[sum($2)], agg#1=[sum($5)])
HiveJoin(condition=[AND(=($0, $3), =($1, $4))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(cs_item_sk=[$15], cs_order_number=[$17], cs_ext_list_price=[$25])
@@ -351,13 +351,13 @@ HiveProject(product_name=[$0], store_name=[$1], store_zip=[$2], b_street_number=
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($3), IS NOT NULL($4), IS NOT NULL($8), IS NOT NULL($5), IS NOT NULL($6))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(i_item_sk=[$0], i_product_name=[$21])
- HiveFilter(condition=[AND(IN($17, _UTF-16LE'maroon', _UTF-16LE'burnished', _UTF-16LE'dim', _UTF-16LE'steel', _UTF-16LE'navajo', _UTF-16LE'chocolate'), BETWEEN(false, $5, 36, 45))])
+ HiveFilter(condition=[AND(IN($17, _UTF-16LE'maroon', _UTF-16LE'burnished', _UTF-16LE'dim', _UTF-16LE'steel', _UTF-16LE'navajo', _UTF-16LE'chocolate'), BETWEEN(false, $5, 36:DECIMAL(2, 0), 45:DECIMAL(2, 0)))])
HiveTableScan(table=[[default, item]], table:alias=[item])
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[=($6, 2001)])
HiveTableScan(table=[[default, date_dim]], table:alias=[d1])
HiveProject(cs_item_sk=[$0])
- HiveFilter(condition=[>($1, *(2, $2))])
+ HiveFilter(condition=[>($1, *(2:DECIMAL(10, 0), $2))])
HiveAggregate(group=[{0}], agg#0=[sum($2)], agg#1=[sum($5)])
HiveJoin(condition=[AND(=($0, $3), =($1, $4))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(cs_item_sk=[$15], cs_order_number=[$17], cs_ext_list_price=[$25])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query65.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query65.q.out
index 3e906b73b0..422bbbdd15 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query65.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query65.q.out
@@ -66,10 +66,8 @@ POSTHOOK: Input: default@store_sales
POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
- HiveProject(s_store_name=[$11], i_item_desc=[$1], revenue=[$7], i_current_price=[$2], i_wholesale_cost=[$3], i_brand=[$4])
- HiveJoin(condition=[=($0, $6)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(i_item_sk=[$0], i_item_desc=[$4], i_current_price=[$5], i_wholesale_cost=[$6], i_brand=[$8])
- HiveTableScan(table=[[default, item]], table:alias=[item])
+ HiveProject(s_store_name=[$6], i_item_desc=[$8], revenue=[$2], i_current_price=[$9], i_wholesale_cost=[$10], i_brand=[$11])
+ HiveJoin(condition=[=($7, $1)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($5, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[AND(=($3, $0), <=($2, $4))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ss_store_sk=[$1], ss_item_sk=[$0], $f2=[$2])
@@ -81,7 +79,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[BETWEEN(false, $3, 1212, 1223)])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject($f0=[$0], *=[*(0.1, /($1, $2))])
+ HiveProject($f0=[$0], *=[*(0.1:DECIMAL(2, 1), /($1, $2))])
HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)])
HiveProject(ss_item_sk=[$0], ss_store_sk=[$1], $f2=[$2])
HiveAggregate(group=[{1, 2}], agg#0=[sum($3)])
@@ -94,4 +92,6 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(s_store_sk=[$0], s_store_name=[$5])
HiveTableScan(table=[[default, store]], table:alias=[store])
+ HiveProject(i_item_sk=[$0], i_item_desc=[$4], i_current_price=[$5], i_wholesale_cost=[$6], i_brand=[$8])
+ HiveTableScan(table=[[default, item]], table:alias=[item])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query66.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query66.q.out
index 77256a3adc..b3de4c17df 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query66.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query66.q.out
@@ -455,7 +455,7 @@ POSTHOOK: Input: default@warehouse
POSTHOOK: Input: default@web_sales
POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
-HiveProject(w_warehouse_name=[$0], w_warehouse_sq_ft=[$1], w_city=[$2], w_county=[$3], w_state=[$4], w_country=[$5], ship_carriers=[CAST(_UTF-16LE'DIAMOND,AIRBORNE'):VARCHAR(2147483647) CHARACTER SET "UTF-16LE" COLLATE "ISO-8859-1$en_US$primary"], year=[CAST(2002):INTEGER], jan_sales=[$6], feb_sales=[$7], mar_sales=[$8], apr_sales=[$9], may_sales=[$10], jun_sales=[$11], jul_sales=[$12], aug_sales=[$13], sep_sales=[$14], oct_sales=[$15], nov_sales=[$16], dec_sales=[$17], jan_sales_per_sq_foot=[$18], feb_sales_per_sq_foot=[$19], mar_sales_per_sq_foot=[$20], apr_sales_per_sq_foot=[$21], may_sales_per_sq_foot=[$22], jun_sales_per_sq_foot=[$23], jul_sales_per_sq_foot=[$24], aug_sales_per_sq_foot=[$25], sep_sales_per_sq_foot=[$26], oct_sales_per_sq_foot=[$27], nov_sales_per_sq_foot=[$28], dec_sales_per_sq_foot=[$29], jan_net=[$30], feb_net=[$31], mar_net=[$32], apr_net=[$33], may_net=[$34], jun_net=[$35], jul_net=[$36], aug_net=[$37], sep_net=[$38], oct_net=[$39], nov_net=[$40], dec_net=[$41])
+HiveProject(w_warehouse_name=[$0], w_warehouse_sq_ft=[$1], w_city=[$2], w_county=[$3], w_state=[$4], w_country=[$5], ship_carriers=[CAST(_UTF-16LE'DIAMOND,AIRBORNE':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"):VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], year=[CAST(2002):INTEGER], jan_sales=[$6], feb_sales=[$7], mar_sales=[$8], apr_sales=[$9], may_sales=[$10], jun_sales=[$11], jul_sales=[$12], aug_sales=[$13], sep_sales=[$14], oct_sales=[$15], nov_sales=[$16], dec_sales=[$17], jan_sales_per_sq_foot=[$18], feb_sales_per_sq_foot=[$19], mar_sales_per_sq_foot=[$20], apr_sales_per_sq_foot=[$21], may_sales_per_sq_foot=[$22], jun_sales_per_sq_foot=[$23], jul_sales_per_sq_foot=[$24], aug_sales_per_sq_foot=[$25], sep_sales_per_sq_foot=[$26], oct_sales_per_sq_foot=[$27], nov_sales_per_sq_foot=[$28], dec_sales_per_sq_foot=[$29], jan_net=[$30], feb_net=[$31], mar_net=[$32], apr_net=[$33], may_net=[$34], jun_net=[$35], jul_net=[$36], aug_net=[$37], sep_net=[$38], oct_net=[$39], nov_net=[$40], dec_net=[$41])
HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100])
HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3], $f4=[$4], $f5=[$5], $f6=[$6], $f7=[$7], $f8=[$8], $f9=[$9], $f10=[$10], $f11=[$11], $f12=[$12], $f13=[$13], $f14=[$14], $f15=[$15], $f16=[$16], $f17=[$17], $f18=[$18], $f19=[$19], $f20=[$20], $f21=[$21], $f22=[$22], $f23=[$23], $f24=[$24], $f25=[$25], $f26=[$26], $f27=[$27], $f28=[$28], $f29=[$29], $f30=[$30], $f31=[$31], $f32=[$32], $f33=[$33], $f34=[$34], $f35=[$35], $f36=[$36], $f37=[$37], $f38=[$38], $f39=[$39], $f40=[$40], $f41=[$41])
HiveAggregate(group=[{0, 1, 2, 3, 4, 5}], agg#0=[sum($6)], agg#1=[sum($7)], agg#2=[sum($8)], agg#3=[sum($9)], agg#4=[sum($10)], agg#5=[sum($11)], agg#6=[sum($12)], agg#7=[sum($13)], agg#8=[sum($14)], agg#9=[sum($15)], agg#10=[sum($16)], agg#11=[sum($17)], agg#12=[sum($18)], agg#13=[sum($19)], agg#14=[sum($20)], agg#15=[sum($21)], agg#16=[sum($22)], agg#17=[sum($23)], agg#18=[sum($24)], agg#19=[sum($25)], agg#20=[sum($26)], agg#21=[sum($27)], agg#22=[sum($28)], agg#23=[sum($29)], agg#24=[sum($30)], agg#25=[sum($31)], agg#26=[sum($32)], agg#27=[sum($33)], agg#28=[sum($34)], agg#29=[sum($35)], agg#30=[sum($36)], agg#31=[sum($37)], agg#32=[sum($38)], agg#33=[sum($39)], agg#34=[sum($40)], agg#35=[sum($41)])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query68.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query68.q.out
index 1b25235c8a..e5c182273b 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query68.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query68.q.out
@@ -96,32 +96,32 @@ POSTHOOK: Input: default@store_sales
POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveSortLimit(sort0=[$0], sort1=[$4], dir0=[ASC], dir1=[ASC], fetch=[100])
- HiveProject(c_last_name=[$5], c_first_name=[$4], ca_city=[$1], bought_city=[$8], ss_ticket_number=[$6], extended_price=[$9], extended_tax=[$11], list_price=[$10])
- HiveJoin(condition=[AND(=($3, $0), <>($1, $8))], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(ca_address_sk=[$0], ca_city=[$6])
- HiveTableScan(table=[[default, customer_address]], table:alias=[current_addr])
- HiveJoin(condition=[=($5, $0)], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveProject(c_last_name=[$3], c_first_name=[$2], ca_city=[$5], bought_city=[$8], ss_ticket_number=[$6], extended_price=[$9], extended_tax=[$11], list_price=[$10])
+ HiveJoin(condition=[AND(<>($5, $8), =($7, $0))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[=($1, $4)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(c_customer_sk=[$0], c_current_addr_sk=[$4], c_first_name=[$8], c_last_name=[$9])
HiveFilter(condition=[IS NOT NULL($4)])
HiveTableScan(table=[[default, customer]], table:alias=[customer])
- HiveProject(ss_ticket_number=[$3], ss_customer_sk=[$1], bought_city=[$0], extended_price=[$4], list_price=[$5], extended_tax=[$6])
- HiveAggregate(group=[{1, 3, 5, 7}], agg#0=[sum($8)], agg#1=[sum($9)], agg#2=[sum($10)])
- HiveJoin(condition=[=($5, $0)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(ca_address_sk=[$0], ca_city=[$6])
- HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
- HiveJoin(condition=[=($2, $11)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveJoin(condition=[=($4, $10)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveJoin(condition=[=($0, $9)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(ss_sold_date_sk=[$0], ss_customer_sk=[$3], ss_hdemo_sk=[$5], ss_addr_sk=[$6], ss_store_sk=[$7], ss_ticket_number=[$9], ss_ext_sales_price=[$15], ss_ext_list_price=[$17], ss_ext_tax=[$18])
- HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($5), IS NOT NULL($6), IS NOT NULL($3))])
- HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
- HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[AND(IN($6, 1998, 1999, 2000), BETWEEN(false, $9, 1, 2))])
- HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(s_store_sk=[$0])
- HiveFilter(condition=[IN($22, _UTF-16LE'Cedar Grove', _UTF-16LE'Wildwood')])
- HiveTableScan(table=[[default, store]], table:alias=[store])
- HiveProject(hd_demo_sk=[$0])
- HiveFilter(condition=[OR(=($3, 2), =($4, 1))])
- HiveTableScan(table=[[default, household_demographics]], table:alias=[household_demographics])
+ HiveProject(ca_address_sk=[$0], ca_city=[$6])
+ HiveTableScan(table=[[default, customer_address]], table:alias=[current_addr])
+ HiveProject(ss_ticket_number=[$3], ss_customer_sk=[$1], bought_city=[$0], extended_price=[$4], list_price=[$5], extended_tax=[$6])
+ HiveAggregate(group=[{1, 3, 5, 7}], agg#0=[sum($8)], agg#1=[sum($9)], agg#2=[sum($10)])
+ HiveJoin(condition=[=($5, $0)], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveProject(ca_address_sk=[$0], ca_city=[$6])
+ HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
+ HiveJoin(condition=[=($2, $11)], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[=($4, $10)], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[=($0, $9)], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveProject(ss_sold_date_sk=[$0], ss_customer_sk=[$3], ss_hdemo_sk=[$5], ss_addr_sk=[$6], ss_store_sk=[$7], ss_ticket_number=[$9], ss_ext_sales_price=[$15], ss_ext_list_price=[$17], ss_ext_tax=[$18])
+ HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7), IS NOT NULL($5), IS NOT NULL($6), IS NOT NULL($3))])
+ HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
+ HiveProject(d_date_sk=[$0])
+ HiveFilter(condition=[AND(IN($6, 1998, 1999, 2000), BETWEEN(false, $9, 1, 2))])
+ HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
+ HiveProject(s_store_sk=[$0])
+ HiveFilter(condition=[IN($22, _UTF-16LE'Cedar Grove', _UTF-16LE'Wildwood')])
+ HiveTableScan(table=[[default, store]], table:alias=[store])
+ HiveProject(hd_demo_sk=[$0])
+ HiveFilter(condition=[OR(=($3, 2), =($4, 1))])
+ HiveTableScan(table=[[default, household_demographics]], table:alias=[household_demographics])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query72.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query72.q.out
index 206b0f1972..5c823fbda1 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query72.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query72.q.out
@@ -84,12 +84,12 @@ HiveSortLimit(sort0=[$5], sort1=[$0], sort2=[$1], sort3=[$2], dir0=[DESC-nulls-l
HiveAggregate(group=[{0, 1, 2}], agg#0=[count($3)], agg#1=[count($4)], agg#2=[count()])
HiveProject($f0=[$15], $f1=[$13], $f2=[$19], $f3=[CASE(IS NULL($25), 1, 0)], $f4=[CASE(IS NOT NULL($25), 1, 0)])
HiveJoin(condition=[AND(=($26, $4), =($27, $6))], joinType=[left], algorithm=[none], cost=[not available])
- HiveProject(cs_sold_date_sk=[$4], cs_ship_date_sk=[$5], cs_bill_cdemo_sk=[$6], cs_bill_hdemo_sk=[$7], cs_item_sk=[$8], cs_promo_sk=[$9], cs_order_number=[$10], cs_quantity=[$11], inv_date_sk=[$0], inv_item_sk=[$1], inv_warehouse_sk=[$2], inv_quantity_on_hand=[$3], w_warehouse_sk=[$19], w_warehouse_name=[$20], i_item_sk=[$23], i_item_desc=[$24], cd_demo_sk=[$12], hd_demo_sk=[$13], d_date_sk=[$16], d_week_seq=[$17], +=[$18], d_date_sk0=[$14], d_week_seq0=[$15], d_date_sk1=[$21], CAST=[$22], p_promo_sk=[$25])
- HiveJoin(condition=[=($9, $25)], joinType=[left], algorithm=[none], cost=[not available])
- HiveJoin(condition=[=($23, $8)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveJoin(condition=[AND(=($5, $21), >($22, $18))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveProject(cs_sold_date_sk=[$4], cs_ship_date_sk=[$5], cs_bill_cdemo_sk=[$6], cs_bill_hdemo_sk=[$7], cs_item_sk=[$8], cs_promo_sk=[$9], cs_order_number=[$10], cs_quantity=[$11], inv_date_sk=[$0], inv_item_sk=[$1], inv_warehouse_sk=[$2], inv_quantity_on_hand=[$3], w_warehouse_sk=[$19], w_warehouse_name=[$20], i_item_sk=[$24], i_item_desc=[$25], cd_demo_sk=[$12], hd_demo_sk=[$13], d_date_sk=[$16], d_week_seq=[$17], +=[$18], d_date_sk0=[$14], d_week_seq0=[$15], d_date_sk1=[$22], CAST=[$23], p_promo_sk=[$21])
+ HiveJoin(condition=[=($24, $8)], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($5, $22), >($23, $18))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[=($9, $21)], joinType=[left], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($19, $2)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveJoin(condition=[AND(AND(=($0, $14), =($8, $1)), <($3, $11))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($0, $14), =($8, $1), <($3, $11))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(inv_date_sk=[$0], inv_item_sk=[$1], inv_warehouse_sk=[$2], inv_quantity_on_hand=[$3])
HiveTableScan(table=[[default, inventory]], table:alias=[inventory])
HiveJoin(condition=[=($0, $12)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -114,12 +114,12 @@ HiveSortLimit(sort0=[$5], sort1=[$0], sort2=[$1], sort3=[$2], dir0=[DESC-nulls-l
HiveTableScan(table=[[default, date_dim]], table:alias=[d1])
HiveProject(w_warehouse_sk=[$0], w_warehouse_name=[$2])
HiveTableScan(table=[[default, warehouse]], table:alias=[warehouse])
- HiveProject(d_date_sk=[$0], CAST=[CAST($2):DOUBLE])
- HiveTableScan(table=[[default, date_dim]], table:alias=[d3])
- HiveProject(i_item_sk=[$0], i_item_desc=[$4])
- HiveTableScan(table=[[default, item]], table:alias=[item])
- HiveProject(p_promo_sk=[$0])
- HiveTableScan(table=[[default, promotion]], table:alias=[promotion])
+ HiveProject(p_promo_sk=[$0])
+ HiveTableScan(table=[[default, promotion]], table:alias=[promotion])
+ HiveProject(d_date_sk=[$0], CAST=[CAST($2):DOUBLE])
+ HiveTableScan(table=[[default, date_dim]], table:alias=[d3])
+ HiveProject(i_item_sk=[$0], i_item_desc=[$4])
+ HiveTableScan(table=[[default, item]], table:alias=[item])
HiveProject(cr_item_sk=[$2], cr_order_number=[$16])
HiveTableScan(table=[[default, catalog_returns]], table:alias=[catalog_returns])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query73.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query73.q.out
index 38af7c0d35..3fc0b5549d 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query73.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query73.q.out
@@ -71,7 +71,7 @@ HiveSortLimit(sort0=[$5], dir0=[DESC-nulls-last])
HiveProject(c_customer_sk=[$0], c_salutation=[$7], c_first_name=[$8], c_last_name=[$9], c_preferred_cust_flag=[$10])
HiveTableScan(table=[[default, customer]], table:alias=[customer])
HiveProject(ss_ticket_number=[$0], ss_customer_sk=[$1], $f2=[$2])
- HiveFilter(condition=[BETWEEN(false, $2, 1, 5)])
+ HiveFilter(condition=[BETWEEN(false, $2, 1:BIGINT, 5:BIGINT)])
HiveProject(ss_ticket_number=[$1], ss_customer_sk=[$0], $f2=[$2])
HiveAggregate(group=[{1, 4}], agg#0=[count()])
HiveJoin(condition=[=($3, $7)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -84,7 +84,7 @@ HiveSortLimit(sort0=[$5], dir0=[DESC-nulls-last])
HiveFilter(condition=[AND(IN($6, 2000, 2001, 2002), BETWEEN(false, $9, 1, 2))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(hd_demo_sk=[$0])
- HiveFilter(condition=[AND(IN($2, _UTF-16LE'>10000', _UTF-16LE'unknown'), >($4, 0), CASE(>($4, 0), >(/(CAST($3):DOUBLE, CAST($4):DOUBLE), 1), null))])
+ HiveFilter(condition=[AND(IN($2, _UTF-16LE'>10000', _UTF-16LE'unknown'), >($4, 0), CASE(>($4, 0), >(/(CAST($3):DOUBLE, CAST($4):DOUBLE), 1), false))])
HiveTableScan(table=[[default, household_demographics]], table:alias=[household_demographics])
HiveProject(s_store_sk=[$0])
HiveFilter(condition=[IN($23, _UTF-16LE'Mobile County', _UTF-16LE'Maverick County', _UTF-16LE'Huron County', _UTF-16LE'Kittitas County')])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query74.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query74.q.out
index 4a8f0b88f0..5325e21871 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query74.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query74.q.out
@@ -131,7 +131,7 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveSortLimit(sort0=[$1], sort1=[$0], sort2=[$2], dir0=[ASC], dir1=[ASC], dir2=[ASC], fetch=[100])
HiveProject(customer_id=[$0], customer_first_name=[$1], customer_last_name=[$2])
- HiveJoin(condition=[AND(=($0, $9), CASE(CAST(IS NOT NULL($10)):BOOLEAN, CASE($8, >(/($5, $7), /($3, $10)), >(null, /($3, $10))), CASE($8, >(/($5, $7), null), null)))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($0, $9), CASE(IS NOT NULL($10), CASE($8, >(/($5, $7), /($3, $10)), false), false))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(c_customer_id=[$0], c_first_name=[$1], c_last_name=[$2], $f3=[$3])
HiveAggregate(group=[{1, 2, 3}], agg#0=[max($6)])
HiveJoin(condition=[=($0, $5)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -159,7 +159,7 @@ HiveSortLimit(sort0=[$1], sort1=[$0], sort2=[$2], dir0=[ASC], dir1=[ASC], dir2=[
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(customer_id=[$0], year_total=[$3], CAST=[CAST(IS NOT NULL($3)):BOOLEAN])
- HiveFilter(condition=[>($3, 0)])
+ HiveFilter(condition=[>($3, 0:DECIMAL(1, 0))])
HiveAggregate(group=[{1, 2, 3}], agg#0=[max($6)])
HiveJoin(condition=[=($0, $5)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(c_customer_sk=[$0], c_customer_id=[$1], c_first_name=[$8], c_last_name=[$9])
@@ -172,7 +172,7 @@ HiveSortLimit(sort0=[$1], sort1=[$0], sort2=[$2], dir0=[ASC], dir1=[ASC], dir2=[
HiveFilter(condition=[AND(IN($6, 2001, 2002), =($6, 2001))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject($f0=[$0], $f4=[$3])
- HiveFilter(condition=[>($3, 0)])
+ HiveFilter(condition=[>($3, 0:DECIMAL(1, 0))])
HiveAggregate(group=[{1, 2, 3}], agg#0=[max($6)])
HiveJoin(condition=[=($0, $5)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(c_customer_sk=[$0], c_customer_id=[$1], c_first_name=[$8], c_last_name=[$9])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query75.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query75.q.out
index a95e756dab..fbd7fa5775 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query75.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query75.q.out
@@ -158,7 +158,7 @@ CBO PLAN:
HiveProject(prev_year=[CAST(2001):INTEGER], year=[CAST(2002):INTEGER], i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], i_manufact_id=[$3], prev_yr_cnt=[$4], curr_yr_cnt=[$5], sales_cnt_diff=[$6], sales_amt_diff=[$7])
HiveSortLimit(sort0=[$6], dir0=[ASC], fetch=[100])
HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], i_manufact_id=[$3], prev_yr_cnt=[$4], curr_yr_cnt=[$10], sales_cnt_diff=[-($10, $4)], sales_amt_diff=[-($11, $5)])
- HiveJoin(condition=[AND(AND(AND(AND(=($6, $0), =($7, $1)), =($8, $2)), =($9, $3)), <(/(CAST($10):DECIMAL(17, 2), CAST($4):DECIMAL(17, 2)), 0.9))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($6, $0), =($7, $1), =($8, $2), =($9, $3), <(/(CAST($10):DECIMAL(17, 2), CAST($4):DECIMAL(17, 2)), 0.9:DECIMAL(2, 1)))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], i_manufact_id=[$3], $f4=[$4], $f5=[$5])
HiveAggregate(group=[{0, 1, 2, 3}], agg#0=[sum($4)], agg#1=[sum($5)])
HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], i_manufact_id=[$3], sales_cnt=[$4], sales_amt=[$5])
@@ -169,7 +169,7 @@ HiveProject(prev_year=[CAST(2001):INTEGER], year=[CAST(2002):INTEGER], i_brand_i
HiveAggregate(group=[{0, 1, 2, 3, 4, 5}])
HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], i_manufact_id=[$3], sales_cnt=[$4], sales_amt=[$5])
HiveUnion(all=[true])
- HiveProject(i_brand_id=[$11], i_class_id=[$12], i_category_id=[$13], i_manufact_id=[$14], sales_cnt=[-($7, CASE(IS NOT NULL($2), $2, 0))], sales_amt=[-($8, CASE(IS NOT NULL($3), $3, 0))])
+ HiveProject(i_brand_id=[$11], i_class_id=[$12], i_category_id=[$13], i_manufact_id=[$14], sales_cnt=[-($7, CASE(IS NOT NULL($2), $2, 0))], sales_amt=[-($8, CASE(IS NOT NULL($3), $3, 0:DECIMAL(1, 0)))])
HiveJoin(condition=[AND(=($6, $1), =($5, $0))], joinType=[right], algorithm=[none], cost=[not available])
HiveProject(cr_item_sk=[$2], cr_order_number=[$16], cr_return_quantity=[$17], cr_return_amount=[$18])
HiveTableScan(table=[[default, catalog_returns]], table:alias=[catalog_returns])
@@ -184,7 +184,7 @@ HiveProject(prev_year=[CAST(2001):INTEGER], year=[CAST(2002):INTEGER], i_brand_i
HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11], i_manufact_id=[$13])
HiveFilter(condition=[AND(=($12, _UTF-16LE'Sports'), IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11), IS NOT NULL($13))])
HiveTableScan(table=[[default, item]], table:alias=[item])
- HiveProject(i_brand_id=[$11], i_class_id=[$12], i_category_id=[$13], i_manufact_id=[$14], sales_cnt=[-($7, CASE(IS NOT NULL($2), $2, 0))], sales_amt=[-($8, CASE(IS NOT NULL($3), $3, 0))])
+ HiveProject(i_brand_id=[$11], i_class_id=[$12], i_category_id=[$13], i_manufact_id=[$14], sales_cnt=[-($7, CASE(IS NOT NULL($2), $2, 0))], sales_amt=[-($8, CASE(IS NOT NULL($3), $3, 0:DECIMAL(1, 0)))])
HiveJoin(condition=[AND(=($6, $1), =($5, $0))], joinType=[right], algorithm=[none], cost=[not available])
HiveProject(sr_item_sk=[$2], sr_ticket_number=[$9], sr_return_quantity=[$10], sr_return_amt=[$11])
HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns])
@@ -199,7 +199,7 @@ HiveProject(prev_year=[CAST(2001):INTEGER], year=[CAST(2002):INTEGER], i_brand_i
HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11], i_manufact_id=[$13])
HiveFilter(condition=[AND(=($12, _UTF-16LE'Sports'), IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11), IS NOT NULL($13))])
HiveTableScan(table=[[default, item]], table:alias=[item])
- HiveProject(i_brand_id=[$11], i_class_id=[$12], i_category_id=[$13], i_manufact_id=[$14], sales_cnt=[-($7, CASE(IS NOT NULL($2), $2, 0))], sales_amt=[-($8, CASE(IS NOT NULL($3), $3, 0))])
+ HiveProject(i_brand_id=[$11], i_class_id=[$12], i_category_id=[$13], i_manufact_id=[$14], sales_cnt=[-($7, CASE(IS NOT NULL($2), $2, 0))], sales_amt=[-($8, CASE(IS NOT NULL($3), $3, 0:DECIMAL(1, 0)))])
HiveJoin(condition=[AND(=($6, $1), =($5, $0))], joinType=[right], algorithm=[none], cost=[not available])
HiveProject(wr_item_sk=[$2], wr_order_number=[$13], wr_return_quantity=[$14], wr_return_amt=[$15])
HiveTableScan(table=[[default, web_returns]], table:alias=[web_returns])
@@ -224,7 +224,7 @@ HiveProject(prev_year=[CAST(2001):INTEGER], year=[CAST(2002):INTEGER], i_brand_i
HiveAggregate(group=[{0, 1, 2, 3, 4, 5}])
HiveProject(i_brand_id=[$0], i_class_id=[$1], i_category_id=[$2], i_manufact_id=[$3], sales_cnt=[$4], sales_amt=[$5])
HiveUnion(all=[true])
- HiveProject(i_brand_id=[$11], i_class_id=[$12], i_category_id=[$13], i_manufact_id=[$14], sales_cnt=[-($7, CASE(IS NOT NULL($2), $2, 0))], sales_amt=[-($8, CASE(IS NOT NULL($3), $3, 0))])
+ HiveProject(i_brand_id=[$11], i_class_id=[$12], i_category_id=[$13], i_manufact_id=[$14], sales_cnt=[-($7, CASE(IS NOT NULL($2), $2, 0))], sales_amt=[-($8, CASE(IS NOT NULL($3), $3, 0:DECIMAL(1, 0)))])
HiveJoin(condition=[AND(=($6, $1), =($5, $0))], joinType=[right], algorithm=[none], cost=[not available])
HiveProject(cr_item_sk=[$2], cr_order_number=[$16], cr_return_quantity=[$17], cr_return_amount=[$18])
HiveTableScan(table=[[default, catalog_returns]], table:alias=[catalog_returns])
@@ -239,7 +239,7 @@ HiveProject(prev_year=[CAST(2001):INTEGER], year=[CAST(2002):INTEGER], i_brand_i
HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11], i_manufact_id=[$13])
HiveFilter(condition=[AND(=($12, _UTF-16LE'Sports'), IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11), IS NOT NULL($13))])
HiveTableScan(table=[[default, item]], table:alias=[item])
- HiveProject(i_brand_id=[$11], i_class_id=[$12], i_category_id=[$13], i_manufact_id=[$14], sales_cnt=[-($7, CASE(IS NOT NULL($2), $2, 0))], sales_amt=[-($8, CASE(IS NOT NULL($3), $3, 0))])
+ HiveProject(i_brand_id=[$11], i_class_id=[$12], i_category_id=[$13], i_manufact_id=[$14], sales_cnt=[-($7, CASE(IS NOT NULL($2), $2, 0))], sales_amt=[-($8, CASE(IS NOT NULL($3), $3, 0:DECIMAL(1, 0)))])
HiveJoin(condition=[AND(=($6, $1), =($5, $0))], joinType=[right], algorithm=[none], cost=[not available])
HiveProject(sr_item_sk=[$2], sr_ticket_number=[$9], sr_return_quantity=[$10], sr_return_amt=[$11])
HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns])
@@ -254,7 +254,7 @@ HiveProject(prev_year=[CAST(2001):INTEGER], year=[CAST(2002):INTEGER], i_brand_i
HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11], i_manufact_id=[$13])
HiveFilter(condition=[AND(=($12, _UTF-16LE'Sports'), IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($11), IS NOT NULL($13))])
HiveTableScan(table=[[default, item]], table:alias=[item])
- HiveProject(i_brand_id=[$11], i_class_id=[$12], i_category_id=[$13], i_manufact_id=[$14], sales_cnt=[-($7, CASE(IS NOT NULL($2), $2, 0))], sales_amt=[-($8, CASE(IS NOT NULL($3), $3, 0))])
+ HiveProject(i_brand_id=[$11], i_class_id=[$12], i_category_id=[$13], i_manufact_id=[$14], sales_cnt=[-($7, CASE(IS NOT NULL($2), $2, 0))], sales_amt=[-($8, CASE(IS NOT NULL($3), $3, 0:DECIMAL(1, 0)))])
HiveJoin(condition=[AND(=($6, $1), =($5, $0))], joinType=[right], algorithm=[none], cost=[not available])
HiveProject(wr_item_sk=[$2], wr_order_number=[$13], wr_return_quantity=[$14], wr_return_amt=[$15])
HiveTableScan(table=[[default, web_returns]], table:alias=[web_returns])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query76.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query76.q.out
index a51a05ac00..3b83b4ea14 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query76.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query76.q.out
@@ -62,7 +62,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$4], dir0=[
HiveAggregate(group=[{0, 1, 2, 3, 4}], agg#0=[count()], agg#1=[sum($5)])
HiveProject(channel=[$0], col_name=[$1], d_year=[$2], d_qoy=[$3], i_category=[$4], ext_sales_price=[$5])
HiveUnion(all=[true])
- HiveProject(channel=[_UTF-16LE'store'], col_name=[_UTF-16LE'ss_addr_sk'], d_year=[$1], d_qoy=[$2], i_category=[$7], ext_sales_price=[$5])
+ HiveProject(channel=[_UTF-16LE'store':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], col_name=[_UTF-16LE'ss_addr_sk':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], d_year=[$1], d_qoy=[$2], i_category=[$7], ext_sales_price=[$5])
HiveJoin(condition=[=($4, $6)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(d_date_sk=[$0], d_year=[$6], d_qoy=[$10])
@@ -72,7 +72,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$4], dir0=[
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(i_item_sk=[$0], i_category=[$12])
HiveTableScan(table=[[default, item]], table:alias=[item])
- HiveProject(channel=[_UTF-16LE'web'], col_name=[_UTF-16LE'ws_web_page_sk'], d_year=[$4], d_qoy=[$5], i_category=[$7], ext_sales_price=[$2])
+ HiveProject(channel=[_UTF-16LE'web':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], col_name=[_UTF-16LE'ws_web_page_sk':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], d_year=[$4], d_qoy=[$5], i_category=[$7], ext_sales_price=[$2])
HiveJoin(condition=[=($1, $6)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_ext_sales_price=[$23])
@@ -82,7 +82,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$4], dir0=[
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(i_item_sk=[$0], i_category=[$12])
HiveTableScan(table=[[default, item]], table:alias=[item])
- HiveProject(channel=[_UTF-16LE'catalog'], col_name=[_UTF-16LE'cs_warehouse_sk'], d_year=[$4], d_qoy=[$5], i_category=[$7], ext_sales_price=[$2])
+ HiveProject(channel=[_UTF-16LE'catalog':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], col_name=[_UTF-16LE'cs_warehouse_sk':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], d_year=[$4], d_qoy=[$5], i_category=[$7], ext_sales_price=[$2])
HiveJoin(condition=[=($1, $6)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($0, $3)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15], cs_ext_sales_price=[$23])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query77.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query77.q.out
index 0ac295bf8f..e06aef4b13 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query77.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query77.q.out
@@ -237,7 +237,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveAggregate(group=[{0, 1}], groups=[[{0, 1}, {0}, {}]], agg#0=[sum($2)], agg#1=[sum($3)], agg#2=[sum($4)])
HiveProject(channel=[$0], id=[$1], sales=[$2], returns=[$3], profit=[$4])
HiveUnion(all=[true])
- HiveProject(channel=[_UTF-16LE'store channel'], id=[$0], sales=[$1], returns=[CASE(IS NOT NULL($4), $4, 0)], profit=[-($2, CASE(IS NOT NULL($5), $5, 0))])
+ HiveProject(channel=[_UTF-16LE'store channel':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], id=[$0], sales=[$1], returns=[CASE(IS NOT NULL($4), $4, 0)], profit=[-($2, CASE(IS NOT NULL($5), $5, 0))])
HiveJoin(condition=[=($0, $3)], joinType=[left], algorithm=[none], cost=[not available])
HiveProject(ss_store_sk=[$0], $f1=[$1], $f2=[$2])
HiveAggregate(group=[{0}], agg#0=[sum($1)], agg#1=[sum($2)])
@@ -247,7 +247,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00, 1998-09-03 00:00:00)])
+ HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00:TIMESTAMP(9), 1998-09-03 00:00:00:TIMESTAMP(9))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(sr_store_sk=[$0], $f1=[$1], $f2=[$2])
HiveAggregate(group=[{0}], agg#0=[sum($1)], agg#1=[sum($2)])
@@ -257,9 +257,9 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($7))])
HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00, 1998-09-03 00:00:00)])
+ HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00:TIMESTAMP(9), 1998-09-03 00:00:00:TIMESTAMP(9))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(channel=[_UTF-16LE'catalog channel'], id=[$0], sales=[$1], returns=[$3], profit=[-($2, $4)])
+ HiveProject(channel=[_UTF-16LE'catalog channel':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], id=[$0], sales=[$1], returns=[$3], profit=[-($2, $4)])
HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(cs_call_center_sk=[$0], $f1=[$1], $f2=[$2])
HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[sum($3)])
@@ -268,7 +268,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveFilter(condition=[IS NOT NULL($0)])
HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00, 1998-09-03 00:00:00)])
+ HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00:TIMESTAMP(9), 1998-09-03 00:00:00:TIMESTAMP(9))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject($f0=[$0], $f1=[$1])
HiveAggregate(group=[{}], agg#0=[sum($1)], agg#1=[sum($2)])
@@ -277,9 +277,9 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveFilter(condition=[IS NOT NULL($0)])
HiveTableScan(table=[[default, catalog_returns]], table:alias=[catalog_returns])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00, 1998-09-03 00:00:00)])
+ HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00:TIMESTAMP(9), 1998-09-03 00:00:00:TIMESTAMP(9))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(channel=[_UTF-16LE'web channel'], id=[$0], sales=[$1], returns=[CASE(IS NOT NULL($4), $4, 0)], profit=[-($2, CASE(IS NOT NULL($5), $5, 0))])
+ HiveProject(channel=[_UTF-16LE'web channel':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], id=[$0], sales=[$1], returns=[CASE(IS NOT NULL($4), $4, 0)], profit=[-($2, CASE(IS NOT NULL($5), $5, 0))])
HiveJoin(condition=[=($0, $3)], joinType=[left], algorithm=[none], cost=[not available])
HiveProject(ws_web_page_sk=[$0], $f1=[$1], $f2=[$2])
HiveAggregate(group=[{0}], agg#0=[sum($1)], agg#1=[sum($2)])
@@ -289,7 +289,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($12))])
HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00, 1998-09-03 00:00:00)])
+ HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00:TIMESTAMP(9), 1998-09-03 00:00:00:TIMESTAMP(9))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(wr_web_page_sk=[$0], $f1=[$1], $f2=[$2])
HiveAggregate(group=[{0}], agg#0=[sum($1)], agg#1=[sum($2)])
@@ -299,6 +299,6 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($11))])
HiveTableScan(table=[[default, web_returns]], table:alias=[web_returns])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00, 1998-09-03 00:00:00)])
+ HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00:TIMESTAMP(9), 1998-09-03 00:00:00:TIMESTAMP(9))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query78.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query78.q.out
index de1b133006..9893ebc259 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query78.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query78.q.out
@@ -132,52 +132,52 @@ CBO PLAN:
HiveSortLimit(fetch=[100])
HiveProject(ss_sold_year=[CAST(2000):INTEGER], ss_item_sk=[$0], ss_customer_sk=[$1], ratio=[$2], store_qty=[$3], store_wholesale_cost=[$4], store_sales_price=[$5], other_chan_qty=[$6], other_chan_wholesale_cost=[$7], other_chan_sales_price=[$8])
HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$9], sort3=[$10], sort4=[$11], sort5=[$6], sort6=[$7], sort7=[$8], sort8=[$12], dir0=[ASC], dir1=[ASC], dir2=[DESC-nulls-last], dir3=[DESC-nulls-last], dir4=[DESC-nulls-last], dir5=[ASC], dir6=[ASC], dir7=[ASC], dir8=[ASC])
- HiveProject(ss_item_sk=[$0], ss_customer_sk=[$1], ratio=[round(/(CAST($2):DOUBLE, CAST(CASE(AND(IS NOT NULL($7), IS NOT NULL($11)), +($7, $11), 1)):DOUBLE), 2)], store_qty=[$2], store_wholesale_cost=[$3], store_sales_price=[$4], other_chan_qty=[+(CASE(IS NOT NULL($7), $7, 0), CASE(IS NOT NULL($11), $11, 0))], other_chan_wholesale_cost=[+(CASE(IS NOT NULL($8), $8, 0), CASE(IS NOT NULL($12), $12, 0))], other_chan_sales_price=[+(CASE(IS NOT NULL($9), $9, 0), CASE(IS NOT NULL($13), $13, 0))], ss_qty=[$2], ss_wc=[$3], ss_sp=[$4], (tok_function round (/ (tok_table_or_col ss_qty) (tok_function coalesce (+ (tok_table_or_col ws_qty) (tok_table_or_col cs_qty)) 1)) 2)=[round(/(CAST($2):DOUBLE, CAST(CASE(AND(IS NOT NULL($7), IS NOT NULL($11)), +($7, $11), 1)):DOUBLE), 2)])
- HiveFilter(condition=[CASE(IS NOT NULL($11), >($11, 0), false)])
- HiveJoin(condition=[=($10, $1)], joinType=[left], algorithm=[none], cost=[not available])
- HiveProject(ss_item_sk=[$0], ss_customer_sk=[$1], $f2=[$2], $f3=[$3], $f4=[$4], ws_item_sk=[$5], ws_bill_customer_sk=[$6], $f20=[$7], $f30=[$8], $f40=[$9])
- HiveFilter(condition=[CASE(IS NOT NULL($7), >($7, 0), false)])
- HiveJoin(condition=[AND(=($5, $0), =($6, $1))], joinType=[left], algorithm=[none], cost=[not available])
- HiveProject(ss_item_sk=[$0], ss_customer_sk=[$1], $f2=[$2], $f3=[$3], $f4=[$4])
- HiveAggregate(group=[{2, 3}], agg#0=[sum($4)], agg#1=[sum($5)], agg#2=[sum($6)])
- HiveJoin(condition=[=($1, $0)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[=($6, 2000)])
- HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$1], ss_customer_sk=[$2], ss_quantity=[$4], ss_wholesale_cost=[$5], ss_sales_price=[$6])
- HiveFilter(condition=[IS NULL($8)])
- HiveJoin(condition=[AND(=($8, $3), =($1, $7))], joinType=[left], algorithm=[none], cost=[not available])
- HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_customer_sk=[$3], ss_ticket_number=[$9], ss_quantity=[$10], ss_wholesale_cost=[$11], ss_sales_price=[$13])
- HiveFilter(condition=[IS NOT NULL($0)])
- HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
- HiveProject(sr_item_sk=[$2], sr_ticket_number=[$9])
- HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns])
- HiveProject(ws_item_sk=[$0], ws_bill_customer_sk=[$1], $f2=[$2], $f3=[$3], $f4=[$4])
- HiveAggregate(group=[{2, 3}], agg#0=[sum($4)], agg#1=[sum($5)], agg#2=[sum($6)])
- HiveJoin(condition=[=($1, $0)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[=($6, 2000)])
- HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$1], ws_bill_customer_sk=[$2], ws_quantity=[$4], ws_wholesale_cost=[$5], ws_sales_price=[$6])
- HiveFilter(condition=[IS NULL($8)])
- HiveJoin(condition=[AND(=($8, $3), =($1, $7))], joinType=[left], algorithm=[none], cost=[not available])
- HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_bill_customer_sk=[$4], ws_order_number=[$17], ws_quantity=[$18], ws_wholesale_cost=[$19], ws_sales_price=[$21])
- HiveFilter(condition=[IS NOT NULL($0)])
- HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales])
- HiveProject(wr_item_sk=[$2], wr_order_number=[$13])
- HiveTableScan(table=[[default, web_returns]], table:alias=[web_returns])
- HiveProject($f2=[$0], $f3=[$2], $f4=[$3], $f5=[$4])
+ HiveProject(ss_item_sk=[$0], ss_customer_sk=[$1], ratio=[round(/(CAST($2):DOUBLE, CAST(CASE(AND(IS NOT NULL($11), IS NOT NULL($6)), +($11, $6), 1)):DOUBLE), 2)], store_qty=[$2], store_wholesale_cost=[$3], store_sales_price=[$4], other_chan_qty=[+(CASE(IS NOT NULL($11), $11, 0), CASE(IS NOT NULL($6), $6, 0))], other_chan_wholesale_cost=[+(CASE(IS NOT NULL($12), $12, 0), CASE(IS NOT NULL($7), $7, 0))], other_chan_sales_price=[+(CASE(IS NOT NULL($13), $13, 0), CASE(IS NOT NULL($8), $8, 0))], ss_qty=[$2], ss_wc=[$3], ss_sp=[$4], (tok_function round (/ (tok_table_or_col ss_qty) (tok_function coalesce (+ (tok_table_or_col ws_qty) (tok_table_or_col cs_qty)) 1)) 2)=[round(/(CAST($2):DOUBLE, CAST(CASE(AND(IS NOT NULL($11), IS NOT NULL($6)), +($11, $6), 1)):DOUBLE), 2)])
+ HiveJoin(condition=[AND(=($9, $0), =($10, $1))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[=($5, $1)], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveProject(ss_item_sk=[$0], ss_customer_sk=[$1], $f2=[$2], $f3=[$3], $f4=[$4])
HiveAggregate(group=[{2, 3}], agg#0=[sum($4)], agg#1=[sum($5)], agg#2=[sum($6)])
HiveJoin(condition=[=($1, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[=($6, 2000)])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(cs_sold_date_sk=[$0], cs_bill_customer_sk=[$1], cs_item_sk=[$2], cs_quantity=[$4], cs_wholesale_cost=[$5], cs_sales_price=[$6])
+ HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$1], ss_customer_sk=[$2], ss_quantity=[$4], ss_wholesale_cost=[$5], ss_sales_price=[$6])
HiveFilter(condition=[IS NULL($8)])
- HiveJoin(condition=[AND(=($8, $3), =($2, $7))], joinType=[left], algorithm=[none], cost=[not available])
- HiveProject(cs_sold_date_sk=[$0], cs_bill_customer_sk=[$3], cs_item_sk=[$15], cs_order_number=[$17], cs_quantity=[$18], cs_wholesale_cost=[$19], cs_sales_price=[$21])
- HiveFilter(condition=[IS NOT NULL($0)])
- HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales])
- HiveProject(cr_item_sk=[$2], cr_order_number=[$16])
- HiveTableScan(table=[[default, catalog_returns]], table:alias=[catalog_returns])
+ HiveJoin(condition=[AND(=($8, $3), =($1, $7))], joinType=[left], algorithm=[none], cost=[not available])
+ HiveProject(ss_sold_date_sk=[$0], ss_item_sk=[$2], ss_customer_sk=[$3], ss_ticket_number=[$9], ss_quantity=[$10], ss_wholesale_cost=[$11], ss_sales_price=[$13])
+ HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($3))])
+ HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
+ HiveProject(sr_item_sk=[$2], sr_ticket_number=[$9])
+ HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns])
+ HiveProject($f2=[$1], $f3=[$2], $f4=[$3], $f5=[$4])
+ HiveFilter(condition=[>($2, 0)])
+ HiveProject(cs_item_sk=[$1], cs_bill_customer_sk=[$0], $f2=[$2], $f3=[$3], $f4=[$4])
+ HiveAggregate(group=[{2, 3}], agg#0=[sum($4)], agg#1=[sum($5)], agg#2=[sum($6)])
+ HiveJoin(condition=[=($1, $0)], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveProject(d_date_sk=[$0])
+ HiveFilter(condition=[=($6, 2000)])
+ HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
+ HiveProject(cs_sold_date_sk=[$0], cs_bill_customer_sk=[$1], cs_item_sk=[$2], cs_quantity=[$4], cs_wholesale_cost=[$5], cs_sales_price=[$6])
+ HiveFilter(condition=[IS NULL($8)])
+ HiveJoin(condition=[AND(=($8, $3), =($2, $7))], joinType=[left], algorithm=[none], cost=[not available])
+ HiveProject(cs_sold_date_sk=[$0], cs_bill_customer_sk=[$3], cs_item_sk=[$15], cs_order_number=[$17], cs_quantity=[$18], cs_wholesale_cost=[$19], cs_sales_price=[$21])
+ HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($3))])
+ HiveTableScan(table=[[default, catalog_sales]], table:alias=[catalog_sales])
+ HiveProject(cr_item_sk=[$2], cr_order_number=[$16])
+ HiveTableScan(table=[[default, catalog_returns]], table:alias=[catalog_returns])
+ HiveProject(ws_item_sk=[$0], ws_bill_customer_sk=[$1], $f2=[$2], $f3=[$3], $f4=[$4])
+ HiveFilter(condition=[>($2, 0)])
+ HiveAggregate(group=[{2, 3}], agg#0=[sum($4)], agg#1=[sum($5)], agg#2=[sum($6)])
+ HiveJoin(condition=[=($1, $0)], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveProject(d_date_sk=[$0])
+ HiveFilter(condition=[=($6, 2000)])
+ HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
+ HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$1], ws_bill_customer_sk=[$2], ws_quantity=[$4], ws_wholesale_cost=[$5], ws_sales_price=[$6])
+ HiveFilter(condition=[IS NULL($8)])
+ HiveJoin(condition=[AND(=($8, $3), =($1, $7))], joinType=[left], algorithm=[none], cost=[not available])
+ HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_bill_customer_sk=[$4], ws_order_number=[$17], ws_quantity=[$18], ws_wholesale_cost=[$19], ws_sales_price=[$21])
+ HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($4))])
+ HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales])
+ HiveProject(wr_item_sk=[$2], wr_order_number=[$13])
+ HiveTableScan(table=[[default, web_returns]], table:alias=[web_returns])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query80.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query80.q.out
index a4fac0cca1..5187d2ae1d 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query80.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query80.q.out
@@ -220,7 +220,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveAggregate(group=[{0, 1}], groups=[[{0, 1}, {0}, {}]], agg#0=[sum($2)], agg#1=[sum($3)], agg#2=[sum($4)])
HiveProject(channel=[$0], id=[$1], sales=[$2], returns=[$3], profit=[$4])
HiveUnion(all=[true])
- HiveProject(channel=[_UTF-16LE'store channel'], id=[||(_UTF-16LE'store', $0)], sales=[$1], returns=[$2], profit=[$3])
+ HiveProject(channel=[_UTF-16LE'store channel':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], id=[||(_UTF-16LE'store', $0)], sales=[$1], returns=[$2], profit=[$3])
HiveAggregate(group=[{0}], agg#0=[sum($1)], agg#1=[sum($2)], agg#2=[sum($3)])
HiveProject($f0=[$1], $f1=[$8], $f2=[CASE(IS NOT NULL($12), $12, 0)], $f3=[-($9, CASE(IS NOT NULL($13), $13, 0))])
HiveJoin(condition=[=($5, $0)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -229,7 +229,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveJoin(condition=[=($4, $13)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(i_item_sk=[$0])
- HiveFilter(condition=[>($5, 50)])
+ HiveFilter(condition=[>($5, 50:DECIMAL(2, 0))])
HiveTableScan(table=[[default, item]], table:alias=[item])
HiveJoin(condition=[=($0, $11)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[AND(=($1, $7), =($4, $8))], joinType=[left], algorithm=[none], cost=[not available])
@@ -239,12 +239,12 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveProject(sr_item_sk=[$2], sr_ticket_number=[$9], sr_return_amt=[$11], sr_net_loss=[$19])
HiveTableScan(table=[[default, store_returns]], table:alias=[store_returns])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00, 1998-09-03 00:00:00)])
+ HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00:TIMESTAMP(9), 1998-09-03 00:00:00:TIMESTAMP(9))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(p_promo_sk=[$0])
HiveFilter(condition=[=($11, _UTF-16LE'N')])
HiveTableScan(table=[[default, promotion]], table:alias=[promotion])
- HiveProject(channel=[_UTF-16LE'catalog channel'], id=[||(_UTF-16LE'catalog_page', $0)], sales=[$1], returns=[$2], profit=[$3])
+ HiveProject(channel=[_UTF-16LE'catalog channel':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], id=[||(_UTF-16LE'catalog_page', $0)], sales=[$1], returns=[$2], profit=[$3])
HiveAggregate(group=[{0}], agg#0=[sum($1)], agg#1=[sum($2)], agg#2=[sum($3)])
HiveProject($f0=[$1], $f1=[$8], $f2=[CASE(IS NOT NULL($12), $12, 0)], $f3=[-($9, CASE(IS NOT NULL($13), $13, 0))])
HiveJoin(condition=[=($4, $0)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -253,7 +253,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveJoin(condition=[=($4, $13)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(i_item_sk=[$0])
- HiveFilter(condition=[>($5, 50)])
+ HiveFilter(condition=[>($5, 50:DECIMAL(2, 0))])
HiveTableScan(table=[[default, item]], table:alias=[item])
HiveJoin(condition=[=($0, $11)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[AND(=($2, $7), =($4, $8))], joinType=[left], algorithm=[none], cost=[not available])
@@ -263,12 +263,12 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveProject(cr_item_sk=[$2], cr_order_number=[$16], cr_return_amount=[$18], cr_net_loss=[$26])
HiveTableScan(table=[[default, catalog_returns]], table:alias=[catalog_returns])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00, 1998-09-03 00:00:00)])
+ HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00:TIMESTAMP(9), 1998-09-03 00:00:00:TIMESTAMP(9))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(p_promo_sk=[$0])
HiveFilter(condition=[=($11, _UTF-16LE'N')])
HiveTableScan(table=[[default, promotion]], table:alias=[promotion])
- HiveProject(channel=[_UTF-16LE'web channel'], id=[||(_UTF-16LE'web_site', $0)], sales=[$1], returns=[$2], profit=[$3])
+ HiveProject(channel=[_UTF-16LE'web channel':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], id=[||(_UTF-16LE'web_site', $0)], sales=[$1], returns=[$2], profit=[$3])
HiveAggregate(group=[{0}], agg#0=[sum($1)], agg#1=[sum($2)], agg#2=[sum($3)])
HiveProject($f0=[$15], $f1=[$7], $f2=[CASE(IS NOT NULL($11), $11, 0)], $f3=[-($8, CASE(IS NOT NULL($12), $12, 0))])
HiveJoin(condition=[=($4, $14)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -278,7 +278,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveTableScan(table=[[default, promotion]], table:alias=[promotion])
HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(i_item_sk=[$0])
- HiveFilter(condition=[>($5, 50)])
+ HiveFilter(condition=[>($5, 50:DECIMAL(2, 0))])
HiveTableScan(table=[[default, item]], table:alias=[item])
HiveJoin(condition=[=($0, $11)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[AND(=($1, $7), =($4, $8))], joinType=[left], algorithm=[none], cost=[not available])
@@ -288,7 +288,7 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveProject(wr_item_sk=[$2], wr_order_number=[$13], wr_return_amt=[$15], wr_net_loss=[$23])
HiveTableScan(table=[[default, web_returns]], table:alias=[web_returns])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00, 1998-09-03 00:00:00)])
+ HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-08-04 00:00:00:TIMESTAMP(9), 1998-09-03 00:00:00:TIMESTAMP(9))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(web_site_sk=[$0], web_site_id=[$1])
HiveTableScan(table=[[default, web_site]], table:alias=[web_site])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query81.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query81.q.out
index 98066643bf..c6c7a85602 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query81.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query81.q.out
@@ -69,7 +69,7 @@ POSTHOOK: Input: default@customer_address
POSTHOOK: Input: default@date_dim
POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
-HiveProject(c_customer_id=[$0], c_salutation=[$1], c_first_name=[$2], c_last_name=[$3], ca_street_number=[$4], ca_street_name=[$5], ca_street_type=[$6], ca_suite_number=[$7], ca_city=[$8], ca_county=[$9], ca_state=[CAST(_UTF-16LE'IL'):VARCHAR(2147483647) CHARACTER SET "UTF-16LE" COLLATE "ISO-8859-1$en_US$primary"], ca_zip=[$10], ca_country=[$11], ca_gmt_offset=[$12], ca_location_type=[$13], ctr_total_return=[$14])
+HiveProject(c_customer_id=[$0], c_salutation=[$1], c_first_name=[$2], c_last_name=[$3], ca_street_number=[$4], ca_street_name=[$5], ca_street_type=[$6], ca_suite_number=[$7], ca_city=[$8], ca_county=[$9], ca_state=[CAST(_UTF-16LE'IL':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"):VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], ca_zip=[$10], ca_country=[$11], ca_gmt_offset=[$12], ca_location_type=[$13], ctr_total_return=[$14])
HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$4], sort5=[$5], sort6=[$6], sort7=[$7], sort8=[$8], sort9=[$9], sort10=[$10], sort11=[$11], sort12=[$12], sort13=[$13], sort14=[$14], dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC], dir4=[ASC], dir5=[ASC], dir6=[ASC], dir7=[ASC], dir8=[ASC], dir9=[ASC], dir10=[ASC], dir11=[ASC], dir12=[ASC], dir13=[ASC], dir14=[ASC], fetch=[100])
HiveProject(c_customer_id=[$1], c_salutation=[$3], c_first_name=[$4], c_last_name=[$5], ca_street_number=[$7], ca_street_name=[$8], ca_street_type=[$9], ca_suite_number=[$10], ca_city=[$11], ca_county=[$12], ca_zip=[$13], ca_country=[$14], ca_gmt_offset=[$15], ca_location_type=[$16], ctr_total_return=[$19])
HiveJoin(condition=[=($17, $0)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -95,7 +95,7 @@ HiveProject(c_customer_id=[$0], c_salutation=[$1], c_first_name=[$2], c_last_nam
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[=($6, 1998)])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(_o__c0=[*(/($1, $2), 1.2)], ctr_state=[$0])
+ HiveProject(_o__c0=[*(/($1, $2), 1.2:DECIMAL(2, 1))], ctr_state=[$0])
HiveAggregate(group=[{0}], agg#0=[sum($2)], agg#1=[count($2)])
HiveProject(ca_state=[$0], cr_returning_customer_sk=[$1], $f2=[$2])
HiveAggregate(group=[{1, 3}], agg#0=[sum($5)])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query82.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query82.q.out
index 54c4a99b68..973672d92a 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query82.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query82.q.out
@@ -49,7 +49,7 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100])
HiveProject(ss_item_sk=[$2])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(i_item_sk=[$0], i_item_id=[$1], i_item_desc=[$4], i_current_price=[$5])
- HiveFilter(condition=[AND(IN($13, 437, 129, 727, 663), BETWEEN(false, $5, 30, 60))])
+ HiveFilter(condition=[AND(IN($13, 437, 129, 727, 663), BETWEEN(false, $5, 30:DECIMAL(12, 2), 60:DECIMAL(2, 0)))])
HiveTableScan(table=[[default, item]], table:alias=[item])
HiveProject(inv_date_sk=[$0], inv_item_sk=[$1], d_date_sk=[$2])
HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -57,6 +57,6 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100])
HiveFilter(condition=[BETWEEN(false, $3, 100, 500)])
HiveTableScan(table=[[default, inventory]], table:alias=[inventory])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 2002-05-30 00:00:00, 2002-07-29 00:00:00)])
+ HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 2002-05-30 00:00:00:TIMESTAMP(9), 2002-07-29 00:00:00:TIMESTAMP(9))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query83.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query83.q.out
index 58ed6dabe7..6c3404d979 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query83.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query83.q.out
@@ -144,7 +144,7 @@ POSTHOOK: Input: default@web_returns
POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100])
- HiveProject(item_id=[$0], sr_item_qty=[$3], sr_dev=[*(/(/(CAST($3):DOUBLE, CAST(+(+($3, $1), $5)):DOUBLE), CAST(3):DOUBLE), CAST(100):DOUBLE)], cr_item_qty=[$1], cr_dev=[*(/(/(CAST($1):DOUBLE, CAST(+(+($3, $1), $5)):DOUBLE), CAST(3):DOUBLE), CAST(100):DOUBLE)], wr_item_qty=[$5], wr_dev=[*(/(/($6, CAST(+(+($3, $1), $5)):DOUBLE), CAST(3):DOUBLE), CAST(100):DOUBLE)], average=[/(CAST(+(+($3, $1), $5)):DECIMAL(19, 0), 3)])
+ HiveProject(item_id=[$0], sr_item_qty=[$3], sr_dev=[*(/(/(CAST($3):DOUBLE, CAST(+(+($3, $1), $5)):DOUBLE), 3), 100)], cr_item_qty=[$1], cr_dev=[*(/(/(CAST($1):DOUBLE, CAST(+(+($3, $1), $5)):DOUBLE), 3), 100)], wr_item_qty=[$5], wr_dev=[*(/(/($6, CAST(+(+($3, $1), $5)):DOUBLE), 3), 100)], average=[/(CAST(+(+($3, $1), $5)):DECIMAL(19, 0), 3:DECIMAL(1, 0))])
HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($2, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(i_item_id=[$0], $f1=[$1])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query85.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query85.q.out
index 91aad930ba..2ec57ae3d8 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query85.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query85.q.out
@@ -188,16 +188,16 @@ HiveProject(_o__c0=[$0], _o__c1=[$1], _o__c2=[$2], _o__c3=[$3])
HiveJoin(condition=[=($0, $26)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(r_reason_sk=[$0], r_reason_desc=[$2])
HiveTableScan(table=[[default, reason]], table:alias=[reason])
- HiveJoin(condition=[AND(AND(AND(=($1, $20), =($2, $25)), OR(AND($14, $15, $7), AND($16, $17, $8), AND($18, $19, $9))), OR(AND($29, $4), AND($30, $5), AND($31, $6)))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($1, $20), =($2, $25), OR(AND($14, $15, $7), AND($16, $17, $8), AND($18, $19, $9)), OR(AND($29, $4), AND($30, $5), AND($31, $6)))], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($0, $10)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_order_number=[$17], ws_quantity=[$18], BETWEEN=[BETWEEN(false, $33, 100, 200)], BETWEEN6=[BETWEEN(false, $33, 150, 300)], BETWEEN7=[BETWEEN(false, $33, 50, 250)], BETWEEN8=[BETWEEN(false, $21, 100, 150)], BETWEEN9=[BETWEEN(false, $21, 50, 100)], BETWEEN10=[BETWEEN(false, $21, 150, 200)])
- HiveFilter(condition=[AND(OR(<=(100, $21), <=($21, 150), IS NOT NULL($21), <=($21, 200)), OR(<=(100, $33), <=($33, 200), IS NOT NULL($33), <=($33, 300), <=($33, 250)), IS NOT NULL($12), IS NOT NULL($0))])
+ HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_order_number=[$17], ws_quantity=[$18], BETWEEN=[BETWEEN(false, $33, 100:DECIMAL(12, 2), 200:DECIMAL(12, 2))], BETWEEN6=[BETWEEN(false, $33, 150:DECIMAL(12, 2), 300:DECIMAL(12, 2))], BETWEEN7=[BETWEEN(false, $33, 50:DECIMAL(12, 2), 250:DECIMAL(12, 2))], BETWEEN8=[BETWEEN(false, $21, 100:DECIMAL(3, 0), 150:DECIMAL(3, 0))], BETWEEN9=[BETWEEN(false, $21, 50:DECIMAL(2, 0), 100:DECIMAL(3, 0))], BETWEEN10=[BETWEEN(false, $21, 150:DECIMAL(3, 0), 200:DECIMAL(3, 0))])
+ HiveFilter(condition=[AND(OR(<=(100:DECIMAL(3, 0), $21), <=($21, 150:DECIMAL(3, 0)), <=(50:DECIMAL(2, 0), $21), <=($21, 100:DECIMAL(3, 0)), <=(150:DECIMAL(3, 0), $21), <=($21, 200:DECIMAL(3, 0))), OR(<=(100:DECIMAL(12, 2), $33), <=($33, 200:DECIMAL(12, 2)), <=(150:DECIMAL(12, 2), $33), <=($33, 300:DECIMAL(12, 2)), <=(50:DECIMAL(12, 2), $33), <=($33, 250:DECIMAL(12, 2))), IS NOT NULL($12), IS NOT NULL($0))])
HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales])
HiveProject(d_date_sk=[$0])
HiveFilter(condition=[=($6, 1998)])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(cd_demo_sk=[$0], cd_marital_status=[$1], cd_education_status=[$2], ==[$3], =4=[$4], =5=[$5], =6=[$6], =7=[$7], =8=[$8], wr_item_sk=[$9], wr_refunded_cdemo_sk=[$10], wr_refunded_addr_sk=[$11], wr_returning_cdemo_sk=[$12], wr_reason_sk=[$13], wr_order_number=[$14], wr_fee=[$15], wr_refunded_cash=[$16], ca_address_sk=[$17], IN=[$18], IN2=[$19], IN3=[$20], cd_demo_sk0=[$21], cd_marital_status0=[$22], cd_education_status0=[$23])
- HiveJoin(condition=[AND(AND(=($1, $22), =($2, $23)), =($0, $10))], joinType=[inner], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[AND(=($1, $22), =($2, $23), =($0, $10))], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(cd_demo_sk=[$0], cd_marital_status=[$2], cd_education_status=[$3], ==[=($2, _UTF-16LE'M')], =4=[=($3, _UTF-16LE'4 yr Degree')], =5=[=($2, _UTF-16LE'D')], =6=[=($3, _UTF-16LE'Primary')], =7=[=($2, _UTF-16LE'U')], =8=[=($3, _UTF-16LE'Advanced Degree')])
HiveFilter(condition=[AND(IN($3, _UTF-16LE'4 yr Degree', _UTF-16LE'Primary', _UTF-16LE'Advanced Degree'), IN($2, _UTF-16LE'M', _UTF-16LE'D', _UTF-16LE'U'))])
HiveTableScan(table=[[default, customer_demographics]], table:alias=[cd1])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query87.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query87.q.out
index 97c9eddc34..5f629d137c 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query87.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query87.q.out
@@ -59,14 +59,14 @@ HiveAggregate(group=[{}], agg#0=[count()])
HiveAggregate(group=[{0, 1, 2}], agg#0=[sum($3)], agg#1=[sum($4)])
HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f4=[$4], $f5=[*($3, $4)])
HiveUnion(all=[true])
- HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[2], $f4=[$3])
+ HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[2:BIGINT], $f4=[$3])
HiveAggregate(group=[{0, 1, 2}], agg#0=[count()])
HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3], $f4=[$4])
HiveFilter(condition=[AND(>($3, 0), =(*($3, 2), $4))])
HiveAggregate(group=[{0, 1, 2}], agg#0=[sum($3)], agg#1=[sum($4)])
HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f4=[$4], $f5=[*($3, $4)])
HiveUnion(all=[true])
- HiveProject($f0=[$1], $f1=[$0], $f2=[$2], $f3=[2], $f4=[$3])
+ HiveProject($f0=[$1], $f1=[$0], $f2=[$2], $f3=[2:BIGINT], $f4=[$3])
HiveAggregate(group=[{0, 1, 2}], agg#0=[count()])
HiveProject(c_first_name=[$0], c_last_name=[$1], d_date=[$2])
HiveAggregate(group=[{1, 2, 6}])
@@ -80,7 +80,7 @@ HiveAggregate(group=[{}], agg#0=[count()])
HiveProject(d_date_sk=[$0], d_date=[$2])
HiveFilter(condition=[BETWEEN(false, $3, 1212, 1223)])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject($f0=[$1], $f1=[$0], $f2=[$2], $f3=[1], $f4=[$3])
+ HiveProject($f0=[$1], $f1=[$0], $f2=[$2], $f3=[1:BIGINT], $f4=[$3])
HiveAggregate(group=[{0, 1, 2}], agg#0=[count()])
HiveProject(c_first_name=[$0], c_last_name=[$1], d_date=[$2])
HiveAggregate(group=[{1, 2, 6}])
@@ -94,7 +94,7 @@ HiveAggregate(group=[{}], agg#0=[count()])
HiveProject(d_date_sk=[$0], d_date=[$2])
HiveFilter(condition=[BETWEEN(false, $3, 1212, 1223)])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject($f0=[$1], $f1=[$0], $f2=[$2], $f3=[1], $f4=[$3])
+ HiveProject($f0=[$1], $f1=[$0], $f2=[$2], $f3=[1:BIGINT], $f4=[$3])
HiveAggregate(group=[{0, 1, 2}], agg#0=[count()])
HiveProject(c_first_name=[$0], c_last_name=[$1], d_date=[$2])
HiveAggregate(group=[{1, 2, 6}])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query88.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query88.q.out
index 1ac8fe2dcd..421d3c2d0f 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query88.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query88.q.out
@@ -217,7 +217,7 @@ HiveProject($f0=[$0], $f00=[$7], $f01=[$6], $f02=[$5], $f03=[$4], $f04=[$3], $f0
HiveFilter(condition=[AND(IS NOT NULL($5), IS NOT NULL($1), IS NOT NULL($7))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(hd_demo_sk=[$0])
- HiveFilter(condition=[AND(IN($3, 3, 0, 1), <=($4, 5), OR(AND(=($3, 3), IS NOT NULL($4)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))))])
+ HiveFilter(condition=[AND(IN($3, 3, 0, 1), OR(<=($4, 5), <=($4, 2), <=($4, 3)), OR(AND(=($3, 3), <=($4, 5)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))))])
HiveTableScan(table=[[default, household_demographics]], table:alias=[household_demographics])
HiveProject(t_time_sk=[$0])
HiveFilter(condition=[AND(=($3, 8), >=($4, 30))])
@@ -234,7 +234,7 @@ HiveProject($f0=[$0], $f00=[$7], $f01=[$6], $f02=[$5], $f03=[$4], $f04=[$3], $f0
HiveFilter(condition=[AND(IS NOT NULL($5), IS NOT NULL($1), IS NOT NULL($7))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(hd_demo_sk=[$0])
- HiveFilter(condition=[AND(IN($3, 3, 0, 1), <=($4, 5), OR(AND(=($3, 3), IS NOT NULL($4)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))))])
+ HiveFilter(condition=[AND(IN($3, 3, 0, 1), OR(<=($4, 5), <=($4, 2), <=($4, 3)), OR(AND(=($3, 3), <=($4, 5)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))))])
HiveTableScan(table=[[default, household_demographics]], table:alias=[household_demographics])
HiveProject(t_time_sk=[$0])
HiveFilter(condition=[AND(=($3, 12), <($4, 30))])
@@ -251,7 +251,7 @@ HiveProject($f0=[$0], $f00=[$7], $f01=[$6], $f02=[$5], $f03=[$4], $f04=[$3], $f0
HiveFilter(condition=[AND(IS NOT NULL($5), IS NOT NULL($1), IS NOT NULL($7))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(hd_demo_sk=[$0])
- HiveFilter(condition=[AND(IN($3, 3, 0, 1), <=($4, 5), OR(AND(=($3, 3), IS NOT NULL($4)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))))])
+ HiveFilter(condition=[AND(IN($3, 3, 0, 1), OR(<=($4, 5), <=($4, 2), <=($4, 3)), OR(AND(=($3, 3), <=($4, 5)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))))])
HiveTableScan(table=[[default, household_demographics]], table:alias=[household_demographics])
HiveProject(t_time_sk=[$0])
HiveFilter(condition=[AND(=($3, 11), >=($4, 30))])
@@ -268,7 +268,7 @@ HiveProject($f0=[$0], $f00=[$7], $f01=[$6], $f02=[$5], $f03=[$4], $f04=[$3], $f0
HiveFilter(condition=[AND(IS NOT NULL($5), IS NOT NULL($1), IS NOT NULL($7))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(hd_demo_sk=[$0])
- HiveFilter(condition=[AND(IN($3, 3, 0, 1), <=($4, 5), OR(AND(=($3, 3), IS NOT NULL($4)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))))])
+ HiveFilter(condition=[AND(IN($3, 3, 0, 1), OR(<=($4, 5), <=($4, 2), <=($4, 3)), OR(AND(=($3, 3), <=($4, 5)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))))])
HiveTableScan(table=[[default, household_demographics]], table:alias=[household_demographics])
HiveProject(t_time_sk=[$0])
HiveFilter(condition=[AND(=($3, 11), <($4, 30))])
@@ -285,7 +285,7 @@ HiveProject($f0=[$0], $f00=[$7], $f01=[$6], $f02=[$5], $f03=[$4], $f04=[$3], $f0
HiveFilter(condition=[AND(IS NOT NULL($5), IS NOT NULL($1), IS NOT NULL($7))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(hd_demo_sk=[$0])
- HiveFilter(condition=[AND(IN($3, 3, 0, 1), <=($4, 5), OR(AND(=($3, 3), IS NOT NULL($4)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))))])
+ HiveFilter(condition=[AND(IN($3, 3, 0, 1), OR(<=($4, 5), <=($4, 2), <=($4, 3)), OR(AND(=($3, 3), <=($4, 5)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))))])
HiveTableScan(table=[[default, household_demographics]], table:alias=[household_demographics])
HiveProject(t_time_sk=[$0])
HiveFilter(condition=[AND(=($3, 10), >=($4, 30))])
@@ -302,7 +302,7 @@ HiveProject($f0=[$0], $f00=[$7], $f01=[$6], $f02=[$5], $f03=[$4], $f04=[$3], $f0
HiveFilter(condition=[AND(IS NOT NULL($5), IS NOT NULL($1), IS NOT NULL($7))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(hd_demo_sk=[$0])
- HiveFilter(condition=[AND(IN($3, 3, 0, 1), <=($4, 5), OR(AND(=($3, 3), IS NOT NULL($4)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))))])
+ HiveFilter(condition=[AND(IN($3, 3, 0, 1), OR(<=($4, 5), <=($4, 2), <=($4, 3)), OR(AND(=($3, 3), <=($4, 5)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))))])
HiveTableScan(table=[[default, household_demographics]], table:alias=[household_demographics])
HiveProject(t_time_sk=[$0])
HiveFilter(condition=[AND(=($3, 10), <($4, 30))])
@@ -319,7 +319,7 @@ HiveProject($f0=[$0], $f00=[$7], $f01=[$6], $f02=[$5], $f03=[$4], $f04=[$3], $f0
HiveFilter(condition=[AND(IS NOT NULL($5), IS NOT NULL($1), IS NOT NULL($7))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(hd_demo_sk=[$0])
- HiveFilter(condition=[AND(IN($3, 3, 0, 1), <=($4, 5), OR(AND(=($3, 3), IS NOT NULL($4)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))))])
+ HiveFilter(condition=[AND(IN($3, 3, 0, 1), OR(<=($4, 5), <=($4, 2), <=($4, 3)), OR(AND(=($3, 3), <=($4, 5)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))))])
HiveTableScan(table=[[default, household_demographics]], table:alias=[household_demographics])
HiveProject(t_time_sk=[$0])
HiveFilter(condition=[AND(=($3, 9), >=($4, 30))])
@@ -336,7 +336,7 @@ HiveProject($f0=[$0], $f00=[$7], $f01=[$6], $f02=[$5], $f03=[$4], $f04=[$3], $f0
HiveFilter(condition=[AND(IS NOT NULL($5), IS NOT NULL($1), IS NOT NULL($7))])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(hd_demo_sk=[$0])
- HiveFilter(condition=[AND(IN($3, 3, 0, 1), <=($4, 5), OR(AND(=($3, 3), IS NOT NULL($4)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))))])
+ HiveFilter(condition=[AND(IN($3, 3, 0, 1), OR(<=($4, 5), <=($4, 2), <=($4, 3)), OR(AND(=($3, 3), <=($4, 5)), AND(=($3, 0), <=($4, 2)), AND(=($3, 1), <=($4, 3))))])
HiveTableScan(table=[[default, household_demographics]], table:alias=[household_demographics])
HiveProject(t_time_sk=[$0])
HiveFilter(condition=[AND(=($3, 9), <($4, 30))])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query89.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query89.q.out
index d9c7d42b9f..71e9f362df 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query89.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query89.q.out
@@ -66,7 +66,7 @@ CBO PLAN:
HiveProject(i_category=[$0], i_class=[$1], i_brand=[$2], s_store_name=[$3], s_company_name=[$4], d_moy=[$5], sum_sales=[$6], avg_monthly_sales=[$7])
HiveSortLimit(sort0=[$8], sort1=[$3], dir0=[ASC], dir1=[ASC], fetch=[100])
HiveProject(i_category=[$0], i_class=[$1], i_brand=[$2], s_store_name=[$3], s_company_name=[$4], d_moy=[$5], sum_sales=[$6], avg_monthly_sales=[$7], (- (tok_table_or_col sum_sales) (tok_table_or_col avg_monthly_sales))=[-($6, $7)])
- HiveFilter(condition=[CASE(<>($7, 0), >(/(ABS(-($6, $7)), $7), 0.1), null)])
+ HiveFilter(condition=[CASE(<>($7, 0:DECIMAL(1, 0)), >(/(ABS(-($6, $7)), $7), 0.1:DECIMAL(2, 1)), false)])
HiveProject((tok_table_or_col i_category)=[$2], (tok_table_or_col i_class)=[$1], (tok_table_or_col i_brand)=[$0], (tok_table_or_col s_store_name)=[$4], (tok_table_or_col s_company_name)=[$5], (tok_table_or_col d_moy)=[$3], (tok_function sum (tok_table_or_col ss_sales_price))=[$6], avg_window_0=[avg($6) OVER (PARTITION BY $2, $0, $4, $5 ORDER BY $2 NULLS FIRST, $0 NULLS FIRST, $4 NULLS FIRST, $5 NULLS FIRST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING)])
HiveProject(i_brand=[$0], i_class=[$1], i_category=[$2], d_moy=[$3], s_store_name=[$4], s_company_name=[$5], $f6=[$6])
HiveAggregate(group=[{5, 6, 7, 9, 11, 12}], agg#0=[sum($3)])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query91.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query91.q.out
index 0017776216..d2f79b1512 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query91.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query91.q.out
@@ -84,7 +84,7 @@ HiveProject(call_center=[$0], call_center_name=[$1], manager=[$2], returns_loss=
HiveJoin(condition=[=($9, $1)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($0, $4)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ca_address_sk=[$0])
- HiveFilter(condition=[=($11, -7)])
+ HiveFilter(condition=[=($11, -7:DECIMAL(1, 0))])
HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveJoin(condition=[=($4, $1)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(c_customer_sk=[$0], c_current_cdemo_sk=[$2], c_current_hdemo_sk=[$3], c_current_addr_sk=[$4])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query92.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query92.q.out
index 503c78185c..93208d013d 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query92.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query92.q.out
@@ -72,18 +72,18 @@ HiveAggregate(group=[{}], agg#0=[sum($2)])
HiveFilter(condition=[IS NOT NULL($0)])
HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00, 1998-06-16 00:00:00)])
+ HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00:TIMESTAMP(9), 1998-06-16 00:00:00:TIMESTAMP(9))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(ws_item_sk=[$0], CAST3=[$1], i_item_sk=[$2])
HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(ws_item_sk=[$0], CAST3=[CAST(*(1.3, /($1, $2))):DECIMAL(14, 7)])
+ HiveProject(ws_item_sk=[$0], CAST3=[CAST(*(1.3:DECIMAL(2, 1), /($1, $2))):DECIMAL(14, 7)])
HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_ext_discount_amt=[$22])
HiveFilter(condition=[IS NOT NULL($0)])
HiveTableScan(table=[[default, web_sales]], table:alias=[web_sales])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00, 1998-06-16 00:00:00)])
+ HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1998-03-18 00:00:00:TIMESTAMP(9), 1998-06-16 00:00:00:TIMESTAMP(9))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(i_item_sk=[$0])
HiveFilter(condition=[=($13, 269)])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query94.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query94.q.out
index 25e0c8bd9e..04e0bd53f5 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query94.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query94.q.out
@@ -74,7 +74,7 @@ HiveAggregate(group=[{}], agg#0=[count(DISTINCT $4)], agg#1=[sum($5)], agg#2=[su
HiveProject(ws_ship_date_sk=[$2], ws_ship_addr_sk=[$3], ws_web_site_sk=[$4], ws_warehouse_sk=[$5], ws_order_number=[$6], ws_ext_ship_cost=[$7], ws_net_profit=[$8], d_date_sk=[$9], d_date=[$10], ca_address_sk=[$0], ca_state=[$1], web_site_sk=[$11], web_company_name=[$12])
HiveJoin(condition=[=($4, $11)], joinType=[inner], algorithm=[none], cost=[not available])
HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available])
- HiveProject(ca_address_sk=[$0], ca_state=[CAST(_UTF-16LE'TX'):VARCHAR(2147483647) CHARACTER SET "UTF-16LE" COLLATE "ISO-8859-1$en_US$primary"])
+ HiveProject(ca_address_sk=[$0], ca_state=[CAST(_UTF-16LE'TX':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"):VARCHAR(2147483647) CHARACTER SET "UTF-16LE"])
HiveFilter(condition=[=($8, _UTF-16LE'TX')])
HiveTableScan(table=[[default, customer_address]], table:alias=[customer_address])
HiveJoin(condition=[=($0, $7)], joinType=[inner], algorithm=[none], cost=[not available])
@@ -82,9 +82,9 @@ HiveAggregate(group=[{}], agg#0=[count(DISTINCT $4)], agg#1=[sum($5)], agg#2=[su
HiveFilter(condition=[AND(IS NOT NULL($2), IS NOT NULL($11), IS NOT NULL($13))])
HiveTableScan(table=[[default, web_sales]], table:alias=[ws1])
HiveProject(d_date_sk=[$0], d_date=[$2])
- HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1999-05-01 00:00:00, 1999-06-30 00:00:00)])
+ HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1999-05-01 00:00:00:TIMESTAMP(9), 1999-06-30 00:00:00:TIMESTAMP(9))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
- HiveProject(web_site_sk=[$0], web_company_name=[CAST(_UTF-16LE'pri'):VARCHAR(2147483647) CHARACTER SET "UTF-16LE" COLLATE "ISO-8859-1$en_US$primary"])
+ HiveProject(web_site_sk=[$0], web_company_name=[CAST(_UTF-16LE'pri':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"):VARCHAR(2147483647) CHARACTER SET "UTF-16LE"])
HiveFilter(condition=[=($14, _UTF-16LE'pri')])
HiveTableScan(table=[[default, web_site]], table:alias=[web_site])
HiveProject(ws_warehouse_sk=[$15], ws_order_number=[$17])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query95.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query95.q.out
index 606e162b30..34afce3c59 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query95.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query95.q.out
@@ -103,7 +103,7 @@ HiveAggregate(group=[{}], agg#0=[count(DISTINCT $6)], agg#1=[sum($7)], agg#2=[su
HiveFilter(condition=[AND(IS NOT NULL($2), IS NOT NULL($11), IS NOT NULL($13))])
HiveTableScan(table=[[default, web_sales]], table:alias=[ws1])
HiveProject(d_date_sk=[$0], d_date=[$2])
- HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1999-05-01 00:00:00, 1999-06-30 00:00:00)])
+ HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 1999-05-01 00:00:00:TIMESTAMP(9), 1999-06-30 00:00:00:TIMESTAMP(9))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
HiveProject(web_site_sk=[$0])
HiveFilter(condition=[=($14, _UTF-16LE'pri')])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query97.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query97.q.out
index c8fff90413..e7221aae3e 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query97.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query97.q.out
@@ -56,7 +56,7 @@ POSTHOOK: Input: default@store_sales
POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveAggregate(group=[{}], agg#0=[sum($0)], agg#1=[sum($1)], agg#2=[sum($2)])
- HiveProject($f0=[CASE(AND(IS NOT NULL($0), IS NULL($2)), 1, 0)], $f1=[CASE(AND(IS NULL($0), IS NOT NULL($2)), 1, 0)], $f2=[CASE(AND(IS NOT NULL($0), IS NOT NULL($2)), 1, 0)])
+ HiveProject($f0=[CAST(CASE(AND(IS NULL($2), IS NOT NULL($0)), 1, 0)):INTEGER], $f1=[CASE(AND(IS NULL($0), IS NOT NULL($2)), 1, 0)], $f2=[CASE(AND(IS NOT NULL($0), IS NOT NULL($2)), 1, 0)])
HiveJoin(condition=[AND(=($0, $2), =($1, $3))], joinType=[full], algorithm=[none], cost=[not available])
HiveProject(ss_customer_sk=[$1], ss_item_sk=[$0])
HiveAggregate(group=[{1, 2}])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query98.q.out ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query98.q.out
index 2a6b66f2bf..3df0e3dbe7 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query98.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query98.q.out
@@ -71,7 +71,7 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
CBO PLAN:
HiveProject(i_item_desc=[$0], i_category=[$1], i_class=[$2], i_current_price=[$3], itemrevenue=[$4], revenueratio=[$5])
HiveSortLimit(sort0=[$1], sort1=[$2], sort2=[$6], sort3=[$0], sort4=[$5], dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC], dir4=[ASC])
- HiveProject(i_item_desc=[$1], i_category=[$4], i_class=[$3], i_current_price=[$2], itemrevenue=[$5], revenueratio=[/(*($5, CAST(100):DECIMAL(10, 0)), sum($5) OVER (PARTITION BY $3 ORDER BY $3 NULLS FIRST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING))], (tok_table_or_col i_item_id)=[$0])
+ HiveProject(i_item_desc=[$1], i_category=[$4], i_class=[$3], i_current_price=[$2], itemrevenue=[$5], revenueratio=[/(*($5, 100:DECIMAL(10, 0)), sum($5) OVER (PARTITION BY $3 ORDER BY $3 NULLS FIRST ROWS BETWEEN 2147483647 FOLLOWING AND 2147483647 PRECEDING))], (tok_table_or_col i_item_id)=[$0])
HiveAggregate(group=[{1, 2, 3, 4, 5}], agg#0=[sum($8)])
HiveJoin(condition=[=($7, $0)], joinType=[inner], algorithm=[none], cost=[not available])
HiveProject(i_item_sk=[$0], i_item_id=[$1], i_item_desc=[$4], i_current_price=[$5], i_class=[$10], i_category=[$12])
@@ -82,6 +82,6 @@ HiveProject(i_item_desc=[$0], i_category=[$1], i_class=[$2], i_current_price=[$3
HiveFilter(condition=[IS NOT NULL($0)])
HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales])
HiveProject(d_date_sk=[$0])
- HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 2001-01-12 00:00:00, 2001-02-11 00:00:00)])
+ HiveFilter(condition=[BETWEEN(false, CAST($2):TIMESTAMP(9), 2001-01-12 00:00:00:TIMESTAMP(9), 2001-02-11 00:00:00:TIMESTAMP(9))])
HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim])
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/mv_query44.q.out ql/src/test/results/clientpositive/perf/tez/constraints/mv_query44.q.out
index db9acc93cb..7ba03a1644 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/mv_query44.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/mv_query44.q.out
@@ -19,7 +19,7 @@ POSTHOOK: type: CREATE_MATERIALIZED_VIEW
POSTHOOK: Input: default@store_sales
POSTHOOK: Output: database:default
POSTHOOK: Output: default@mv_store_sales_item_customer
-Warning: Shuffle Join MERGEJOIN[101][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 8' is a cross product
+Warning: Shuffle Join MERGEJOIN[103][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
PREHOOK: query: explain
select asceding.rnk, i1.i_product_name best_performing, i2.i_product_name worst_performing
from(select *
@@ -97,118 +97,118 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
Plan optimized by CBO.
Vertex dependency in root stage
-Reducer 10 <- Reducer 8 (SIMPLE_EDGE)
-Reducer 12 <- Map 11 (SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
-Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 5 (SIMPLE_EDGE)
+Reducer 11 <- Map 10 (SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE)
+Reducer 3 <- Reducer 11 (CUSTOM_SIMPLE_EDGE), Reducer 2 (CUSTOM_SIMPLE_EDGE)
Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Map 1 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE)
-Reducer 7 <- Map 6 (SIMPLE_EDGE)
-Reducer 8 <- Reducer 12 (CUSTOM_SIMPLE_EDGE), Reducer 7 (CUSTOM_SIMPLE_EDGE)
-Reducer 9 <- Reducer 8 (SIMPLE_EDGE)
+Reducer 5 <- Reducer 4 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
+Reducer 6 <- Map 12 (SIMPLE_EDGE), Reducer 5 (SIMPLE_EDGE)
+Reducer 7 <- Map 12 (SIMPLE_EDGE), Reducer 6 (SIMPLE_EDGE)
+Reducer 8 <- Reducer 7 (SIMPLE_EDGE)
+Reducer 9 <- Reducer 3 (SIMPLE_EDGE)
Stage-0
Fetch Operator
limit:100
Stage-1
- Reducer 4 vectorized
- File Output Operator [FS_135]
- Limit [LIM_134] (rows=100 width=218)
+ Reducer 8 vectorized
+ File Output Operator [FS_137]
+ Limit [LIM_136] (rows=100 width=218)
Number of rows:100
- Select Operator [SEL_133] (rows=6951 width=218)
+ Select Operator [SEL_135] (rows=6951 width=218)
Output:["_col0","_col1","_col2"]
- <-Reducer 3 [SIMPLE_EDGE]
- SHUFFLE [RS_67]
- Select Operator [SEL_66] (rows=6951 width=218)
+ <-Reducer 7 [SIMPLE_EDGE]
+ SHUFFLE [RS_66]
+ Select Operator [SEL_65] (rows=6951 width=218)
Output:["_col0","_col1","_col2"]
- Merge Join Operator [MERGEJOIN_105] (rows=6951 width=218)
- Conds:RS_63._col3=RS_64._col3(Inner),Output:["_col1","_col3","_col5"]
- <-Reducer 2 [SIMPLE_EDGE]
- SHUFFLE [RS_63]
- PartitionCols:_col3
- Merge Join Operator [MERGEJOIN_102] (rows=6951 width=111)
- Conds:RS_107._col0=RS_127._col0(Inner),Output:["_col1","_col3"]
- <-Map 1 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_107]
+ Merge Join Operator [MERGEJOIN_107] (rows=6951 width=218)
+ Conds:RS_62._col2=RS_134._col0(Inner),Output:["_col1","_col5","_col7"]
+ <-Map 12 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_134]
+ PartitionCols:_col0
+ Select Operator [SEL_132] (rows=462000 width=111)
+ Output:["_col0","_col1"]
+ TableScan [TS_52] (rows=462000 width=111)
+ default@item,i1,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_product_name"]
+ <-Reducer 6 [SIMPLE_EDGE]
+ SHUFFLE [RS_62]
+ PartitionCols:_col2
+ Merge Join Operator [MERGEJOIN_106] (rows=6951 width=115)
+ Conds:RS_59._col0=RS_133._col0(Inner),Output:["_col1","_col2","_col5"]
+ <-Map 12 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_133]
PartitionCols:_col0
- Select Operator [SEL_106] (rows=462000 width=111)
- Output:["_col0","_col1"]
- TableScan [TS_0] (rows=462000 width=111)
- default@item,i1,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_product_name"]
- <-Reducer 9 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_127]
+ Please refer to the previous Select Operator [SEL_132]
+ <-Reducer 5 [SIMPLE_EDGE]
+ SHUFFLE [RS_59]
PartitionCols:_col0
- Select Operator [SEL_126] (rows=6951 width=8)
- Output:["_col0","_col1"]
- Filter Operator [FIL_125] (rows=6951 width=116)
- predicate:(rank_window_0 < 11)
- PTF Operator [PTF_124] (rows=20854 width=116)
- Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col1 ASC NULLS FIRST","partition by:":"0"}]
- Select Operator [SEL_123] (rows=20854 width=116)
- Output:["_col0","_col1"]
- <-Reducer 8 [SIMPLE_EDGE]
- SHUFFLE [RS_21]
- PartitionCols:0
- Filter Operator [FIL_20] (rows=20854 width=228)
- predicate:(_col1 > (0.9 * _col2))
- Merge Join Operator [MERGEJOIN_101] (rows=62562 width=228)
- Conds:(Inner),Output:["_col0","_col1","_col2"]
- <-Reducer 12 [CUSTOM_SIMPLE_EDGE] vectorized
- PARTITION_ONLY_SHUFFLE [RS_122]
- Select Operator [SEL_121] (rows=1 width=112)
- Output:["_col0"]
- Group By Operator [GBY_120] (rows=1 width=124)
- Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0
- <-Map 11 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_119]
- PartitionCols:_col0
- Group By Operator [GBY_118] (rows=258 width=124)
- Output:["_col0","_col1","_col2"],aggregations:["sum(_col1)","count(_col1)"],keys:true
- Select Operator [SEL_117] (rows=287946 width=114)
- Output:["_col1"]
- Filter Operator [FIL_116] (rows=287946 width=114)
- predicate:((ss_store_sk = 410) and ss_hdemo_sk is null)
- TableScan [TS_9] (rows=575995635 width=114)
- default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_hdemo_sk","ss_store_sk","ss_net_profit"]
- <-Reducer 7 [CUSTOM_SIMPLE_EDGE] vectorized
- PARTITION_ONLY_SHUFFLE [RS_115]
- Select Operator [SEL_114] (rows=62562 width=116)
- Output:["_col0","_col1"]
- Group By Operator [GBY_113] (rows=62562 width=124)
- Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0
- <-Map 6 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_112]
- PartitionCols:_col0
- Group By Operator [GBY_111] (rows=3199976 width=124)
- Output:["_col0","_col1","_col2"],aggregations:["sum(ss_net_profit)","count(ss_net_profit)"],keys:ss_item_sk
- Select Operator [SEL_110] (rows=6399952 width=114)
- Output:["ss_item_sk","ss_net_profit"]
- Filter Operator [FIL_109] (rows=6399952 width=114)
- predicate:(ss_store_sk = 410)
- TableScan [TS_2] (rows=575995635 width=114)
- default@store_sales,ss1,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_item_sk","ss_store_sk","ss_net_profit"]
- <-Reducer 5 [SIMPLE_EDGE]
- SHUFFLE [RS_64]
- PartitionCols:_col3
- Merge Join Operator [MERGEJOIN_104] (rows=6951 width=111)
- Conds:RS_108._col0=RS_132._col0(Inner),Output:["_col1","_col3"]
- <-Map 1 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_108]
- PartitionCols:_col0
- Please refer to the previous Select Operator [SEL_106]
- <-Reducer 10 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_132]
- PartitionCols:_col0
- Select Operator [SEL_131] (rows=6951 width=8)
- Output:["_col0","_col1"]
- Filter Operator [FIL_130] (rows=6951 width=116)
- predicate:(rank_window_0 < 11)
- PTF Operator [PTF_129] (rows=20854 width=116)
- Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col1 DESC NULLS LAST","partition by:":"0"}]
- Select Operator [SEL_128] (rows=20854 width=116)
- Output:["_col0","_col1"]
- <-Reducer 8 [SIMPLE_EDGE]
- SHUFFLE [RS_49]
- PartitionCols:0
- Please refer to the previous Filter Operator [FIL_20]
+ Merge Join Operator [MERGEJOIN_105] (rows=6951 width=12)
+ Conds:RS_126._col1=RS_131._col1(Inner),Output:["_col0","_col1","_col2"]
+ <-Reducer 4 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_126]
+ PartitionCols:_col1
+ Select Operator [SEL_125] (rows=6951 width=8)
+ Output:["_col0","_col1"]
+ Filter Operator [FIL_124] (rows=6951 width=116)
+ predicate:(rank_window_0 < 11)
+ PTF Operator [PTF_123] (rows=20854 width=116)
+ Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col1 ASC NULLS FIRST","partition by:":"0"}]
+ Select Operator [SEL_122] (rows=20854 width=116)
+ Output:["_col0","_col1"]
+ <-Reducer 3 [SIMPLE_EDGE]
+ SHUFFLE [RS_19]
+ PartitionCols:0
+ Filter Operator [FIL_18] (rows=20854 width=228)
+ predicate:(_col1 > (0.9 * _col2))
+ Merge Join Operator [MERGEJOIN_103] (rows=62562 width=228)
+ Conds:(Inner),Output:["_col0","_col1","_col2"]
+ <-Reducer 11 [CUSTOM_SIMPLE_EDGE] vectorized
+ PARTITION_ONLY_SHUFFLE [RS_121]
+ Select Operator [SEL_120] (rows=1 width=112)
+ Output:["_col0"]
+ Group By Operator [GBY_119] (rows=1 width=124)
+ Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0
+ <-Map 10 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_118]
+ PartitionCols:_col0
+ Group By Operator [GBY_117] (rows=258 width=124)
+ Output:["_col0","_col1","_col2"],aggregations:["sum(_col1)","count(_col1)"],keys:true
+ Select Operator [SEL_116] (rows=287946 width=114)
+ Output:["_col1"]
+ Filter Operator [FIL_115] (rows=287946 width=114)
+ predicate:((ss_store_sk = 410) and ss_hdemo_sk is null)
+ TableScan [TS_7] (rows=575995635 width=114)
+ default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_hdemo_sk","ss_store_sk","ss_net_profit"]
+ <-Reducer 2 [CUSTOM_SIMPLE_EDGE] vectorized
+ PARTITION_ONLY_SHUFFLE [RS_114]
+ Select Operator [SEL_113] (rows=62562 width=116)
+ Output:["_col0","_col1"]
+ Group By Operator [GBY_112] (rows=62562 width=124)
+ Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0
+ <-Map 1 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_111]
+ PartitionCols:_col0
+ Group By Operator [GBY_110] (rows=3199976 width=124)
+ Output:["_col0","_col1","_col2"],aggregations:["sum(ss_net_profit)","count(ss_net_profit)"],keys:ss_item_sk
+ Select Operator [SEL_109] (rows=6399952 width=114)
+ Output:["ss_item_sk","ss_net_profit"]
+ Filter Operator [FIL_108] (rows=6399952 width=114)
+ predicate:(ss_store_sk = 410)
+ TableScan [TS_0] (rows=575995635 width=114)
+ default@store_sales,ss1,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_item_sk","ss_store_sk","ss_net_profit"]
+ <-Reducer 9 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_131]
+ PartitionCols:_col1
+ Select Operator [SEL_130] (rows=6951 width=8)
+ Output:["_col0","_col1"]
+ Filter Operator [FIL_129] (rows=6951 width=116)
+ predicate:(rank_window_0 < 11)
+ PTF Operator [PTF_128] (rows=20854 width=116)
+ Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col1 DESC NULLS LAST","partition by:":"0"}]
+ Select Operator [SEL_127] (rows=20854 width=116)
+ Output:["_col0","_col1"]
+ <-Reducer 3 [SIMPLE_EDGE]
+ SHUFFLE [RS_45]
+ PartitionCols:0
+ Please refer to the previous Filter Operator [FIL_18]
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/query1.q.out ql/src/test/results/clientpositive/perf/tez/constraints/query1.q.out
index 69f93290d9..d1fd7a5eb8 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/query1.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/query1.q.out
@@ -62,8 +62,8 @@ Vertex dependency in root stage
Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 10 (SIMPLE_EDGE)
Reducer 3 <- Reducer 2 (SIMPLE_EDGE)
Reducer 4 <- Map 11 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Map 12 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
-Reducer 6 <- Reducer 5 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
+Reducer 5 <- Reducer 4 (ONE_TO_ONE_EDGE), Reducer 9 (SIMPLE_EDGE)
+Reducer 6 <- Map 12 (SIMPLE_EDGE), Reducer 5 (SIMPLE_EDGE)
Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
Reducer 8 <- Map 1 (SIMPLE_EDGE), Map 10 (SIMPLE_EDGE)
Reducer 9 <- Reducer 8 (SIMPLE_EDGE)
@@ -73,105 +73,105 @@ Stage-0
limit:100
Stage-1
Reducer 7 vectorized
- File Output Operator [FS_159]
- Limit [LIM_158] (rows=100 width=100)
+ File Output Operator [FS_160]
+ Limit [LIM_159] (rows=100 width=100)
Number of rows:100
- Select Operator [SEL_157] (rows=816091 width=100)
+ Select Operator [SEL_158] (rows=816091 width=100)
Output:["_col0"]
<-Reducer 6 [SIMPLE_EDGE]
SHUFFLE [RS_49]
Select Operator [SEL_48] (rows=816091 width=100)
Output:["_col0"]
- Filter Operator [FIL_47] (rows=816091 width=324)
- predicate:(_col2 > _col6)
- Merge Join Operator [MERGEJOIN_133] (rows=2448274 width=324)
- Conds:RS_44._col1=RS_156._col1(Inner),Output:["_col2","_col5","_col6"]
- <-Reducer 5 [SIMPLE_EDGE]
- SHUFFLE [RS_44]
- PartitionCols:_col1
- Merge Join Operator [MERGEJOIN_131] (rows=2369298 width=213)
- Conds:RS_41._col0=RS_151._col0(Inner),Output:["_col1","_col2","_col5"]
- <-Map 12 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_151]
- PartitionCols:_col0
- Select Operator [SEL_150] (rows=80000000 width=104)
- Output:["_col0","_col1"]
- TableScan [TS_17] (rows=80000000 width=104)
- default@customer,customer,Tbl:COMPLETE,Col:COMPLETE,Output:["c_customer_sk","c_customer_id"]
- <-Reducer 4 [SIMPLE_EDGE]
- SHUFFLE [RS_41]
- PartitionCols:_col0
- Merge Join Operator [MERGEJOIN_130] (rows=2369298 width=114)
- Conds:RS_146._col1=RS_149._col0(Inner),Output:["_col0","_col1","_col2"]
+ Merge Join Operator [MERGEJOIN_134] (rows=816091 width=100)
+ Conds:RS_45._col0=RS_157._col0(Inner),Output:["_col7"]
+ <-Map 12 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_157]
+ PartitionCols:_col0
+ Select Operator [SEL_156] (rows=80000000 width=104)
+ Output:["_col0","_col1"]
+ TableScan [TS_36] (rows=80000000 width=104)
+ default@customer,customer,Tbl:COMPLETE,Col:COMPLETE,Output:["c_customer_sk","c_customer_id"]
+ <-Reducer 5 [SIMPLE_EDGE]
+ SHUFFLE [RS_45]
+ PartitionCols:_col0
+ Filter Operator [FIL_44] (rows=816091 width=225)
+ predicate:(_col2 > _col4)
+ Merge Join Operator [MERGEJOIN_133] (rows=2448274 width=225)
+ Conds:RS_41._col1=RS_155._col1(Inner),Output:["_col0","_col2","_col4"]
+ <-Reducer 4 [ONE_TO_ONE_EDGE]
+ FORWARD [RS_41]
+ PartitionCols:_col1
+ Merge Join Operator [MERGEJOIN_131] (rows=2369298 width=114)
+ Conds:RS_147._col1=RS_150._col0(Inner),Output:["_col0","_col1","_col2"]
<-Map 11 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_149]
+ SHUFFLE [RS_150]
PartitionCols:_col0
- Select Operator [SEL_148] (rows=35 width=4)
+ Select Operator [SEL_149] (rows=35 width=4)
Output:["_col0"]
- Filter Operator [FIL_147] (rows=35 width=90)
+ Filter Operator [FIL_148] (rows=35 width=90)
predicate:(s_state = 'NM')
TableScan [TS_14] (rows=1704 width=90)
default@store,store,Tbl:COMPLETE,Col:COMPLETE,Output:["s_store_sk","s_state"]
<-Reducer 3 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_146]
+ SHUFFLE [RS_147]
PartitionCols:_col1
- Select Operator [SEL_145] (rows=14291868 width=119)
+ Select Operator [SEL_146] (rows=14291868 width=119)
Output:["_col0","_col1","_col2"]
- Group By Operator [GBY_144] (rows=14291868 width=119)
+ Group By Operator [GBY_145] (rows=14291868 width=119)
Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1
<-Reducer 2 [SIMPLE_EDGE]
SHUFFLE [RS_11]
PartitionCols:_col0, _col1
Group By Operator [GBY_10] (rows=16855704 width=119)
Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col2, _col1
- Merge Join Operator [MERGEJOIN_129] (rows=16855704 width=107)
- Conds:RS_138._col0=RS_142._col0(Inner),Output:["_col1","_col2","_col3"]
+ Merge Join Operator [MERGEJOIN_130] (rows=16855704 width=107)
+ Conds:RS_139._col0=RS_143._col0(Inner),Output:["_col1","_col2","_col3"]
<-Map 1 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_138]
+ SHUFFLE [RS_139]
PartitionCols:_col0
- Select Operator [SEL_136] (rows=51757026 width=119)
+ Select Operator [SEL_137] (rows=51757026 width=119)
Output:["_col0","_col1","_col2","_col3"]
- Filter Operator [FIL_134] (rows=51757026 width=119)
+ Filter Operator [FIL_135] (rows=51757026 width=119)
predicate:(sr_customer_sk is not null and sr_returned_date_sk is not null and sr_store_sk is not null)
TableScan [TS_0] (rows=57591150 width=119)
default@store_returns,store_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["sr_returned_date_sk","sr_customer_sk","sr_store_sk","sr_fee"]
<-Map 10 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_142]
+ SHUFFLE [RS_143]
PartitionCols:_col0
- Select Operator [SEL_141] (rows=652 width=4)
+ Select Operator [SEL_142] (rows=652 width=4)
Output:["_col0"]
- Filter Operator [FIL_140] (rows=652 width=8)
+ Filter Operator [FIL_141] (rows=652 width=8)
predicate:(d_year = 2000)
TableScan [TS_3] (rows=73049 width=8)
default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"]
- <-Reducer 9 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_156]
- PartitionCols:_col1
- Select Operator [SEL_155] (rows=31 width=115)
- Output:["_col0","_col1"]
- Group By Operator [GBY_154] (rows=31 width=123)
- Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col1
- Select Operator [SEL_153] (rows=14291868 width=119)
- Output:["_col1","_col2"]
- Group By Operator [GBY_152] (rows=14291868 width=119)
- Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1
- <-Reducer 8 [SIMPLE_EDGE]
- SHUFFLE [RS_30]
- PartitionCols:_col0
- Group By Operator [GBY_29] (rows=17467258 width=119)
- Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col2, _col1
- Merge Join Operator [MERGEJOIN_132] (rows=17467258 width=107)
- Conds:RS_139._col0=RS_143._col0(Inner),Output:["_col1","_col2","_col3"]
- <-Map 1 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_139]
- PartitionCols:_col0
- Select Operator [SEL_137] (rows=53634860 width=119)
- Output:["_col0","_col1","_col2","_col3"]
- Filter Operator [FIL_135] (rows=53634860 width=119)
- predicate:(sr_returned_date_sk is not null and sr_store_sk is not null)
- Please refer to the previous TableScan [TS_0]
- <-Map 10 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_143]
- PartitionCols:_col0
- Please refer to the previous Select Operator [SEL_141]
+ <-Reducer 9 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_155]
+ PartitionCols:_col1
+ Select Operator [SEL_154] (rows=31 width=115)
+ Output:["_col0","_col1"]
+ Group By Operator [GBY_153] (rows=31 width=123)
+ Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col1
+ Select Operator [SEL_152] (rows=14291868 width=119)
+ Output:["_col1","_col2"]
+ Group By Operator [GBY_151] (rows=14291868 width=119)
+ Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1
+ <-Reducer 8 [SIMPLE_EDGE]
+ SHUFFLE [RS_28]
+ PartitionCols:_col0
+ Group By Operator [GBY_27] (rows=17467258 width=119)
+ Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col2, _col1
+ Merge Join Operator [MERGEJOIN_132] (rows=17467258 width=107)
+ Conds:RS_140._col0=RS_144._col0(Inner),Output:["_col1","_col2","_col3"]
+ <-Map 1 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_140]
+ PartitionCols:_col0
+ Select Operator [SEL_138] (rows=53634860 width=119)
+ Output:["_col0","_col1","_col2","_col3"]
+ Filter Operator [FIL_136] (rows=53634860 width=119)
+ predicate:(sr_returned_date_sk is not null and sr_store_sk is not null)
+ Please refer to the previous TableScan [TS_0]
+ <-Map 10 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_144]
+ PartitionCols:_col0
+ Please refer to the previous Select Operator [SEL_142]
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/query11.q.out ql/src/test/results/clientpositive/perf/tez/constraints/query11.q.out
index 7e0582e164..356b3c997e 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/query11.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/query11.q.out
@@ -199,7 +199,7 @@ Stage-0
Select Operator [SEL_88] (rows=12248094 width=85)
Output:["_col0"]
Filter Operator [FIL_87] (rows=12248094 width=537)
- predicate:CASE WHEN (_col4 is not null) THEN (CASE WHEN (_col2) THEN (((_col6 / _col1) > (_col9 / _col4))) ELSE ((null > (_col9 / _col4))) END) ELSE (CASE WHEN (_col2) THEN (((_col6 / _col1) > null)) ELSE (null) END) END
+ predicate:CASE WHEN (_col4 is not null) THEN (CASE WHEN (_col2) THEN (((_col6 / _col1) > (_col9 / _col4))) ELSE (false) END) ELSE (false) END
Merge Join Operator [MERGEJOIN_283] (rows=24496188 width=537)
Conds:RS_84._col3=RS_346._col0(Inner),Output:["_col1","_col2","_col4","_col6","_col8","_col9"]
<-Reducer 20 [SIMPLE_EDGE] vectorized
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/query13.q.out ql/src/test/results/clientpositive/perf/tez/constraints/query13.q.out
index 616ed6bcde..3165da9c14 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/query13.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/query13.q.out
@@ -202,7 +202,7 @@ Stage-0
Select Operator [SEL_107] (rows=457561292 width=257)
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12"]
Filter Operator [FIL_106] (rows=457561292 width=450)
- predicate:(((ss_net_profit >= 100) or (ss_net_profit <= 200) or ss_net_profit is not null or (ss_net_profit <= 300) or (ss_net_profit <= 250)) and ((ss_sales_price >= 100) or (ss_sales_price <= 150) or ss_sales_price is not null or (ss_sales_price <= 200)) and (ss_sold_date_sk BETWEEN DynamicValue(RS_16_date_dim_d_date_sk_min) AND DynamicValue(RS_16_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_16_date_dim_d_date_sk_bloom_filter))) and ss_addr_sk is not null and ss_cdemo_sk is not null and ss_hdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
+ predicate:(((ss_net_profit >= 100) or (ss_net_profit <= 200) or (ss_net_profit >= 150) or (ss_net_profit <= 300) or (ss_net_profit >= 50) or (ss_net_profit <= 250)) and ((ss_sales_price >= 100) or (ss_sales_price <= 150) or (ss_sales_price >= 50) or (ss_sales_price <= 100) or (ss_sales_price >= 150) or (ss_sales_price <= 200)) and (ss_sold_date_sk BETWEEN DynamicValue(RS_16_date_dim_d_date_sk_min) AND DynamicValue(RS_16_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_16_date_dim_d_date_sk_bloom_filter))) and ss_addr_sk is not null and ss_cdemo_sk is not null and ss_hdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
TableScan [TS_0] (rows=575995635 width=450)
default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_cdemo_sk","ss_hdemo_sk","ss_addr_sk","ss_store_sk","ss_quantity","ss_sales_price","ss_ext_sales_price","ss_ext_wholesale_cost","ss_net_profit"]
<-Reducer 8 [BROADCAST_EDGE] vectorized
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/query21.q.out ql/src/test/results/clientpositive/perf/tez/constraints/query21.q.out
index 7c68a294ea..f2e35fda39 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/query21.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/query21.q.out
@@ -88,7 +88,7 @@ Stage-0
<-Reducer 5 [SIMPLE_EDGE] vectorized
SHUFFLE [RS_88]
Filter Operator [FIL_87] (rows=115991 width=216)
- predicate:(CASE WHEN ((_col2 > 0L)) THEN (((UDFToDouble(_col3) / UDFToDouble(_col2)) <= 1.5D)) ELSE (null) END and CASE WHEN ((_col2 > 0L)) THEN ((0.666667D <= (UDFToDouble(_col3) / UDFToDouble(_col2)))) ELSE (null) END)
+ predicate:(CASE WHEN ((_col2 > 0L)) THEN (((UDFToDouble(_col3) / UDFToDouble(_col2)) <= 1.5D)) ELSE (false) END and CASE WHEN ((_col2 > 0L)) THEN ((0.666667D <= (UDFToDouble(_col3) / UDFToDouble(_col2)))) ELSE (false) END)
Group By Operator [GBY_86] (rows=463966 width=216)
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0, KEY._col1
<-Reducer 4 [SIMPLE_EDGE]
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/query31.q.out ql/src/test/results/clientpositive/perf/tez/constraints/query31.q.out
index 8e0de0ffe2..5cde5a0d4c 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/query31.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/query31.q.out
@@ -158,7 +158,7 @@ Stage-0
Select Operator [SEL_138] (rows=110 width=550)
Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
Filter Operator [FIL_136] (rows=110 width=778)
- predicate:(CASE WHEN ((_col11 > 0)) THEN (CASE WHEN (_col2) THEN (((_col6 / _col1) > (_col9 / _col11))) ELSE ((null > (_col9 / _col11))) END) ELSE (CASE WHEN (_col2) THEN (((_col6 / _col1) > null)) ELSE (null) END) END and CASE WHEN ((_col9 > 0)) THEN (CASE WHEN (_col7) THEN (((_col4 / _col6) > (_col13 / _col9))) ELSE ((null > (_col13 / _col9))) END) ELSE (CASE WHEN (_col7) THEN (((_col4 / _col6) > null)) ELSE (null) END) END)
+ predicate:(CASE WHEN ((_col11 > 0)) THEN (CASE WHEN (_col2) THEN (((_col6 / _col1) > (_col9 / _col11))) ELSE (false) END) ELSE (false) END and CASE WHEN ((_col9 > 0)) THEN (CASE WHEN (_col7) THEN (((_col4 / _col6) > (_col13 / _col9))) ELSE (false) END) ELSE (false) END)
Merge Join Operator [MERGEJOIN_450] (rows=440 width=778)
Conds:RS_133._col0=RS_134._col0(Inner),Output:["_col1","_col2","_col4","_col6","_col7","_col8","_col9","_col11","_col13"]
<-Reducer 22 [ONE_TO_ONE_EDGE]
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/query34.q.out ql/src/test/results/clientpositive/perf/tez/constraints/query34.q.out
index e2c3631141..bb4c46e36f 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/query34.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/query34.q.out
@@ -107,7 +107,7 @@ Stage-0
SHUFFLE [RS_122]
PartitionCols:_col1
Filter Operator [FIL_121] (rows=6 width=12)
- predicate:_col2 BETWEEN 15 AND 20
+ predicate:_col2 BETWEEN 15L AND 20L
Select Operator [SEL_120] (rows=5521356 width=12)
Output:["_col0","_col1","_col2"]
Group By Operator [GBY_119] (rows=5521356 width=12)
@@ -139,7 +139,7 @@ Stage-0
Select Operator [SEL_114] (rows=480 width=4)
Output:["_col0"]
Filter Operator [FIL_113] (rows=480 width=104)
- predicate:((hd_buy_potential) IN ('>10000', 'unknown') and (hd_vehicle_count > 0) and CASE WHEN ((hd_vehicle_count > 0)) THEN (((UDFToDouble(hd_dep_count) / UDFToDouble(hd_vehicle_count)) > 1.2D)) ELSE (null) END)
+ predicate:((hd_buy_potential) IN ('>10000', 'unknown') and (hd_vehicle_count > 0) and CASE WHEN ((hd_vehicle_count > 0)) THEN (((UDFToDouble(hd_dep_count) / UDFToDouble(hd_vehicle_count)) > 1.2D)) ELSE (false) END)
TableScan [TS_8] (rows=7200 width=104)
default@household_demographics,household_demographics,Tbl:COMPLETE,Col:COMPLETE,Output:["hd_demo_sk","hd_buy_potential","hd_dep_count","hd_vehicle_count"]
<-Reducer 5 [SIMPLE_EDGE]
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/query36.q.out ql/src/test/results/clientpositive/perf/tez/constraints/query36.q.out
index 8158608354..9f27081dda 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/query36.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/query36.q.out
@@ -93,12 +93,12 @@ Stage-0
Select Operator [SEL_103] (rows=3060 width=490)
Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
PTF Operator [PTF_102] (rows=3060 width=414)
- Function definitions:[{},{"name:":"windowingtablefunction","order by:":"(_col2 / _col3) ASC NULLS FIRST","partition by:":"(grouping(_col4, 1) + grouping(_col4, 0)), CASE WHEN ((grouping(_col4, 0) = 0)) THEN (_col0) ELSE (CAST( null AS STRING)) END"}]
+ Function definitions:[{},{"name:":"windowingtablefunction","order by:":"(_col2 / _col3) ASC NULLS FIRST","partition by:":"(grouping(_col4, 1L) + grouping(_col4, 0L)), CASE WHEN ((grouping(_col4, 0L) = UDFToLong(0))) THEN (_col0) ELSE (CAST( null AS STRING)) END"}]
Select Operator [SEL_101] (rows=3060 width=414)
Output:["_col0","_col1","_col2","_col3","_col4"]
<-Reducer 5 [SIMPLE_EDGE] vectorized
SHUFFLE [RS_100]
- PartitionCols:(grouping(_col4, 1) + grouping(_col4, 0)), CASE WHEN ((grouping(_col4, 0) = 0)) THEN (_col0) ELSE (CAST( null AS STRING)) END
+ PartitionCols:(grouping(_col4, 1L) + grouping(_col4, 0L)), CASE WHEN ((grouping(_col4, 0L) = UDFToLong(0))) THEN (_col0) ELSE (CAST( null AS STRING)) END
Select Operator [SEL_99] (rows=3060 width=414)
Output:["_col0","_col1","_col2","_col3","_col4"]
Group By Operator [GBY_98] (rows=3060 width=414)
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/query4.q.out ql/src/test/results/clientpositive/perf/tez/constraints/query4.q.out
index e6558e99a9..9af859df5f 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/query4.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/query4.q.out
@@ -281,7 +281,7 @@ Stage-0
Select Operator [SEL_134] (rows=7323197 width=85)
Output:["_col0"]
Filter Operator [FIL_133] (rows=7323197 width=537)
- predicate:CASE WHEN (_col4 is not null) THEN (CASE WHEN (_col7) THEN (((_col9 / _col6) > (_col14 / _col4))) ELSE ((null > (_col14 / _col4))) END) ELSE (CASE WHEN (_col7) THEN (((_col9 / _col6) > null)) ELSE (null) END) END
+ predicate:CASE WHEN (_col4 is not null) THEN (CASE WHEN (_col7) THEN (((_col9 / _col6) > (_col14 / _col4))) ELSE (false) END) ELSE (false) END
Merge Join Operator [MERGEJOIN_466] (rows=14646395 width=537)
Conds:RS_130._col3=RS_547._col0(Inner),Output:["_col4","_col6","_col7","_col9","_col13","_col14"]
<-Reducer 30 [SIMPLE_EDGE] vectorized
@@ -343,7 +343,7 @@ Stage-0
FORWARD [RS_130]
PartitionCols:_col3
Filter Operator [FIL_129] (rows=12248093 width=668)
- predicate:CASE WHEN (_col2) THEN (CASE WHEN (_col7) THEN (((_col9 / _col6) > (_col11 / _col1))) ELSE ((null > (_col11 / _col1))) END) ELSE (CASE WHEN (_col7) THEN (((_col9 / _col6) > null)) ELSE (null) END) END
+ predicate:CASE WHEN (_col2) THEN (CASE WHEN (_col7) THEN (((_col9 / _col6) > (_col11 / _col1))) ELSE (false) END) ELSE (false) END
Merge Join Operator [MERGEJOIN_465] (rows=24496187 width=668)
Conds:RS_126._col3=RS_541._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col6","_col7","_col9","_col11"]
<-Reducer 26 [SIMPLE_EDGE] vectorized
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/query44.q.out ql/src/test/results/clientpositive/perf/tez/constraints/query44.q.out
index 3fd361a9f9..4e6c083f5b 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/query44.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/query44.q.out
@@ -1,4 +1,4 @@
-Warning: Shuffle Join MERGEJOIN[101][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 8' is a cross product
+Warning: Shuffle Join MERGEJOIN[103][tables = [$hdt$_1, $hdt$_2]] in Stage 'Reducer 3' is a cross product
PREHOOK: query: explain
select asceding.rnk, i1.i_product_name best_performing, i2.i_product_name worst_performing
from(select *
@@ -76,118 +76,118 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
Plan optimized by CBO.
Vertex dependency in root stage
-Reducer 10 <- Reducer 8 (SIMPLE_EDGE)
-Reducer 12 <- Map 11 (SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
-Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 5 (SIMPLE_EDGE)
+Reducer 11 <- Map 10 (SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE)
+Reducer 3 <- Reducer 11 (CUSTOM_SIMPLE_EDGE), Reducer 2 (CUSTOM_SIMPLE_EDGE)
Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Map 1 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE)
-Reducer 7 <- Map 6 (SIMPLE_EDGE)
-Reducer 8 <- Reducer 12 (CUSTOM_SIMPLE_EDGE), Reducer 7 (CUSTOM_SIMPLE_EDGE)
-Reducer 9 <- Reducer 8 (SIMPLE_EDGE)
+Reducer 5 <- Reducer 4 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
+Reducer 6 <- Map 12 (SIMPLE_EDGE), Reducer 5 (SIMPLE_EDGE)
+Reducer 7 <- Map 12 (SIMPLE_EDGE), Reducer 6 (SIMPLE_EDGE)
+Reducer 8 <- Reducer 7 (SIMPLE_EDGE)
+Reducer 9 <- Reducer 3 (SIMPLE_EDGE)
Stage-0
Fetch Operator
limit:100
Stage-1
- Reducer 4 vectorized
- File Output Operator [FS_135]
- Limit [LIM_134] (rows=100 width=218)
+ Reducer 8 vectorized
+ File Output Operator [FS_137]
+ Limit [LIM_136] (rows=100 width=218)
Number of rows:100
- Select Operator [SEL_133] (rows=6951 width=218)
+ Select Operator [SEL_135] (rows=6951 width=218)
Output:["_col0","_col1","_col2"]
- <-Reducer 3 [SIMPLE_EDGE]
- SHUFFLE [RS_67]
- Select Operator [SEL_66] (rows=6951 width=218)
+ <-Reducer 7 [SIMPLE_EDGE]
+ SHUFFLE [RS_66]
+ Select Operator [SEL_65] (rows=6951 width=218)
Output:["_col0","_col1","_col2"]
- Merge Join Operator [MERGEJOIN_105] (rows=6951 width=218)
- Conds:RS_63._col3=RS_64._col3(Inner),Output:["_col1","_col3","_col5"]
- <-Reducer 2 [SIMPLE_EDGE]
- SHUFFLE [RS_63]
- PartitionCols:_col3
- Merge Join Operator [MERGEJOIN_102] (rows=6951 width=111)
- Conds:RS_107._col0=RS_127._col0(Inner),Output:["_col1","_col3"]
- <-Map 1 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_107]
+ Merge Join Operator [MERGEJOIN_107] (rows=6951 width=218)
+ Conds:RS_62._col2=RS_134._col0(Inner),Output:["_col1","_col5","_col7"]
+ <-Map 12 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_134]
+ PartitionCols:_col0
+ Select Operator [SEL_132] (rows=462000 width=111)
+ Output:["_col0","_col1"]
+ TableScan [TS_52] (rows=462000 width=111)
+ default@item,i1,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_product_name"]
+ <-Reducer 6 [SIMPLE_EDGE]
+ SHUFFLE [RS_62]
+ PartitionCols:_col2
+ Merge Join Operator [MERGEJOIN_106] (rows=6951 width=115)
+ Conds:RS_59._col0=RS_133._col0(Inner),Output:["_col1","_col2","_col5"]
+ <-Map 12 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_133]
PartitionCols:_col0
- Select Operator [SEL_106] (rows=462000 width=111)
- Output:["_col0","_col1"]
- TableScan [TS_0] (rows=462000 width=111)
- default@item,i1,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_product_name"]
- <-Reducer 9 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_127]
+ Please refer to the previous Select Operator [SEL_132]
+ <-Reducer 5 [SIMPLE_EDGE]
+ SHUFFLE [RS_59]
PartitionCols:_col0
- Select Operator [SEL_126] (rows=6951 width=8)
- Output:["_col0","_col1"]
- Filter Operator [FIL_125] (rows=6951 width=116)
- predicate:(rank_window_0 < 11)
- PTF Operator [PTF_124] (rows=20854 width=116)
- Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col1 ASC NULLS FIRST","partition by:":"0"}]
- Select Operator [SEL_123] (rows=20854 width=116)
- Output:["_col0","_col1"]
- <-Reducer 8 [SIMPLE_EDGE]
- SHUFFLE [RS_21]
- PartitionCols:0
- Filter Operator [FIL_20] (rows=20854 width=228)
- predicate:(_col1 > (0.9 * _col2))
- Merge Join Operator [MERGEJOIN_101] (rows=62562 width=228)
- Conds:(Inner),Output:["_col0","_col1","_col2"]
- <-Reducer 12 [CUSTOM_SIMPLE_EDGE] vectorized
- PARTITION_ONLY_SHUFFLE [RS_122]
- Select Operator [SEL_121] (rows=1 width=112)
- Output:["_col0"]
- Group By Operator [GBY_120] (rows=1 width=124)
- Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0
- <-Map 11 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_119]
- PartitionCols:_col0
- Group By Operator [GBY_118] (rows=258 width=124)
- Output:["_col0","_col1","_col2"],aggregations:["sum(_col1)","count(_col1)"],keys:true
- Select Operator [SEL_117] (rows=287946 width=114)
- Output:["_col1"]
- Filter Operator [FIL_116] (rows=287946 width=114)
- predicate:((ss_store_sk = 410) and ss_hdemo_sk is null)
- TableScan [TS_9] (rows=575995635 width=114)
- default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_hdemo_sk","ss_store_sk","ss_net_profit"]
- <-Reducer 7 [CUSTOM_SIMPLE_EDGE] vectorized
- PARTITION_ONLY_SHUFFLE [RS_115]
- Select Operator [SEL_114] (rows=62562 width=116)
- Output:["_col0","_col1"]
- Group By Operator [GBY_113] (rows=62562 width=124)
- Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0
- <-Map 6 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_112]
- PartitionCols:_col0
- Group By Operator [GBY_111] (rows=3199976 width=124)
- Output:["_col0","_col1","_col2"],aggregations:["sum(ss_net_profit)","count(ss_net_profit)"],keys:ss_item_sk
- Select Operator [SEL_110] (rows=6399952 width=114)
- Output:["ss_item_sk","ss_net_profit"]
- Filter Operator [FIL_109] (rows=6399952 width=114)
- predicate:(ss_store_sk = 410)
- TableScan [TS_2] (rows=575995635 width=114)
- default@store_sales,ss1,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_item_sk","ss_store_sk","ss_net_profit"]
- <-Reducer 5 [SIMPLE_EDGE]
- SHUFFLE [RS_64]
- PartitionCols:_col3
- Merge Join Operator [MERGEJOIN_104] (rows=6951 width=111)
- Conds:RS_108._col0=RS_132._col0(Inner),Output:["_col1","_col3"]
- <-Map 1 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_108]
- PartitionCols:_col0
- Please refer to the previous Select Operator [SEL_106]
- <-Reducer 10 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_132]
- PartitionCols:_col0
- Select Operator [SEL_131] (rows=6951 width=8)
- Output:["_col0","_col1"]
- Filter Operator [FIL_130] (rows=6951 width=116)
- predicate:(rank_window_0 < 11)
- PTF Operator [PTF_129] (rows=20854 width=116)
- Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col1 DESC NULLS LAST","partition by:":"0"}]
- Select Operator [SEL_128] (rows=20854 width=116)
- Output:["_col0","_col1"]
- <-Reducer 8 [SIMPLE_EDGE]
- SHUFFLE [RS_49]
- PartitionCols:0
- Please refer to the previous Filter Operator [FIL_20]
+ Merge Join Operator [MERGEJOIN_105] (rows=6951 width=12)
+ Conds:RS_126._col1=RS_131._col1(Inner),Output:["_col0","_col1","_col2"]
+ <-Reducer 4 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_126]
+ PartitionCols:_col1
+ Select Operator [SEL_125] (rows=6951 width=8)
+ Output:["_col0","_col1"]
+ Filter Operator [FIL_124] (rows=6951 width=116)
+ predicate:(rank_window_0 < 11)
+ PTF Operator [PTF_123] (rows=20854 width=116)
+ Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col1 ASC NULLS FIRST","partition by:":"0"}]
+ Select Operator [SEL_122] (rows=20854 width=116)
+ Output:["_col0","_col1"]
+ <-Reducer 3 [SIMPLE_EDGE]
+ SHUFFLE [RS_19]
+ PartitionCols:0
+ Filter Operator [FIL_18] (rows=20854 width=228)
+ predicate:(_col1 > (0.9 * _col2))
+ Merge Join Operator [MERGEJOIN_103] (rows=62562 width=228)
+ Conds:(Inner),Output:["_col0","_col1","_col2"]
+ <-Reducer 11 [CUSTOM_SIMPLE_EDGE] vectorized
+ PARTITION_ONLY_SHUFFLE [RS_121]
+ Select Operator [SEL_120] (rows=1 width=112)
+ Output:["_col0"]
+ Group By Operator [GBY_119] (rows=1 width=124)
+ Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0
+ <-Map 10 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_118]
+ PartitionCols:_col0
+ Group By Operator [GBY_117] (rows=258 width=124)
+ Output:["_col0","_col1","_col2"],aggregations:["sum(_col1)","count(_col1)"],keys:true
+ Select Operator [SEL_116] (rows=287946 width=114)
+ Output:["_col1"]
+ Filter Operator [FIL_115] (rows=287946 width=114)
+ predicate:((ss_store_sk = 410) and ss_hdemo_sk is null)
+ TableScan [TS_7] (rows=575995635 width=114)
+ default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_hdemo_sk","ss_store_sk","ss_net_profit"]
+ <-Reducer 2 [CUSTOM_SIMPLE_EDGE] vectorized
+ PARTITION_ONLY_SHUFFLE [RS_114]
+ Select Operator [SEL_113] (rows=62562 width=116)
+ Output:["_col0","_col1"]
+ Group By Operator [GBY_112] (rows=62562 width=124)
+ Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0
+ <-Map 1 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_111]
+ PartitionCols:_col0
+ Group By Operator [GBY_110] (rows=3199976 width=124)
+ Output:["_col0","_col1","_col2"],aggregations:["sum(ss_net_profit)","count(ss_net_profit)"],keys:ss_item_sk
+ Select Operator [SEL_109] (rows=6399952 width=114)
+ Output:["ss_item_sk","ss_net_profit"]
+ Filter Operator [FIL_108] (rows=6399952 width=114)
+ predicate:(ss_store_sk = 410)
+ TableScan [TS_0] (rows=575995635 width=114)
+ default@store_sales,ss1,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_item_sk","ss_store_sk","ss_net_profit"]
+ <-Reducer 9 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_131]
+ PartitionCols:_col1
+ Select Operator [SEL_130] (rows=6951 width=8)
+ Output:["_col0","_col1"]
+ Filter Operator [FIL_129] (rows=6951 width=116)
+ predicate:(rank_window_0 < 11)
+ PTF Operator [PTF_128] (rows=20854 width=116)
+ Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col1 DESC NULLS LAST","partition by:":"0"}]
+ Select Operator [SEL_127] (rows=20854 width=116)
+ Output:["_col0","_col1"]
+ <-Reducer 3 [SIMPLE_EDGE]
+ SHUFFLE [RS_45]
+ PartitionCols:0
+ Please refer to the previous Filter Operator [FIL_18]
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/query45.q.out ql/src/test/results/clientpositive/perf/tez/constraints/query45.q.out
index 64d9c98395..419a8a10ae 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/query45.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/query45.q.out
@@ -51,133 +51,133 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
Plan optimized by CBO.
Vertex dependency in root stage
-Map 9 <- Reducer 12 (BROADCAST_EDGE)
-Reducer 10 <- Map 11 (SIMPLE_EDGE), Map 9 (SIMPLE_EDGE)
-Reducer 12 <- Map 11 (CUSTOM_SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 8 (ONE_TO_ONE_EDGE)
-Reducer 3 <- Reducer 10 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 13 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
-Reducer 5 <- Map 14 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
-Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
-Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
-Reducer 8 <- Map 1 (SIMPLE_EDGE)
+Map 11 <- Reducer 14 (BROADCAST_EDGE)
+Reducer 12 <- Map 11 (SIMPLE_EDGE), Map 13 (SIMPLE_EDGE)
+Reducer 14 <- Map 13 (CUSTOM_SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 6 (ONE_TO_ONE_EDGE)
+Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
+Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
+Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
+Reducer 6 <- Map 1 (SIMPLE_EDGE)
+Reducer 8 <- Map 10 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
+Reducer 9 <- Reducer 12 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE)
Stage-0
Fetch Operator
limit:100
Stage-1
- Reducer 7 vectorized
- File Output Operator [FS_151]
- Limit [LIM_150] (rows=100 width=299)
+ Reducer 5 vectorized
+ File Output Operator [FS_149]
+ Limit [LIM_148] (rows=100 width=299)
Number of rows:100
- Select Operator [SEL_149] (rows=1143120 width=299)
+ Select Operator [SEL_147] (rows=285780 width=299)
Output:["_col0","_col1","_col2"]
- <-Reducer 6 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_148]
- Group By Operator [GBY_147] (rows=1143120 width=299)
+ <-Reducer 4 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_146]
+ Group By Operator [GBY_145] (rows=285780 width=299)
Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0, KEY._col1
- <-Reducer 5 [SIMPLE_EDGE]
- SHUFFLE [RS_40]
+ <-Reducer 3 [SIMPLE_EDGE]
+ SHUFFLE [RS_41]
PartitionCols:_col0, _col1
- Group By Operator [GBY_39] (rows=10246864 width=299)
+ Group By Operator [GBY_40] (rows=3715140 width=299)
Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col8, _col7
- Top N Key Operator [TNK_71] (rows=10246864 width=302)
+ Top N Key Operator [TNK_69] (rows=10246864 width=302)
keys:_col8, _col7,sort order:++,top n:100
- Select Operator [SEL_38] (rows=10246864 width=302)
+ Select Operator [SEL_39] (rows=10246864 width=302)
Output:["_col3","_col7","_col8"]
- Filter Operator [FIL_37] (rows=10246864 width=302)
+ Filter Operator [FIL_38] (rows=10246864 width=302)
predicate:((substr(_col8, 1, 5)) IN ('85669', '86197', '88274', '83405', '86475', '85392', '85460', '80348', '81792') or _col15 is not null)
- Select Operator [SEL_36] (rows=10246864 width=302)
+ Select Operator [SEL_37] (rows=10246864 width=302)
Output:["_col3","_col7","_col8","_col15"]
- Merge Join Operator [MERGEJOIN_121] (rows=10246864 width=302)
- Conds:RS_33._col12=RS_146._col0(Inner),Output:["_col3","_col7","_col14","_col15"]
- <-Map 14 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_146]
+ Merge Join Operator [MERGEJOIN_119] (rows=10246864 width=302)
+ Conds:RS_34._col0=RS_35._col6(Inner),Output:["_col3","_col7","_col8","_col12"]
+ <-Reducer 2 [SIMPLE_EDGE]
+ SHUFFLE [RS_34]
PartitionCols:_col0
- Select Operator [SEL_145] (rows=40000000 width=191)
- Output:["_col0","_col1","_col2"]
- TableScan [TS_22] (rows=40000000 width=191)
- default@customer_address,customer_address,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_county","ca_zip"]
- <-Reducer 4 [SIMPLE_EDGE]
- SHUFFLE [RS_33]
- PartitionCols:_col12
- Merge Join Operator [MERGEJOIN_120] (rows=10246864 width=119)
- Conds:RS_30._col6=RS_144._col0(Inner),Output:["_col3","_col7","_col12"]
- <-Map 13 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_144]
+ Merge Join Operator [MERGEJOIN_115] (rows=462007 width=4)
+ Conds:RS_122._col1=RS_128._col0(Left Outer),Output:["_col0","_col3"]
+ <-Map 1 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_122]
+ PartitionCols:_col1
+ Select Operator [SEL_120] (rows=462000 width=104)
+ Output:["_col0","_col1"]
+ TableScan [TS_0] (rows=462000 width=104)
+ default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_item_id"]
+ <-Reducer 6 [ONE_TO_ONE_EDGE] vectorized
+ FORWARD [RS_128]
PartitionCols:_col0
- Select Operator [SEL_143] (rows=80000000 width=8)
+ Select Operator [SEL_127] (rows=5 width=104)
Output:["_col0","_col1"]
- Filter Operator [FIL_142] (rows=80000000 width=8)
- predicate:c_current_addr_sk is not null
- TableScan [TS_19] (rows=80000000 width=8)
- default@customer,customer,Tbl:COMPLETE,Col:COMPLETE,Output:["c_customer_sk","c_current_addr_sk"]
- <-Reducer 3 [SIMPLE_EDGE]
- SHUFFLE [RS_30]
- PartitionCols:_col6
- Merge Join Operator [MERGEJOIN_119] (rows=10246864 width=119)
- Conds:RS_27._col0=RS_28._col1(Inner),Output:["_col3","_col6","_col7"]
- <-Reducer 10 [SIMPLE_EDGE]
- SHUFFLE [RS_28]
- PartitionCols:_col1
- Merge Join Operator [MERGEJOIN_118] (rows=10246864 width=119)
- Conds:RS_141._col0=RS_133._col0(Inner),Output:["_col1","_col2","_col3"]
- <-Map 11 [SIMPLE_EDGE] vectorized
- PARTITION_ONLY_SHUFFLE [RS_133]
- PartitionCols:_col0
- Select Operator [SEL_132] (rows=130 width=12)
- Output:["_col0"]
- Filter Operator [FIL_131] (rows=130 width=12)
- predicate:((d_qoy = 2) and (d_year = 2000))
- TableScan [TS_12] (rows=73049 width=12)
- default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_qoy"]
- <-Map 9 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_141]
- PartitionCols:_col0
- Select Operator [SEL_140] (rows=143930993 width=123)
- Output:["_col0","_col1","_col2","_col3"]
- Filter Operator [FIL_139] (rows=143930993 width=123)
- predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_16_date_dim_d_date_sk_min) AND DynamicValue(RS_16_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_16_date_dim_d_date_sk_bloom_filter))) and ws_bill_customer_sk is not null and ws_sold_date_sk is not null)
- TableScan [TS_9] (rows=144002668 width=123)
- default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk","ws_bill_customer_sk","ws_sales_price"]
- <-Reducer 12 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_138]
- Group By Operator [GBY_137] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
- <-Map 11 [CUSTOM_SIMPLE_EDGE] vectorized
- PARTITION_ONLY_SHUFFLE [RS_136]
- Group By Operator [GBY_135] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
- Select Operator [SEL_134] (rows=130 width=4)
- Output:["_col0"]
- Please refer to the previous Select Operator [SEL_132]
- <-Reducer 2 [SIMPLE_EDGE]
- SHUFFLE [RS_27]
+ Group By Operator [GBY_126] (rows=5 width=100)
+ Output:["_col0"],keys:KEY._col0
+ <-Map 1 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_125]
+ PartitionCols:_col0
+ Group By Operator [GBY_124] (rows=5 width=100)
+ Output:["_col0"],keys:i_item_id
+ Select Operator [SEL_123] (rows=11 width=104)
+ Output:["i_item_id"]
+ Filter Operator [FIL_121] (rows=11 width=104)
+ predicate:(i_item_sk) IN (2, 3, 5, 7, 11, 13, 17, 19, 23, 29)
+ Please refer to the previous TableScan [TS_0]
+ <-Reducer 9 [SIMPLE_EDGE]
+ SHUFFLE [RS_35]
+ PartitionCols:_col6
+ Merge Join Operator [MERGEJOIN_118] (rows=10246864 width=302)
+ Conds:RS_27._col0=RS_28._col2(Inner),Output:["_col3","_col4","_col6","_col8"]
+ <-Reducer 12 [SIMPLE_EDGE]
+ SHUFFLE [RS_28]
+ PartitionCols:_col2
+ Merge Join Operator [MERGEJOIN_117] (rows=10246864 width=119)
+ Conds:RS_144._col0=RS_136._col0(Inner),Output:["_col1","_col2","_col3"]
+ <-Map 13 [SIMPLE_EDGE] vectorized
+ PARTITION_ONLY_SHUFFLE [RS_136]
+ PartitionCols:_col0
+ Select Operator [SEL_135] (rows=130 width=12)
+ Output:["_col0"]
+ Filter Operator [FIL_134] (rows=130 width=12)
+ predicate:((d_qoy = 2) and (d_year = 2000))
+ TableScan [TS_17] (rows=73049 width=12)
+ default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_qoy"]
+ <-Map 11 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_144]
PartitionCols:_col0
- Merge Join Operator [MERGEJOIN_117] (rows=462007 width=4)
- Conds:RS_124._col1=RS_130._col0(Left Outer),Output:["_col0","_col3"]
- <-Map 1 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_124]
- PartitionCols:_col1
- Select Operator [SEL_122] (rows=462000 width=104)
- Output:["_col0","_col1"]
- TableScan [TS_0] (rows=462000 width=104)
- default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_item_id"]
- <-Reducer 8 [ONE_TO_ONE_EDGE] vectorized
- FORWARD [RS_130]
- PartitionCols:_col0
- Select Operator [SEL_129] (rows=5 width=104)
- Output:["_col0","_col1"]
- Group By Operator [GBY_128] (rows=5 width=100)
- Output:["_col0"],keys:KEY._col0
- <-Map 1 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_127]
- PartitionCols:_col0
- Group By Operator [GBY_126] (rows=5 width=100)
- Output:["_col0"],keys:i_item_id
- Select Operator [SEL_125] (rows=11 width=104)
- Output:["i_item_id"]
- Filter Operator [FIL_123] (rows=11 width=104)
- predicate:(i_item_sk) IN (2, 3, 5, 7, 11, 13, 17, 19, 23, 29)
- Please refer to the previous TableScan [TS_0]
+ Select Operator [SEL_143] (rows=143930993 width=123)
+ Output:["_col0","_col1","_col2","_col3"]
+ Filter Operator [FIL_142] (rows=143930993 width=123)
+ predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_21_date_dim_d_date_sk_min) AND DynamicValue(RS_21_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_21_date_dim_d_date_sk_bloom_filter))) and ws_bill_customer_sk is not null and ws_sold_date_sk is not null)
+ TableScan [TS_14] (rows=144002668 width=123)
+ default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk","ws_bill_customer_sk","ws_sales_price"]
+ <-Reducer 14 [BROADCAST_EDGE] vectorized
+ BROADCAST [RS_141]
+ Group By Operator [GBY_140] (rows=1 width=12)
+ Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+ <-Map 13 [CUSTOM_SIMPLE_EDGE] vectorized
+ PARTITION_ONLY_SHUFFLE [RS_139]
+ Group By Operator [GBY_138] (rows=1 width=12)
+ Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+ Select Operator [SEL_137] (rows=130 width=4)
+ Output:["_col0"]
+ Please refer to the previous Select Operator [SEL_135]
+ <-Reducer 8 [SIMPLE_EDGE]
+ SHUFFLE [RS_27]
+ PartitionCols:_col0
+ Merge Join Operator [MERGEJOIN_116] (rows=80000000 width=191)
+ Conds:RS_131._col1=RS_133._col0(Inner),Output:["_col0","_col3","_col4"]
+ <-Map 10 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_133]
+ PartitionCols:_col0
+ Select Operator [SEL_132] (rows=40000000 width=191)
+ Output:["_col0","_col1","_col2"]
+ TableScan [TS_12] (rows=40000000 width=191)
+ default@customer_address,customer_address,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_county","ca_zip"]
+ <-Map 7 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_131]
+ PartitionCols:_col1
+ Select Operator [SEL_130] (rows=80000000 width=8)
+ Output:["_col0","_col1"]
+ Filter Operator [FIL_129] (rows=80000000 width=8)
+ predicate:c_current_addr_sk is not null
+ TableScan [TS_9] (rows=80000000 width=8)
+ default@customer,customer,Tbl:COMPLETE,Col:COMPLETE,Output:["c_customer_sk","c_current_addr_sk"]
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/query46.q.out ql/src/test/results/clientpositive/perf/tez/constraints/query46.q.out
index dde72e07b8..6d0933abc0 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/query46.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/query46.q.out
@@ -83,134 +83,134 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
Plan optimized by CBO.
Vertex dependency in root stage
-Map 5 <- Reducer 12 (BROADCAST_EDGE)
-Reducer 10 <- Reducer 9 (SIMPLE_EDGE)
-Reducer 12 <- Map 11 (CUSTOM_SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE)
-Reducer 3 <- Map 15 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Map 8 <- Reducer 13 (BROADCAST_EDGE)
+Reducer 10 <- Map 14 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
+Reducer 11 <- Map 15 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE)
+Reducer 13 <- Map 12 (CUSTOM_SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE)
+Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 7 (SIMPLE_EDGE)
Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
-Reducer 6 <- Map 11 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE)
-Reducer 7 <- Map 13 (SIMPLE_EDGE), Reducer 6 (SIMPLE_EDGE)
-Reducer 8 <- Map 14 (SIMPLE_EDGE), Reducer 7 (SIMPLE_EDGE)
-Reducer 9 <- Map 15 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE)
+Reducer 6 <- Map 5 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE)
+Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
+Reducer 9 <- Map 12 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
Stage-0
Fetch Operator
limit:100
Stage-1
Reducer 4 vectorized
- File Output Operator [FS_176]
- Limit [LIM_175] (rows=100 width=594)
+ File Output Operator [FS_172]
+ Limit [LIM_171] (rows=100 width=594)
Number of rows:100
- Select Operator [SEL_174] (rows=8380115 width=594)
+ Select Operator [SEL_170] (rows=8380115 width=594)
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
<-Reducer 3 [SIMPLE_EDGE]
SHUFFLE [RS_44]
Select Operator [SEL_43] (rows=8380115 width=594)
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
Filter Operator [FIL_42] (rows=8380115 width=594)
- predicate:(_col10 <> _col6)
- Merge Join Operator [MERGEJOIN_147] (rows=8380115 width=594)
- Conds:RS_39._col1=RS_169._col0(Inner),Output:["_col2","_col3","_col4","_col6","_col7","_col8","_col10"]
- <-Map 15 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_169]
- PartitionCols:_col0
- Select Operator [SEL_168] (rows=40000000 width=97)
- Output:["_col0","_col1"]
- TableScan [TS_34] (rows=40000000 width=97)
- default@customer_address,current_addr,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_city"]
+ predicate:(_col5 <> _col8)
+ Merge Join Operator [MERGEJOIN_143] (rows=8380115 width=594)
+ Conds:RS_39._col0=RS_169._col1(Inner),Output:["_col2","_col3","_col5","_col6","_col8","_col9","_col10"]
<-Reducer 2 [SIMPLE_EDGE]
SHUFFLE [RS_39]
- PartitionCols:_col1
- Merge Join Operator [MERGEJOIN_146] (rows=8380115 width=505)
- Conds:RS_150._col0=RS_173._col1(Inner),Output:["_col1","_col2","_col3","_col4","_col6","_col7","_col8"]
- <-Map 1 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_150]
+ PartitionCols:_col0
+ Merge Join Operator [MERGEJOIN_138] (rows=80000000 width=277)
+ Conds:RS_146._col1=RS_148._col0(Inner),Output:["_col0","_col2","_col3","_col5"]
+ <-Map 5 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_148]
PartitionCols:_col0
- Select Operator [SEL_149] (rows=80000000 width=188)
+ Select Operator [SEL_147] (rows=40000000 width=97)
+ Output:["_col0","_col1"]
+ TableScan [TS_3] (rows=40000000 width=97)
+ default@customer_address,current_addr,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_city"]
+ <-Map 1 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_146]
+ PartitionCols:_col1
+ Select Operator [SEL_145] (rows=80000000 width=188)
Output:["_col0","_col1","_col2","_col3"]
- Filter Operator [FIL_148] (rows=80000000 width=188)
+ Filter Operator [FIL_144] (rows=80000000 width=188)
predicate:c_current_addr_sk is not null
TableScan [TS_0] (rows=80000000 width=188)
default@customer,customer,Tbl:COMPLETE,Col:COMPLETE,Output:["c_customer_sk","c_current_addr_sk","c_first_name","c_last_name"]
- <-Reducer 10 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_173]
- PartitionCols:_col1
- Select Operator [SEL_172] (rows=8380115 width=321)
- Output:["_col0","_col1","_col2","_col3","_col4"]
- Group By Operator [GBY_171] (rows=8380115 width=321)
- Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3
- <-Reducer 9 [SIMPLE_EDGE]
- SHUFFLE [RS_31]
- PartitionCols:_col0, _col1, _col2, _col3
- Group By Operator [GBY_30] (rows=8380115 width=321)
- Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["sum(_col6)","sum(_col7)"],keys:_col1, _col12, _col3, _col5
- Merge Join Operator [MERGEJOIN_145] (rows=8380115 width=97)
- Conds:RS_26._col3=RS_170._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col7","_col12"]
+ <-Reducer 7 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_169]
+ PartitionCols:_col1
+ Select Operator [SEL_168] (rows=8380115 width=321)
+ Output:["_col0","_col1","_col2","_col3","_col4"]
+ Group By Operator [GBY_167] (rows=8380115 width=321)
+ Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3
+ <-Reducer 6 [SIMPLE_EDGE]
+ SHUFFLE [RS_33]
+ PartitionCols:_col0, _col1, _col2, _col3
+ Group By Operator [GBY_32] (rows=8380115 width=321)
+ Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["sum(_col6)","sum(_col7)"],keys:_col1, _col12, _col3, _col5
+ Merge Join Operator [MERGEJOIN_142] (rows=8380115 width=97)
+ Conds:RS_28._col3=RS_149._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col7","_col12"]
+ <-Map 5 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_149]
+ PartitionCols:_col0
+ Please refer to the previous Select Operator [SEL_147]
+ <-Reducer 11 [SIMPLE_EDGE]
+ SHUFFLE [RS_28]
+ PartitionCols:_col3
+ Merge Join Operator [MERGEJOIN_141] (rows=8380115 width=4)
+ Conds:RS_25._col2=RS_166._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col7"]
<-Map 15 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_170]
+ SHUFFLE [RS_166]
PartitionCols:_col0
- Please refer to the previous Select Operator [SEL_168]
- <-Reducer 8 [SIMPLE_EDGE]
- SHUFFLE [RS_26]
- PartitionCols:_col3
- Merge Join Operator [MERGEJOIN_144] (rows=8380115 width=4)
- Conds:RS_23._col2=RS_167._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col7"]
+ Select Operator [SEL_165] (rows=1855 width=4)
+ Output:["_col0"]
+ Filter Operator [FIL_164] (rows=1855 width=12)
+ predicate:((hd_dep_count = 2) or (hd_vehicle_count = 1))
+ TableScan [TS_14] (rows=7200 width=12)
+ default@household_demographics,household_demographics,Tbl:COMPLETE,Col:COMPLETE,Output:["hd_demo_sk","hd_dep_count","hd_vehicle_count"]
+ <-Reducer 10 [SIMPLE_EDGE]
+ SHUFFLE [RS_25]
+ PartitionCols:_col2
+ Merge Join Operator [MERGEJOIN_140] (rows=32526589 width=90)
+ Conds:RS_22._col4=RS_163._col0(Inner),Output:["_col1","_col2","_col3","_col5","_col6","_col7"]
<-Map 14 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_167]
+ SHUFFLE [RS_163]
PartitionCols:_col0
- Select Operator [SEL_166] (rows=1855 width=4)
+ Select Operator [SEL_162] (rows=35 width=4)
Output:["_col0"]
- Filter Operator [FIL_165] (rows=1855 width=12)
- predicate:((hd_dep_count = 2) or (hd_vehicle_count = 1))
- TableScan [TS_12] (rows=7200 width=12)
- default@household_demographics,household_demographics,Tbl:COMPLETE,Col:COMPLETE,Output:["hd_demo_sk","hd_dep_count","hd_vehicle_count"]
- <-Reducer 7 [SIMPLE_EDGE]
- SHUFFLE [RS_23]
- PartitionCols:_col2
- Merge Join Operator [MERGEJOIN_143] (rows=32526589 width=90)
- Conds:RS_20._col4=RS_164._col0(Inner),Output:["_col1","_col2","_col3","_col5","_col6","_col7"]
- <-Map 13 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_164]
+ Filter Operator [FIL_161] (rows=35 width=97)
+ predicate:(s_city) IN ('Cedar Grove', 'Wildwood', 'Union', 'Salem', 'Highland Park')
+ TableScan [TS_11] (rows=1704 width=97)
+ default@store,store,Tbl:COMPLETE,Col:COMPLETE,Output:["s_store_sk","s_city"]
+ <-Reducer 9 [SIMPLE_EDGE]
+ SHUFFLE [RS_22]
+ PartitionCols:_col4
+ Merge Join Operator [MERGEJOIN_139] (rows=196204013 width=218)
+ Conds:RS_160._col0=RS_152._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+ <-Map 12 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_152]
PartitionCols:_col0
- Select Operator [SEL_163] (rows=35 width=4)
+ Select Operator [SEL_151] (rows=783 width=4)
Output:["_col0"]
- Filter Operator [FIL_162] (rows=35 width=97)
- predicate:(s_city) IN ('Cedar Grove', 'Wildwood', 'Union', 'Salem', 'Highland Park')
- TableScan [TS_9] (rows=1704 width=97)
- default@store,store,Tbl:COMPLETE,Col:COMPLETE,Output:["s_store_sk","s_city"]
- <-Reducer 6 [SIMPLE_EDGE]
- SHUFFLE [RS_20]
- PartitionCols:_col4
- Merge Join Operator [MERGEJOIN_142] (rows=196204013 width=218)
- Conds:RS_161._col0=RS_153._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
- <-Map 11 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_153]
- PartitionCols:_col0
- Select Operator [SEL_152] (rows=783 width=4)
- Output:["_col0"]
- Filter Operator [FIL_151] (rows=783 width=12)
- predicate:((d_dow) IN (6, 0) and (d_year) IN (1998, 1999, 2000))
- TableScan [TS_6] (rows=73049 width=12)
- default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_dow"]
- <-Map 5 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_161]
- PartitionCols:_col0
- Select Operator [SEL_160] (rows=457565061 width=237)
- Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
- Filter Operator [FIL_159] (rows=457565061 width=237)
- predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_18_date_dim_d_date_sk_min) AND DynamicValue(RS_18_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_18_date_dim_d_date_sk_bloom_filter))) and ss_addr_sk is not null and ss_customer_sk is not null and ss_hdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
- TableScan [TS_3] (rows=575995635 width=237)
- default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_customer_sk","ss_hdemo_sk","ss_addr_sk","ss_store_sk","ss_ticket_number","ss_coupon_amt","ss_net_profit"]
- <-Reducer 12 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_158]
- Group By Operator [GBY_157] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
- <-Map 11 [CUSTOM_SIMPLE_EDGE] vectorized
- SHUFFLE [RS_156]
- Group By Operator [GBY_155] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
- Select Operator [SEL_154] (rows=783 width=4)
- Output:["_col0"]
- Please refer to the previous Select Operator [SEL_152]
+ Filter Operator [FIL_150] (rows=783 width=12)
+ predicate:((d_dow) IN (6, 0) and (d_year) IN (1998, 1999, 2000))
+ TableScan [TS_8] (rows=73049 width=12)
+ default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_dow"]
+ <-Map 8 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_160]
+ PartitionCols:_col0
+ Select Operator [SEL_159] (rows=457565061 width=237)
+ Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
+ Filter Operator [FIL_158] (rows=457565061 width=237)
+ predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_20_date_dim_d_date_sk_min) AND DynamicValue(RS_20_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_20_date_dim_d_date_sk_bloom_filter))) and ss_addr_sk is not null and ss_customer_sk is not null and ss_hdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
+ TableScan [TS_5] (rows=575995635 width=237)
+ default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_customer_sk","ss_hdemo_sk","ss_addr_sk","ss_store_sk","ss_ticket_number","ss_coupon_amt","ss_net_profit"]
+ <-Reducer 13 [BROADCAST_EDGE] vectorized
+ BROADCAST [RS_157]
+ Group By Operator [GBY_156] (rows=1 width=12)
+ Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+ <-Map 12 [CUSTOM_SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_155]
+ Group By Operator [GBY_154] (rows=1 width=12)
+ Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+ Select Operator [SEL_153] (rows=783 width=4)
+ Output:["_col0"]
+ Please refer to the previous Select Operator [SEL_151]
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/query47.q.out ql/src/test/results/clientpositive/perf/tez/constraints/query47.q.out
index efb3edda71..77441a33df 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/query47.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/query47.q.out
@@ -241,7 +241,7 @@ Stage-0
Select Operator [SEL_317] (rows=241454 width=605)
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
Filter Operator [FIL_316] (rows=241454 width=605)
- predicate:CASE WHEN ((_col0 > 0)) THEN (((abs((_col7 - _col0)) / _col0) > 0.1)) ELSE (null) END
+ predicate:CASE WHEN ((_col0 > 0)) THEN (((abs((_col7 - _col0)) / _col0) > 0.1)) ELSE (false) END
Select Operator [SEL_315] (rows=482909 width=601)
Output:["rank_window_1","_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
Filter Operator [FIL_314] (rows=482909 width=601)
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/query48.q.out ql/src/test/results/clientpositive/perf/tez/constraints/query48.q.out
index 93bafabefd..038a91a838 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/query48.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/query48.q.out
@@ -211,7 +211,7 @@ Stage-0
Select Operator [SEL_83] (rows=159705893 width=27)
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
Filter Operator [FIL_82] (rows=159705893 width=233)
- predicate:(((ss_net_profit >= 0) or (ss_net_profit <= 2000) or ss_net_profit is not null or (ss_net_profit <= 3000) or (ss_net_profit <= 25000)) and ((ss_sales_price >= 100) or (ss_sales_price <= 150) or ss_sales_price is not null or (ss_sales_price <= 200)) and (ss_sales_price BETWEEN 100 AND 150 or ss_sales_price BETWEEN 50 AND 100 or ss_sales_price BETWEEN 150 AND 200) and (ss_sold_date_sk BETWEEN DynamicValue(RS_13_date_dim_d_date_sk_min) AND DynamicValue(RS_13_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_13_date_dim_d_date_sk_bloom_filter))) and ss_addr_sk is not null and ss_cdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
+ predicate:(((ss_net_profit >= 0) or (ss_net_profit <= 2000) or (ss_net_profit >= 150) or (ss_net_profit <= 3000) or (ss_net_profit >= 50) or (ss_net_profit <= 25000)) and ((ss_sales_price >= 100) or (ss_sales_price <= 150) or (ss_sales_price >= 50) or (ss_sales_price <= 100) or (ss_sales_price >= 150) or (ss_sales_price <= 200)) and (ss_sales_price BETWEEN 100 AND 150 or ss_sales_price BETWEEN 50 AND 100 or ss_sales_price BETWEEN 150 AND 200) and (ss_sold_date_sk BETWEEN DynamicValue(RS_13_date_dim_d_date_sk_min) AND DynamicValue(RS_13_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_13_date_dim_d_date_sk_bloom_filter))) and ss_addr_sk is not null and ss_cdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
TableScan [TS_0] (rows=575995635 width=233)
default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_cdemo_sk","ss_addr_sk","ss_store_sk","ss_quantity","ss_sales_price","ss_net_profit"]
<-Reducer 7 [BROADCAST_EDGE] vectorized
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/query53.q.out ql/src/test/results/clientpositive/perf/tez/constraints/query53.q.out
index a13d0f9c09..a569e0473c 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/query53.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/query53.q.out
@@ -87,7 +87,7 @@ Stage-0
Select Operator [SEL_24] (rows=25 width=228)
Output:["_col0","_col1","_col2"]
Filter Operator [FIL_36] (rows=25 width=228)
- predicate:CASE WHEN ((avg_window_0 > 0)) THEN (((abs((_col2 - avg_window_0)) / avg_window_0) > 0.1)) ELSE (null) END
+ predicate:CASE WHEN ((avg_window_0 > 0)) THEN (((abs((_col2 - avg_window_0)) / avg_window_0) > 0.1)) ELSE (false) END
Select Operator [SEL_23] (rows=50 width=116)
Output:["avg_window_0","_col0","_col2"]
PTF Operator [PTF_22] (rows=50 width=116)
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/query57.q.out ql/src/test/results/clientpositive/perf/tez/constraints/query57.q.out
index 69aeaae7e9..85a82fa62c 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/query57.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/query57.q.out
@@ -235,7 +235,7 @@ Stage-0
Select Operator [SEL_317] (rows=130121 width=524)
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
Filter Operator [FIL_316] (rows=130121 width=524)
- predicate:CASE WHEN ((_col0 > 0)) THEN (((abs((_col6 - _col0)) / _col0) > 0.1)) ELSE (null) END
+ predicate:CASE WHEN ((_col0 > 0)) THEN (((abs((_col6 - _col0)) / _col0) > 0.1)) ELSE (false) END
Select Operator [SEL_315] (rows=260242 width=520)
Output:["rank_window_1","_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
Filter Operator [FIL_314] (rows=260242 width=520)
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/query6.q.out ql/src/test/results/clientpositive/perf/tez/constraints/query6.q.out
index 7aea119ac3..b124531e2c 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/query6.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/query6.q.out
@@ -1,4 +1,4 @@
-Warning: Map Join MAPJOIN[170][bigTable=?] in task 'Map 11' is a cross product
+Warning: Map Join MAPJOIN[168][bigTable=?] in task 'Map 1' is a cross product
PREHOOK: query: explain
select a.ca_state state, count(*) cnt
from customer_address a
@@ -64,174 +64,176 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
Plan optimized by CBO.
Vertex dependency in root stage
-Map 1 <- Reducer 3 (BROADCAST_EDGE)
-Map 11 <- Reducer 5 (BROADCAST_EDGE)
+Map 1 <- Reducer 9 (BROADCAST_EDGE)
+Map 12 <- Reducer 10 (BROADCAST_EDGE)
+Map 13 <- Map 12 (BROADCAST_EDGE), Reducer 15 (BROADCAST_EDGE)
Map 14 <- Reducer 17 (BROADCAST_EDGE)
-Map 6 <- Map 1 (BROADCAST_EDGE), Reducer 15 (BROADCAST_EDGE)
-Reducer 10 <- Reducer 9 (SIMPLE_EDGE)
-Reducer 12 <- Map 11 (SIMPLE_EDGE), Map 13 (SIMPLE_EDGE)
+Reducer 10 <- Map 7 (SIMPLE_EDGE)
Reducer 15 <- Map 14 (CUSTOM_SIMPLE_EDGE)
Reducer 17 <- Map 16 (SIMPLE_EDGE)
-Reducer 3 <- Map 2 (SIMPLE_EDGE)
-Reducer 4 <- Map 2 (SIMPLE_EDGE)
-Reducer 5 <- Reducer 4 (CUSTOM_SIMPLE_EDGE)
-Reducer 7 <- Map 6 (SIMPLE_EDGE), Reducer 12 (SIMPLE_EDGE)
-Reducer 8 <- Map 14 (SIMPLE_EDGE), Reducer 7 (SIMPLE_EDGE)
-Reducer 9 <- Reducer 8 (SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 11 (SIMPLE_EDGE)
+Reducer 3 <- Map 13 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Reducer 4 <- Map 14 (SIMPLE_EDGE), Reducer 3 (SIMPLE_EDGE)
+Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
+Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
+Reducer 8 <- Map 7 (SIMPLE_EDGE)
+Reducer 9 <- Reducer 8 (CUSTOM_SIMPLE_EDGE)
Stage-0
Fetch Operator
limit:100
Stage-1
- Reducer 10 vectorized
- File Output Operator [FS_233]
- Limit [LIM_232] (rows=1 width=94)
+ Reducer 6 vectorized
+ File Output Operator [FS_234]
+ Limit [LIM_233] (rows=1 width=94)
Number of rows:100
- Select Operator [SEL_231] (rows=1 width=94)
+ Select Operator [SEL_232] (rows=1 width=94)
Output:["_col0","_col1"]
- <-Reducer 9 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_230]
- Filter Operator [FIL_229] (rows=1 width=94)
+ <-Reducer 5 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_231]
+ Filter Operator [FIL_230] (rows=1 width=94)
predicate:(_col1 >= 10L)
- Group By Operator [GBY_228] (rows=1 width=94)
+ Group By Operator [GBY_229] (rows=1 width=94)
Output:["_col0","_col1"],aggregations:["count(VALUE._col0)"],keys:KEY._col0
- <-Reducer 8 [SIMPLE_EDGE]
+ <-Reducer 4 [SIMPLE_EDGE]
SHUFFLE [RS_68]
PartitionCols:_col0
Group By Operator [GBY_67] (rows=1 width=94)
- Output:["_col0","_col1"],aggregations:["count()"],keys:_col10
+ Output:["_col0","_col1"],aggregations:["count()"],keys:_col4
Merge Join Operator [MERGEJOIN_174] (rows=500 width=86)
- Conds:RS_63._col4=RS_204._col0(Inner),Output:["_col10"]
+ Conds:RS_63._col6=RS_218._col0(Inner),Output:["_col4"]
<-Map 14 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_204]
+ SHUFFLE [RS_218]
PartitionCols:_col0
- Select Operator [SEL_203] (rows=154000 width=227)
+ Select Operator [SEL_217] (rows=154000 width=227)
Output:["_col0"]
- Filter Operator [FIL_202] (rows=154000 width=227)
+ Filter Operator [FIL_216] (rows=154000 width=227)
predicate:(_col1 > _col4)
- Map Join Operator [MAPJOIN_201] (rows=462000 width=227)
- Conds:SEL_200._col2=RS_198._col0(Inner),HybridGraceHashJoin:true,Output:["_col0","_col1","_col4"]
+ Map Join Operator [MAPJOIN_215] (rows=462000 width=227)
+ Conds:SEL_214._col2=RS_212._col0(Inner),HybridGraceHashJoin:true,Output:["_col0","_col1","_col4"]
<-Reducer 17 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_198]
+ BROADCAST [RS_212]
PartitionCols:_col0
- Select Operator [SEL_197] (rows=10 width=202)
+ Select Operator [SEL_211] (rows=10 width=202)
Output:["_col0","_col1"]
- Group By Operator [GBY_196] (rows=10 width=210)
+ Group By Operator [GBY_210] (rows=10 width=210)
Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0
<-Map 16 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_195]
+ SHUFFLE [RS_209]
PartitionCols:_col0
- Group By Operator [GBY_194] (rows=10 width=210)
+ Group By Operator [GBY_208] (rows=10 width=210)
Output:["_col0","_col1","_col2"],aggregations:["sum(i_current_price)","count(i_current_price)"],keys:i_category
- Filter Operator [FIL_193] (rows=462000 width=201)
+ Filter Operator [FIL_207] (rows=462000 width=201)
predicate:i_category is not null
TableScan [TS_42] (rows=462000 width=201)
default@item,j,Tbl:COMPLETE,Col:COMPLETE,Output:["i_current_price","i_category"]
- <-Select Operator [SEL_200] (rows=462000 width=205)
+ <-Select Operator [SEL_214] (rows=462000 width=205)
Output:["_col0","_col1","_col2"]
- Filter Operator [FIL_199] (rows=462000 width=205)
+ Filter Operator [FIL_213] (rows=462000 width=205)
predicate:i_category is not null
TableScan [TS_39] (rows=462000 width=205)
default@item,i,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_current_price","i_category"]
- <-Reducer 7 [SIMPLE_EDGE]
+ <-Reducer 3 [SIMPLE_EDGE]
SHUFFLE [RS_63]
- PartitionCols:_col4
+ PartitionCols:_col6
Merge Join Operator [MERGEJOIN_173] (rows=7192227 width=90)
- Conds:RS_213._col5=RS_61._col0(Inner),Output:["_col4","_col10"]
- <-Map 6 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_213]
- PartitionCols:_col5
- Map Join Operator [MAPJOIN_212] (rows=7192227 width=4)
- Conds:RS_192._col0=SEL_211._col0(Inner),HybridGraceHashJoin:true,Output:["_col4","_col5"]
- <-Map 1 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_192]
- PartitionCols:_col0
- Map Join Operator [MAPJOIN_191] (rows=660 width=4)
- Conds:SEL_190._col1=RS_188._col0(Inner),HybridGraceHashJoin:true,Output:["_col0"]
- <-Reducer 3 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_188]
- PartitionCols:_col0
- Group By Operator [GBY_187] (rows=25 width=4)
- Output:["_col0"],keys:KEY._col0
- <-Map 2 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_185]
- PartitionCols:_col0
- Group By Operator [GBY_183] (rows=25 width=4)
- Output:["_col0"],keys:d_month_seq
- Select Operator [SEL_181] (rows=50 width=12)
- Output:["d_month_seq"]
- Filter Operator [FIL_179] (rows=50 width=12)
- predicate:((d_moy = 2) and (d_year = 2000) and d_month_seq is not null)
- TableScan [TS_3] (rows=73049 width=12)
- default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_month_seq","d_year","d_moy"]
- <-Select Operator [SEL_190] (rows=73049 width=8)
- Output:["_col0","_col1"]
- Filter Operator [FIL_189] (rows=73049 width=8)
- predicate:d_month_seq is not null
- TableScan [TS_0] (rows=73049 width=8)
- default@date_dim,d,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_month_seq"]
- <-Select Operator [SEL_211] (rows=525327388 width=11)
- Output:["_col0","_col1","_col2"]
- Filter Operator [FIL_210] (rows=525327388 width=11)
- predicate:((ss_item_sk BETWEEN DynamicValue(RS_64_i_i_item_sk_min) AND DynamicValue(RS_64_i_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_64_i_i_item_sk_bloom_filter))) and ss_customer_sk is not null and ss_sold_date_sk is not null)
- TableScan [TS_10] (rows=575995635 width=11)
- default@store_sales,s,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk"]
- <-Reducer 15 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_209]
- Group By Operator [GBY_208] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
- <-Map 14 [CUSTOM_SIMPLE_EDGE] vectorized
- SHUFFLE [RS_207]
- Group By Operator [GBY_206] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
- Select Operator [SEL_205] (rows=154000 width=4)
- Output:["_col0"]
- Please refer to the previous Select Operator [SEL_203]
- <-Reducer 12 [SIMPLE_EDGE]
- SHUFFLE [RS_61]
+ Conds:RS_60._col0=RS_228._col2(Inner),Output:["_col4","_col6"]
+ <-Map 13 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_228]
+ PartitionCols:_col2
+ Select Operator [SEL_227] (rows=7192227 width=4)
+ Output:["_col1","_col2"]
+ Map Join Operator [MAPJOIN_226] (rows=7192227 width=4)
+ Conds:RS_206._col0=SEL_225._col0(Inner),HybridGraceHashJoin:true,Output:["_col4","_col5"]
+ <-Map 12 [BROADCAST_EDGE] vectorized
+ BROADCAST [RS_206]
+ PartitionCols:_col0
+ Map Join Operator [MAPJOIN_205] (rows=660 width=4)
+ Conds:SEL_204._col1=RS_202._col0(Inner),HybridGraceHashJoin:true,Output:["_col0"]
+ <-Reducer 10 [BROADCAST_EDGE] vectorized
+ BROADCAST [RS_202]
+ PartitionCols:_col0
+ Group By Operator [GBY_201] (rows=25 width=4)
+ Output:["_col0"],keys:KEY._col0
+ <-Map 7 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_186]
+ PartitionCols:_col0
+ Group By Operator [GBY_184] (rows=25 width=4)
+ Output:["_col0"],keys:d_month_seq
+ Select Operator [SEL_182] (rows=50 width=12)
+ Output:["d_month_seq"]
+ Filter Operator [FIL_180] (rows=50 width=12)
+ predicate:((d_moy = 2) and (d_year = 2000) and d_month_seq is not null)
+ TableScan [TS_3] (rows=73049 width=12)
+ default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_month_seq","d_year","d_moy"]
+ <-Select Operator [SEL_204] (rows=73049 width=8)
+ Output:["_col0","_col1"]
+ Filter Operator [FIL_203] (rows=73049 width=8)
+ predicate:d_month_seq is not null
+ TableScan [TS_19] (rows=73049 width=8)
+ default@date_dim,d,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_month_seq"]
+ <-Select Operator [SEL_225] (rows=525327388 width=11)
+ Output:["_col0","_col1","_col2"]
+ Filter Operator [FIL_224] (rows=525327388 width=11)
+ predicate:((ss_item_sk BETWEEN DynamicValue(RS_64_i_i_item_sk_min) AND DynamicValue(RS_64_i_i_item_sk_max) and in_bloom_filter(ss_item_sk, DynamicValue(RS_64_i_i_item_sk_bloom_filter))) and ss_customer_sk is not null and ss_sold_date_sk is not null)
+ TableScan [TS_29] (rows=575995635 width=11)
+ default@store_sales,s,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk"]
+ <-Reducer 15 [BROADCAST_EDGE] vectorized
+ BROADCAST [RS_223]
+ Group By Operator [GBY_222] (rows=1 width=12)
+ Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+ <-Map 14 [CUSTOM_SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_221]
+ Group By Operator [GBY_220] (rows=1 width=12)
+ Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+ Select Operator [SEL_219] (rows=154000 width=4)
+ Output:["_col0"]
+ Please refer to the previous Select Operator [SEL_217]
+ <-Reducer 2 [SIMPLE_EDGE]
+ SHUFFLE [RS_60]
PartitionCols:_col0
- Merge Join Operator [MERGEJOIN_171] (rows=80000000 width=90)
- Conds:RS_225._col1=RS_227._col0(Inner),Output:["_col0","_col4"]
- <-Map 11 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_225]
+ Merge Join Operator [MERGEJOIN_169] (rows=80000000 width=90)
+ Conds:RS_198._col1=RS_200._col0(Inner),Output:["_col0","_col4"]
+ <-Map 1 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_198]
PartitionCols:_col1
- Map Join Operator [MAPJOIN_224] (rows=80000000 width=8)
+ Map Join Operator [MAPJOIN_197] (rows=80000000 width=8)
Conds:(Inner),Output:["_col0","_col1"]
- <-Reducer 5 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_221]
- Select Operator [SEL_220] (rows=1 width=8)
- Filter Operator [FIL_219] (rows=1 width=8)
+ <-Reducer 9 [BROADCAST_EDGE] vectorized
+ BROADCAST [RS_194]
+ Select Operator [SEL_193] (rows=1 width=8)
+ Filter Operator [FIL_192] (rows=1 width=8)
predicate:(sq_count_check(_col0) <= 1)
- Group By Operator [GBY_218] (rows=1 width=8)
+ Group By Operator [GBY_191] (rows=1 width=8)
Output:["_col0"],aggregations:["count(VALUE._col0)"]
- <-Reducer 4 [CUSTOM_SIMPLE_EDGE] vectorized
- PARTITION_ONLY_SHUFFLE [RS_217]
- Group By Operator [GBY_216] (rows=1 width=8)
+ <-Reducer 8 [CUSTOM_SIMPLE_EDGE] vectorized
+ PARTITION_ONLY_SHUFFLE [RS_190]
+ Group By Operator [GBY_189] (rows=1 width=8)
Output:["_col0"],aggregations:["count()"]
- Select Operator [SEL_215] (rows=25 width=4)
- Group By Operator [GBY_214] (rows=25 width=4)
+ Select Operator [SEL_188] (rows=25 width=4)
+ Group By Operator [GBY_187] (rows=25 width=4)
Output:["_col0"],keys:KEY._col0
- <-Map 2 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_186]
+ <-Map 7 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_185]
PartitionCols:_col0
- Group By Operator [GBY_184] (rows=25 width=4)
+ Group By Operator [GBY_183] (rows=25 width=4)
Output:["_col0"],keys:d_month_seq
- Select Operator [SEL_182] (rows=50 width=12)
+ Select Operator [SEL_181] (rows=50 width=12)
Output:["d_month_seq"]
- Filter Operator [FIL_180] (rows=50 width=12)
+ Filter Operator [FIL_179] (rows=50 width=12)
predicate:((d_moy = 2) and (d_year = 2000))
Please refer to the previous TableScan [TS_3]
- <-Select Operator [SEL_223] (rows=80000000 width=8)
+ <-Select Operator [SEL_196] (rows=80000000 width=8)
Output:["_col0","_col1"]
- Filter Operator [FIL_222] (rows=80000000 width=8)
+ Filter Operator [FIL_195] (rows=80000000 width=8)
predicate:c_current_addr_sk is not null
- TableScan [TS_13] (rows=80000000 width=8)
+ TableScan [TS_0] (rows=80000000 width=8)
default@customer,c,Tbl:COMPLETE,Col:COMPLETE,Output:["c_customer_sk","c_current_addr_sk"]
- <-Map 13 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_227]
+ <-Map 11 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_200]
PartitionCols:_col0
- Select Operator [SEL_226] (rows=40000000 width=90)
+ Select Operator [SEL_199] (rows=40000000 width=90)
Output:["_col0","_col1"]
- TableScan [TS_30] (rows=40000000 width=90)
+ TableScan [TS_17] (rows=40000000 width=90)
default@customer_address,a,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_state"]
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/query63.q.out ql/src/test/results/clientpositive/perf/tez/constraints/query63.q.out
index 5620b819fb..000aecd8ea 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/query63.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/query63.q.out
@@ -89,7 +89,7 @@ Stage-0
Select Operator [SEL_24] (rows=65 width=228)
Output:["_col0","_col1","_col2"]
Filter Operator [FIL_36] (rows=65 width=228)
- predicate:CASE WHEN ((avg_window_0 > 0)) THEN (((abs((_col2 - avg_window_0)) / avg_window_0) > 0.1)) ELSE (null) END
+ predicate:CASE WHEN ((avg_window_0 > 0)) THEN (((abs((_col2 - avg_window_0)) / avg_window_0) > 0.1)) ELSE (false) END
Select Operator [SEL_23] (rows=130 width=116)
Output:["avg_window_0","_col0","_col2"]
PTF Operator [PTF_22] (rows=130 width=116)
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/query68.q.out ql/src/test/results/clientpositive/perf/tez/constraints/query68.q.out
index dd4ce4eb84..137139f87e 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/query68.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/query68.q.out
@@ -97,134 +97,134 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
Plan optimized by CBO.
Vertex dependency in root stage
-Map 5 <- Reducer 12 (BROADCAST_EDGE)
-Reducer 10 <- Reducer 9 (SIMPLE_EDGE)
-Reducer 12 <- Map 11 (CUSTOM_SIMPLE_EDGE)
-Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE)
-Reducer 3 <- Map 15 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+Map 8 <- Reducer 13 (BROADCAST_EDGE)
+Reducer 10 <- Map 14 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
+Reducer 11 <- Map 15 (SIMPLE_EDGE), Reducer 10 (SIMPLE_EDGE)
+Reducer 13 <- Map 12 (CUSTOM_SIMPLE_EDGE)
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE)
+Reducer 3 <- Reducer 2 (SIMPLE_EDGE), Reducer 7 (SIMPLE_EDGE)
Reducer 4 <- Reducer 3 (SIMPLE_EDGE)
-Reducer 6 <- Map 11 (SIMPLE_EDGE), Map 5 (SIMPLE_EDGE)
-Reducer 7 <- Map 13 (SIMPLE_EDGE), Reducer 6 (SIMPLE_EDGE)
-Reducer 8 <- Map 14 (SIMPLE_EDGE), Reducer 7 (SIMPLE_EDGE)
-Reducer 9 <- Map 15 (SIMPLE_EDGE), Reducer 8 (SIMPLE_EDGE)
+Reducer 6 <- Map 5 (SIMPLE_EDGE), Reducer 11 (SIMPLE_EDGE)
+Reducer 7 <- Reducer 6 (SIMPLE_EDGE)
+Reducer 9 <- Map 12 (SIMPLE_EDGE), Map 8 (SIMPLE_EDGE)
Stage-0
Fetch Operator
limit:100
Stage-1
Reducer 4 vectorized
- File Output Operator [FS_176]
- Limit [LIM_175] (rows=100 width=706)
+ File Output Operator [FS_172]
+ Limit [LIM_171] (rows=100 width=706)
Number of rows:100
- Select Operator [SEL_174] (rows=727776 width=706)
+ Select Operator [SEL_170] (rows=727776 width=706)
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
<-Reducer 3 [SIMPLE_EDGE]
SHUFFLE [RS_44]
Select Operator [SEL_43] (rows=727776 width=706)
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
Filter Operator [FIL_42] (rows=727776 width=706)
- predicate:(_col11 <> _col6)
- Merge Join Operator [MERGEJOIN_147] (rows=727776 width=706)
- Conds:RS_39._col1=RS_169._col0(Inner),Output:["_col2","_col3","_col4","_col6","_col7","_col8","_col9","_col11"]
- <-Map 15 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_169]
- PartitionCols:_col0
- Select Operator [SEL_168] (rows=40000000 width=97)
- Output:["_col0","_col1"]
- TableScan [TS_34] (rows=40000000 width=97)
- default@customer_address,current_addr,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_city"]
+ predicate:(_col5 <> _col8)
+ Merge Join Operator [MERGEJOIN_143] (rows=727776 width=706)
+ Conds:RS_39._col0=RS_169._col1(Inner),Output:["_col2","_col3","_col5","_col6","_col8","_col9","_col10","_col11"]
<-Reducer 2 [SIMPLE_EDGE]
SHUFFLE [RS_39]
- PartitionCols:_col1
- Merge Join Operator [MERGEJOIN_146] (rows=727776 width=617)
- Conds:RS_150._col0=RS_173._col1(Inner),Output:["_col1","_col2","_col3","_col4","_col6","_col7","_col8","_col9"]
- <-Map 1 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_150]
+ PartitionCols:_col0
+ Merge Join Operator [MERGEJOIN_138] (rows=80000000 width=277)
+ Conds:RS_146._col1=RS_148._col0(Inner),Output:["_col0","_col2","_col3","_col5"]
+ <-Map 5 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_148]
PartitionCols:_col0
- Select Operator [SEL_149] (rows=80000000 width=188)
+ Select Operator [SEL_147] (rows=40000000 width=97)
+ Output:["_col0","_col1"]
+ TableScan [TS_3] (rows=40000000 width=97)
+ default@customer_address,current_addr,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_city"]
+ <-Map 1 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_146]
+ PartitionCols:_col1
+ Select Operator [SEL_145] (rows=80000000 width=188)
Output:["_col0","_col1","_col2","_col3"]
- Filter Operator [FIL_148] (rows=80000000 width=188)
+ Filter Operator [FIL_144] (rows=80000000 width=188)
predicate:c_current_addr_sk is not null
TableScan [TS_0] (rows=80000000 width=188)
default@customer,customer,Tbl:COMPLETE,Col:COMPLETE,Output:["c_customer_sk","c_current_addr_sk","c_first_name","c_last_name"]
- <-Reducer 10 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_173]
- PartitionCols:_col1
- Select Operator [SEL_172] (rows=727776 width=433)
- Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
- Group By Operator [GBY_171] (rows=727776 width=433)
- Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3
- <-Reducer 9 [SIMPLE_EDGE]
- SHUFFLE [RS_31]
- PartitionCols:_col0, _col1, _col2, _col3
- Group By Operator [GBY_30] (rows=727776 width=433)
- Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(_col6)","sum(_col7)","sum(_col8)"],keys:_col1, _col13, _col3, _col5
- Merge Join Operator [MERGEJOIN_145] (rows=727776 width=97)
- Conds:RS_26._col3=RS_170._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col7","_col8","_col13"]
+ <-Reducer 7 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_169]
+ PartitionCols:_col1
+ Select Operator [SEL_168] (rows=727776 width=433)
+ Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+ Group By Operator [GBY_167] (rows=727776 width=433)
+ Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"],keys:KEY._col0, KEY._col1, KEY._col2, KEY._col3
+ <-Reducer 6 [SIMPLE_EDGE]
+ SHUFFLE [RS_33]
+ PartitionCols:_col0, _col1, _col2, _col3
+ Group By Operator [GBY_32] (rows=727776 width=433)
+ Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(_col6)","sum(_col7)","sum(_col8)"],keys:_col1, _col13, _col3, _col5
+ Merge Join Operator [MERGEJOIN_142] (rows=727776 width=97)
+ Conds:RS_28._col3=RS_149._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col7","_col8","_col13"]
+ <-Map 5 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_149]
+ PartitionCols:_col0
+ Please refer to the previous Select Operator [SEL_147]
+ <-Reducer 11 [SIMPLE_EDGE]
+ SHUFFLE [RS_28]
+ PartitionCols:_col3
+ Merge Join Operator [MERGEJOIN_141] (rows=727776 width=4)
+ Conds:RS_25._col2=RS_166._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col7","_col8"]
<-Map 15 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_170]
+ SHUFFLE [RS_166]
PartitionCols:_col0
- Please refer to the previous Select Operator [SEL_168]
- <-Reducer 8 [SIMPLE_EDGE]
- SHUFFLE [RS_26]
- PartitionCols:_col3
- Merge Join Operator [MERGEJOIN_144] (rows=727776 width=4)
- Conds:RS_23._col2=RS_167._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col7","_col8"]
+ Select Operator [SEL_165] (rows=1855 width=4)
+ Output:["_col0"]
+ Filter Operator [FIL_164] (rows=1855 width=12)
+ predicate:((hd_dep_count = 2) or (hd_vehicle_count = 1))
+ TableScan [TS_14] (rows=7200 width=12)
+ default@household_demographics,household_demographics,Tbl:COMPLETE,Col:COMPLETE,Output:["hd_demo_sk","hd_dep_count","hd_vehicle_count"]
+ <-Reducer 10 [SIMPLE_EDGE]
+ SHUFFLE [RS_25]
+ PartitionCols:_col2
+ Merge Join Operator [MERGEJOIN_140] (rows=2824787 width=4)
+ Conds:RS_22._col4=RS_163._col0(Inner),Output:["_col1","_col2","_col3","_col5","_col6","_col7","_col8"]
<-Map 14 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_167]
+ SHUFFLE [RS_163]
PartitionCols:_col0
- Select Operator [SEL_166] (rows=1855 width=4)
+ Select Operator [SEL_162] (rows=14 width=4)
Output:["_col0"]
- Filter Operator [FIL_165] (rows=1855 width=12)
- predicate:((hd_dep_count = 2) or (hd_vehicle_count = 1))
- TableScan [TS_12] (rows=7200 width=12)
- default@household_demographics,household_demographics,Tbl:COMPLETE,Col:COMPLETE,Output:["hd_demo_sk","hd_dep_count","hd_vehicle_count"]
- <-Reducer 7 [SIMPLE_EDGE]
- SHUFFLE [RS_23]
- PartitionCols:_col2
- Merge Join Operator [MERGEJOIN_143] (rows=2824787 width=4)
- Conds:RS_20._col4=RS_164._col0(Inner),Output:["_col1","_col2","_col3","_col5","_col6","_col7","_col8"]
- <-Map 13 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_164]
+ Filter Operator [FIL_161] (rows=14 width=97)
+ predicate:(s_city) IN ('Cedar Grove', 'Wildwood')
+ TableScan [TS_11] (rows=1704 width=97)
+ default@store,store,Tbl:COMPLETE,Col:COMPLETE,Output:["s_store_sk","s_city"]
+ <-Reducer 9 [SIMPLE_EDGE]
+ SHUFFLE [RS_22]
+ PartitionCols:_col4
+ Merge Join Operator [MERGEJOIN_139] (rows=42598570 width=185)
+ Conds:RS_160._col0=RS_152._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
+ <-Map 12 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_152]
PartitionCols:_col0
- Select Operator [SEL_163] (rows=14 width=4)
+ Select Operator [SEL_151] (rows=170 width=4)
Output:["_col0"]
- Filter Operator [FIL_162] (rows=14 width=97)
- predicate:(s_city) IN ('Cedar Grove', 'Wildwood')
- TableScan [TS_9] (rows=1704 width=97)
- default@store,store,Tbl:COMPLETE,Col:COMPLETE,Output:["s_store_sk","s_city"]
- <-Reducer 6 [SIMPLE_EDGE]
- SHUFFLE [RS_20]
- PartitionCols:_col4
- Merge Join Operator [MERGEJOIN_142] (rows=42598570 width=185)
- Conds:RS_161._col0=RS_153._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
- <-Map 11 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_153]
- PartitionCols:_col0
- Select Operator [SEL_152] (rows=170 width=4)
- Output:["_col0"]
- Filter Operator [FIL_151] (rows=170 width=12)
- predicate:((d_year) IN (1998, 1999, 2000) and d_dom BETWEEN 1 AND 2)
- TableScan [TS_6] (rows=73049 width=12)
- default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_dom"]
- <-Map 5 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_161]
- PartitionCols:_col0
- Select Operator [SEL_160] (rows=457565061 width=343)
- Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
- Filter Operator [FIL_159] (rows=457565061 width=343)
- predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_18_date_dim_d_date_sk_min) AND DynamicValue(RS_18_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_18_date_dim_d_date_sk_bloom_filter))) and ss_addr_sk is not null and ss_customer_sk is not null and ss_hdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
- TableScan [TS_3] (rows=575995635 width=343)
- default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_customer_sk","ss_hdemo_sk","ss_addr_sk","ss_store_sk","ss_ticket_number","ss_ext_sales_price","ss_ext_list_price","ss_ext_tax"]
- <-Reducer 12 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_158]
- Group By Operator [GBY_157] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
- <-Map 11 [CUSTOM_SIMPLE_EDGE] vectorized
- SHUFFLE [RS_156]
- Group By Operator [GBY_155] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
- Select Operator [SEL_154] (rows=170 width=4)
- Output:["_col0"]
- Please refer to the previous Select Operator [SEL_152]
+ Filter Operator [FIL_150] (rows=170 width=12)
+ predicate:((d_year) IN (1998, 1999, 2000) and d_dom BETWEEN 1 AND 2)
+ TableScan [TS_8] (rows=73049 width=12)
+ default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_dom"]
+ <-Map 8 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_160]
+ PartitionCols:_col0
+ Select Operator [SEL_159] (rows=457565061 width=343)
+ Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
+ Filter Operator [FIL_158] (rows=457565061 width=343)
+ predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_20_date_dim_d_date_sk_min) AND DynamicValue(RS_20_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_20_date_dim_d_date_sk_bloom_filter))) and ss_addr_sk is not null and ss_customer_sk is not null and ss_hdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
+ TableScan [TS_5] (rows=575995635 width=343)
+ default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_customer_sk","ss_hdemo_sk","ss_addr_sk","ss_store_sk","ss_ticket_number","ss_ext_sales_price","ss_ext_list_price","ss_ext_tax"]
+ <-Reducer 13 [BROADCAST_EDGE] vectorized
+ BROADCAST [RS_157]
+ Group By Operator [GBY_156] (rows=1 width=12)
+ Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+ <-Map 12 [CUSTOM_SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_155]
+ Group By Operator [GBY_154] (rows=1 width=12)
+ Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+ Select Operator [SEL_153] (rows=170 width=4)
+ Output:["_col0"]
+ Please refer to the previous Select Operator [SEL_151]
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/query70.q.out ql/src/test/results/clientpositive/perf/tez/constraints/query70.q.out
index a49314c858..9aa000cf06 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/query70.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/query70.q.out
@@ -110,12 +110,12 @@ Stage-0
Select Operator [SEL_167] (rows=1 width=492)
Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
PTF Operator [PTF_166] (rows=1 width=304)
- Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col2 DESC NULLS LAST","partition by:":"(grouping(_col3, 1) + grouping(_col3, 0)), CASE WHEN ((grouping(_col3, 0) = 0)) THEN (_col0) ELSE (CAST( null AS STRING)) END"}]
+ Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col2 DESC NULLS LAST","partition by:":"(grouping(_col3, 1L) + grouping(_col3, 0L)), CASE WHEN ((grouping(_col3, 0L) = UDFToLong(0))) THEN (_col0) ELSE (CAST( null AS STRING)) END"}]
Select Operator [SEL_165] (rows=1 width=304)
Output:["_col0","_col1","_col2","_col3"]
<-Reducer 4 [SIMPLE_EDGE] vectorized
SHUFFLE [RS_164]
- PartitionCols:(grouping(_col3, 1) + grouping(_col3, 0)), CASE WHEN ((grouping(_col3, 0) = 0)) THEN (_col0) ELSE (CAST( null AS STRING)) END
+ PartitionCols:(grouping(_col3, 1L) + grouping(_col3, 0L)), CASE WHEN ((grouping(_col3, 0L) = UDFToLong(0))) THEN (_col0) ELSE (CAST( null AS STRING)) END
Select Operator [SEL_163] (rows=1 width=304)
Output:["_col0","_col1","_col2","_col3"]
Group By Operator [GBY_162] (rows=1 width=304)
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/query72.q.out ql/src/test/results/clientpositive/perf/tez/constraints/query72.q.out
index 1a9c2cf203..d0900a1221 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/query72.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/query72.q.out
@@ -101,14 +101,14 @@ Stage-0
limit:100
Stage-1
Reducer 12 vectorized
- File Output Operator [FS_277]
- Limit [LIM_276] (rows=100 width=312)
+ File Output Operator [FS_279]
+ Limit [LIM_278] (rows=100 width=312)
Number of rows:100
- Select Operator [SEL_275] (rows=193558220 width=312)
+ Select Operator [SEL_277] (rows=193558220 width=312)
Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
<-Reducer 11 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_274]
- Group By Operator [GBY_273] (rows=193558220 width=312)
+ SHUFFLE [RS_276]
+ Group By Operator [GBY_275] (rows=193558220 width=312)
Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["count(VALUE._col0)","count(VALUE._col1)","count(VALUE._col2)"],keys:KEY._col0, KEY._col1, KEY._col2
<-Reducer 10 [SIMPLE_EDGE]
SHUFFLE [RS_64]
@@ -117,12 +117,12 @@ Stage-0
Output:["_col0","_col1","_col2","_col3","_col4","_col5"],aggregations:["count(_col3)","count(_col4)","count()"],keys:_col0, _col1, _col2
Select Operator [SEL_61] (rows=499184560 width=292)
Output:["_col0","_col1","_col2","_col3","_col4"]
- Merge Join Operator [MERGEJOIN_243] (rows=499184560 width=292)
- Conds:RS_58._col4, _col6=RS_272._col0, _col1(Left Outer),Output:["_col13","_col15","_col19","_col25"]
+ Merge Join Operator [MERGEJOIN_245] (rows=499184560 width=292)
+ Conds:RS_58._col4, _col6=RS_274._col0, _col1(Left Outer),Output:["_col13","_col15","_col19","_col25"]
<-Map 24 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_272]
+ SHUFFLE [RS_274]
PartitionCols:_col0, _col1
- Select Operator [SEL_271] (rows=28798881 width=8)
+ Select Operator [SEL_273] (rows=28798881 width=8)
Output:["_col0","_col1"]
TableScan [TS_56] (rows=28798881 width=8)
default@catalog_returns,catalog_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["cr_item_sk","cr_order_number"]
@@ -131,50 +131,50 @@ Stage-0
PartitionCols:_col4, _col6
Select Operator [SEL_55] (rows=193558220 width=300)
Output:["_col4","_col6","_col13","_col15","_col19","_col25"]
- Merge Join Operator [MERGEJOIN_242] (rows=193558220 width=300)
- Conds:RS_52._col5=RS_270._col0(Left Outer),Output:["_col4","_col6","_col13","_col20","_col24","_col25"]
+ Merge Join Operator [MERGEJOIN_244] (rows=193558220 width=300)
+ Conds:RS_52._col4=RS_272._col0(Inner),Output:["_col4","_col6","_col13","_col20","_col21","_col25"]
<-Map 23 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_270]
+ SHUFFLE [RS_272]
PartitionCols:_col0
- Select Operator [SEL_269] (rows=2300 width=4)
- Output:["_col0"]
- TableScan [TS_27] (rows=2300 width=4)
- default@promotion,promotion,Tbl:COMPLETE,Col:COMPLETE,Output:["p_promo_sk"]
+ Select Operator [SEL_271] (rows=462000 width=188)
+ Output:["_col0","_col1"]
+ TableScan [TS_27] (rows=462000 width=188)
+ default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_item_desc"]
<-Reducer 8 [SIMPLE_EDGE]
SHUFFLE [RS_52]
- PartitionCols:_col5
- Merge Join Operator [MERGEJOIN_241] (rows=193558220 width=299)
- Conds:RS_49._col4=RS_268._col0(Inner),Output:["_col4","_col5","_col6","_col13","_col20","_col24"]
- <-Map 22 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_268]
- PartitionCols:_col0
- Select Operator [SEL_267] (rows=462000 width=188)
- Output:["_col0","_col1"]
- TableScan [TS_25] (rows=462000 width=188)
- default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_item_desc"]
- <-Reducer 7 [SIMPLE_EDGE]
- SHUFFLE [RS_49]
- PartitionCols:_col4
- Filter Operator [FIL_48] (rows=193558220 width=131)
- predicate:(_col22 > _col14)
- Merge Join Operator [MERGEJOIN_240] (rows=580674662 width=131)
- Conds:RS_45._col1=RS_266._col0(Inner),Output:["_col4","_col5","_col6","_col13","_col14","_col20","_col22"]
+ PartitionCols:_col4
+ Filter Operator [FIL_51] (rows=193558220 width=132)
+ predicate:(_col23 > _col14)
+ Merge Join Operator [MERGEJOIN_243] (rows=580674662 width=132)
+ Conds:RS_48._col1=RS_270._col0(Inner),Output:["_col4","_col6","_col13","_col14","_col20","_col21","_col23"]
+ <-Map 22 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_270]
+ PartitionCols:_col0
+ Select Operator [SEL_269] (rows=73049 width=12)
+ Output:["_col0","_col1"]
+ TableScan [TS_25] (rows=73049 width=98)
+ default@date_dim,d3,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_date"]
+ <-Reducer 7 [SIMPLE_EDGE]
+ SHUFFLE [RS_48]
+ PartitionCols:_col1
+ Merge Join Operator [MERGEJOIN_242] (rows=580674662 width=127)
+ Conds:RS_45._col5=RS_268._col0(Left Outer),Output:["_col1","_col4","_col6","_col13","_col14","_col20","_col21"]
<-Map 21 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_266]
+ SHUFFLE [RS_268]
PartitionCols:_col0
- Select Operator [SEL_265] (rows=73049 width=12)
- Output:["_col0","_col1"]
- TableScan [TS_23] (rows=73049 width=98)
- default@date_dim,d3,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_date"]
+ Select Operator [SEL_267] (rows=2300 width=4)
+ Output:["_col0"]
+ TableScan [TS_23] (rows=2300 width=4)
+ default@promotion,promotion,Tbl:COMPLETE,Col:COMPLETE,Output:["p_promo_sk"]
<-Reducer 6 [SIMPLE_EDGE]
SHUFFLE [RS_45]
- PartitionCols:_col1
- Merge Join Operator [MERGEJOIN_239] (rows=580674662 width=127)
- Conds:RS_42._col17=RS_264._col0(Inner),Output:["_col1","_col4","_col5","_col6","_col13","_col14","_col20"]
+ PartitionCols:_col5
+ Merge Join Operator [MERGEJOIN_241] (rows=580674662 width=127)
+ Conds:RS_42._col17=RS_266._col0(Inner),Output:["_col1","_col4","_col5","_col6","_col13","_col14","_col20"]
<-Map 20 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_264]
+ SHUFFLE [RS_266]
PartitionCols:_col0
- Select Operator [SEL_263] (rows=27 width=104)
+ Select Operator [SEL_265] (rows=27 width=104)
Output:["_col0","_col1"]
TableScan [TS_21] (rows=27 width=104)
default@warehouse,warehouse,Tbl:COMPLETE,Col:COMPLETE,Output:["w_warehouse_sk","w_warehouse_name"]
@@ -183,88 +183,88 @@ Stage-0
PartitionCols:_col17
Filter Operator [FIL_41] (rows=580674662 width=39)
predicate:(_col18 < _col7)
- Merge Join Operator [MERGEJOIN_238] (rows=1742023986 width=39)
- Conds:RS_38._col10, _col4=RS_262._col0, _col1(Inner),Output:["_col1","_col4","_col5","_col6","_col7","_col13","_col14","_col17","_col18"]
+ Merge Join Operator [MERGEJOIN_240] (rows=1742023986 width=39)
+ Conds:RS_38._col10, _col4=RS_264._col0, _col1(Inner),Output:["_col1","_col4","_col5","_col6","_col7","_col13","_col14","_col17","_col18"]
<-Map 19 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_262]
+ SHUFFLE [RS_264]
PartitionCols:_col0, _col1
- Select Operator [SEL_261] (rows=37584000 width=15)
+ Select Operator [SEL_263] (rows=37584000 width=15)
Output:["_col0","_col1","_col2","_col3"]
TableScan [TS_19] (rows=37584000 width=15)
default@inventory,inventory,Tbl:COMPLETE,Col:COMPLETE,Output:["inv_date_sk","inv_item_sk","inv_warehouse_sk","inv_quantity_on_hand"]
<-Reducer 4 [SIMPLE_EDGE]
SHUFFLE [RS_38]
PartitionCols:_col10, _col4
- Merge Join Operator [MERGEJOIN_237] (rows=2899758 width=30)
+ Merge Join Operator [MERGEJOIN_239] (rows=2899758 width=30)
Conds:RS_35._col0=RS_36._col2(Inner),Output:["_col1","_col4","_col5","_col6","_col7","_col10","_col13","_col14"]
<-Reducer 16 [SIMPLE_EDGE]
SHUFFLE [RS_36]
PartitionCols:_col2
- Merge Join Operator [MERGEJOIN_236] (rows=3621 width=20)
- Conds:RS_246._col1=RS_249._col1(Inner),Output:["_col0","_col2","_col3","_col4"]
+ Merge Join Operator [MERGEJOIN_238] (rows=3621 width=20)
+ Conds:RS_248._col1=RS_251._col1(Inner),Output:["_col0","_col2","_col3","_col4"]
<-Map 15 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_246]
+ SHUFFLE [RS_248]
PartitionCols:_col1
- Select Operator [SEL_245] (rows=73049 width=8)
+ Select Operator [SEL_247] (rows=73049 width=8)
Output:["_col0","_col1"]
- Filter Operator [FIL_244] (rows=73049 width=8)
+ Filter Operator [FIL_246] (rows=73049 width=8)
predicate:d_week_seq is not null
TableScan [TS_9] (rows=73049 width=8)
default@date_dim,d2,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_week_seq"]
<-Map 18 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_249]
+ SHUFFLE [RS_251]
PartitionCols:_col1
- Select Operator [SEL_248] (rows=652 width=16)
+ Select Operator [SEL_250] (rows=652 width=16)
Output:["_col0","_col1","_col2"]
- Filter Operator [FIL_247] (rows=652 width=106)
+ Filter Operator [FIL_249] (rows=652 width=106)
predicate:((d_year = 2001) and d_week_seq is not null)
TableScan [TS_12] (rows=73049 width=106)
default@date_dim,d1,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_date","d_week_seq","d_year"]
<-Reducer 3 [SIMPLE_EDGE]
SHUFFLE [RS_35]
PartitionCols:_col0
- Merge Join Operator [MERGEJOIN_235] (rows=8179029 width=21)
- Conds:RS_32._col3=RS_260._col0(Inner),Output:["_col0","_col1","_col4","_col5","_col6","_col7"]
+ Merge Join Operator [MERGEJOIN_237] (rows=8179029 width=21)
+ Conds:RS_32._col3=RS_262._col0(Inner),Output:["_col0","_col1","_col4","_col5","_col6","_col7"]
<-Map 14 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_260]
+ SHUFFLE [RS_262]
PartitionCols:_col0
- Select Operator [SEL_259] (rows=1440 width=4)
+ Select Operator [SEL_261] (rows=1440 width=4)
Output:["_col0"]
- Filter Operator [FIL_258] (rows=1440 width=96)
+ Filter Operator [FIL_260] (rows=1440 width=96)
predicate:(hd_buy_potential = '1001-5000')
TableScan [TS_6] (rows=7200 width=96)
default@household_demographics,household_demographics,Tbl:COMPLETE,Col:COMPLETE,Output:["hd_demo_sk","hd_buy_potential"]
<-Reducer 2 [SIMPLE_EDGE]
SHUFFLE [RS_32]
PartitionCols:_col3
- Merge Join Operator [MERGEJOIN_234] (rows=40895144 width=27)
- Conds:RS_254._col2=RS_257._col0(Inner),Output:["_col0","_col1","_col3","_col4","_col5","_col6","_col7"]
+ Merge Join Operator [MERGEJOIN_236] (rows=40895144 width=27)
+ Conds:RS_256._col2=RS_259._col0(Inner),Output:["_col0","_col1","_col3","_col4","_col5","_col6","_col7"]
<-Map 1 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_254]
+ SHUFFLE [RS_256]
PartitionCols:_col2
- Select Operator [SEL_253] (rows=282274763 width=31)
+ Select Operator [SEL_255] (rows=282274763 width=31)
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
- Filter Operator [FIL_252] (rows=282274763 width=31)
+ Filter Operator [FIL_254] (rows=282274763 width=31)
predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_36_d1_d_date_sk_min) AND DynamicValue(RS_36_d1_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_36_d1_d_date_sk_bloom_filter))) and cs_bill_cdemo_sk is not null and cs_bill_hdemo_sk is not null and cs_ship_date_sk is not null and cs_sold_date_sk is not null)
TableScan [TS_0] (rows=287989836 width=31)
default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_ship_date_sk","cs_bill_cdemo_sk","cs_bill_hdemo_sk","cs_item_sk","cs_promo_sk","cs_order_number","cs_quantity"]
<-Reducer 17 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_251]
- Group By Operator [GBY_250] (rows=1 width=12)
+ BROADCAST [RS_253]
+ Group By Operator [GBY_252] (rows=1 width=12)
Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
<-Reducer 16 [CUSTOM_SIMPLE_EDGE]
- SHUFFLE [RS_138]
- Group By Operator [GBY_137] (rows=1 width=12)
+ SHUFFLE [RS_140]
+ Group By Operator [GBY_139] (rows=1 width=12)
Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
- Select Operator [SEL_136] (rows=3621 width=8)
+ Select Operator [SEL_138] (rows=3621 width=8)
Output:["_col0"]
- Please refer to the previous Merge Join Operator [MERGEJOIN_236]
+ Please refer to the previous Merge Join Operator [MERGEJOIN_238]
<-Map 13 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_257]
+ SHUFFLE [RS_259]
PartitionCols:_col0
- Select Operator [SEL_256] (rows=265971 width=4)
+ Select Operator [SEL_258] (rows=265971 width=4)
Output:["_col0"]
- Filter Operator [FIL_255] (rows=265971 width=89)
+ Filter Operator [FIL_257] (rows=265971 width=89)
predicate:(cd_marital_status = 'M')
TableScan [TS_3] (rows=1861800 width=89)
default@customer_demographics,customer_demographics,Tbl:COMPLETE,Col:COMPLETE,Output:["cd_demo_sk","cd_marital_status"]
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/query73.q.out ql/src/test/results/clientpositive/perf/tez/constraints/query73.q.out
index 52b0c26588..8257ac1894 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/query73.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/query73.q.out
@@ -101,7 +101,7 @@ Stage-0
SHUFFLE [RS_122]
PartitionCols:_col1
Filter Operator [FIL_121] (rows=5 width=12)
- predicate:_col2 BETWEEN 1 AND 5
+ predicate:_col2 BETWEEN 1L AND 5L
Select Operator [SEL_120] (rows=788766 width=12)
Output:["_col0","_col1","_col2"]
Group By Operator [GBY_119] (rows=788766 width=12)
@@ -133,7 +133,7 @@ Stage-0
Select Operator [SEL_114] (rows=480 width=4)
Output:["_col0"]
Filter Operator [FIL_113] (rows=480 width=104)
- predicate:((hd_buy_potential) IN ('>10000', 'unknown') and (hd_vehicle_count > 0) and CASE WHEN ((hd_vehicle_count > 0)) THEN (((UDFToDouble(hd_dep_count) / UDFToDouble(hd_vehicle_count)) > 1.0D)) ELSE (null) END)
+ predicate:((hd_buy_potential) IN ('>10000', 'unknown') and (hd_vehicle_count > 0) and CASE WHEN ((hd_vehicle_count > 0)) THEN (((UDFToDouble(hd_dep_count) / UDFToDouble(hd_vehicle_count)) > 1.0D)) ELSE (false) END)
TableScan [TS_8] (rows=7200 width=104)
default@household_demographics,household_demographics,Tbl:COMPLETE,Col:COMPLETE,Output:["hd_demo_sk","hd_buy_potential","hd_dep_count","hd_vehicle_count"]
<-Reducer 5 [SIMPLE_EDGE]
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/query74.q.out ql/src/test/results/clientpositive/perf/tez/constraints/query74.q.out
index 525217b526..35ebfab7d9 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/query74.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/query74.q.out
@@ -171,7 +171,7 @@ Stage-0
Select Operator [SEL_88] (rows=12248094 width=280)
Output:["_col0","_col1","_col2"]
Filter Operator [FIL_87] (rows=12248094 width=732)
- predicate:CASE WHEN (_col4 is not null) THEN (CASE WHEN (_col2) THEN (((_col6 / _col1) > (_col10 / _col4))) ELSE ((null > (_col10 / _col4))) END) ELSE (CASE WHEN (_col2) THEN (((_col6 / _col1) > null)) ELSE (null) END) END
+ predicate:CASE WHEN (_col4 is not null) THEN (CASE WHEN (_col2) THEN (((_col6 / _col1) > (_col10 / _col4))) ELSE (false) END) ELSE (false) END
Merge Join Operator [MERGEJOIN_283] (rows=24496188 width=732)
Conds:RS_84._col3=RS_345._col0(Inner),Output:["_col1","_col2","_col4","_col6","_col7","_col8","_col9","_col10"]
<-Reducer 20 [SIMPLE_EDGE] vectorized
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/query78.q.out ql/src/test/results/clientpositive/perf/tez/constraints/query78.q.out
index ef4d6dbc21..888d33557b 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/query78.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/query78.q.out
@@ -143,8 +143,8 @@ Reducer 18 <- Map 17 (SIMPLE_EDGE), Map 19 (SIMPLE_EDGE)
Reducer 2 <- Map 1 (SIMPLE_EDGE), Reducer 15 (SIMPLE_EDGE)
Reducer 21 <- Map 20 (SIMPLE_EDGE), Map 22 (SIMPLE_EDGE)
Reducer 3 <- Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Reducer 3 (ONE_TO_ONE_EDGE), Reducer 9 (ONE_TO_ONE_EDGE)
-Reducer 5 <- Reducer 12 (SIMPLE_EDGE), Reducer 4 (SIMPLE_EDGE)
+Reducer 4 <- Reducer 3 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
+Reducer 5 <- Reducer 12 (ONE_TO_ONE_EDGE), Reducer 4 (SIMPLE_EDGE)
Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
Reducer 7 <- Map 1 (CUSTOM_SIMPLE_EDGE)
Reducer 8 <- Map 1 (SIMPLE_EDGE), Reducer 18 (SIMPLE_EDGE)
@@ -155,191 +155,191 @@ Stage-0
limit:100
Stage-1
Reducer 6 vectorized
- File Output Operator [FS_238]
- Limit [LIM_237] (rows=100 width=484)
+ File Output Operator [FS_269]
+ Limit [LIM_268] (rows=100 width=484)
Number of rows:100
- Select Operator [SEL_236] (rows=462576000046 width=483)
+ Select Operator [SEL_267] (rows=203549242538 width=483)
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9"]
<-Reducer 5 [SIMPLE_EDGE]
SHUFFLE [RS_73]
- Select Operator [SEL_72] (rows=462576000046 width=719)
+ Select Operator [SEL_72] (rows=203549242538 width=719)
Output:["_col0","_col1","_col6","_col7","_col8","_col9","_col10","_col11","_col12"]
- Filter Operator [FIL_71] (rows=462576000046 width=702)
- predicate:CASE WHEN (_col11 is not null) THEN ((_col11 > 0L)) ELSE (false) END
- Merge Join Operator [MERGEJOIN_191] (rows=925152000093 width=702)
- Conds:RS_68._col1=RS_235._col0(Left Outer),Output:["_col0","_col1","_col2","_col3","_col4","_col7","_col8","_col9","_col11","_col12","_col13"]
- <-Reducer 12 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_235]
- PartitionCols:_col0
- Select Operator [SEL_234] (rows=101592102 width=235)
- Output:["_col0","_col1","_col2","_col3"]
- Group By Operator [GBY_233] (rows=101592102 width=239)
- Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"],keys:KEY._col0, KEY._col1
- <-Reducer 11 [SIMPLE_EDGE]
- SHUFFLE [RS_65]
- PartitionCols:_col0, _col1
- Group By Operator [GBY_64] (rows=101592102 width=239)
- Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col4)","sum(_col5)","sum(_col6)"],keys:_col2, _col3
- Merge Join Operator [MERGEJOIN_189] (rows=101592102 width=233)
- Conds:RS_198._col0=RS_61._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col6"]
- <-Map 1 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_198]
- PartitionCols:_col0
- Select Operator [SEL_193] (rows=652 width=4)
- Output:["_col0"]
- Filter Operator [FIL_192] (rows=652 width=8)
- predicate:(d_year = 2000)
- TableScan [TS_0] (rows=73049 width=8)
- default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"]
- <-Reducer 21 [SIMPLE_EDGE]
- SHUFFLE [RS_61]
- PartitionCols:_col0
- Select Operator [SEL_59] (rows=286549727 width=239)
- Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
- Filter Operator [FIL_58] (rows=286549727 width=240)
- predicate:_col8 is null
- Merge Join Operator [MERGEJOIN_188] (rows=468719906 width=240)
- Conds:RS_230._col2, _col3=RS_232._col0, _col1(Left Outer),Output:["_col0","_col1","_col2","_col4","_col5","_col6","_col8"]
- <-Map 20 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_230]
- PartitionCols:_col2, _col3
- Select Operator [SEL_229] (rows=286549727 width=242)
- Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
- Filter Operator [FIL_228] (rows=286549727 width=242)
- predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_60_date_dim_d_date_sk_min) AND DynamicValue(RS_60_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_60_date_dim_d_date_sk_bloom_filter))) and cs_sold_date_sk is not null)
- TableScan [TS_50] (rows=287989836 width=242)
- default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_item_sk","cs_order_number","cs_quantity","cs_wholesale_cost","cs_sales_price"]
- <-Reducer 13 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_227]
- Group By Operator [GBY_226] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
- <-Map 1 [CUSTOM_SIMPLE_EDGE] vectorized
- SHUFFLE [RS_205]
- Group By Operator [GBY_202] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
- Select Operator [SEL_199] (rows=652 width=4)
- Output:["_col0"]
- Please refer to the previous Select Operator [SEL_193]
- <-Map 22 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_232]
- PartitionCols:_col0, _col1
- Select Operator [SEL_231] (rows=28798881 width=8)
- Output:["_col0","_col1"]
- TableScan [TS_53] (rows=28798881 width=8)
- default@catalog_returns,catalog_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["cr_item_sk","cr_order_number"]
- <-Reducer 4 [SIMPLE_EDGE]
- SHUFFLE [RS_68]
- PartitionCols:_col1
- Filter Operator [FIL_45] (rows=4580227799 width=471)
- predicate:CASE WHEN (_col7 is not null) THEN ((_col7 > 0L)) ELSE (false) END
- Merge Join Operator [MERGEJOIN_190] (rows=9160455599 width=471)
- Conds:RS_215._col1, _col0=RS_225._col1, _col0(Left Outer),Output:["_col0","_col1","_col2","_col3","_col4","_col7","_col8","_col9"]
- <-Reducer 3 [ONE_TO_ONE_EDGE] vectorized
- FORWARD [RS_215]
- PartitionCols:_col1, _col0
- Select Operator [SEL_214] (rows=114214965 width=239)
- Output:["_col0","_col1","_col2","_col3","_col4"]
- Group By Operator [GBY_213] (rows=114214965 width=239)
- Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"],keys:KEY._col0, KEY._col1
- <-Reducer 2 [SIMPLE_EDGE]
- SHUFFLE [RS_18]
- PartitionCols:_col0, _col1
- Group By Operator [GBY_17] (rows=114214965 width=239)
- Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col4)","sum(_col5)","sum(_col6)"],keys:_col3, _col2
- Merge Join Operator [MERGEJOIN_185] (rows=114214965 width=217)
- Conds:RS_194._col0=RS_14._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col6"]
- <-Map 1 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_194]
- PartitionCols:_col0
- Please refer to the previous Select Operator [SEL_193]
- <-Reducer 15 [SIMPLE_EDGE]
- SHUFFLE [RS_14]
- PartitionCols:_col0
- Select Operator [SEL_12] (rows=319876350 width=233)
- Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
- Filter Operator [FIL_11] (rows=319876350 width=235)
- predicate:_col8 is null
- Merge Join Operator [MERGEJOIN_184] (rows=883006376 width=235)
- Conds:RS_210._col1, _col3=RS_212._col0, _col1(Left Outer),Output:["_col0","_col1","_col2","_col4","_col5","_col6","_col8"]
- <-Map 14 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_210]
- PartitionCols:_col1, _col3
- Select Operator [SEL_209] (rows=550076554 width=233)
- Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
- Filter Operator [FIL_208] (rows=550076554 width=233)
- predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_13_date_dim_d_date_sk_min) AND DynamicValue(RS_13_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_13_date_dim_d_date_sk_bloom_filter))) and ss_sold_date_sk is not null)
- TableScan [TS_3] (rows=575995635 width=233)
- default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk","ss_ticket_number","ss_quantity","ss_wholesale_cost","ss_sales_price"]
- <-Reducer 7 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_207]
- Group By Operator [GBY_206] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
- <-Map 1 [CUSTOM_SIMPLE_EDGE] vectorized
- SHUFFLE [RS_203]
- Group By Operator [GBY_200] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
- Select Operator [SEL_195] (rows=652 width=4)
- Output:["_col0"]
- Please refer to the previous Select Operator [SEL_193]
- <-Map 16 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_212]
- PartitionCols:_col0, _col1
- Select Operator [SEL_211] (rows=57591150 width=8)
- Output:["_col0","_col1"]
- TableScan [TS_6] (rows=57591150 width=8)
- default@store_returns,store_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["sr_item_sk","sr_ticket_number"]
- <-Reducer 9 [ONE_TO_ONE_EDGE] vectorized
- FORWARD [RS_225]
- PartitionCols:_col1, _col0
- Select Operator [SEL_224] (rows=40539971 width=239)
- Output:["_col0","_col1","_col2","_col3","_col4"]
- Group By Operator [GBY_223] (rows=40539971 width=239)
+ Merge Join Operator [MERGEJOIN_220] (rows=203549242538 width=703)
+ Conds:RS_69._col0, _col1=RS_266._col0, _col1(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col6","_col7","_col8","_col11","_col12","_col13"]
+ <-Reducer 12 [ONE_TO_ONE_EDGE] vectorized
+ FORWARD [RS_266]
+ PartitionCols:_col0, _col1
+ Filter Operator [FIL_265] (rows=13513323 width=239)
+ predicate:(_col2 > 0L)
+ Group By Operator [GBY_264] (rows=40539971 width=239)
+ Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"],keys:KEY._col0, KEY._col1
+ <-Reducer 11 [SIMPLE_EDGE]
+ SHUFFLE [RS_62]
+ PartitionCols:_col0, _col1
+ Group By Operator [GBY_61] (rows=40539971 width=239)
+ Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col4)","sum(_col5)","sum(_col6)"],keys:_col2, _col3
+ Merge Join Operator [MERGEJOIN_218] (rows=40539971 width=235)
+ Conds:RS_227._col0=RS_58._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col6"]
+ <-Map 1 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_227]
+ PartitionCols:_col0
+ Select Operator [SEL_222] (rows=652 width=4)
+ Output:["_col0"]
+ Filter Operator [FIL_221] (rows=652 width=8)
+ predicate:(d_year = 2000)
+ TableScan [TS_0] (rows=73049 width=8)
+ default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"]
+ <-Reducer 21 [SIMPLE_EDGE]
+ SHUFFLE [RS_58]
+ PartitionCols:_col0
+ Select Operator [SEL_56] (rows=113538342 width=239)
+ Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+ Filter Operator [FIL_55] (rows=113538342 width=242)
+ predicate:_col8 is null
+ Merge Join Operator [MERGEJOIN_217] (rows=254644510 width=242)
+ Conds:RS_261._col1, _col3=RS_263._col0, _col1(Left Outer),Output:["_col0","_col1","_col2","_col4","_col5","_col6","_col8"]
+ <-Map 20 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_261]
+ PartitionCols:_col1, _col3
+ Select Operator [SEL_260] (rows=143930993 width=243)
+ Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
+ Filter Operator [FIL_259] (rows=143930993 width=243)
+ predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_57_date_dim_d_date_sk_min) AND DynamicValue(RS_57_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_57_date_dim_d_date_sk_bloom_filter))) and ws_bill_customer_sk is not null and ws_sold_date_sk is not null)
+ TableScan [TS_47] (rows=144002668 width=243)
+ default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk","ws_bill_customer_sk","ws_order_number","ws_quantity","ws_wholesale_cost","ws_sales_price"]
+ <-Reducer 13 [BROADCAST_EDGE] vectorized
+ BROADCAST [RS_258]
+ Group By Operator [GBY_257] (rows=1 width=12)
+ Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+ <-Map 1 [CUSTOM_SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_234]
+ Group By Operator [GBY_231] (rows=1 width=12)
+ Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+ Select Operator [SEL_228] (rows=652 width=4)
+ Output:["_col0"]
+ Please refer to the previous Select Operator [SEL_222]
+ <-Map 22 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_263]
+ PartitionCols:_col0, _col1
+ Select Operator [SEL_262] (rows=14398467 width=8)
+ Output:["_col0","_col1"]
+ TableScan [TS_50] (rows=14398467 width=8)
+ default@web_returns,web_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["wr_item_sk","wr_order_number"]
+ <-Reducer 4 [SIMPLE_EDGE]
+ SHUFFLE [RS_69]
+ PartitionCols:_col0, _col1
+ Merge Join Operator [MERGEJOIN_219] (rows=7613716536 width=471)
+ Conds:RS_244._col1=RS_256._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col6","_col7","_col8"]
+ <-Reducer 3 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_244]
+ PartitionCols:_col1
+ Select Operator [SEL_243] (rows=114214965 width=239)
+ Output:["_col0","_col1","_col2","_col3","_col4"]
+ Group By Operator [GBY_242] (rows=114214965 width=239)
+ Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"],keys:KEY._col0, KEY._col1
+ <-Reducer 2 [SIMPLE_EDGE]
+ SHUFFLE [RS_18]
+ PartitionCols:_col0, _col1
+ Group By Operator [GBY_17] (rows=114214965 width=239)
+ Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col4)","sum(_col5)","sum(_col6)"],keys:_col3, _col2
+ Merge Join Operator [MERGEJOIN_214] (rows=114214965 width=218)
+ Conds:RS_223._col0=RS_14._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col6"]
+ <-Map 1 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_223]
+ PartitionCols:_col0
+ Please refer to the previous Select Operator [SEL_222]
+ <-Reducer 15 [SIMPLE_EDGE]
+ SHUFFLE [RS_14]
+ PartitionCols:_col0
+ Select Operator [SEL_12] (rows=319876350 width=233)
+ Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+ Filter Operator [FIL_11] (rows=319876350 width=236)
+ predicate:_col8 is null
+ Merge Join Operator [MERGEJOIN_213] (rows=857669906 width=236)
+ Conds:RS_239._col1, _col3=RS_241._col0, _col1(Left Outer),Output:["_col0","_col1","_col2","_col4","_col5","_col6","_col8"]
+ <-Map 14 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_239]
+ PartitionCols:_col1, _col3
+ Select Operator [SEL_238] (rows=525327388 width=233)
+ Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
+ Filter Operator [FIL_237] (rows=525327388 width=233)
+ predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_13_date_dim_d_date_sk_min) AND DynamicValue(RS_13_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_13_date_dim_d_date_sk_bloom_filter))) and ss_customer_sk is not null and ss_sold_date_sk is not null)
+ TableScan [TS_3] (rows=575995635 width=233)
+ default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk","ss_ticket_number","ss_quantity","ss_wholesale_cost","ss_sales_price"]
+ <-Reducer 7 [BROADCAST_EDGE] vectorized
+ BROADCAST [RS_236]
+ Group By Operator [GBY_235] (rows=1 width=12)
+ Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+ <-Map 1 [CUSTOM_SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_232]
+ Group By Operator [GBY_229] (rows=1 width=12)
+ Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+ Select Operator [SEL_224] (rows=652 width=4)
+ Output:["_col0"]
+ Please refer to the previous Select Operator [SEL_222]
+ <-Map 16 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_241]
+ PartitionCols:_col0, _col1
+ Select Operator [SEL_240] (rows=57591150 width=8)
+ Output:["_col0","_col1"]
+ TableScan [TS_6] (rows=57591150 width=8)
+ default@store_returns,store_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["sr_item_sk","sr_ticket_number"]
+ <-Reducer 9 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_256]
+ PartitionCols:_col0
+ Select Operator [SEL_255] (rows=33694814 width=235)
+ Output:["_col0","_col1","_col2","_col3"]
+ Filter Operator [FIL_254] (rows=33694814 width=239)
+ predicate:(_col2 > 0L)
+ Select Operator [SEL_253] (rows=101084444 width=239)
+ Output:["_col1","_col2","_col3","_col4"]
+ Group By Operator [GBY_252] (rows=101084444 width=239)
Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"],keys:KEY._col0, KEY._col1
<-Reducer 8 [SIMPLE_EDGE]
SHUFFLE [RS_39]
PartitionCols:_col0, _col1
- Group By Operator [GBY_38] (rows=40539971 width=239)
- Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col4)","sum(_col5)","sum(_col6)"],keys:_col3, _col2
- Merge Join Operator [MERGEJOIN_187] (rows=40539971 width=235)
- Conds:RS_196._col0=RS_35._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col6"]
+ Group By Operator [GBY_38] (rows=101084444 width=239)
+ Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col4)","sum(_col5)","sum(_col6)"],keys:_col2, _col3
+ Merge Join Operator [MERGEJOIN_216] (rows=101084444 width=233)
+ Conds:RS_225._col0=RS_35._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col6"]
<-Map 1 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_196]
+ SHUFFLE [RS_225]
PartitionCols:_col0
- Please refer to the previous Select Operator [SEL_193]
+ Please refer to the previous Select Operator [SEL_222]
<-Reducer 18 [SIMPLE_EDGE]
SHUFFLE [RS_35]
PartitionCols:_col0
- Select Operator [SEL_33] (rows=113538342 width=239)
+ Select Operator [SEL_33] (rows=285117831 width=239)
Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
- Filter Operator [FIL_32] (rows=113538342 width=242)
+ Filter Operator [FIL_32] (rows=285117831 width=240)
predicate:_col8 is null
- Merge Join Operator [MERGEJOIN_186] (rows=254679677 width=242)
- Conds:RS_220._col1, _col3=RS_222._col0, _col1(Left Outer),Output:["_col0","_col1","_col2","_col4","_col5","_col6","_col8"]
+ Merge Join Operator [MERGEJOIN_215] (rows=466377701 width=240)
+ Conds:RS_249._col2, _col3=RS_251._col0, _col1(Left Outer),Output:["_col0","_col1","_col2","_col4","_col5","_col6","_col8"]
<-Map 17 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_220]
- PartitionCols:_col1, _col3
- Select Operator [SEL_219] (rows=143966864 width=243)
+ SHUFFLE [RS_249]
+ PartitionCols:_col2, _col3
+ Select Operator [SEL_248] (rows=285117831 width=242)
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
- Filter Operator [FIL_218] (rows=143966864 width=243)
- predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_34_date_dim_d_date_sk_min) AND DynamicValue(RS_34_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_34_date_dim_d_date_sk_bloom_filter))) and ws_sold_date_sk is not null)
- TableScan [TS_24] (rows=144002668 width=243)
- default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk","ws_bill_customer_sk","ws_order_number","ws_quantity","ws_wholesale_cost","ws_sales_price"]
+ Filter Operator [FIL_247] (rows=285117831 width=242)
+ predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_34_date_dim_d_date_sk_min) AND DynamicValue(RS_34_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_34_date_dim_d_date_sk_bloom_filter))) and cs_bill_customer_sk is not null and cs_sold_date_sk is not null)
+ TableScan [TS_24] (rows=287989836 width=242)
+ default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_item_sk","cs_order_number","cs_quantity","cs_wholesale_cost","cs_sales_price"]
<-Reducer 10 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_217]
- Group By Operator [GBY_216] (rows=1 width=12)
+ BROADCAST [RS_246]
+ Group By Operator [GBY_245] (rows=1 width=12)
Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
<-Map 1 [CUSTOM_SIMPLE_EDGE] vectorized
- SHUFFLE [RS_204]
- Group By Operator [GBY_201] (rows=1 width=12)
+ SHUFFLE [RS_233]
+ Group By Operator [GBY_230] (rows=1 width=12)
Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
- Select Operator [SEL_197] (rows=652 width=4)
+ Select Operator [SEL_226] (rows=652 width=4)
Output:["_col0"]
- Please refer to the previous Select Operator [SEL_193]
+ Please refer to the previous Select Operator [SEL_222]
<-Map 19 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_222]
+ SHUFFLE [RS_251]
PartitionCols:_col0, _col1
- Select Operator [SEL_221] (rows=14398467 width=8)
+ Select Operator [SEL_250] (rows=28798881 width=8)
Output:["_col0","_col1"]
- TableScan [TS_27] (rows=14398467 width=8)
- default@web_returns,web_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["wr_item_sk","wr_order_number"]
+ TableScan [TS_27] (rows=28798881 width=8)
+ default@catalog_returns,catalog_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["cr_item_sk","cr_order_number"]
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/query85.q.out ql/src/test/results/clientpositive/perf/tez/constraints/query85.q.out
index aeb33836cd..0bb5025bce 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/query85.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/query85.q.out
@@ -301,7 +301,7 @@ Stage-0
Select Operator [SEL_187] (rows=143931136 width=39)
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9"]
Filter Operator [FIL_186] (rows=143931136 width=243)
- predicate:(((ws_net_profit >= 100) or (ws_net_profit <= 200) or ws_net_profit is not null or (ws_net_profit <= 300) or (ws_net_profit <= 250)) and ((ws_sales_price >= 100) or (ws_sales_price <= 150) or ws_sales_price is not null or (ws_sales_price <= 200)) and (ws_sold_date_sk BETWEEN DynamicValue(RS_31_date_dim_d_date_sk_min) AND DynamicValue(RS_31_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_31_date_dim_d_date_sk_bloom_filter))) and ws_sold_date_sk is not null and ws_web_page_sk is not null)
+ predicate:(((ws_net_profit >= 100) or (ws_net_profit <= 200) or (ws_net_profit >= 150) or (ws_net_profit <= 300) or (ws_net_profit >= 50) or (ws_net_profit <= 250)) and ((ws_sales_price >= 100) or (ws_sales_price <= 150) or (ws_sales_price >= 50) or (ws_sales_price <= 100) or (ws_sales_price >= 150) or (ws_sales_price <= 200)) and (ws_sold_date_sk BETWEEN DynamicValue(RS_31_date_dim_d_date_sk_min) AND DynamicValue(RS_31_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_31_date_dim_d_date_sk_bloom_filter))) and ws_sold_date_sk is not null and ws_web_page_sk is not null)
TableScan [TS_0] (rows=144002668 width=243)
default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk","ws_web_page_sk","ws_order_number","ws_quantity","ws_sales_price","ws_net_profit"]
<-Reducer 8 [BROADCAST_EDGE] vectorized
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/query86.q.out ql/src/test/results/clientpositive/perf/tez/constraints/query86.q.out
index 638cce1b46..7c8cd43683 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/query86.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/query86.q.out
@@ -82,12 +82,12 @@ Stage-0
Select Operator [SEL_78] (rows=3060 width=490)
Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
PTF Operator [PTF_77] (rows=3060 width=302)
- Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col2 DESC NULLS LAST","partition by:":"(grouping(_col3, 1) + grouping(_col3, 0)), CASE WHEN ((grouping(_col3, 0) = 0)) THEN (_col0) ELSE (CAST( null AS STRING)) END"}]
+ Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col2 DESC NULLS LAST","partition by:":"(grouping(_col3, 1L) + grouping(_col3, 0L)), CASE WHEN ((grouping(_col3, 0L) = UDFToLong(0))) THEN (_col0) ELSE (CAST( null AS STRING)) END"}]
Select Operator [SEL_76] (rows=3060 width=302)
Output:["_col0","_col1","_col2","_col3"]
<-Reducer 4 [SIMPLE_EDGE] vectorized
SHUFFLE [RS_75]
- PartitionCols:(grouping(_col3, 1) + grouping(_col3, 0)), CASE WHEN ((grouping(_col3, 0) = 0)) THEN (_col0) ELSE (CAST( null AS STRING)) END
+ PartitionCols:(grouping(_col3, 1L) + grouping(_col3, 0L)), CASE WHEN ((grouping(_col3, 0L) = UDFToLong(0))) THEN (_col0) ELSE (CAST( null AS STRING)) END
Select Operator [SEL_74] (rows=3060 width=302)
Output:["_col0","_col1","_col2","_col3"]
Group By Operator [GBY_73] (rows=3060 width=302)
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/query87.q.out ql/src/test/results/clientpositive/perf/tez/constraints/query87.q.out
index b6d3904c1c..e747e1e59d 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/query87.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/query87.q.out
@@ -88,7 +88,7 @@ Stage-0
Output:["_col0"],aggregations:["count()"]
Select Operator [SEL_264] (rows=8062883 width=16)
Filter Operator [FIL_263] (rows=8062883 width=16)
- predicate:(((_col3 * 2) = _col4) and (_col3 > 0L))
+ predicate:(((_col3 * 2L) = _col4) and (_col3 > 0L))
Select Operator [SEL_262] (rows=48377300 width=16)
Output:["_col3","_col4"]
Group By Operator [GBY_261] (rows=48377300 width=290)
@@ -171,7 +171,7 @@ Stage-0
Select Operator [SEL_255] (rows=23390718 width=290)
Output:["_col0","_col1","_col2"]
Filter Operator [FIL_254] (rows=23390718 width=290)
- predicate:(((_col3 * 2) = _col4) and (_col3 > 0L))
+ predicate:(((_col3 * 2L) = _col4) and (_col3 > 0L))
Group By Operator [GBY_253] (rows=140344308 width=290)
Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0, KEY._col1, KEY._col2
<-Union 5 [SIMPLE_EDGE]
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/query88.q.out ql/src/test/results/clientpositive/perf/tez/constraints/query88.q.out
index 64919cafe7..ff05345222 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/query88.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/query88.q.out
@@ -320,7 +320,7 @@ Stage-0
Select Operator [SEL_660] (rows=817 width=4)
Output:["_col0"]
Filter Operator [FIL_659] (rows=817 width=12)
- predicate:((((hd_dep_count = 3) and hd_vehicle_count is not null) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and (hd_dep_count) IN (3, 0, 1) and (hd_vehicle_count <= 5))
+ predicate:((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and ((hd_vehicle_count <= 5) or (hd_vehicle_count <= 2) or (hd_vehicle_count <= 3)) and (hd_dep_count) IN (3, 0, 1))
TableScan [TS_3] (rows=7200 width=12)
default@household_demographics,household_demographics,Tbl:COMPLETE,Col:COMPLETE,Output:["hd_demo_sk","hd_dep_count","hd_vehicle_count"]
<-Map 56 [SIMPLE_EDGE] vectorized
diff --git ql/src/test/results/clientpositive/perf/tez/constraints/query89.q.out ql/src/test/results/clientpositive/perf/tez/constraints/query89.q.out
index 3049fec95c..387a7e19ca 100644
--- ql/src/test/results/clientpositive/perf/tez/constraints/query89.q.out
+++ ql/src/test/results/clientpositive/perf/tez/constraints/query89.q.out
@@ -89,7 +89,7 @@ Stage-0
Select Operator [SEL_106] (rows=4804228 width=801)
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
Filter Operator [FIL_105] (rows=4804228 width=689)
- predicate:CASE WHEN ((avg_window_0 <> 0)) THEN (((abs((_col6 - avg_window_0)) / avg_window_0) > 0.1)) ELSE (null) END
+ predicate:CASE WHEN ((avg_window_0 <> 0)) THEN (((abs((_col6 - avg_window_0)) / avg_window_0) > 0.1)) ELSE (false) END
Select Operator [SEL_104] (rows=9608456 width=577)
Output:["avg_window_0","_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
PTF Operator [PTF_103] (rows=9608456 width=577)
diff --git ql/src/test/results/clientpositive/perf/tez/query11.q.out ql/src/test/results/clientpositive/perf/tez/query11.q.out
index da1c349ff0..34e455b396 100644
--- ql/src/test/results/clientpositive/perf/tez/query11.q.out
+++ ql/src/test/results/clientpositive/perf/tez/query11.q.out
@@ -199,7 +199,7 @@ Stage-0
Select Operator [SEL_92] (rows=12248093 width=85)
Output:["_col0"]
Filter Operator [FIL_91] (rows=12248093 width=537)
- predicate:CASE WHEN (_col3 is not null) THEN (CASE WHEN (_col6) THEN (((_col1 / _col5) > (_col9 / _col3))) ELSE ((null > (_col9 / _col3))) END) ELSE (CASE WHEN (_col6) THEN (((_col1 / _col5) > null)) ELSE (null) END) END
+ predicate:CASE WHEN (_col3 is not null) THEN (CASE WHEN (_col6) THEN (((_col1 / _col5) > (_col9 / _col3))) ELSE (false) END) ELSE (false) END
Merge Join Operator [MERGEJOIN_287] (rows=24496186 width=537)
Conds:RS_88._col2=RS_351._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col8","_col9"]
<-Reducer 20 [SIMPLE_EDGE] vectorized
diff --git ql/src/test/results/clientpositive/perf/tez/query13.q.out ql/src/test/results/clientpositive/perf/tez/query13.q.out
index 60a73d7250..8344aa05d9 100644
--- ql/src/test/results/clientpositive/perf/tez/query13.q.out
+++ ql/src/test/results/clientpositive/perf/tez/query13.q.out
@@ -215,7 +215,7 @@ Stage-0
Select Operator [SEL_131] (rows=457561292 width=260)
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10","_col11","_col12","_col13"]
Filter Operator [FIL_130] (rows=457561292 width=450)
- predicate:(((ss_net_profit >= 100) or (ss_net_profit <= 200) or ss_net_profit is not null or (ss_net_profit <= 300) or (ss_net_profit <= 250)) and ((ss_sales_price >= 100) or (ss_sales_price <= 150) or ss_sales_price is not null or (ss_sales_price <= 200)) and (ss_sold_date_sk BETWEEN DynamicValue(RS_19_date_dim_d_date_sk_min) AND DynamicValue(RS_19_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_19_date_dim_d_date_sk_bloom_filter))) and ss_addr_sk is not null and ss_cdemo_sk is not null and ss_hdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
+ predicate:(((ss_net_profit >= 100) or (ss_net_profit <= 200) or (ss_net_profit >= 150) or (ss_net_profit <= 300) or (ss_net_profit >= 50) or (ss_net_profit <= 250)) and ((ss_sales_price >= 100) or (ss_sales_price <= 150) or (ss_sales_price >= 50) or (ss_sales_price <= 100) or (ss_sales_price >= 150) or (ss_sales_price <= 200)) and (ss_sold_date_sk BETWEEN DynamicValue(RS_19_date_dim_d_date_sk_min) AND DynamicValue(RS_19_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_19_date_dim_d_date_sk_bloom_filter))) and ss_addr_sk is not null and ss_cdemo_sk is not null and ss_hdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
TableScan [TS_0] (rows=575995635 width=450)
default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_cdemo_sk","ss_hdemo_sk","ss_addr_sk","ss_store_sk","ss_quantity","ss_sales_price","ss_ext_sales_price","ss_ext_wholesale_cost","ss_net_profit"]
<-Reducer 9 [BROADCAST_EDGE] vectorized
diff --git ql/src/test/results/clientpositive/perf/tez/query21.q.out ql/src/test/results/clientpositive/perf/tez/query21.q.out
index 0d10843009..28ead06f35 100644
--- ql/src/test/results/clientpositive/perf/tez/query21.q.out
+++ ql/src/test/results/clientpositive/perf/tez/query21.q.out
@@ -88,7 +88,7 @@ Stage-0
<-Reducer 5 [SIMPLE_EDGE] vectorized
SHUFFLE [RS_92]
Filter Operator [FIL_91] (rows=115991 width=216)
- predicate:(CASE WHEN ((_col2 > 0L)) THEN (((UDFToDouble(_col3) / UDFToDouble(_col2)) <= 1.5D)) ELSE (null) END and CASE WHEN ((_col2 > 0L)) THEN ((0.666667D <= (UDFToDouble(_col3) / UDFToDouble(_col2)))) ELSE (null) END)
+ predicate:(CASE WHEN ((_col2 > 0L)) THEN (((UDFToDouble(_col3) / UDFToDouble(_col2)) <= 1.5D)) ELSE (false) END and CASE WHEN ((_col2 > 0L)) THEN ((0.666667D <= (UDFToDouble(_col3) / UDFToDouble(_col2)))) ELSE (false) END)
Group By Operator [GBY_90] (rows=463966 width=216)
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0, KEY._col1
<-Reducer 4 [SIMPLE_EDGE]
diff --git ql/src/test/results/clientpositive/perf/tez/query31.q.out ql/src/test/results/clientpositive/perf/tez/query31.q.out
index c0762b7bd4..32fe126d3b 100644
--- ql/src/test/results/clientpositive/perf/tez/query31.q.out
+++ ql/src/test/results/clientpositive/perf/tez/query31.q.out
@@ -158,7 +158,7 @@ Stage-0
Select Operator [SEL_138] (rows=110 width=550)
Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
Filter Operator [FIL_136] (rows=110 width=778)
- predicate:(CASE WHEN ((_col11 > 0)) THEN (CASE WHEN (_col2) THEN (((_col6 / _col1) > (_col9 / _col11))) ELSE ((null > (_col9 / _col11))) END) ELSE (CASE WHEN (_col2) THEN (((_col6 / _col1) > null)) ELSE (null) END) END and CASE WHEN ((_col9 > 0)) THEN (CASE WHEN (_col7) THEN (((_col4 / _col6) > (_col13 / _col9))) ELSE ((null > (_col13 / _col9))) END) ELSE (CASE WHEN (_col7) THEN (((_col4 / _col6) > null)) ELSE (null) END) END)
+ predicate:(CASE WHEN ((_col11 > 0)) THEN (CASE WHEN (_col2) THEN (((_col6 / _col1) > (_col9 / _col11))) ELSE (false) END) ELSE (false) END and CASE WHEN ((_col9 > 0)) THEN (CASE WHEN (_col7) THEN (((_col4 / _col6) > (_col13 / _col9))) ELSE (false) END) ELSE (false) END)
Merge Join Operator [MERGEJOIN_450] (rows=440 width=778)
Conds:RS_133._col0=RS_134._col0(Inner),Output:["_col1","_col2","_col4","_col6","_col7","_col8","_col9","_col11","_col13"]
<-Reducer 22 [ONE_TO_ONE_EDGE]
diff --git ql/src/test/results/clientpositive/perf/tez/query34.q.out ql/src/test/results/clientpositive/perf/tez/query34.q.out
index d401e4cdc0..07de8e4410 100644
--- ql/src/test/results/clientpositive/perf/tez/query34.q.out
+++ ql/src/test/results/clientpositive/perf/tez/query34.q.out
@@ -109,7 +109,7 @@ Stage-0
SHUFFLE [RS_124]
PartitionCols:_col1
Filter Operator [FIL_123] (rows=6 width=12)
- predicate:_col2 BETWEEN 15 AND 20
+ predicate:_col2 BETWEEN 15L AND 20L
Select Operator [SEL_122] (rows=5521356 width=12)
Output:["_col0","_col1","_col2"]
Group By Operator [GBY_121] (rows=5521356 width=12)
@@ -141,7 +141,7 @@ Stage-0
Select Operator [SEL_116] (rows=480 width=4)
Output:["_col0"]
Filter Operator [FIL_115] (rows=480 width=104)
- predicate:((hd_buy_potential) IN ('>10000', 'unknown') and (hd_vehicle_count > 0) and CASE WHEN ((hd_vehicle_count > 0)) THEN (((UDFToDouble(hd_dep_count) / UDFToDouble(hd_vehicle_count)) > 1.2D)) ELSE (null) END and hd_demo_sk is not null)
+ predicate:((hd_buy_potential) IN ('>10000', 'unknown') and (hd_vehicle_count > 0) and CASE WHEN ((hd_vehicle_count > 0)) THEN (((UDFToDouble(hd_dep_count) / UDFToDouble(hd_vehicle_count)) > 1.2D)) ELSE (false) END and hd_demo_sk is not null)
TableScan [TS_9] (rows=7200 width=104)
default@household_demographics,household_demographics,Tbl:COMPLETE,Col:COMPLETE,Output:["hd_demo_sk","hd_buy_potential","hd_dep_count","hd_vehicle_count"]
<-Reducer 5 [SIMPLE_EDGE]
diff --git ql/src/test/results/clientpositive/perf/tez/query36.q.out ql/src/test/results/clientpositive/perf/tez/query36.q.out
index 064837a3cf..2204a6e1d9 100644
--- ql/src/test/results/clientpositive/perf/tez/query36.q.out
+++ ql/src/test/results/clientpositive/perf/tez/query36.q.out
@@ -93,12 +93,12 @@ Stage-0
Select Operator [SEL_105] (rows=3060 width=490)
Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
PTF Operator [PTF_104] (rows=3060 width=414)
- Function definitions:[{},{"name:":"windowingtablefunction","order by:":"(_col2 / _col3) ASC NULLS FIRST","partition by:":"(grouping(_col4, 1) + grouping(_col4, 0)), CASE WHEN ((grouping(_col4, 0) = 0)) THEN (_col0) ELSE (CAST( null AS STRING)) END"}]
+ Function definitions:[{},{"name:":"windowingtablefunction","order by:":"(_col2 / _col3) ASC NULLS FIRST","partition by:":"(grouping(_col4, 1L) + grouping(_col4, 0L)), CASE WHEN ((grouping(_col4, 0L) = UDFToLong(0))) THEN (_col0) ELSE (CAST( null AS STRING)) END"}]
Select Operator [SEL_103] (rows=3060 width=414)
Output:["_col0","_col1","_col2","_col3","_col4"]
<-Reducer 5 [SIMPLE_EDGE] vectorized
SHUFFLE [RS_102]
- PartitionCols:(grouping(_col4, 1) + grouping(_col4, 0)), CASE WHEN ((grouping(_col4, 0) = 0)) THEN (_col0) ELSE (CAST( null AS STRING)) END
+ PartitionCols:(grouping(_col4, 1L) + grouping(_col4, 0L)), CASE WHEN ((grouping(_col4, 0L) = UDFToLong(0))) THEN (_col0) ELSE (CAST( null AS STRING)) END
Select Operator [SEL_101] (rows=3060 width=414)
Output:["_col0","_col1","_col2","_col3","_col4"]
Group By Operator [GBY_100] (rows=3060 width=414)
diff --git ql/src/test/results/clientpositive/perf/tez/query4.q.out ql/src/test/results/clientpositive/perf/tez/query4.q.out
index bb0d7ba3f5..37780e832a 100644
--- ql/src/test/results/clientpositive/perf/tez/query4.q.out
+++ ql/src/test/results/clientpositive/perf/tez/query4.q.out
@@ -281,7 +281,7 @@ Stage-0
Select Operator [SEL_140] (rows=7323197 width=85)
Output:["_col0"]
Filter Operator [FIL_139] (rows=7323197 width=537)
- predicate:CASE WHEN (_col3 is not null) THEN (CASE WHEN (_col9) THEN (((_col11 / _col8) > (_col14 / _col3))) ELSE ((null > (_col14 / _col3))) END) ELSE (CASE WHEN (_col9) THEN (((_col11 / _col8) > null)) ELSE (null) END) END
+ predicate:CASE WHEN (_col3 is not null) THEN (CASE WHEN (_col9) THEN (((_col11 / _col8) > (_col14 / _col3))) ELSE (false) END) ELSE (false) END
Merge Join Operator [MERGEJOIN_472] (rows=14646395 width=537)
Conds:RS_136._col2=RS_554._col0(Inner),Output:["_col3","_col8","_col9","_col11","_col13","_col14"]
<-Reducer 30 [SIMPLE_EDGE] vectorized
@@ -345,7 +345,7 @@ Stage-0
FORWARD [RS_136]
PartitionCols:_col2
Filter Operator [FIL_135] (rows=12248093 width=668)
- predicate:CASE WHEN (_col6) THEN (CASE WHEN (_col9) THEN (((_col11 / _col8) > (_col1 / _col5))) ELSE ((null > (_col1 / _col5))) END) ELSE (CASE WHEN (_col9) THEN (((_col11 / _col8) > null)) ELSE (null) END) END
+ predicate:CASE WHEN (_col6) THEN (CASE WHEN (_col9) THEN (((_col11 / _col8) > (_col1 / _col5))) ELSE (false) END) ELSE (false) END
Merge Join Operator [MERGEJOIN_471] (rows=24496186 width=668)
Conds:RS_132._col2=RS_548._col0(Inner),Output:["_col1","_col2","_col3","_col5","_col6","_col8","_col9","_col11"]
<-Reducer 26 [SIMPLE_EDGE] vectorized
diff --git ql/src/test/results/clientpositive/perf/tez/query45.q.out ql/src/test/results/clientpositive/perf/tez/query45.q.out
index c2f9374c4b..19d74d98b7 100644
--- ql/src/test/results/clientpositive/perf/tez/query45.q.out
+++ ql/src/test/results/clientpositive/perf/tez/query45.q.out
@@ -52,15 +52,15 @@ POSTHOOK: Output: hdfs://### HDFS PATH ###
Plan optimized by CBO.
Vertex dependency in root stage
-Map 13 <- Reducer 16 (BROADCAST_EDGE)
-Reducer 10 <- Reducer 14 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
+Map 12 <- Reducer 15 (BROADCAST_EDGE)
+Reducer 10 <- Reducer 13 (SIMPLE_EDGE), Reducer 9 (SIMPLE_EDGE)
Reducer 11 <- Map 8 (SIMPLE_EDGE)
-Reducer 12 <- Map 8 (CUSTOM_SIMPLE_EDGE)
-Reducer 14 <- Map 13 (SIMPLE_EDGE), Map 15 (SIMPLE_EDGE)
-Reducer 16 <- Map 15 (CUSTOM_SIMPLE_EDGE)
+Reducer 13 <- Map 12 (SIMPLE_EDGE), Map 14 (SIMPLE_EDGE)
+Reducer 15 <- Map 14 (CUSTOM_SIMPLE_EDGE)
+Reducer 17 <- Map 16 (CUSTOM_SIMPLE_EDGE)
Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 7 (SIMPLE_EDGE)
Reducer 3 <- Reducer 10 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
-Reducer 4 <- Reducer 12 (CUSTOM_SIMPLE_EDGE), Reducer 3 (CUSTOM_SIMPLE_EDGE)
+Reducer 4 <- Reducer 17 (CUSTOM_SIMPLE_EDGE), Reducer 3 (CUSTOM_SIMPLE_EDGE)
Reducer 5 <- Reducer 4 (SIMPLE_EDGE)
Reducer 6 <- Reducer 5 (SIMPLE_EDGE)
Reducer 9 <- Map 8 (SIMPLE_EDGE), Reducer 11 (ONE_TO_ONE_EDGE)
@@ -82,101 +82,101 @@ Stage-0
<-Reducer 4 [SIMPLE_EDGE]
SHUFFLE [RS_53]
PartitionCols:_col0, _col1
- Group By Operator [GBY_52] (rows=4858260 width=299)
+ Group By Operator [GBY_52] (rows=3715140 width=299)
Output:["_col0","_col1","_col2"],aggregations:["sum(_col3)"],keys:_col8, _col7
- Top N Key Operator [TNK_82] (rows=10246864 width=418)
+ Top N Key Operator [TNK_82] (rows=10246864 width=310)
keys:_col8, _col7,sort order:++,top n:100
- Select Operator [SEL_51] (rows=10246864 width=418)
+ Select Operator [SEL_51] (rows=10246864 width=310)
Output:["_col3","_col7","_col8"]
- Filter Operator [FIL_50] (rows=10246864 width=418)
- predicate:((substr(_col8, 1, 5)) IN ('85669', '86197', '88274', '83405', '86475', '85392', '85460', '80348', '81792') or CASE WHEN ((_col14 = 0L)) THEN (false) WHEN (_col17 is not null) THEN (true) WHEN (_col13 is null) THEN (null) WHEN ((_col15 < _col14)) THEN (null) ELSE (false) END)
- Select Operator [SEL_49] (rows=10246864 width=418)
- Output:["_col3","_col7","_col8","_col13","_col14","_col15","_col17"]
- Merge Join Operator [MERGEJOIN_133] (rows=10246864 width=418)
- Conds:(Inner),Output:["_col3","_col4","_col6","_col8","_col12","_col16","_col17"]
- <-Reducer 12 [CUSTOM_SIMPLE_EDGE] vectorized
+ Filter Operator [FIL_50] (rows=10246864 width=310)
+ predicate:(((_col14 <> 0L) and _col16 is not null) or (substr(_col8, 1, 5)) IN ('85669', '86197', '88274', '83405', '86475', '85392', '85460', '80348', '81792'))
+ Select Operator [SEL_49] (rows=10246864 width=310)
+ Output:["_col3","_col7","_col8","_col14","_col16"]
+ Merge Join Operator [MERGEJOIN_133] (rows=10246864 width=310)
+ Conds:(Inner),Output:["_col3","_col4","_col8","_col12","_col16"]
+ <-Reducer 17 [CUSTOM_SIMPLE_EDGE] vectorized
PARTITION_ONLY_SHUFFLE [RS_166]
- Group By Operator [GBY_165] (rows=1 width=16)
- Output:["_col0","_col1"],aggregations:["count(VALUE._col0)","count(VALUE._col1)"]
- <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
- SHUFFLE [RS_150]
- Group By Operator [GBY_148] (rows=1 width=16)
- Output:["_col0","_col1"],aggregations:["count()","count(i_item_id)"]
- Select Operator [SEL_145] (rows=11 width=104)
- Output:["i_item_id"]
- Filter Operator [FIL_142] (rows=11 width=104)
+ Group By Operator [GBY_165] (rows=1 width=8)
+ Output:["_col0"],aggregations:["count(VALUE._col0)"]
+ <-Map 16 [CUSTOM_SIMPLE_EDGE] vectorized
+ PARTITION_ONLY_SHUFFLE [RS_164]
+ Group By Operator [GBY_163] (rows=1 width=8)
+ Output:["_col0"],aggregations:["count()"]
+ Select Operator [SEL_162] (rows=11 width=4)
+ Filter Operator [FIL_161] (rows=11 width=4)
predicate:(i_item_sk) IN (2, 3, 5, 7, 11, 13, 17, 19, 23, 29)
- TableScan [TS_6] (rows=462000 width=104)
- default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_item_id"]
+ TableScan [TS_33] (rows=462000 width=4)
+ default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk"]
<-Reducer 3 [CUSTOM_SIMPLE_EDGE]
PARTITION_ONLY_SHUFFLE [RS_46]
- Merge Join Operator [MERGEJOIN_132] (rows=10246864 width=402)
- Conds:RS_43._col0=RS_44._col6(Inner),Output:["_col3","_col4","_col6","_col8","_col12"]
+ Merge Join Operator [MERGEJOIN_132] (rows=10246864 width=302)
+ Conds:RS_43._col0=RS_44._col6(Inner),Output:["_col3","_col4","_col8","_col12"]
<-Reducer 10 [SIMPLE_EDGE]
SHUFFLE [RS_44]
PartitionCols:_col6
- Merge Join Operator [MERGEJOIN_131] (rows=10246864 width=219)
- Conds:RS_29._col0=RS_30._col1(Inner),Output:["_col1","_col3","_col6","_col7"]
- <-Reducer 14 [SIMPLE_EDGE]
+ Merge Join Operator [MERGEJOIN_131] (rows=10246864 width=119)
+ Conds:RS_29._col0=RS_30._col1(Inner),Output:["_col3","_col6","_col7"]
+ <-Reducer 13 [SIMPLE_EDGE]
SHUFFLE [RS_30]
PartitionCols:_col1
Merge Join Operator [MERGEJOIN_130] (rows=10246864 width=119)
- Conds:RS_164._col0=RS_156._col0(Inner),Output:["_col1","_col2","_col3"]
- <-Map 15 [SIMPLE_EDGE] vectorized
- PARTITION_ONLY_SHUFFLE [RS_156]
+ Conds:RS_160._col0=RS_152._col0(Inner),Output:["_col1","_col2","_col3"]
+ <-Map 14 [SIMPLE_EDGE] vectorized
+ PARTITION_ONLY_SHUFFLE [RS_152]
PartitionCols:_col0
- Select Operator [SEL_155] (rows=130 width=12)
+ Select Operator [SEL_151] (rows=130 width=12)
Output:["_col0"]
- Filter Operator [FIL_154] (rows=130 width=12)
+ Filter Operator [FIL_150] (rows=130 width=12)
predicate:((d_qoy = 2) and (d_year = 2000) and d_date_sk is not null)
TableScan [TS_19] (rows=73049 width=12)
default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_qoy"]
- <-Map 13 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_164]
+ <-Map 12 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_160]
PartitionCols:_col0
- Select Operator [SEL_163] (rows=143930993 width=123)
+ Select Operator [SEL_159] (rows=143930993 width=123)
Output:["_col0","_col1","_col2","_col3"]
- Filter Operator [FIL_162] (rows=143930993 width=123)
+ Filter Operator [FIL_158] (rows=143930993 width=123)
predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_23_date_dim_d_date_sk_min) AND DynamicValue(RS_23_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_23_date_dim_d_date_sk_bloom_filter))) and ws_bill_customer_sk is not null and ws_item_sk is not null and ws_sold_date_sk is not null)
TableScan [TS_16] (rows=144002668 width=123)
default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk","ws_bill_customer_sk","ws_sales_price"]
- <-Reducer 16 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_161]
- Group By Operator [GBY_160] (rows=1 width=12)
+ <-Reducer 15 [BROADCAST_EDGE] vectorized
+ BROADCAST [RS_157]
+ Group By Operator [GBY_156] (rows=1 width=12)
Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
- <-Map 15 [CUSTOM_SIMPLE_EDGE] vectorized
- PARTITION_ONLY_SHUFFLE [RS_159]
- Group By Operator [GBY_158] (rows=1 width=12)
+ <-Map 14 [CUSTOM_SIMPLE_EDGE] vectorized
+ PARTITION_ONLY_SHUFFLE [RS_155]
+ Group By Operator [GBY_154] (rows=1 width=12)
Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
- Select Operator [SEL_157] (rows=130 width=4)
+ Select Operator [SEL_153] (rows=130 width=4)
Output:["_col0"]
- Please refer to the previous Select Operator [SEL_155]
+ Please refer to the previous Select Operator [SEL_151]
<-Reducer 9 [SIMPLE_EDGE]
SHUFFLE [RS_29]
PartitionCols:_col0
- Merge Join Operator [MERGEJOIN_129] (rows=462007 width=104)
- Conds:RS_146._col1=RS_153._col0(Left Outer),Output:["_col0","_col1","_col3"]
+ Merge Join Operator [MERGEJOIN_129] (rows=462007 width=4)
+ Conds:RS_144._col1=RS_149._col0(Left Outer),Output:["_col0","_col3"]
<-Map 8 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_146]
+ SHUFFLE [RS_144]
PartitionCols:_col1
- Select Operator [SEL_143] (rows=462000 width=104)
+ Select Operator [SEL_142] (rows=462000 width=104)
Output:["_col0","_col1"]
Filter Operator [FIL_140] (rows=462000 width=104)
predicate:i_item_sk is not null
- Please refer to the previous TableScan [TS_6]
+ TableScan [TS_6] (rows=462000 width=104)
+ default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_item_id"]
<-Reducer 11 [ONE_TO_ONE_EDGE] vectorized
- FORWARD [RS_153]
+ FORWARD [RS_149]
PartitionCols:_col0
- Select Operator [SEL_152] (rows=5 width=104)
+ Select Operator [SEL_148] (rows=5 width=104)
Output:["_col0","_col1"]
- Group By Operator [GBY_151] (rows=5 width=100)
+ Group By Operator [GBY_147] (rows=5 width=100)
Output:["_col0"],keys:KEY._col0
<-Map 8 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_149]
+ SHUFFLE [RS_146]
PartitionCols:_col0
- Group By Operator [GBY_147] (rows=5 width=100)
+ Group By Operator [GBY_145] (rows=5 width=100)
Output:["_col0"],keys:i_item_id
- Select Operator [SEL_144] (rows=11 width=104)
+ Select Operator [SEL_143] (rows=11 width=104)
Output:["i_item_id"]
Filter Operator [FIL_141] (rows=11 width=104)
predicate:(i_item_sk) IN (2, 3, 5, 7, 11, 13, 17, 19, 23, 29)
diff --git ql/src/test/results/clientpositive/perf/tez/query47.q.out ql/src/test/results/clientpositive/perf/tez/query47.q.out
index 04c64b405f..c5d35fbe8d 100644
--- ql/src/test/results/clientpositive/perf/tez/query47.q.out
+++ ql/src/test/results/clientpositive/perf/tez/query47.q.out
@@ -241,7 +241,7 @@ Stage-0
Select Operator [SEL_317] (rows=241454 width=605)
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
Filter Operator [FIL_316] (rows=241454 width=605)
- predicate:CASE WHEN ((_col0 > 0)) THEN (((abs((_col7 - _col0)) / _col0) > 0.1)) ELSE (null) END
+ predicate:CASE WHEN ((_col0 > 0)) THEN (((abs((_col7 - _col0)) / _col0) > 0.1)) ELSE (false) END
Select Operator [SEL_315] (rows=482909 width=601)
Output:["rank_window_1","_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
Filter Operator [FIL_314] (rows=482909 width=601)
diff --git ql/src/test/results/clientpositive/perf/tez/query48.q.out ql/src/test/results/clientpositive/perf/tez/query48.q.out
index d64eec1c74..980b69906f 100644
--- ql/src/test/results/clientpositive/perf/tez/query48.q.out
+++ ql/src/test/results/clientpositive/perf/tez/query48.q.out
@@ -224,7 +224,7 @@ Stage-0
Select Operator [SEL_106] (rows=159705893 width=31)
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
Filter Operator [FIL_105] (rows=159705893 width=233)
- predicate:(((ss_net_profit >= 0) or (ss_net_profit <= 2000) or ss_net_profit is not null or (ss_net_profit <= 3000) or (ss_net_profit <= 25000)) and ((ss_sales_price >= 100) or (ss_sales_price <= 150) or ss_sales_price is not null or (ss_sales_price <= 200)) and (ss_sales_price BETWEEN 100 AND 150 or ss_sales_price BETWEEN 50 AND 100 or ss_sales_price BETWEEN 150 AND 200) and (ss_sold_date_sk BETWEEN DynamicValue(RS_16_date_dim_d_date_sk_min) AND DynamicValue(RS_16_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_16_date_dim_d_date_sk_bloom_filter))) and ss_addr_sk is not null and ss_cdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
+ predicate:(((ss_net_profit >= 0) or (ss_net_profit <= 2000) or (ss_net_profit >= 150) or (ss_net_profit <= 3000) or (ss_net_profit >= 50) or (ss_net_profit <= 25000)) and ((ss_sales_price >= 100) or (ss_sales_price <= 150) or (ss_sales_price >= 50) or (ss_sales_price <= 100) or (ss_sales_price >= 150) or (ss_sales_price <= 200)) and (ss_sales_price BETWEEN 100 AND 150 or ss_sales_price BETWEEN 50 AND 100 or ss_sales_price BETWEEN 150 AND 200) and (ss_sold_date_sk BETWEEN DynamicValue(RS_16_date_dim_d_date_sk_min) AND DynamicValue(RS_16_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_16_date_dim_d_date_sk_bloom_filter))) and ss_addr_sk is not null and ss_cdemo_sk is not null and ss_sold_date_sk is not null and ss_store_sk is not null)
TableScan [TS_0] (rows=575995635 width=233)
default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_cdemo_sk","ss_addr_sk","ss_store_sk","ss_quantity","ss_sales_price","ss_net_profit"]
<-Reducer 8 [BROADCAST_EDGE] vectorized
diff --git ql/src/test/results/clientpositive/perf/tez/query53.q.out ql/src/test/results/clientpositive/perf/tez/query53.q.out
index e9153f3a06..6cd8a7dd2d 100644
--- ql/src/test/results/clientpositive/perf/tez/query53.q.out
+++ ql/src/test/results/clientpositive/perf/tez/query53.q.out
@@ -88,7 +88,7 @@ Stage-0
Select Operator [SEL_30] (rows=25 width=228)
Output:["_col0","_col1","_col2"]
Filter Operator [FIL_46] (rows=25 width=228)
- predicate:CASE WHEN ((avg_window_0 > 0)) THEN (((abs((_col2 - avg_window_0)) / avg_window_0) > 0.1)) ELSE (null) END
+ predicate:CASE WHEN ((avg_window_0 > 0)) THEN (((abs((_col2 - avg_window_0)) / avg_window_0) > 0.1)) ELSE (false) END
Select Operator [SEL_29] (rows=50 width=116)
Output:["avg_window_0","_col0","_col2"]
PTF Operator [PTF_28] (rows=50 width=116)
diff --git ql/src/test/results/clientpositive/perf/tez/query57.q.out ql/src/test/results/clientpositive/perf/tez/query57.q.out
index 4a18880260..a85df5665b 100644
--- ql/src/test/results/clientpositive/perf/tez/query57.q.out
+++ ql/src/test/results/clientpositive/perf/tez/query57.q.out
@@ -235,7 +235,7 @@ Stage-0
Select Operator [SEL_317] (rows=130121 width=524)
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
Filter Operator [FIL_316] (rows=130121 width=524)
- predicate:CASE WHEN ((_col0 > 0)) THEN (((abs((_col6 - _col0)) / _col0) > 0.1)) ELSE (null) END
+ predicate:CASE WHEN ((_col0 > 0)) THEN (((abs((_col6 - _col0)) / _col0) > 0.1)) ELSE (false) END
Select Operator [SEL_315] (rows=260242 width=520)
Output:["rank_window_1","_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
Filter Operator [FIL_314] (rows=260242 width=520)
diff --git ql/src/test/results/clientpositive/perf/tez/query63.q.out ql/src/test/results/clientpositive/perf/tez/query63.q.out
index 0bdd48b728..2627d805e3 100644
--- ql/src/test/results/clientpositive/perf/tez/query63.q.out
+++ ql/src/test/results/clientpositive/perf/tez/query63.q.out
@@ -90,7 +90,7 @@ Stage-0
Select Operator [SEL_30] (rows=65 width=228)
Output:["_col0","_col1","_col2"]
Filter Operator [FIL_46] (rows=65 width=228)
- predicate:CASE WHEN ((avg_window_0 > 0)) THEN (((abs((_col2 - avg_window_0)) / avg_window_0) > 0.1)) ELSE (null) END
+ predicate:CASE WHEN ((avg_window_0 > 0)) THEN (((abs((_col2 - avg_window_0)) / avg_window_0) > 0.1)) ELSE (false) END
Select Operator [SEL_29] (rows=130 width=116)
Output:["avg_window_0","_col0","_col2"]
PTF Operator [PTF_28] (rows=130 width=116)
diff --git ql/src/test/results/clientpositive/perf/tez/query70.q.out ql/src/test/results/clientpositive/perf/tez/query70.q.out
index 8d9d06dd48..de4ac53e9b 100644
--- ql/src/test/results/clientpositive/perf/tez/query70.q.out
+++ ql/src/test/results/clientpositive/perf/tez/query70.q.out
@@ -110,12 +110,12 @@ Stage-0
Select Operator [SEL_165] (rows=720 width=492)
Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
PTF Operator [PTF_164] (rows=720 width=304)
- Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col2 DESC NULLS LAST","partition by:":"(grouping(_col3, 1) + grouping(_col3, 0)), CASE WHEN ((grouping(_col3, 0) = 0)) THEN (_col0) ELSE (CAST( null AS STRING)) END"}]
+ Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col2 DESC NULLS LAST","partition by:":"(grouping(_col3, 1L) + grouping(_col3, 0L)), CASE WHEN ((grouping(_col3, 0L) = UDFToLong(0))) THEN (_col0) ELSE (CAST( null AS STRING)) END"}]
Select Operator [SEL_163] (rows=720 width=304)
Output:["_col0","_col1","_col2","_col3"]
<-Reducer 5 [SIMPLE_EDGE] vectorized
SHUFFLE [RS_162]
- PartitionCols:(grouping(_col3, 1) + grouping(_col3, 0)), CASE WHEN ((grouping(_col3, 0) = 0)) THEN (_col0) ELSE (CAST( null AS STRING)) END
+ PartitionCols:(grouping(_col3, 1L) + grouping(_col3, 0L)), CASE WHEN ((grouping(_col3, 0L) = UDFToLong(0))) THEN (_col0) ELSE (CAST( null AS STRING)) END
Select Operator [SEL_161] (rows=720 width=304)
Output:["_col0","_col1","_col2","_col3"]
Group By Operator [GBY_160] (rows=720 width=304)
diff --git ql/src/test/results/clientpositive/perf/tez/query73.q.out ql/src/test/results/clientpositive/perf/tez/query73.q.out
index 352c7245ea..8f5fae69ac 100644
--- ql/src/test/results/clientpositive/perf/tez/query73.q.out
+++ ql/src/test/results/clientpositive/perf/tez/query73.q.out
@@ -103,7 +103,7 @@ Stage-0
SHUFFLE [RS_124]
PartitionCols:_col1
Filter Operator [FIL_123] (rows=5 width=12)
- predicate:_col2 BETWEEN 1 AND 5
+ predicate:_col2 BETWEEN 1L AND 5L
Select Operator [SEL_122] (rows=788766 width=12)
Output:["_col0","_col1","_col2"]
Group By Operator [GBY_121] (rows=788766 width=12)
@@ -135,7 +135,7 @@ Stage-0
Select Operator [SEL_116] (rows=480 width=4)
Output:["_col0"]
Filter Operator [FIL_115] (rows=480 width=104)
- predicate:((hd_buy_potential) IN ('>10000', 'unknown') and (hd_vehicle_count > 0) and CASE WHEN ((hd_vehicle_count > 0)) THEN (((UDFToDouble(hd_dep_count) / UDFToDouble(hd_vehicle_count)) > 1.0D)) ELSE (null) END and hd_demo_sk is not null)
+ predicate:((hd_buy_potential) IN ('>10000', 'unknown') and (hd_vehicle_count > 0) and CASE WHEN ((hd_vehicle_count > 0)) THEN (((UDFToDouble(hd_dep_count) / UDFToDouble(hd_vehicle_count)) > 1.0D)) ELSE (false) END and hd_demo_sk is not null)
TableScan [TS_9] (rows=7200 width=104)
default@household_demographics,household_demographics,Tbl:COMPLETE,Col:COMPLETE,Output:["hd_demo_sk","hd_buy_potential","hd_dep_count","hd_vehicle_count"]
<-Reducer 5 [SIMPLE_EDGE]
diff --git ql/src/test/results/clientpositive/perf/tez/query74.q.out ql/src/test/results/clientpositive/perf/tez/query74.q.out
index 20aade2974..e5d4fb3daa 100644
--- ql/src/test/results/clientpositive/perf/tez/query74.q.out
+++ ql/src/test/results/clientpositive/perf/tez/query74.q.out
@@ -171,7 +171,7 @@ Stage-0
Select Operator [SEL_92] (rows=12248093 width=280)
Output:["_col0","_col1","_col2"]
Filter Operator [FIL_91] (rows=12248093 width=732)
- predicate:CASE WHEN (_col3 is not null) THEN (CASE WHEN (_col6) THEN (((_col1 / _col5) > (_col10 / _col3))) ELSE ((null > (_col10 / _col3))) END) ELSE (CASE WHEN (_col6) THEN (((_col1 / _col5) > null)) ELSE (null) END) END
+ predicate:CASE WHEN (_col3 is not null) THEN (CASE WHEN (_col6) THEN (((_col1 / _col5) > (_col10 / _col3))) ELSE (false) END) ELSE (false) END
Merge Join Operator [MERGEJOIN_287] (rows=24496186 width=732)
Conds:RS_88._col2=RS_350._col0(Inner),Output:["_col1","_col3","_col5","_col6","_col7","_col8","_col9","_col10"]
<-Reducer 20 [SIMPLE_EDGE] vectorized
diff --git ql/src/test/results/clientpositive/perf/tez/query78.q.out ql/src/test/results/clientpositive/perf/tez/query78.q.out
index 3d938e1c8e..ba1d91ebcd 100644
--- ql/src/test/results/clientpositive/perf/tez/query78.q.out
+++ ql/src/test/results/clientpositive/perf/tez/query78.q.out
@@ -155,191 +155,199 @@ Stage-0
limit:100
Stage-1
Reducer 6 vectorized
- File Output Operator [FS_238]
- Limit [LIM_237] (rows=100 width=484)
+ File Output Operator [FS_276]
+ Limit [LIM_275] (rows=100 width=484)
Number of rows:100
- Select Operator [SEL_236] (rows=232433056973 width=483)
+ Select Operator [SEL_274] (rows=203549242531 width=483)
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9"]
<-Reducer 5 [SIMPLE_EDGE]
- SHUFFLE [RS_73]
- Select Operator [SEL_72] (rows=232433056973 width=719)
- Output:["_col0","_col1","_col6","_col7","_col8","_col9","_col10","_col11","_col12"]
- Filter Operator [FIL_71] (rows=232433056973 width=701)
- predicate:CASE WHEN (_col11 is not null) THEN ((_col11 > 0L)) ELSE (false) END
- Merge Join Operator [MERGEJOIN_191] (rows=464866113946 width=701)
- Conds:RS_68._col1=RS_235._col0(Left Outer),Output:["_col0","_col1","_col2","_col3","_col4","_col7","_col8","_col9","_col11","_col12","_col13"]
- <-Reducer 12 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_235]
- PartitionCols:_col0
- Select Operator [SEL_234] (rows=50796051 width=235)
- Output:["_col0","_col1","_col2","_col3"]
- Group By Operator [GBY_233] (rows=50796051 width=239)
- Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"],keys:KEY._col0, KEY._col1
- <-Reducer 11 [SIMPLE_EDGE]
- SHUFFLE [RS_65]
- PartitionCols:_col0, _col1
- Group By Operator [GBY_64] (rows=50796051 width=239)
- Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col4)","sum(_col5)","sum(_col6)"],keys:_col2, _col3
- Merge Join Operator [MERGEJOIN_189] (rows=50796051 width=233)
- Conds:RS_198._col0=RS_61._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col6"]
- <-Map 1 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_198]
- PartitionCols:_col0
- Select Operator [SEL_193] (rows=652 width=4)
- Output:["_col0"]
- Filter Operator [FIL_192] (rows=652 width=8)
- predicate:((d_year = 2000) and d_date_sk is not null)
- TableScan [TS_0] (rows=73049 width=8)
- default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"]
- <-Reducer 21 [SIMPLE_EDGE]
- SHUFFLE [RS_61]
- PartitionCols:_col0
- Select Operator [SEL_59] (rows=143274863 width=239)
- Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
- Filter Operator [FIL_58] (rows=143274863 width=240)
- predicate:_col8 is null
- Merge Join Operator [MERGEJOIN_188] (rows=234359952 width=240)
- Conds:RS_230._col2, _col3=RS_232._col0, _col1(Left Outer),Output:["_col0","_col1","_col2","_col4","_col5","_col6","_col8"]
- <-Map 20 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_230]
- PartitionCols:_col2, _col3
- Select Operator [SEL_229] (rows=143274863 width=242)
- Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
- Filter Operator [FIL_228] (rows=143274863 width=242)
- predicate:((cs_item_sk = cs_item_sk) and (cs_sold_date_sk BETWEEN DynamicValue(RS_60_date_dim_d_date_sk_min) AND DynamicValue(RS_60_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_60_date_dim_d_date_sk_bloom_filter))) and cs_sold_date_sk is not null)
- TableScan [TS_50] (rows=287989836 width=242)
- default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_item_sk","cs_order_number","cs_quantity","cs_wholesale_cost","cs_sales_price"]
- <-Reducer 13 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_227]
- Group By Operator [GBY_226] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
- <-Map 1 [CUSTOM_SIMPLE_EDGE] vectorized
- SHUFFLE [RS_205]
- Group By Operator [GBY_202] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
- Select Operator [SEL_199] (rows=652 width=4)
- Output:["_col0"]
- Please refer to the previous Select Operator [SEL_193]
- <-Map 22 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_232]
- PartitionCols:_col0, _col1
- Select Operator [SEL_231] (rows=28798881 width=8)
- Output:["_col0","_col1"]
- TableScan [TS_53] (rows=28798881 width=8)
- default@catalog_returns,catalog_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["cr_item_sk","cr_order_number"]
- <-Reducer 4 [SIMPLE_EDGE]
- SHUFFLE [RS_68]
- PartitionCols:_col1
- Filter Operator [FIL_45] (rows=4580227799 width=471)
- predicate:CASE WHEN (_col7 is not null) THEN ((_col7 > 0L)) ELSE (false) END
- Merge Join Operator [MERGEJOIN_190] (rows=9160455599 width=471)
- Conds:RS_215._col1, _col0=RS_225._col1, _col0(Left Outer),Output:["_col0","_col1","_col2","_col3","_col4","_col7","_col8","_col9"]
- <-Reducer 3 [ONE_TO_ONE_EDGE] vectorized
- FORWARD [RS_215]
- PartitionCols:_col1, _col0
- Select Operator [SEL_214] (rows=114214965 width=239)
- Output:["_col0","_col1","_col2","_col3","_col4"]
- Group By Operator [GBY_213] (rows=114214965 width=239)
- Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"],keys:KEY._col0, KEY._col1
- <-Reducer 2 [SIMPLE_EDGE]
- SHUFFLE [RS_18]
- PartitionCols:_col0, _col1
- Group By Operator [GBY_17] (rows=114214965 width=239)
- Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col4)","sum(_col5)","sum(_col6)"],keys:_col3, _col2
- Merge Join Operator [MERGEJOIN_185] (rows=114214965 width=217)
- Conds:RS_194._col0=RS_14._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col6"]
- <-Map 1 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_194]
- PartitionCols:_col0
- Please refer to the previous Select Operator [SEL_193]
- <-Reducer 15 [SIMPLE_EDGE]
- SHUFFLE [RS_14]
- PartitionCols:_col0
- Select Operator [SEL_12] (rows=319876350 width=233)
- Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
- Filter Operator [FIL_11] (rows=319876350 width=235)
- predicate:_col8 is null
- Merge Join Operator [MERGEJOIN_184] (rows=883006376 width=235)
- Conds:RS_210._col1, _col3=RS_212._col0, _col1(Left Outer),Output:["_col0","_col1","_col2","_col4","_col5","_col6","_col8"]
- <-Map 14 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_210]
- PartitionCols:_col1, _col3
- Select Operator [SEL_209] (rows=550076554 width=233)
- Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
- Filter Operator [FIL_208] (rows=550076554 width=233)
- predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_13_date_dim_d_date_sk_min) AND DynamicValue(RS_13_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_13_date_dim_d_date_sk_bloom_filter))) and ss_sold_date_sk is not null)
- TableScan [TS_3] (rows=575995635 width=233)
- default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk","ss_ticket_number","ss_quantity","ss_wholesale_cost","ss_sales_price"]
- <-Reducer 7 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_207]
- Group By Operator [GBY_206] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
- <-Map 1 [CUSTOM_SIMPLE_EDGE] vectorized
- SHUFFLE [RS_203]
- Group By Operator [GBY_200] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
- Select Operator [SEL_195] (rows=652 width=4)
- Output:["_col0"]
- Please refer to the previous Select Operator [SEL_193]
- <-Map 16 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_212]
- PartitionCols:_col0, _col1
- Select Operator [SEL_211] (rows=57591150 width=8)
- Output:["_col0","_col1"]
- TableScan [TS_6] (rows=57591150 width=8)
- default@store_returns,store_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["sr_item_sk","sr_ticket_number"]
- <-Reducer 9 [ONE_TO_ONE_EDGE] vectorized
- FORWARD [RS_225]
- PartitionCols:_col1, _col0
- Select Operator [SEL_224] (rows=40539971 width=239)
- Output:["_col0","_col1","_col2","_col3","_col4"]
- Group By Operator [GBY_223] (rows=40539971 width=239)
- Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"],keys:KEY._col0, KEY._col1
- <-Reducer 8 [SIMPLE_EDGE]
- SHUFFLE [RS_39]
- PartitionCols:_col0, _col1
- Group By Operator [GBY_38] (rows=40539971 width=239)
- Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col4)","sum(_col5)","sum(_col6)"],keys:_col3, _col2
- Merge Join Operator [MERGEJOIN_187] (rows=40539971 width=235)
- Conds:RS_196._col0=RS_35._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col6"]
- <-Map 1 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_196]
- PartitionCols:_col0
- Please refer to the previous Select Operator [SEL_193]
- <-Reducer 18 [SIMPLE_EDGE]
- SHUFFLE [RS_35]
- PartitionCols:_col0
- Select Operator [SEL_33] (rows=113538342 width=239)
- Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
- Filter Operator [FIL_32] (rows=113538342 width=242)
- predicate:_col8 is null
- Merge Join Operator [MERGEJOIN_186] (rows=254679677 width=242)
- Conds:RS_220._col1, _col3=RS_222._col0, _col1(Left Outer),Output:["_col0","_col1","_col2","_col4","_col5","_col6","_col8"]
- <-Map 17 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_220]
- PartitionCols:_col1, _col3
- Select Operator [SEL_219] (rows=143966864 width=243)
- Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
- Filter Operator [FIL_218] (rows=143966864 width=243)
- predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_34_date_dim_d_date_sk_min) AND DynamicValue(RS_34_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_34_date_dim_d_date_sk_bloom_filter))) and ws_sold_date_sk is not null)
- TableScan [TS_24] (rows=144002668 width=243)
- default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk","ws_bill_customer_sk","ws_order_number","ws_quantity","ws_wholesale_cost","ws_sales_price"]
- <-Reducer 10 [BROADCAST_EDGE] vectorized
- BROADCAST [RS_217]
- Group By Operator [GBY_216] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
- <-Map 1 [CUSTOM_SIMPLE_EDGE] vectorized
- SHUFFLE [RS_204]
- Group By Operator [GBY_201] (rows=1 width=12)
- Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
- Select Operator [SEL_197] (rows=652 width=4)
- Output:["_col0"]
- Please refer to the previous Select Operator [SEL_193]
- <-Map 19 [SIMPLE_EDGE] vectorized
- SHUFFLE [RS_222]
- PartitionCols:_col0, _col1
- Select Operator [SEL_221] (rows=14398467 width=8)
- Output:["_col0","_col1"]
- TableScan [TS_27] (rows=14398467 width=8)
+ SHUFFLE [RS_76]
+ Select Operator [SEL_75] (rows=203549242531 width=719)
+ Output:["_col0","_col1","_col2","_col6","_col7","_col8","_col9","_col10","_col11","_col12"]
+ Merge Join Operator [MERGEJOIN_223] (rows=203549242531 width=715)
+ Conds:RS_72._col1=RS_273._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col7","_col8","_col9","_col11","_col12","_col13","_col14","_col15"]
+ <-Reducer 12 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_273]
+ PartitionCols:_col0
+ Select Operator [SEL_272] (rows=33694814 width=247)
+ Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+ Filter Operator [FIL_271] (rows=33694814 width=239)
+ predicate:(_col2 > 0L)
+ Select Operator [SEL_270] (rows=101084444 width=239)
+ Output:["_col1","_col2","_col3","_col4"]
+ Group By Operator [GBY_269] (rows=101084444 width=239)
+ Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"],keys:KEY._col0, KEY._col1
+ <-Reducer 11 [SIMPLE_EDGE]
+ SHUFFLE [RS_64]
+ PartitionCols:_col0, _col1
+ Group By Operator [GBY_63] (rows=101084444 width=239)
+ Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col4)","sum(_col5)","sum(_col6)"],keys:_col2, _col3
+ Merge Join Operator [MERGEJOIN_221] (rows=101084444 width=233)
+ Conds:RS_230._col0=RS_60._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col6"]
+ <-Map 1 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_230]
+ PartitionCols:_col0
+ Select Operator [SEL_225] (rows=652 width=4)
+ Output:["_col0"]
+ Filter Operator [FIL_224] (rows=652 width=8)
+ predicate:((d_year = 2000) and d_date_sk is not null)
+ TableScan [TS_0] (rows=73049 width=8)
+ default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year"]
+ <-Reducer 21 [SIMPLE_EDGE]
+ SHUFFLE [RS_60]
+ PartitionCols:_col0
+ Select Operator [SEL_58] (rows=285117831 width=239)
+ Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+ Filter Operator [FIL_57] (rows=285117831 width=240)
+ predicate:_col8 is null
+ Merge Join Operator [MERGEJOIN_220] (rows=466377701 width=240)
+ Conds:RS_265._col2, _col3=RS_268._col0, _col1(Left Outer),Output:["_col0","_col1","_col2","_col4","_col5","_col6","_col8"]
+ <-Map 20 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_265]
+ PartitionCols:_col2, _col3
+ Select Operator [SEL_264] (rows=285117831 width=242)
+ Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
+ Filter Operator [FIL_263] (rows=285117831 width=242)
+ predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_59_date_dim_d_date_sk_min) AND DynamicValue(RS_59_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_59_date_dim_d_date_sk_bloom_filter))) and cs_bill_customer_sk is not null and cs_item_sk is not null and cs_sold_date_sk is not null)
+ TableScan [TS_48] (rows=287989836 width=242)
+ default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_bill_customer_sk","cs_item_sk","cs_order_number","cs_quantity","cs_wholesale_cost","cs_sales_price"]
+ <-Reducer 13 [BROADCAST_EDGE] vectorized
+ BROADCAST [RS_262]
+ Group By Operator [GBY_261] (rows=1 width=12)
+ Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+ <-Map 1 [CUSTOM_SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_237]
+ Group By Operator [GBY_234] (rows=1 width=12)
+ Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+ Select Operator [SEL_231] (rows=652 width=4)
+ Output:["_col0"]
+ Please refer to the previous Select Operator [SEL_225]
+ <-Map 22 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_268]
+ PartitionCols:_col0, _col1
+ Select Operator [SEL_267] (rows=28798881 width=8)
+ Output:["_col0","_col1"]
+ Filter Operator [FIL_266] (rows=28798881 width=8)
+ predicate:cr_item_sk is not null
+ TableScan [TS_51] (rows=28798881 width=8)
+ default@catalog_returns,catalog_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["cr_item_sk","cr_order_number"]
+ <-Reducer 4 [SIMPLE_EDGE]
+ SHUFFLE [RS_72]
+ PartitionCols:_col1
+ Merge Join Operator [MERGEJOIN_222] (rows=3053485049 width=471)
+ Conds:RS_248._col1, _col0=RS_260._col1, _col0(Inner),Output:["_col0","_col1","_col2","_col3","_col4","_col7","_col8","_col9"]
+ <-Reducer 3 [ONE_TO_ONE_EDGE] vectorized
+ FORWARD [RS_248]
+ PartitionCols:_col1, _col0
+ Select Operator [SEL_247] (rows=114214965 width=239)
+ Output:["_col0","_col1","_col2","_col3","_col4"]
+ Group By Operator [GBY_246] (rows=114214965 width=239)
+ Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"],keys:KEY._col0, KEY._col1
+ <-Reducer 2 [SIMPLE_EDGE]
+ SHUFFLE [RS_19]
+ PartitionCols:_col0, _col1
+ Group By Operator [GBY_18] (rows=114214965 width=239)
+ Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col4)","sum(_col5)","sum(_col6)"],keys:_col3, _col2
+ Merge Join Operator [MERGEJOIN_217] (rows=114214965 width=218)
+ Conds:RS_226._col0=RS_15._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col6"]
+ <-Map 1 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_226]
+ PartitionCols:_col0
+ Please refer to the previous Select Operator [SEL_225]
+ <-Reducer 15 [SIMPLE_EDGE]
+ SHUFFLE [RS_15]
+ PartitionCols:_col0
+ Select Operator [SEL_13] (rows=319876350 width=233)
+ Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+ Filter Operator [FIL_12] (rows=319876350 width=236)
+ predicate:_col8 is null
+ Merge Join Operator [MERGEJOIN_216] (rows=857669906 width=236)
+ Conds:RS_242._col1, _col3=RS_245._col0, _col1(Left Outer),Output:["_col0","_col1","_col2","_col4","_col5","_col6","_col8"]
+ <-Map 14 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_242]
+ PartitionCols:_col1, _col3
+ Select Operator [SEL_241] (rows=525327388 width=233)
+ Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
+ Filter Operator [FIL_240] (rows=525327388 width=233)
+ predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_14_date_dim_d_date_sk_min) AND DynamicValue(RS_14_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_14_date_dim_d_date_sk_bloom_filter))) and ss_customer_sk is not null and ss_item_sk is not null and ss_sold_date_sk is not null)
+ TableScan [TS_3] (rows=575995635 width=233)
+ default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk","ss_customer_sk","ss_ticket_number","ss_quantity","ss_wholesale_cost","ss_sales_price"]
+ <-Reducer 7 [BROADCAST_EDGE] vectorized
+ BROADCAST [RS_239]
+ Group By Operator [GBY_238] (rows=1 width=12)
+ Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+ <-Map 1 [CUSTOM_SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_235]
+ Group By Operator [GBY_232] (rows=1 width=12)
+ Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+ Select Operator [SEL_227] (rows=652 width=4)
+ Output:["_col0"]
+ Please refer to the previous Select Operator [SEL_225]
+ <-Map 16 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_245]
+ PartitionCols:_col0, _col1
+ Select Operator [SEL_244] (rows=57591150 width=8)
+ Output:["_col0","_col1"]
+ Filter Operator [FIL_243] (rows=57591150 width=8)
+ predicate:sr_item_sk is not null
+ TableScan [TS_6] (rows=57591150 width=8)
+ default@store_returns,store_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["sr_item_sk","sr_ticket_number"]
+ <-Reducer 9 [ONE_TO_ONE_EDGE] vectorized
+ FORWARD [RS_260]
+ PartitionCols:_col1, _col0
+ Select Operator [SEL_259] (rows=13513323 width=239)
+ Output:["_col0","_col1","_col2","_col3","_col4"]
+ Filter Operator [FIL_258] (rows=13513323 width=239)
+ predicate:(_col2 > 0L)
+ Group By Operator [GBY_257] (rows=40539971 width=239)
+ Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)","sum(VALUE._col2)"],keys:KEY._col0, KEY._col1
+ <-Reducer 8 [SIMPLE_EDGE]
+ SHUFFLE [RS_41]
+ PartitionCols:_col0, _col1
+ Group By Operator [GBY_40] (rows=40539971 width=239)
+ Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(_col4)","sum(_col5)","sum(_col6)"],keys:_col3, _col2
+ Merge Join Operator [MERGEJOIN_219] (rows=40539971 width=235)
+ Conds:RS_228._col0=RS_37._col0(Inner),Output:["_col2","_col3","_col4","_col5","_col6"]
+ <-Map 1 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_228]
+ PartitionCols:_col0
+ Please refer to the previous Select Operator [SEL_225]
+ <-Reducer 18 [SIMPLE_EDGE]
+ SHUFFLE [RS_37]
+ PartitionCols:_col0
+ Select Operator [SEL_35] (rows=113538342 width=239)
+ Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+ Filter Operator [FIL_34] (rows=113538342 width=242)
+ predicate:_col8 is null
+ Merge Join Operator [MERGEJOIN_218] (rows=254644510 width=242)
+ Conds:RS_253._col1, _col3=RS_256._col0, _col1(Left Outer),Output:["_col0","_col1","_col2","_col4","_col5","_col6","_col8"]
+ <-Map 17 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_253]
+ PartitionCols:_col1, _col3
+ Select Operator [SEL_252] (rows=143930993 width=243)
+ Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
+ Filter Operator [FIL_251] (rows=143930993 width=243)
+ predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_36_date_dim_d_date_sk_min) AND DynamicValue(RS_36_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_36_date_dim_d_date_sk_bloom_filter))) and ws_bill_customer_sk is not null and ws_item_sk is not null and ws_sold_date_sk is not null)
+ TableScan [TS_25] (rows=144002668 width=243)
+ default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk","ws_bill_customer_sk","ws_order_number","ws_quantity","ws_wholesale_cost","ws_sales_price"]
+ <-Reducer 10 [BROADCAST_EDGE] vectorized
+ BROADCAST [RS_250]
+ Group By Operator [GBY_249] (rows=1 width=12)
+ Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+ <-Map 1 [CUSTOM_SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_236]
+ Group By Operator [GBY_233] (rows=1 width=12)
+ Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+ Select Operator [SEL_229] (rows=652 width=4)
+ Output:["_col0"]
+ Please refer to the previous Select Operator [SEL_225]
+ <-Map 19 [SIMPLE_EDGE] vectorized
+ SHUFFLE [RS_256]
+ PartitionCols:_col0, _col1
+ Select Operator [SEL_255] (rows=14398467 width=8)
+ Output:["_col0","_col1"]
+ Filter Operator [FIL_254] (rows=14398467 width=8)
+ predicate:wr_item_sk is not null
+ TableScan [TS_28] (rows=14398467 width=8)
default@web_returns,web_returns,Tbl:COMPLETE,Col:COMPLETE,Output:["wr_item_sk","wr_order_number"]
diff --git ql/src/test/results/clientpositive/perf/tez/query85.q.out ql/src/test/results/clientpositive/perf/tez/query85.q.out
index 5b8ad0ba57..69d2750445 100644
--- ql/src/test/results/clientpositive/perf/tez/query85.q.out
+++ ql/src/test/results/clientpositive/perf/tez/query85.q.out
@@ -318,7 +318,7 @@ Stage-0
Select Operator [SEL_213] (rows=143931136 width=43)
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9","_col10"]
Filter Operator [FIL_212] (rows=143931136 width=243)
- predicate:(((ws_net_profit >= 100) or (ws_net_profit <= 200) or ws_net_profit is not null or (ws_net_profit <= 300) or (ws_net_profit <= 250)) and ((ws_sales_price >= 100) or (ws_sales_price <= 150) or ws_sales_price is not null or (ws_sales_price <= 200)) and (ws_sold_date_sk BETWEEN DynamicValue(RS_38_date_dim_d_date_sk_min) AND DynamicValue(RS_38_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_38_date_dim_d_date_sk_bloom_filter))) and ws_item_sk is not null and ws_order_number is not null and ws_sold_date_sk is not null and ws_web_page_sk is not null)
+ predicate:(((ws_net_profit >= 100) or (ws_net_profit <= 200) or (ws_net_profit >= 150) or (ws_net_profit <= 300) or (ws_net_profit >= 50) or (ws_net_profit <= 250)) and ((ws_sales_price >= 100) or (ws_sales_price <= 150) or (ws_sales_price >= 50) or (ws_sales_price <= 100) or (ws_sales_price >= 150) or (ws_sales_price <= 200)) and (ws_sold_date_sk BETWEEN DynamicValue(RS_38_date_dim_d_date_sk_min) AND DynamicValue(RS_38_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_38_date_dim_d_date_sk_bloom_filter))) and ws_item_sk is not null and ws_order_number is not null and ws_sold_date_sk is not null and ws_web_page_sk is not null)
TableScan [TS_0] (rows=144002668 width=243)
default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk","ws_web_page_sk","ws_order_number","ws_quantity","ws_sales_price","ws_net_profit"]
<-Reducer 8 [BROADCAST_EDGE] vectorized
diff --git ql/src/test/results/clientpositive/perf/tez/query86.q.out ql/src/test/results/clientpositive/perf/tez/query86.q.out
index 2d6d545a5b..9942845e97 100644
--- ql/src/test/results/clientpositive/perf/tez/query86.q.out
+++ ql/src/test/results/clientpositive/perf/tez/query86.q.out
@@ -82,12 +82,12 @@ Stage-0
Select Operator [SEL_80] (rows=3060 width=490)
Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
PTF Operator [PTF_79] (rows=3060 width=302)
- Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col2 DESC NULLS LAST","partition by:":"(grouping(_col3, 1) + grouping(_col3, 0)), CASE WHEN ((grouping(_col3, 0) = 0)) THEN (_col0) ELSE (CAST( null AS STRING)) END"}]
+ Function definitions:[{},{"name:":"windowingtablefunction","order by:":"_col2 DESC NULLS LAST","partition by:":"(grouping(_col3, 1L) + grouping(_col3, 0L)), CASE WHEN ((grouping(_col3, 0L) = UDFToLong(0))) THEN (_col0) ELSE (CAST( null AS STRING)) END"}]
Select Operator [SEL_78] (rows=3060 width=302)
Output:["_col0","_col1","_col2","_col3"]
<-Reducer 4 [SIMPLE_EDGE] vectorized
SHUFFLE [RS_77]
- PartitionCols:(grouping(_col3, 1) + grouping(_col3, 0)), CASE WHEN ((grouping(_col3, 0) = 0)) THEN (_col0) ELSE (CAST( null AS STRING)) END
+ PartitionCols:(grouping(_col3, 1L) + grouping(_col3, 0L)), CASE WHEN ((grouping(_col3, 0L) = UDFToLong(0))) THEN (_col0) ELSE (CAST( null AS STRING)) END
Select Operator [SEL_76] (rows=3060 width=302)
Output:["_col0","_col1","_col2","_col3"]
Group By Operator [GBY_75] (rows=3060 width=302)
diff --git ql/src/test/results/clientpositive/perf/tez/query87.q.out ql/src/test/results/clientpositive/perf/tez/query87.q.out
index 5b59116741..e00a6b123e 100644
--- ql/src/test/results/clientpositive/perf/tez/query87.q.out
+++ ql/src/test/results/clientpositive/perf/tez/query87.q.out
@@ -88,7 +88,7 @@ Stage-0
Output:["_col0"],aggregations:["count()"]
Select Operator [SEL_268] (rows=8062883 width=16)
Filter Operator [FIL_267] (rows=8062883 width=16)
- predicate:(((_col3 * 2) = _col4) and (_col3 > 0L))
+ predicate:(((_col3 * 2L) = _col4) and (_col3 > 0L))
Select Operator [SEL_266] (rows=48377300 width=16)
Output:["_col3","_col4"]
Group By Operator [GBY_265] (rows=48377300 width=290)
@@ -173,7 +173,7 @@ Stage-0
Select Operator [SEL_259] (rows=23390718 width=290)
Output:["_col0","_col1","_col2"]
Filter Operator [FIL_258] (rows=23390718 width=290)
- predicate:(((_col3 * 2) = _col4) and (_col3 > 0L))
+ predicate:(((_col3 * 2L) = _col4) and (_col3 > 0L))
Group By Operator [GBY_257] (rows=140344308 width=290)
Output:["_col0","_col1","_col2","_col3","_col4"],aggregations:["sum(VALUE._col0)","sum(VALUE._col1)"],keys:KEY._col0, KEY._col1, KEY._col2
<-Union 5 [SIMPLE_EDGE]
diff --git ql/src/test/results/clientpositive/perf/tez/query88.q.out ql/src/test/results/clientpositive/perf/tez/query88.q.out
index e02ff3715b..c8e2e6fba4 100644
--- ql/src/test/results/clientpositive/perf/tez/query88.q.out
+++ ql/src/test/results/clientpositive/perf/tez/query88.q.out
@@ -320,7 +320,7 @@ Stage-0
Select Operator [SEL_660] (rows=817 width=4)
Output:["_col0"]
Filter Operator [FIL_659] (rows=817 width=12)
- predicate:((((hd_dep_count = 3) and hd_vehicle_count is not null) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and (hd_dep_count) IN (3, 0, 1) and (hd_vehicle_count <= 5) and hd_demo_sk is not null)
+ predicate:((((hd_dep_count = 3) and (hd_vehicle_count <= 5)) or ((hd_dep_count = 0) and (hd_vehicle_count <= 2)) or ((hd_dep_count = 1) and (hd_vehicle_count <= 3))) and ((hd_vehicle_count <= 5) or (hd_vehicle_count <= 2) or (hd_vehicle_count <= 3)) and (hd_dep_count) IN (3, 0, 1) and hd_demo_sk is not null)
TableScan [TS_3] (rows=7200 width=12)
default@household_demographics,household_demographics,Tbl:COMPLETE,Col:COMPLETE,Output:["hd_demo_sk","hd_dep_count","hd_vehicle_count"]
<-Map 56 [SIMPLE_EDGE] vectorized
diff --git ql/src/test/results/clientpositive/perf/tez/query89.q.out ql/src/test/results/clientpositive/perf/tez/query89.q.out
index 8501822cd2..015600e312 100644
--- ql/src/test/results/clientpositive/perf/tez/query89.q.out
+++ ql/src/test/results/clientpositive/perf/tez/query89.q.out
@@ -89,7 +89,7 @@ Stage-0
Select Operator [SEL_108] (rows=4804228 width=801)
Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8"]
Filter Operator [FIL_107] (rows=4804228 width=689)
- predicate:CASE WHEN ((avg_window_0 <> 0)) THEN (((abs((_col6 - avg_window_0)) / avg_window_0) > 0.1)) ELSE (null) END
+ predicate:CASE WHEN ((avg_window_0 <> 0)) THEN (((abs((_col6 - avg_window_0)) / avg_window_0) > 0.1)) ELSE (false) END
Select Operator [SEL_106] (rows=9608456 width=577)
Output:["avg_window_0","_col0","_col1","_col2","_col3","_col4","_col5","_col6"]
PTF Operator [PTF_105] (rows=9608456 width=577)
diff --git ql/src/test/results/clientpositive/perf/tez/query93.q.out ql/src/test/results/clientpositive/perf/tez/query93.q.out
index b5e6ba9c48..6a5c241ca6 100644
--- ql/src/test/results/clientpositive/perf/tez/query93.q.out
+++ ql/src/test/results/clientpositive/perf/tez/query93.q.out
@@ -67,22 +67,22 @@ Stage-0
<-Reducer 3 [SIMPLE_EDGE]
SHUFFLE [RS_18]
PartitionCols:_col0
- Group By Operator [GBY_17] (rows=306464 width=112)
+ Group By Operator [GBY_17] (rows=38308 width=112)
Output:["_col0","_col1"],aggregations:["sum(_col1)"],keys:_col0
- Select Operator [SEL_15] (rows=15586502 width=119)
+ Select Operator [SEL_15] (rows=15586502 width=3)
Output:["_col0","_col1"]
- Merge Join Operator [MERGEJOIN_64] (rows=15586502 width=119)
- Conds:RS_12._col0, _col2=RS_75._col0, _col2(Inner),Output:["_col3","_col4","_col7","_col9","_col10","_col11"]
+ Merge Join Operator [MERGEJOIN_64] (rows=15586502 width=3)
+ Conds:RS_12._col0, _col2=RS_75._col0, _col2(Inner),Output:["_col3","_col6","_col8","_col9"]
<-Reducer 2 [SIMPLE_EDGE]
PARTITION_ONLY_SHUFFLE [RS_12]
PartitionCols:_col0, _col2
- Merge Join Operator [MERGEJOIN_63] (rows=1522298 width=12)
- Conds:RS_67._col1=RS_70._col0(Inner),Output:["_col0","_col2","_col3","_col4"]
+ Merge Join Operator [MERGEJOIN_63] (rows=1522298 width=8)
+ Conds:RS_67._col1=RS_70._col0(Inner),Output:["_col0","_col2","_col3"]
<-Map 1 [SIMPLE_EDGE] vectorized
SHUFFLE [RS_67]
PartitionCols:_col1
- Select Operator [SEL_66] (rows=55574563 width=19)
- Output:["_col0","_col1","_col2","_col3","_col4"]
+ Select Operator [SEL_66] (rows=55574563 width=15)
+ Output:["_col0","_col1","_col2","_col3"]
Filter Operator [FIL_65] (rows=55574563 width=15)
predicate:(sr_item_sk is not null and sr_reason_sk is not null and sr_ticket_number is not null)
TableScan [TS_0] (rows=57591150 width=15)
@@ -99,8 +99,8 @@ Stage-0
<-Map 8 [SIMPLE_EDGE] vectorized
SHUFFLE [RS_75]
PartitionCols:_col0, _col2
- Select Operator [SEL_74] (rows=575995635 width=234)
- Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
+ Select Operator [SEL_74] (rows=575995635 width=122)
+ Output:["_col0","_col1","_col2","_col3","_col4"]
Filter Operator [FIL_73] (rows=575995635 width=122)
predicate:((ss_ticket_number BETWEEN DynamicValue(RS_12_store_returns_sr_ticket_number_min) AND DynamicValue(RS_12_store_returns_sr_ticket_number_max) and in_bloom_filter(ss_ticket_number, DynamicValue(RS_12_store_returns_sr_ticket_number_bloom_filter))) and ss_item_sk is not null and ss_ticket_number is not null)
TableScan [TS_6] (rows=575995635 width=122)
diff --git ql/src/test/results/clientpositive/pointlookup.q.out ql/src/test/results/clientpositive/pointlookup.q.out
index c77536efe5..13047f0e51 100644
--- ql/src/test/results/clientpositive/pointlookup.q.out
+++ ql/src/test/results/clientpositive/pointlookup.q.out
@@ -352,6 +352,7 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@inoutputopt
#### A masked pattern was here ####
11
+Warning: Shuffle Join JOIN[8][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product
PREHOOK: query: select orOutput.key, inOutput.key
from orOutput full outer join inOutput on (orOutput.key = inOutput.key)
where orOutput.key = null
@@ -368,6 +369,7 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@inoutput
POSTHOOK: Input: default@oroutput
#### A masked pattern was here ####
+Warning: Shuffle Join JOIN[8][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product
PREHOOK: query: select orOutput.key, inOutputOpt.key
from orOutput full outer join inOutputOpt on (orOutput.key = inOutputOpt.key)
where orOutput.key = null
diff --git ql/src/test/results/clientpositive/pointlookup2.q.out ql/src/test/results/clientpositive/pointlookup2.q.out
index 5a1f92758a..6ea1a05242 100644
--- ql/src/test/results/clientpositive/pointlookup2.q.out
+++ ql/src/test/results/clientpositive/pointlookup2.q.out
@@ -826,6 +826,14 @@ POSTHOOK: Input: default@pcr_t1_n2@ds=2000-04-08
POSTHOOK: Input: default@pcr_t1_n2@ds=2000-04-09
POSTHOOK: Input: default@pcr_t2_n0
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `t0`.`key`, `t0`.`value`, `t0`.`ds`, `t2`.`ds` AS `ds1`, `t2`.`key` AS `key1`, `t2`.`value` AS `value1`
+FROM (SELECT `key`, `value`, `ds`, `ds` = '2000-04-08' AS `=`, `ds` = '2000-04-09' AS `=7`
+FROM `default`.`pcr_t1_n2`
+WHERE `ds` = '2000-04-08' OR `ds` = '2000-04-09') AS `t0`
+INNER JOIN (SELECT `ds`, `key`, `value`, `key` = 1 AS `=`, `key` = 2 AS `=7`
+FROM `default`.`pcr_t2_n0`
+WHERE `key` = 1 OR `key` = 2) AS `t2` ON `t0`.`=` AND `t2`.`=` OR `t0`.`=7` AND `t2`.`=7`
+ORDER BY `t2`.`key`, `t2`.`value`, `t0`.`ds`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-2 depends on stages: Stage-1
@@ -1160,6 +1168,14 @@ POSTHOOK: Input: default@pcr_t1_n2@ds=2000-04-09
POSTHOOK: Input: default@pcr_t1_n2@ds=2000-04-10
POSTHOOK: Input: default@pcr_t2_n0
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `t0`.`key`, `t0`.`value`, `t0`.`ds`, `t2`.`ds` AS `ds1`, `t2`.`key` AS `key1`, `t2`.`value` AS `value1`
+FROM (SELECT `key`, `value`, `ds`, `key` = 1 AS `=`, `key` = 2 AS `=7`
+FROM `default`.`pcr_t1_n2`
+WHERE `key` = 1 OR `key` = 2) AS `t0`
+INNER JOIN (SELECT `ds`, `key`, `value`, `ds` = '2000-04-08' AS `=`, `ds` = '2000-04-09' AS `=7`
+FROM `default`.`pcr_t2_n0`
+WHERE `ds` = '2000-04-08' OR `ds` = '2000-04-09') AS `t2` ON `t2`.`=` AND `t0`.`=` OR `t2`.`=7` AND `t0`.`=7`
+ORDER BY `t0`.`key`, `t0`.`value`, `t2`.`ds`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-2 depends on stages: Stage-1
@@ -1720,6 +1736,10 @@ POSTHOOK: Input: default@pcr_t1_n2
POSTHOOK: Input: default@pcr_t1_n2@ds=2000-04-08
POSTHOOK: Input: default@pcr_t1_n2@ds=2000-04-09
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `key`, `value`, `ds`
+FROM `default`.`pcr_t1_n2`
+WHERE ROW(`key`, `ds`) IN (ROW(1, '2000-04-08'), ROW(2, '2000-04-09'))
+ORDER BY `key`, `value`, `ds`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
diff --git ql/src/test/results/clientpositive/pointlookup3.q.out ql/src/test/results/clientpositive/pointlookup3.q.out
index 469a460773..b4bbc27bbc 100644
--- ql/src/test/results/clientpositive/pointlookup3.q.out
+++ ql/src/test/results/clientpositive/pointlookup3.q.out
@@ -926,6 +926,14 @@ POSTHOOK: Input: default@pcr_t1_n1@ds1=2000-04-08/ds2=2001-04-08
POSTHOOK: Input: default@pcr_t1_n1@ds1=2000-04-09/ds2=2001-04-09
POSTHOOK: Input: default@pcr_t1_n1@ds1=2000-04-10/ds2=2001-04-10
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `t0`.`key`, `t0`.`value`, `t0`.`ds1`, `t0`.`ds2`, `t2`.`key` AS `key1`, `t2`.`value` AS `value1`, `t2`.`ds1` AS `ds11`, `t2`.`ds2` AS `ds21`
+FROM (SELECT `key`, `value`, `ds1`, `ds2`, `ds1` = '2000-04-08' AS `=`, `ds1` = '2000-04-09' AS `=8`
+FROM `default`.`pcr_t1_n1`
+WHERE `ds1` = '2000-04-08' OR `ds1` = '2000-04-09') AS `t0`
+INNER JOIN (SELECT `key`, `value`, `ds1`, `ds2`, `key` = 1 AS `=`, `key` = 2 AS `=8`
+FROM `default`.`pcr_t1_n1`
+WHERE `key` = 1 OR `key` = 2) AS `t2` ON `t0`.`=` AND `t2`.`=` OR `t0`.`=8` AND `t2`.`=8`
+ORDER BY `t2`.`key`, `t2`.`value`, `t0`.`ds1`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-2 depends on stages: Stage-1
@@ -1484,6 +1492,10 @@ POSTHOOK: Input: default@pcr_t1_n1
POSTHOOK: Input: default@pcr_t1_n1@ds1=2000-04-08/ds2=2001-04-08
POSTHOOK: Input: default@pcr_t1_n1@ds1=2000-04-09/ds2=2001-04-09
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `key`, `value`, `ds1`, `ds2`
+FROM `default`.`pcr_t1_n1`
+WHERE ROW(`key`, `ds1`) IN (ROW(1, '2000-04-08'), ROW(2, '2000-04-09'))
+ORDER BY `key`, `value`, `ds1`, `ds2`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -1670,6 +1682,11 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@pcr_t1_n1
POSTHOOK: Input: default@pcr_t1_n1@ds1=2000-04-08/ds2=2001-04-08
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `key`, `value`, `ds1`, CAST('2001-04-08' AS STRING) AS `ds2`
+FROM (SELECT `key`, `value`, `ds1`
+FROM `default`.`pcr_t1_n1`
+WHERE ROW(`key`, `ds1`) IN (ROW(1, '2000-04-08'), ROW(2, '2000-04-09')) AND `ds2` = '2001-04-08'
+ORDER BY `key`, `value`, `ds1`) AS `t1`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
diff --git ql/src/test/results/clientpositive/pointlookup4.q.out ql/src/test/results/clientpositive/pointlookup4.q.out
index f105f8a569..f95d5572c9 100644
--- ql/src/test/results/clientpositive/pointlookup4.q.out
+++ ql/src/test/results/clientpositive/pointlookup4.q.out
@@ -271,6 +271,10 @@ POSTHOOK: Input: default@pcr_t1_n0
POSTHOOK: Input: default@pcr_t1_n0@ds1=2000-04-08/ds2=2001-04-08
POSTHOOK: Input: default@pcr_t1_n0@ds1=2000-04-09/ds2=2001-04-09
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `key`, `value`, `ds1`, `ds2`
+FROM `default`.`pcr_t1_n0`
+WHERE ROW(`key`, `ds1`, `ds2`) IN (ROW(1, '2000-04-08', '2001-04-08'), ROW(2, '2000-04-09', '2001-04-09'))
+ORDER BY `key`, `value`, `ds1`, `ds2`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
diff --git ql/src/test/results/clientpositive/ppd_constant_expr.q.out ql/src/test/results/clientpositive/ppd_constant_expr.q.out
index 39dd2d7de3..a033d1e573 100644
--- ql/src/test/results/clientpositive/ppd_constant_expr.q.out
+++ ql/src/test/results/clientpositive/ppd_constant_expr.q.out
@@ -34,14 +34,14 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src1
- Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: null (type: string), UDFToInteger((UDFToDouble(key) - null)) (type: int), null (type: double)
+ expressions: null (type: string), null (type: int), null (type: double)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 25 Data size: 192 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 25 Data size: 96 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 25 Data size: 192 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 25 Data size: 96 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.TextInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
@@ -50,7 +50,7 @@ STAGE PLANS:
Select Operator
expressions: _col0 (type: string), _col1 (type: int), _col2 (type: double)
outputColumnNames: c1, c2, c3
- Statistics: Num rows: 25 Data size: 192 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 25 Data size: 96 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: compute_stats(c1, 'hll'), compute_stats(c2, 'hll'), compute_stats(c3, 'hll')
minReductionHashAggr: 0.99
@@ -143,7 +143,7 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@src1
POSTHOOK: Output: default@ppd_constant_expr
POSTHOOK: Lineage: ppd_constant_expr.c1 EXPRESSION []
-POSTHOOK: Lineage: ppd_constant_expr.c2 EXPRESSION [(src1)src1.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: ppd_constant_expr.c2 EXPRESSION []
POSTHOOK: Lineage: ppd_constant_expr.c3 EXPRESSION []
PREHOOK: query: SELECT ppd_constant_expr.* FROM ppd_constant_expr
PREHOOK: type: QUERY
@@ -206,14 +206,14 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src1
- Statistics: Num rows: 25 Data size: 2150 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: null (type: string), UDFToInteger((UDFToDouble(key) - null)) (type: int), null (type: double)
+ expressions: null (type: string), null (type: int), null (type: double)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 25 Data size: 192 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 25 Data size: 96 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 25 Data size: 192 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 25 Data size: 96 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.TextInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
@@ -222,7 +222,7 @@ STAGE PLANS:
Select Operator
expressions: _col0 (type: string), _col1 (type: int), _col2 (type: double)
outputColumnNames: c1, c2, c3
- Statistics: Num rows: 25 Data size: 192 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 25 Data size: 96 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
aggregations: compute_stats(c1, 'hll'), compute_stats(c2, 'hll'), compute_stats(c3, 'hll')
minReductionHashAggr: 0.99
@@ -315,7 +315,7 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@src1
POSTHOOK: Output: default@ppd_constant_expr
POSTHOOK: Lineage: ppd_constant_expr.c1 EXPRESSION []
-POSTHOOK: Lineage: ppd_constant_expr.c2 EXPRESSION [(src1)src1.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: ppd_constant_expr.c2 EXPRESSION []
POSTHOOK: Lineage: ppd_constant_expr.c3 EXPRESSION []
PREHOOK: query: SELECT ppd_constant_expr.* FROM ppd_constant_expr
PREHOOK: type: QUERY
diff --git ql/src/test/results/clientpositive/ppd_join_filter.q.out ql/src/test/results/clientpositive/ppd_join_filter.q.out
index 68a8cd01f7..243f9bc2b8 100644
--- ql/src/test/results/clientpositive/ppd_join_filter.q.out
+++ ql/src/test/results/clientpositive/ppd_join_filter.q.out
@@ -32,7 +32,7 @@ OPTIMIZED SQL: SELECT `t0`.`key`, `t4`.`k2`, `t4`.`k3`
FROM (SELECT `key`
FROM `default`.`src`
WHERE `key` IS NOT NULL) AS `t0`
-INNER JOIN (SELECT `key`, CAST(MIN(`key`) AS DOUBLE) + CAST(2 AS DOUBLE) AS `k2`, CAST(MIN(`key`) AS DOUBLE) + CAST(3 AS DOUBLE) AS `k3`
+INNER JOIN (SELECT `key`, CAST(MIN(`key`) AS DOUBLE) + 2 AS `k2`, CAST(MIN(`key`) AS DOUBLE) + 3 AS `k3`
FROM `default`.`src`
WHERE `key` IS NOT NULL
GROUP BY `key`
@@ -382,7 +382,7 @@ OPTIMIZED SQL: SELECT `t0`.`key`, `t4`.`k2`, `t4`.`k3`
FROM (SELECT `key`
FROM `default`.`src`
WHERE `key` IS NOT NULL) AS `t0`
-INNER JOIN (SELECT `key`, CAST(MIN(`key`) AS DOUBLE) + CAST(2 AS DOUBLE) AS `k2`, CAST(MIN(`key`) AS DOUBLE) + CAST(3 AS DOUBLE) AS `k3`
+INNER JOIN (SELECT `key`, CAST(MIN(`key`) AS DOUBLE) + 2 AS `k2`, CAST(MIN(`key`) AS DOUBLE) + 3 AS `k3`
FROM `default`.`src`
WHERE `key` IS NOT NULL
GROUP BY `key`
@@ -732,7 +732,7 @@ OPTIMIZED SQL: SELECT `t0`.`key`, `t4`.`k2`, `t4`.`k3`
FROM (SELECT `key`
FROM `default`.`src`
WHERE `key` IS NOT NULL) AS `t0`
-INNER JOIN (SELECT `key`, CAST(MIN(`key`) AS DOUBLE) + CAST(2 AS DOUBLE) AS `k2`, CAST(MIN(`key`) AS DOUBLE) + CAST(3 AS DOUBLE) AS `k3`
+INNER JOIN (SELECT `key`, CAST(MIN(`key`) AS DOUBLE) + 2 AS `k2`, CAST(MIN(`key`) AS DOUBLE) + 3 AS `k3`
FROM `default`.`src`
WHERE `key` IS NOT NULL
GROUP BY `key`
@@ -1080,7 +1080,7 @@ OPTIMIZED SQL: SELECT `t0`.`key`, `t4`.`k2`, `t4`.`k3`
FROM (SELECT `key`
FROM `default`.`src`
WHERE `key` IS NOT NULL) AS `t0`
-INNER JOIN (SELECT `key`, CAST(MIN(`key`) AS DOUBLE) + CAST(2 AS DOUBLE) AS `k2`, CAST(MIN(`key`) AS DOUBLE) + CAST(3 AS DOUBLE) AS `k3`
+INNER JOIN (SELECT `key`, CAST(MIN(`key`) AS DOUBLE) + 2 AS `k2`, CAST(MIN(`key`) AS DOUBLE) + 3 AS `k3`
FROM `default`.`src`
WHERE `key` IS NOT NULL
GROUP BY `key`
diff --git ql/src/test/results/clientpositive/row__id.q.out ql/src/test/results/clientpositive/row__id.q.out
index fc4c3123b0..6df961ab1e 100644
--- ql/src/test/results/clientpositive/row__id.q.out
+++ ql/src/test/results/clientpositive/row__id.q.out
@@ -144,10 +144,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: hello_acid
- filterExpr: (ROW__ID.writeid = 3) (type: boolean)
+ filterExpr: (ROW__ID.writeid = 3L) (type: boolean)
Statistics: Num rows: 3 Data size: 19884 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (ROW__ID.writeid = 3) (type: boolean)
+ predicate: (ROW__ID.writeid = 3L) (type: boolean)
Statistics: Num rows: 1 Data size: 6628 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: ROW__ID.writeid (type: bigint)
diff --git ql/src/test/results/clientpositive/semijoin4.q.out ql/src/test/results/clientpositive/semijoin4.q.out
index 4cfdd55503..8dac350d04 100644
--- ql/src/test/results/clientpositive/semijoin4.q.out
+++ ql/src/test/results/clientpositive/semijoin4.q.out
@@ -90,10 +90,10 @@ STAGE PLANS:
Statistics: Num rows: 1 Data size: 124 Basic stats: COMPLETE Column stats: NONE
TableScan
alias: t2
- filterExpr: ((tinyint_col_21 = -92Y) and tinyint_col_18 is not null and decimal2709_col_9 is not null) (type: boolean)
+ filterExpr: ((tinyint_col_21 = -92Y) and UDFToLong(tinyint_col_18) is not null and decimal2709_col_9 is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((tinyint_col_21 = -92Y) and decimal2709_col_9 is not null and tinyint_col_18 is not null) (type: boolean)
+ predicate: ((tinyint_col_21 = -92Y) and UDFToLong(tinyint_col_18) is not null and decimal2709_col_9 is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: decimal2709_col_9 (type: decimal(27,9)), UDFToLong(tinyint_col_18) (type: bigint)
diff --git ql/src/test/results/clientpositive/semijoin5.q.out ql/src/test/results/clientpositive/semijoin5.q.out
index 6fd4174110..a193428534 100644
--- ql/src/test/results/clientpositive/semijoin5.q.out
+++ ql/src/test/results/clientpositive/semijoin5.q.out
@@ -82,10 +82,10 @@ STAGE PLANS:
value expressions: _col2 (type: timestamp), _col3 (type: double), _col5 (type: smallint)
TableScan
alias: t2
- filterExpr: (tinyint_col_15 is not null and decimal2709_col_9 is not null and tinyint_col_20 is not null and smallint_col_19 is not null) (type: boolean)
+ filterExpr: (UDFToLong(tinyint_col_15) is not null and decimal2709_col_9 is not null and tinyint_col_20 is not null and UDFToInteger(smallint_col_19) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 128 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (decimal2709_col_9 is not null and smallint_col_19 is not null and tinyint_col_15 is not null and tinyint_col_20 is not null) (type: boolean)
+ predicate: (UDFToInteger(smallint_col_19) is not null and UDFToLong(tinyint_col_15) is not null and decimal2709_col_9 is not null and tinyint_col_20 is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 128 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: decimal2709_col_9 (type: decimal(27,9)), int_col_10 (type: int), tinyint_col_15 (type: tinyint), smallint_col_19 (type: smallint), tinyint_col_20 (type: tinyint)
diff --git ql/src/test/results/clientpositive/skewjoinopt18.q.out ql/src/test/results/clientpositive/skewjoinopt18.q.out
index 26526a37b2..52b79ca27e 100644
--- ql/src/test/results/clientpositive/skewjoinopt18.q.out
+++ ql/src/test/results/clientpositive/skewjoinopt18.q.out
@@ -72,10 +72,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: a
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 6 Data size: 540 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 6 Data size: 540 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: int), val (type: string), UDFToDouble(key) (type: double)
@@ -89,10 +89,10 @@ STAGE PLANS:
value expressions: _col0 (type: int), _col1 (type: string)
TableScan
alias: b
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), val (type: string), UDFToDouble(key) (type: double)
diff --git ql/src/test/results/clientpositive/spark/auto_join2.q.out ql/src/test/results/clientpositive/spark/auto_join2.q.out
index 6aeadb52dd..01b310e04a 100644
--- ql/src/test/results/clientpositive/spark/auto_join2.q.out
+++ ql/src/test/results/clientpositive/spark/auto_join2.q.out
@@ -33,10 +33,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src2
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -53,10 +53,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src3
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: value (type: string), UDFToDouble(key) (type: double)
@@ -78,10 +78,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src1
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
diff --git ql/src/test/results/clientpositive/spark/auto_join_stats.q.out ql/src/test/results/clientpositive/spark/auto_join_stats.q.out
index a6d09228c1..bc1e277615 100644
--- ql/src/test/results/clientpositive/spark/auto_join_stats.q.out
+++ ql/src/test/results/clientpositive/spark/auto_join_stats.q.out
@@ -46,10 +46,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: smalltable_n0
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -73,10 +73,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src1
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -93,10 +93,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src2
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -211,10 +211,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: smalltable2_n0
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: UDFToDouble(key) (type: double)
@@ -232,10 +232,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: smalltable_n0
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -260,10 +260,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src1
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -280,10 +280,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src2
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
diff --git ql/src/test/results/clientpositive/spark/auto_join_stats2.q.out ql/src/test/results/clientpositive/spark/auto_join_stats2.q.out
index fbcc489b14..132d2fbf63 100644
--- ql/src/test/results/clientpositive/spark/auto_join_stats2.q.out
+++ ql/src/test/results/clientpositive/spark/auto_join_stats2.q.out
@@ -39,10 +39,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: smalltable
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -59,10 +59,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src1
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -84,10 +84,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src2
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -200,10 +200,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src2
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -220,10 +220,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: smalltable2
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: UDFToDouble(key) (type: double)
@@ -241,10 +241,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: smalltable
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -267,10 +267,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src1
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
diff --git ql/src/test/results/clientpositive/spark/auto_sortmerge_join_12.q.out ql/src/test/results/clientpositive/spark/auto_sortmerge_join_12.q.out
index 7138a6fb30..fb64e4d9e0 100644
--- ql/src/test/results/clientpositive/spark/auto_sortmerge_join_12.q.out
+++ ql/src/test/results/clientpositive/spark/auto_sortmerge_join_12.q.out
@@ -134,7 +134,7 @@ POSTHOOK: query: load data local inpath '../../data/files/auto_sortmerge_join/sm
POSTHOOK: type: LOAD
#### A masked pattern was here ####
POSTHOOK: Output: default@bucket_medium@ds=2008-04-08
-Warning: Shuffle Join JOIN[17][tables = [$hdt$_0, $hdt$_1, $hdt$_2, $hdt$_3]] in Work 'Reducer 3' is a cross product
+Warning: Shuffle Join JOIN[20][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 2' is a cross product
PREHOOK: query: explain extended select count(*) FROM bucket_small_n15 a JOIN bucket_medium b ON a.key = b.key JOIN bucket_big_n15 c ON c.key = b.key JOIN bucket_medium d ON c.key = b.key
PREHOOK: type: QUERY
PREHOOK: Input: default@bucket_big_n15
@@ -156,17 +156,20 @@ POSTHOOK: Input: default@bucket_small_n15
POSTHOOK: Input: default@bucket_small_n15@ds=2008-04-08
#### A masked pattern was here ####
OPTIMIZED SQL: SELECT COUNT(*) AS `$f0`
+FROM (SELECT 0 AS `DUMMY`
+FROM `default`.`bucket_medium`) AS `t`,
+(SELECT 0 AS `DUMMY`
+FROM (SELECT `t5`.`key`, `t3`.`key` AS `key0`, `t1`.`key` AS `key1`
FROM (SELECT `key`
FROM `default`.`bucket_big_n15`
-WHERE `key` IS NOT NULL) AS `t0`
+WHERE `key` IS NOT NULL) AS `t1`
INNER JOIN (SELECT `key`
FROM `default`.`bucket_medium`
-WHERE `key` IS NOT NULL) AS `t2` ON `t0`.`key` = `t2`.`key`
+WHERE `key` IS NOT NULL) AS `t3` ON `t1`.`key` = `t3`.`key`
INNER JOIN (SELECT `key`
FROM `default`.`bucket_small_n15`
-WHERE `key` IS NOT NULL) AS `t4` ON `t2`.`key` = `t4`.`key`,
-(SELECT 0 AS `DUMMY`
-FROM `default`.`bucket_medium`) AS `t5`
+WHERE `key` IS NOT NULL) AS `t5` ON `t3`.`key` = `t5`.`key`) AS `t6`
+WHERE `t6`.`key1` = `t6`.`key0`) AS `t8`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -175,12 +178,82 @@ STAGE PLANS:
Stage: Stage-1
Spark
Edges:
- Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 2), Map 5 (PARTITION-LEVEL SORT, 2), Map 6 (PARTITION-LEVEL SORT, 2)
- Reducer 3 <- Map 7 (PARTITION-LEVEL SORT, 1), Reducer 2 (PARTITION-LEVEL SORT, 1)
- Reducer 4 <- Reducer 3 (GROUP, 1)
+ Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Reducer 5 (PARTITION-LEVEL SORT, 1)
+ Reducer 3 <- Reducer 2 (GROUP, 1)
+ Reducer 5 <- Map 4 (PARTITION-LEVEL SORT, 2), Map 6 (PARTITION-LEVEL SORT, 2), Map 7 (PARTITION-LEVEL SORT, 2)
#### A masked pattern was here ####
Vertices:
Map 1
+ Map Operator Tree:
+ TableScan
+ alias: d
+ Statistics: Num rows: 3 Data size: 1700 Basic stats: PARTIAL Column stats: NONE
+ GatherStats: false
+ Select Operator
+ Statistics: Num rows: 3 Data size: 1700 Basic stats: PARTIAL Column stats: NONE
+ Reduce Output Operator
+ null sort order:
+ sort order:
+ Statistics: Num rows: 3 Data size: 1700 Basic stats: PARTIAL Column stats: NONE
+ tag: 0
+ auto parallelism: false
+ Execution mode: vectorized
+ Path -> Alias:
+#### A masked pattern was here ####
+ Path -> Partition:
+#### A masked pattern was here ####
+ Partition
+ base file name: ds=2008-04-08
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ partition values:
+ ds 2008-04-08
+ properties:
+ bucket_count 3
+ bucket_field_name key
+ column.name.delimiter ,
+ columns key,value
+ columns.comments
+ columns.types string:string
+#### A masked pattern was here ####
+ name default.bucket_medium
+ numFiles 3
+ numRows 0
+ partition_columns ds
+ partition_columns.types string
+ rawDataSize 0
+ serialization.ddl struct bucket_medium { string key, string value}
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ totalSize 170
+#### A masked pattern was here ####
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+ input format: org.apache.hadoop.mapred.TextInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+ properties:
+ SORTBUCKETCOLSPREFIX TRUE
+ bucket_count 3
+ bucket_field_name key
+ bucketing_version 2
+ column.name.delimiter ,
+ columns key,value
+ columns.comments
+ columns.types string:string
+#### A masked pattern was here ####
+ name default.bucket_medium
+ partition_columns ds
+ partition_columns.types string
+ serialization.ddl struct bucket_medium { string key, string value}
+ serialization.format 1
+ serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+#### A masked pattern was here ####
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ name: default.bucket_medium
+ name: default.bucket_medium
+ Truncated Path -> Alias:
+ /bucket_medium/ds=2008-04-08 [$hdt$_0:d]
+ Map 4
Map Operator Tree:
TableScan
alias: c
@@ -308,9 +381,9 @@ STAGE PLANS:
name: default.bucket_big_n15
name: default.bucket_big_n15
Truncated Path -> Alias:
- /bucket_big_n15/ds=2008-04-08 [$hdt$_0:c]
- /bucket_big_n15/ds=2008-04-09 [$hdt$_0:c]
- Map 5
+ /bucket_big_n15/ds=2008-04-08 [$hdt$_1:$hdt$_1:$hdt$_1:c]
+ /bucket_big_n15/ds=2008-04-09 [$hdt$_1:$hdt$_1:$hdt$_1:c]
+ Map 6
Map Operator Tree:
TableScan
alias: b
@@ -388,8 +461,8 @@ STAGE PLANS:
name: default.bucket_medium
name: default.bucket_medium
Truncated Path -> Alias:
- /bucket_medium/ds=2008-04-08 [$hdt$_1:b]
- Map 6
+ /bucket_medium/ds=2008-04-08 [$hdt$_1:$hdt$_1:$hdt$_2:b]
+ Map 7
Map Operator Tree:
TableScan
alias: a
@@ -467,96 +540,8 @@ STAGE PLANS:
name: default.bucket_small_n15
name: default.bucket_small_n15
Truncated Path -> Alias:
- /bucket_small_n15/ds=2008-04-08 [$hdt$_2:a]
- Map 7
- Map Operator Tree:
- TableScan
- alias: d
- Statistics: Num rows: 3 Data size: 1700 Basic stats: PARTIAL Column stats: NONE
- GatherStats: false
- Select Operator
- Statistics: Num rows: 3 Data size: 1700 Basic stats: PARTIAL Column stats: NONE
- Reduce Output Operator
- null sort order:
- sort order:
- Statistics: Num rows: 3 Data size: 1700 Basic stats: PARTIAL Column stats: NONE
- tag: 1
- auto parallelism: false
- Execution mode: vectorized
- Path -> Alias:
-#### A masked pattern was here ####
- Path -> Partition:
-#### A masked pattern was here ####
- Partition
- base file name: ds=2008-04-08
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- partition values:
- ds 2008-04-08
- properties:
- bucket_count 3
- bucket_field_name key
- column.name.delimiter ,
- columns key,value
- columns.comments
- columns.types string:string
-#### A masked pattern was here ####
- name default.bucket_medium
- numFiles 3
- numRows 0
- partition_columns ds
- partition_columns.types string
- rawDataSize 0
- serialization.ddl struct bucket_medium { string key, string value}
- serialization.format 1
- serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- totalSize 170
-#### A masked pattern was here ####
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-
- input format: org.apache.hadoop.mapred.TextInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
- properties:
- SORTBUCKETCOLSPREFIX TRUE
- bucket_count 3
- bucket_field_name key
- bucketing_version 2
- column.name.delimiter ,
- columns key,value
- columns.comments
- columns.types string:string
-#### A masked pattern was here ####
- name default.bucket_medium
- partition_columns ds
- partition_columns.types string
- serialization.ddl struct bucket_medium { string key, string value}
- serialization.format 1
- serialization.lib org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-#### A masked pattern was here ####
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- name: default.bucket_medium
- name: default.bucket_medium
- Truncated Path -> Alias:
- /bucket_medium/ds=2008-04-08 [$hdt$_3:d]
+ /bucket_small_n15/ds=2008-04-08 [$hdt$_1:$hdt$_1:$hdt$_3:a]
Reducer 2
- Needs Tagging: true
- Reduce Operator Tree:
- Join Operator
- condition map:
- Inner Join 0 to 1
- Inner Join 1 to 2
- keys:
- 0 _col0 (type: string)
- 1 _col0 (type: string)
- 2 _col0 (type: string)
- Statistics: Num rows: 528 Data size: 255728 Basic stats: PARTIAL Column stats: NONE
- Reduce Output Operator
- null sort order:
- sort order:
- Statistics: Num rows: 528 Data size: 255728 Basic stats: PARTIAL Column stats: NONE
- tag: 0
- auto parallelism: false
- Reducer 3
Needs Tagging: true
Reduce Operator Tree:
Join Operator
@@ -565,7 +550,7 @@ STAGE PLANS:
keys:
0
1
- Statistics: Num rows: 1584 Data size: 1666368 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 792 Data size: 833184 Basic stats: PARTIAL Column stats: NONE
Group By Operator
aggregations: count()
minReductionHashAggr: 0.99
@@ -579,7 +564,7 @@ STAGE PLANS:
tag: -1
value expressions: _col0 (type: bigint)
auto parallelism: false
- Reducer 4
+ Reducer 3
Execution mode: vectorized
Needs Tagging: false
Reduce Operator Tree:
@@ -610,6 +595,35 @@ STAGE PLANS:
TotalFiles: 1
GatherStats: false
MultiFileSpray: false
+ Reducer 5
+ Needs Tagging: true
+ Reduce Operator Tree:
+ Join Operator
+ condition map:
+ Inner Join 0 to 1
+ Inner Join 1 to 2
+ keys:
+ 0 _col0 (type: string)
+ 1 _col0 (type: string)
+ 2 _col0 (type: string)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 528 Data size: 255728 Basic stats: PARTIAL Column stats: NONE
+ Select Operator
+ expressions: _col1 (type: string), _col0 (type: string)
+ outputColumnNames: _col1, _col2
+ Statistics: Num rows: 528 Data size: 255728 Basic stats: PARTIAL Column stats: NONE
+ Filter Operator
+ isSamplingPred: false
+ predicate: (_col2 = _col1) (type: boolean)
+ Statistics: Num rows: 264 Data size: 127864 Basic stats: PARTIAL Column stats: NONE
+ Select Operator
+ Statistics: Num rows: 264 Data size: 127864 Basic stats: PARTIAL Column stats: NONE
+ Reduce Output Operator
+ null sort order:
+ sort order:
+ Statistics: Num rows: 264 Data size: 127864 Basic stats: PARTIAL Column stats: NONE
+ tag: 1
+ auto parallelism: false
Stage: Stage-0
Fetch Operator
@@ -617,7 +631,7 @@ STAGE PLANS:
Processor Tree:
ListSink
-Warning: Shuffle Join JOIN[17][tables = [$hdt$_0, $hdt$_1, $hdt$_2, $hdt$_3]] in Work 'Reducer 3' is a cross product
+Warning: Shuffle Join JOIN[20][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 2' is a cross product
PREHOOK: query: select count(*) FROM bucket_small_n15 a JOIN bucket_medium b ON a.key = b.key JOIN bucket_big_n15 c ON c.key = b.key JOIN bucket_medium d ON c.key = b.key
PREHOOK: type: QUERY
PREHOOK: Input: default@bucket_big_n15
diff --git ql/src/test/results/clientpositive/spark/auto_sortmerge_join_16.q.out ql/src/test/results/clientpositive/spark/auto_sortmerge_join_16.q.out
index 24cf07b9a3..f03929b6fd 100644
--- ql/src/test/results/clientpositive/spark/auto_sortmerge_join_16.q.out
+++ ql/src/test/results/clientpositive/spark/auto_sortmerge_join_16.q.out
@@ -220,7 +220,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: bucket_small_n17
- filterExpr: pri BETWEEN 1 AND 2 (type: boolean)
+ filterExpr: pri BETWEEN 1L AND 2L (type: boolean)
Statistics: Num rows: 236 Data size: 2244 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: bigint), value (type: string)
diff --git ql/src/test/results/clientpositive/spark/auto_sortmerge_join_16.q.out_spark ql/src/test/results/clientpositive/spark/auto_sortmerge_join_16.q.out_spark
index 8c22440488..ab6d42dc5a 100644
--- ql/src/test/results/clientpositive/spark/auto_sortmerge_join_16.q.out_spark
+++ ql/src/test/results/clientpositive/spark/auto_sortmerge_join_16.q.out_spark
@@ -220,7 +220,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: bucket_small_n17
- filterExpr: pri BETWEEN 1 AND 2 (type: boolean)
+ filterExpr: pri BETWEEN 1L AND 2L (type: boolean)
Statistics: Num rows: 236 Data size: 2244 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: bigint), value (type: string)
diff --git ql/src/test/results/clientpositive/spark/auto_sortmerge_join_6.q.out ql/src/test/results/clientpositive/spark/auto_sortmerge_join_6.q.out
index 329cdf66b2..1a3484ff00 100644
--- ql/src/test/results/clientpositive/spark/auto_sortmerge_join_6.q.out
+++ ql/src/test/results/clientpositive/spark/auto_sortmerge_join_6.q.out
@@ -555,10 +555,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: c
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: UDFToDouble(key) (type: double)
@@ -574,10 +574,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: a
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: int), UDFToDouble(key) (type: double)
@@ -594,10 +594,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: b
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: int)
@@ -1072,10 +1072,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: c
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: UDFToDouble(key) (type: double)
@@ -1091,10 +1091,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: a
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: int), UDFToDouble(key) (type: double)
@@ -1111,10 +1111,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: b
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: int)
diff --git ql/src/test/results/clientpositive/spark/bucket_map_join_tez2.q.out ql/src/test/results/clientpositive/spark/bucket_map_join_tez2.q.out
index be43889af1..1a56f9ab3b 100644
--- ql/src/test/results/clientpositive/spark/bucket_map_join_tez2.q.out
+++ ql/src/test/results/clientpositive/spark/bucket_map_join_tez2.q.out
@@ -474,10 +474,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: a
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string), UDFToDouble(key) (type: double)
@@ -499,10 +499,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: b
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: value (type: string), UDFToDouble(key) (type: double)
@@ -567,10 +567,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: a
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: int), value (type: string), UDFToDouble(key) (type: double)
@@ -592,10 +592,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: b
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: value (type: string), UDFToDouble(key) (type: double)
@@ -1384,10 +1384,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: tab_n10
- filterExpr: value is not null (type: boolean)
+ filterExpr: UDFToDouble(value) is not null (type: boolean)
Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: value is not null (type: boolean)
+ predicate: UDFToDouble(value) is not null (type: boolean)
Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
Group By Operator
keys: value (type: string)
@@ -1428,10 +1428,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: b
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: value (type: string), UDFToDouble(key) (type: double)
@@ -1494,10 +1494,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: tab_n10
- filterExpr: value is not null (type: boolean)
+ filterExpr: UDFToDouble(value) is not null (type: boolean)
Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: value is not null (type: boolean)
+ predicate: UDFToDouble(value) is not null (type: boolean)
Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
Group By Operator
keys: value (type: string)
@@ -1538,10 +1538,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: b
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 242 Data size: 2566 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: value (type: string), UDFToDouble(key) (type: double)
@@ -2379,6 +2379,13 @@ POSTHOOK: type: QUERY
POSTHOOK: Input: default@my_dim
POSTHOOK: Input: default@my_fact
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `t0`.`bucket_col`, `t2`.`join_col` AS `account1`, `t0`.`accounting_period`
+FROM (SELECT `bucket_col`, `join_col`, `accounting_period`
+FROM `default`.`my_fact`
+WHERE `fiscal_year` = '2015' AND `accounting_period` = 10 AND `join_col` IS NOT NULL) AS `t0`
+INNER JOIN (SELECT `join_col`
+FROM `default`.`my_dim`
+WHERE `filter_col` IN ('VAL1', 'VAL2') AND `join_col` IS NOT NULL) AS `t2` ON `t0`.`join_col` = `t2`.`join_col`
STAGE DEPENDENCIES:
Stage-2 is a root stage
Stage-1 depends on stages: Stage-2
diff --git ql/src/test/results/clientpositive/spark/cbo_simple_select.q.out ql/src/test/results/clientpositive/spark/cbo_simple_select.q.out
index acf91bf178..3aa929d13c 100644
--- ql/src/test/results/clientpositive/spark/cbo_simple_select.q.out
+++ ql/src/test/results/clientpositive/spark/cbo_simple_select.q.out
@@ -761,9 +761,9 @@ STAGE PLANS:
Processor Tree:
TableScan
alias: cbo_t2
- filterExpr: (c_int = c_int) (type: boolean)
+ filterExpr: c_int is not null (type: boolean)
Filter Operator
- predicate: (c_int = c_int) (type: boolean)
+ predicate: c_int is not null (type: boolean)
Select Operator
expressions: key (type: string), value (type: string), c_int (type: int), c_float (type: float), c_boolean (type: boolean), dt (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
@@ -821,9 +821,9 @@ STAGE PLANS:
Processor Tree:
TableScan
alias: cbo_t2
- filterExpr: (c_int = c_int) (type: boolean)
+ filterExpr: c_int is not null (type: boolean)
Filter Operator
- predicate: (c_int = c_int) (type: boolean)
+ predicate: c_int is not null (type: boolean)
Select Operator
expressions: key (type: string), value (type: string), c_int (type: int), c_float (type: float), c_boolean (type: boolean), dt (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
@@ -833,13 +833,11 @@ PREHOOK: query: -- c_int is not null
EXPLAIN select * from cbo_t2 where (cbo_t2.c_int) IN (NULL)
PREHOOK: type: QUERY
PREHOOK: Input: default@cbo_t2
-PREHOOK: Input: default@cbo_t2@dt=2014
#### A masked pattern was here ####
POSTHOOK: query: -- c_int is not null
EXPLAIN select * from cbo_t2 where (cbo_t2.c_int) IN (NULL)
POSTHOOK: type: QUERY
POSTHOOK: Input: default@cbo_t2
-POSTHOOK: Input: default@cbo_t2@dt=2014
#### A masked pattern was here ####
STAGE DEPENDENCIES:
Stage-0 is a root stage
@@ -851,11 +849,10 @@ STAGE PLANS:
Processor Tree:
TableScan
alias: cbo_t2
- filterExpr: (c_int = null) (type: boolean)
Filter Operator
- predicate: (c_int = null) (type: boolean)
+ predicate: false (type: boolean)
Select Operator
- expressions: key (type: string), value (type: string), null (type: int), c_float (type: float), c_boolean (type: boolean), dt (type: string)
+ expressions: key (type: string), value (type: string), c_int (type: int), c_float (type: float), c_boolean (type: boolean), dt (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
ListSink
@@ -881,9 +878,9 @@ STAGE PLANS:
Processor Tree:
TableScan
alias: cbo_t2
- filterExpr: ((c_int = c_int) or (c_int = (2 * c_int))) (type: boolean)
+ filterExpr: (c_int is not null or (c_int = (2 * c_int))) (type: boolean)
Filter Operator
- predicate: ((c_int = (2 * c_int)) or (c_int = c_int)) (type: boolean)
+ predicate: ((c_int = (2 * c_int)) or c_int is not null) (type: boolean)
Select Operator
expressions: key (type: string), value (type: string), c_int (type: int), c_float (type: float), c_boolean (type: boolean), dt (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
@@ -911,9 +908,9 @@ STAGE PLANS:
Processor Tree:
TableScan
alias: cbo_t2
- filterExpr: ((c_int = c_int) or (c_int = 0)) (type: boolean)
+ filterExpr: (c_int is not null or (c_int = 0)) (type: boolean)
Filter Operator
- predicate: ((c_int = 0) or (c_int = c_int)) (type: boolean)
+ predicate: ((c_int = 0) or c_int is not null) (type: boolean)
Select Operator
expressions: key (type: string), value (type: string), c_int (type: int), c_float (type: float), c_boolean (type: boolean), dt (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
diff --git ql/src/test/results/clientpositive/spark/groupby_sort_1_23.q.out ql/src/test/results/clientpositive/spark/groupby_sort_1_23.q.out
index 866a86d7b4..60784eebb4 100644
--- ql/src/test/results/clientpositive/spark/groupby_sort_1_23.q.out
+++ ql/src/test/results/clientpositive/spark/groupby_sort_1_23.q.out
@@ -1296,9 +1296,9 @@ SELECT key, key + 1, count(1) FROM T1_n80 GROUP BY key, key + 1
POSTHOOK: type: QUERY
POSTHOOK: Input: default@t1_n80
POSTHOOK: Output: default@outputtbl3_n2
-OPTIMIZED SQL: SELECT `key` AS `$f0`, CAST(`key` AS DOUBLE) + CAST(1 AS DOUBLE) AS `$f1`, COUNT(*) AS `$f2`
+OPTIMIZED SQL: SELECT `key` AS `$f0`, CAST(`key` AS DOUBLE) + 1 AS `$f1`, COUNT(*) AS `$f2`
FROM `default`.`t1_n80`
-GROUP BY `key`, CAST(`key` AS DOUBLE) + CAST(1 AS DOUBLE)
+GROUP BY `key`, CAST(`key` AS DOUBLE) + 1
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
diff --git ql/src/test/results/clientpositive/spark/groupby_sort_skew_1_23.q.out ql/src/test/results/clientpositive/spark/groupby_sort_skew_1_23.q.out
index 06da1248f3..3429b938b4 100644
--- ql/src/test/results/clientpositive/spark/groupby_sort_skew_1_23.q.out
+++ ql/src/test/results/clientpositive/spark/groupby_sort_skew_1_23.q.out
@@ -1336,9 +1336,9 @@ SELECT key, key + 1, count(1) FROM T1_n56 GROUP BY key, key + 1
POSTHOOK: type: QUERY
POSTHOOK: Input: default@t1_n56
POSTHOOK: Output: default@outputtbl3_n1
-OPTIMIZED SQL: SELECT `key` AS `$f0`, CAST(`key` AS DOUBLE) + CAST(1 AS DOUBLE) AS `$f1`, COUNT(*) AS `$f2`
+OPTIMIZED SQL: SELECT `key` AS `$f0`, CAST(`key` AS DOUBLE) + 1 AS `$f1`, COUNT(*) AS `$f2`
FROM `default`.`t1_n56`
-GROUP BY `key`, CAST(`key` AS DOUBLE) + CAST(1 AS DOUBLE)
+GROUP BY `key`, CAST(`key` AS DOUBLE) + 1
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
diff --git ql/src/test/results/clientpositive/spark/infer_bucket_sort_map_operators.q.out ql/src/test/results/clientpositive/spark/infer_bucket_sort_map_operators.q.out
index 59e25f890e..c7e3177ccb 100644
--- ql/src/test/results/clientpositive/spark/infer_bucket_sort_map_operators.q.out
+++ ql/src/test/results/clientpositive/spark/infer_bucket_sort_map_operators.q.out
@@ -211,7 +211,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1
Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: _col1 is not null (type: boolean)
+ predicate: UDFToDouble(_col1) is not null (type: boolean)
Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: string), _col1 (type: bigint), UDFToDouble(_col1) (type: double)
@@ -228,10 +228,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src
- filterExpr: value is not null (type: boolean)
+ filterExpr: UDFToDouble(value) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: value is not null (type: boolean)
+ predicate: UDFToDouble(value) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: UDFToDouble(value) (type: double)
diff --git ql/src/test/results/clientpositive/spark/join2.q.out ql/src/test/results/clientpositive/spark/join2.q.out
index 3f64bc9a40..4341f07e58 100644
--- ql/src/test/results/clientpositive/spark/join2.q.out
+++ ql/src/test/results/clientpositive/spark/join2.q.out
@@ -35,10 +35,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src1
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -55,10 +55,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src2
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -75,10 +75,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src3
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: value (type: string), UDFToDouble(key) (type: double)
diff --git ql/src/test/results/clientpositive/spark/join_filters_overlap.q.out ql/src/test/results/clientpositive/spark/join_filters_overlap.q.out
index 49226b2622..936cfd0143 100644
--- ql/src/test/results/clientpositive/spark/join_filters_overlap.q.out
+++ ql/src/test/results/clientpositive/spark/join_filters_overlap.q.out
@@ -18,6 +18,15 @@ POSTHOOK: query: explain extended select * from a_n4 left outer join a_n4 b on (
POSTHOOK: type: QUERY
POSTHOOK: Input: default@a_n4
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `t`.`key`, `t`.`value`, `t1`.`key` AS `key1`, `t1`.`value` AS `value1`, `t3`.`key` AS `key2`, `t3`.`value` AS `value2`
+FROM (SELECT `key`, `value`, `value` = 60 AS `=`, `value` = 50 AS `=3`
+FROM `default`.`a_n4`) AS `t`
+LEFT JOIN (SELECT `key`, CAST(50 AS INTEGER) AS `value`
+FROM `default`.`a_n4`
+WHERE `value` = 50) AS `t1` ON `t`.`key` = `t1`.`key` AND `t`.`=3`
+LEFT JOIN (SELECT `key`, CAST(60 AS INTEGER) AS `value`
+FROM `default`.`a_n4`
+WHERE `value` = 60) AS `t3` ON `t`.`key` = `t3`.`key` AND `t`.`=`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -340,6 +349,15 @@ POSTHOOK: query: explain extended select * from a_n4 right outer join a_n4 b on
POSTHOOK: type: QUERY
POSTHOOK: Input: default@a_n4
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `t0`.`key`, `t0`.`value`, `t1`.`key` AS `key1`, `t1`.`value` AS `value1`, `t3`.`key` AS `key2`, `t3`.`value` AS `value2`
+FROM (SELECT `key`, CAST(50 AS INTEGER) AS `value`
+FROM `default`.`a_n4`
+WHERE `value` = 50) AS `t0`
+RIGHT JOIN (SELECT `key`, `value`, `value` = 60 AS `=`, `value` = 50 AS `=3`
+FROM `default`.`a_n4`) AS `t1` ON `t0`.`key` = `t1`.`key` AND `t1`.`=3`
+LEFT JOIN (SELECT `key`, CAST(60 AS INTEGER) AS `value`
+FROM `default`.`a_n4`
+WHERE `value` = 60) AS `t3` ON `t1`.`key` = `t3`.`key` AND `t1`.`=`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -662,6 +680,15 @@ POSTHOOK: query: explain extended select * from a_n4 right outer join a_n4 b on
POSTHOOK: type: QUERY
POSTHOOK: Input: default@a_n4
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `t0`.`key`, `t0`.`value`, `t1`.`key` AS `key1`, `t1`.`value` AS `value1`, `t3`.`key` AS `key2`, `t3`.`value` AS `value2`
+FROM (SELECT `key`, CAST(50 AS INTEGER) AS `value`
+FROM `default`.`a_n4`
+WHERE `value` = 50) AS `t0`
+RIGHT JOIN (SELECT `key`, `value`, `value` = 60 AS `=`, `value` = 50 AS `=3`
+FROM `default`.`a_n4`) AS `t1` ON `t0`.`key` = `t1`.`key` AND `t1`.`=3`
+LEFT JOIN (SELECT `key`, CAST(60 AS INTEGER) AS `value`
+FROM `default`.`a_n4`
+WHERE `value` = 60) AS `t3` ON `t1`.`key` = `t3`.`key` AND `t1`.`=`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -984,6 +1011,17 @@ POSTHOOK: query: explain extended select * from a_n4 full outer join a_n4 b on (
POSTHOOK: type: QUERY
POSTHOOK: Input: default@a_n4
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `t`.`key`, `t`.`value`, `t0`.`key` AS `key1`, `t0`.`value` AS `value1`, `t2`.`key` AS `key2`, `t2`.`value` AS `value2`, `t4`.`key` AS `key3`, `t4`.`value` AS `value3`
+FROM (SELECT `key`, `value`, `value` = 40 AS `=`, `value` = 50 AS `=3`
+FROM `default`.`a_n4`) AS `t`
+FULL JOIN (SELECT `key`, `value`, `value` = 60 AS `=`, `value` = 50 AS `=3`
+FROM `default`.`a_n4`) AS `t0` ON `t`.`key` = `t0`.`key` AND `t`.`=3` AND `t0`.`=3`
+LEFT JOIN (SELECT `key`, CAST(60 AS INTEGER) AS `value`
+FROM `default`.`a_n4`
+WHERE `value` = 60) AS `t2` ON `t0`.`key` = `t2`.`key` AND `t0`.`=`
+LEFT JOIN (SELECT `key`, CAST(40 AS INTEGER) AS `value`
+FROM `default`.`a_n4`
+WHERE `value` = 40) AS `t4` ON `t`.`key` = `t4`.`key` AND `t`.`=`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -1374,6 +1412,18 @@ POSTHOOK: query: explain extended select * from a_n4 left outer join a_n4 b on (
POSTHOOK: type: QUERY
POSTHOOK: Input: default@a_n4
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `t`.`key`, `t`.`value`, `t1`.`key` AS `key1`, `t1`.`value` AS `value1`, `t3`.`key` AS `key2`, `t3`.`value` AS `value2`, `t5`.`key` AS `key3`, `t5`.`value` AS `value3`
+FROM (SELECT `key`, `value`, `value` = 40 AS `=`, `value` = 60 AS `=3`, `value` = 50 AS `=4`
+FROM `default`.`a_n4`) AS `t`
+LEFT JOIN (SELECT `key`, CAST(50 AS INTEGER) AS `value`
+FROM `default`.`a_n4`
+WHERE `value` = 50) AS `t1` ON `t`.`key` = `t1`.`key` AND `t`.`=4`
+LEFT JOIN (SELECT `key`, CAST(60 AS INTEGER) AS `value`
+FROM `default`.`a_n4`
+WHERE `value` = 60) AS `t3` ON `t`.`key` = `t3`.`key` AND `t`.`=3`
+LEFT JOIN (SELECT `key`, CAST(40 AS INTEGER) AS `value`
+FROM `default`.`a_n4`
+WHERE `value` = 40) AS `t5` ON `t`.`key` = `t5`.`key` AND `t`.`=`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
diff --git ql/src/test/results/clientpositive/spark/parquet_vectorization_0.q.out ql/src/test/results/clientpositive/spark/parquet_vectorization_0.q.out
index adb9f4a33b..5dd4d92652 100644
--- ql/src/test/results/clientpositive/spark/parquet_vectorization_0.q.out
+++ ql/src/test/results/clientpositive/spark/parquet_vectorization_0.q.out
@@ -1018,7 +1018,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesparquet
- filterExpr: ((cstring2 like '%b%') or (CAST( cint AS decimal(13,3)) <> 79.553) or (UDFToDouble(cbigint) < cdouble) or ((UDFToShort(ctinyint) >= csmallint) and (cboolean2 = 1) and null)) (type: boolean)
+ filterExpr: ((cstring2 like '%b%') or (CAST( cint AS decimal(13,3)) <> 79.553) or (UDFToDouble(cbigint) < cdouble)) (type: boolean)
Statistics: Num rows: 12288 Data size: 593751 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
@@ -1026,8 +1026,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 7:string, pattern %b%), FilterDecimalColNotEqualDecimalScalar(col 13:decimal(13,3), val 79.553)(children: CastLongToDecimal(col 2:int) -> 13:decimal(13,3)), FilterDoubleColLessDoubleColumn(col 14:double, col 5:double)(children: CastLongToDouble(col 3:bigint) -> 14:double), SelectColumnIsTrue(col 17:boolean)(children: VectorUDFAdaptor(((UDFToShort(ctinyint) >= csmallint) and (cboolean2 = 1) and null))(children: LongColGreaterEqualLongColumn(col 0:smallint, col 1:smallint)(children: col 0:tinyint) -> 15:boolean, LongColEqualLongScalar(col 11:boolean, val 1) -> 16:boolean) -> 17:boolean))
- predicate: (((UDFToShort(ctinyint) >= csmallint) and (cboolean2 = 1) and null) or (CAST( cint AS decimal(13,3)) <> 79.553) or (UDFToDouble(cbigint) < cdouble) or (cstring2 like '%b%')) (type: boolean)
+ predicateExpression: FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 7:string, pattern %b%), FilterDecimalColNotEqualDecimalScalar(col 13:decimal(13,3), val 79.553)(children: CastLongToDecimal(col 2:int) -> 13:decimal(13,3)), FilterDoubleColLessDoubleColumn(col 14:double, col 5:double)(children: CastLongToDouble(col 3:bigint) -> 14:double))
+ predicate: ((CAST( cint AS decimal(13,3)) <> 79.553) or (UDFToDouble(cbigint) < cdouble) or (cstring2 like '%b%')) (type: boolean)
Statistics: Num rows: 12288 Data size: 593751 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: cbigint (type: bigint), cfloat (type: float), ctinyint (type: tinyint), UDFToDouble(cbigint) (type: double), (UDFToDouble(cbigint) * UDFToDouble(cbigint)) (type: double)
@@ -1035,13 +1035,13 @@ STAGE PLANS:
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [3, 4, 0, 18, 21]
- selectExpressions: CastLongToDouble(col 3:bigint) -> 18:double, DoubleColMultiplyDoubleColumn(col 19:double, col 20:double)(children: CastLongToDouble(col 3:bigint) -> 19:double, CastLongToDouble(col 3:bigint) -> 20:double) -> 21:double
+ projectedOutputColumnNums: [3, 4, 0, 15, 18]
+ selectExpressions: CastLongToDouble(col 3:bigint) -> 15:double, DoubleColMultiplyDoubleColumn(col 16:double, col 17:double)(children: CastLongToDouble(col 3:bigint) -> 16:double, CastLongToDouble(col 3:bigint) -> 17:double) -> 18:double
Statistics: Num rows: 12288 Data size: 593751 Basic stats: COMPLETE Column stats: NONE
Group By Operator
aggregations: sum(_col0), count(_col0), sum(_col4), sum(_col3), count(), sum(_col1), min(_col2)
Group By Vectorization:
- aggregators: VectorUDAFSumLong(col 3:bigint) -> bigint, VectorUDAFCount(col 3:bigint) -> bigint, VectorUDAFSumDouble(col 21:double) -> double, VectorUDAFSumDouble(col 18:double) -> double, VectorUDAFCountStar(*) -> bigint, VectorUDAFSumDouble(col 4:float) -> double, VectorUDAFMinLong(col 0:tinyint) -> tinyint
+ aggregators: VectorUDAFSumLong(col 3:bigint) -> bigint, VectorUDAFCount(col 3:bigint) -> bigint, VectorUDAFSumDouble(col 18:double) -> double, VectorUDAFSumDouble(col 15:double) -> double, VectorUDAFCountStar(*) -> bigint, VectorUDAFSumDouble(col 4:float) -> double, VectorUDAFMinLong(col 0:tinyint) -> tinyint
className: VectorGroupByOperator
groupByMode: HASH
native: false
@@ -1067,7 +1067,7 @@ STAGE PLANS:
featureSupportInUse: []
inputFileFormats: org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat
allNative: false
- usesVectorUDFAdaptor: true
+ usesVectorUDFAdaptor: false
vectorized: true
Reducer 2
Execution mode: vectorized
@@ -30133,6 +30133,9 @@ POSTHOOK: query: explain extended select * from alltypesparquet where
POSTHOOK: type: QUERY
POSTHOOK: Input: default@alltypesparquet
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `ctinyint`, `csmallint`, `cint`, `cbigint`, `cfloat`, `cdouble`, `cstring1`, `cstring2`, `ctimestamp1`, `ctimestamp2`, `cboolean1`, `cboolean2`
+FROM `default`.`alltypesparquet`
+WHERE ROW(`cint`, `cfloat`) IN (ROW(49, 3.5), ROW(47, 2.09), ROW(45, 3.02))
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -30375,6 +30378,11 @@ POSTHOOK: query: explain extended select count(*),cstring1 from alltypesparquet
POSTHOOK: type: QUERY
POSTHOOK: Input: default@alltypesparquet
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT COUNT(*) AS `_o__c0`, `cstring1`
+FROM `default`.`alltypesparquet`
+WHERE `cstring1` IN ('biology', 'history', 'topology')
+GROUP BY `cstring1`
+ORDER BY `cstring1`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
diff --git ql/src/test/results/clientpositive/spark/parquet_vectorization_5.q.out ql/src/test/results/clientpositive/spark/parquet_vectorization_5.q.out
index fc3952117a..82c51cba78 100644
--- ql/src/test/results/clientpositive/spark/parquet_vectorization_5.q.out
+++ ql/src/test/results/clientpositive/spark/parquet_vectorization_5.q.out
@@ -61,7 +61,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesparquet
- filterExpr: ((cboolean2 is not null and (cstring1 like '%b%')) or ((UDFToDouble(ctinyint) = cdouble) and ctimestamp2 is not null and (cstring2 like 'a'))) (type: boolean)
+ filterExpr: (((cstring1 like '%b%') and cboolean2 is not null) or ((UDFToDouble(ctinyint) = cdouble) and (cstring2 like 'a') and ctimestamp2 is not null)) (type: boolean)
Statistics: Num rows: 12288 Data size: 593751 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
@@ -69,8 +69,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: SelectColumnIsNotNull(col 11:boolean), FilterStringColLikeStringScalar(col 6:string, pattern %b%)), FilterExprAndExpr(children: FilterDoubleColEqualDoubleColumn(col 13:double, col 5:double)(children: CastLongToDouble(col 0:tinyint) -> 13:double), SelectColumnIsNotNull(col 9:timestamp), FilterStringColLikeStringScalar(col 7:string, pattern a)))
- predicate: (((UDFToDouble(ctinyint) = cdouble) and ctimestamp2 is not null and (cstring2 like 'a')) or (cboolean2 is not null and (cstring1 like '%b%'))) (type: boolean)
+ predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterStringColLikeStringScalar(col 6:string, pattern %b%), SelectColumnIsNotNull(col 11:boolean)), FilterExprAndExpr(children: FilterDoubleColEqualDoubleColumn(col 13:double, col 5:double)(children: CastLongToDouble(col 0:tinyint) -> 13:double), FilterStringColLikeStringScalar(col 7:string, pattern a), SelectColumnIsNotNull(col 9:timestamp)))
+ predicate: (((UDFToDouble(ctinyint) = cdouble) and (cstring2 like 'a') and ctimestamp2 is not null) or ((cstring1 like '%b%') and cboolean2 is not null)) (type: boolean)
Statistics: Num rows: 9216 Data size: 445313 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: ctinyint (type: tinyint), csmallint (type: smallint), cint (type: int)
diff --git ql/src/test/results/clientpositive/spark/parquet_vectorization_6.q.out ql/src/test/results/clientpositive/spark/parquet_vectorization_6.q.out
index 6eabffb84d..6db02c3517 100644
--- ql/src/test/results/clientpositive/spark/parquet_vectorization_6.q.out
+++ ql/src/test/results/clientpositive/spark/parquet_vectorization_6.q.out
@@ -61,7 +61,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesparquet
- filterExpr: ((ctinyint <> 0Y) and (((cboolean1 <= 0) and (cboolean2 >= cboolean1)) or (cbigint is not null and ((cstring2 like '%a') or (cfloat <= -257.0))))) (type: boolean)
+ filterExpr: ((ctinyint <> 0Y) and (((cboolean1 <= 0) and (cboolean2 >= cboolean1)) or (((cstring2 like '%a') or (cfloat <= -257.0)) and cbigint is not null))) (type: boolean)
Statistics: Num rows: 12288 Data size: 593751 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
@@ -69,8 +69,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children: FilterLongColNotEqualLongScalar(col 0:tinyint, val 0), FilterExprOrExpr(children: FilterExprAndExpr(children: FilterLongColLessEqualLongScalar(col 10:boolean, val 0), FilterLongColGreaterEqualLongColumn(col 11:boolean, col 10:boolean)), FilterExprAndExpr(children: SelectColumnIsNotNull(col 3:bigint), FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 7:string, pattern %a), FilterDoubleColLessEqualDoubleScalar(col 4:float, val -257.0)))))
- predicate: ((((cboolean1 <= 0) and (cboolean2 >= cboolean1)) or (cbigint is not null and ((cstring2 like '%a') or (cfloat <= -257.0)))) and (ctinyint <> 0Y)) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: FilterLongColNotEqualLongScalar(col 0:tinyint, val 0), FilterExprOrExpr(children: FilterExprAndExpr(children: FilterLongColLessEqualLongScalar(col 10:boolean, val 0), FilterLongColGreaterEqualLongColumn(col 11:boolean, col 10:boolean)), FilterExprAndExpr(children: FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 7:string, pattern %a), FilterDoubleColLessEqualDoubleScalar(col 4:float, val -257.0)), SelectColumnIsNotNull(col 3:bigint))))
+ predicate: ((((cboolean1 <= 0) and (cboolean2 >= cboolean1)) or (((cstring2 like '%a') or (cfloat <= -257.0)) and cbigint is not null)) and (ctinyint <> 0Y)) (type: boolean)
Statistics: Num rows: 11605 Data size: 560748 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: cboolean1 (type: boolean), cfloat (type: float), cstring1 (type: string), (988888 * UDFToInteger(csmallint)) (type: int), (- csmallint) (type: smallint), (- cfloat) (type: float), (-26.28D / UDFToDouble(cfloat)) (type: double), (cfloat * 359.0) (type: float), (cint % UDFToInteger(ctinyint)) (type: int), (- cdouble) (type: double), (UDFToInteger(ctinyint) - -75) (type: int), (762 * (cint % UDFToInteger(ctinyint))) (type: int)
diff --git ql/src/test/results/clientpositive/spark/parquet_vectorization_8.q.out ql/src/test/results/clientpositive/spark/parquet_vectorization_8.q.out
index 357a321c27..e0135e05e4 100644
--- ql/src/test/results/clientpositive/spark/parquet_vectorization_8.q.out
+++ ql/src/test/results/clientpositive/spark/parquet_vectorization_8.q.out
@@ -71,7 +71,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesparquet
- filterExpr: ((cstring2 is not null and (UDFToDouble(ctimestamp1) <= 10.0D) and (UDFToDouble(ctimestamp2) <> 16.0D)) or (cfloat < -6432.0) or (cboolean1 is not null and (cdouble = 988888.0D))) (type: boolean)
+ filterExpr: (((UDFToDouble(ctimestamp1) <= 10.0D) and (UDFToDouble(ctimestamp2) <> 16.0D) and cstring2 is not null) or (cfloat < -6432.0) or ((cdouble = 988888.0D) and cboolean1 is not null)) (type: boolean)
Statistics: Num rows: 12288 Data size: 593751 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
@@ -79,8 +79,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: SelectColumnIsNotNull(col 7:string), FilterDoubleColLessEqualDoubleScalar(col 13:double, val 10.0)(children: CastTimestampToDouble(col 8:timestamp) -> 13:double), FilterDoubleColNotEqualDoubleScalar(col 14:double, val 16.0)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double)), FilterDoubleColLessDoubleScalar(col 4:float, val -6432.0), FilterExprAndExpr(children: SelectColumnIsNotNull(col 10:boolean), FilterDoubleColEqualDoubleScalar(col 5:double, val 988888.0)))
- predicate: ((cboolean1 is not null and (cdouble = 988888.0D)) or (cfloat < -6432.0) or (cstring2 is not null and (UDFToDouble(ctimestamp1) <= 10.0D) and (UDFToDouble(ctimestamp2) <> 16.0D))) (type: boolean)
+ predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterDoubleColLessEqualDoubleScalar(col 13:double, val 10.0)(children: CastTimestampToDouble(col 8:timestamp) -> 13:double), FilterDoubleColNotEqualDoubleScalar(col 14:double, val 16.0)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double), SelectColumnIsNotNull(col 7:string)), FilterDoubleColLessDoubleScalar(col 4:float, val -6432.0), FilterExprAndExpr(children: FilterDoubleColEqualDoubleScalar(col 5:double, val 988888.0), SelectColumnIsNotNull(col 10:boolean)))
+ predicate: (((UDFToDouble(ctimestamp1) <= 10.0D) and (UDFToDouble(ctimestamp2) <> 16.0D) and cstring2 is not null) or ((cdouble = 988888.0D) and cboolean1 is not null) or (cfloat < -6432.0)) (type: boolean)
Statistics: Num rows: 12288 Data size: 593751 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: ctimestamp1 (type: timestamp), cdouble (type: double), cboolean1 (type: boolean), cstring1 (type: string), cfloat (type: float), (- cdouble) (type: double), (-5638.15D - cdouble) (type: double), (cdouble * -257.0D) (type: double), (UDFToFloat(cint) + cfloat) (type: float), ((- cdouble) + UDFToDouble(cbigint)) (type: double), (- cdouble) (type: double), (-1.389 - cfloat) (type: float), (- cfloat) (type: float), ((-5638.15D - cdouble) + UDFToDouble((UDFToFloat(cint) + cfloat))) (type: double)
@@ -295,7 +295,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesparquet
- filterExpr: ((cstring2 is not null and (UDFToDouble(ctimestamp1) <= 12.503D) and (UDFToDouble(ctimestamp2) <> 11.998D)) or (cfloat < -6432.0) or (cboolean1 is not null and (cdouble = 988888.0D))) (type: boolean)
+ filterExpr: (((UDFToDouble(ctimestamp1) <= 12.503D) and (UDFToDouble(ctimestamp2) <> 11.998D) and cstring2 is not null) or (cfloat < -6432.0) or ((cdouble = 988888.0D) and cboolean1 is not null)) (type: boolean)
Statistics: Num rows: 12288 Data size: 593751 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
@@ -303,8 +303,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: SelectColumnIsNotNull(col 7:string), FilterDoubleColLessEqualDoubleScalar(col 13:double, val 12.503)(children: CastTimestampToDouble(col 8:timestamp) -> 13:double), FilterDoubleColNotEqualDoubleScalar(col 14:double, val 11.998)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double)), FilterDoubleColLessDoubleScalar(col 4:float, val -6432.0), FilterExprAndExpr(children: SelectColumnIsNotNull(col 10:boolean), FilterDoubleColEqualDoubleScalar(col 5:double, val 988888.0)))
- predicate: ((cboolean1 is not null and (cdouble = 988888.0D)) or (cfloat < -6432.0) or (cstring2 is not null and (UDFToDouble(ctimestamp1) <= 12.503D) and (UDFToDouble(ctimestamp2) <> 11.998D))) (type: boolean)
+ predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterDoubleColLessEqualDoubleScalar(col 13:double, val 12.503)(children: CastTimestampToDouble(col 8:timestamp) -> 13:double), FilterDoubleColNotEqualDoubleScalar(col 14:double, val 11.998)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double), SelectColumnIsNotNull(col 7:string)), FilterDoubleColLessDoubleScalar(col 4:float, val -6432.0), FilterExprAndExpr(children: FilterDoubleColEqualDoubleScalar(col 5:double, val 988888.0), SelectColumnIsNotNull(col 10:boolean)))
+ predicate: (((UDFToDouble(ctimestamp1) <= 12.503D) and (UDFToDouble(ctimestamp2) <> 11.998D) and cstring2 is not null) or ((cdouble = 988888.0D) and cboolean1 is not null) or (cfloat < -6432.0)) (type: boolean)
Statistics: Num rows: 12288 Data size: 593751 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: ctimestamp1 (type: timestamp), cdouble (type: double), cboolean1 (type: boolean), cstring1 (type: string), cfloat (type: float), (- cdouble) (type: double), (-5638.15D - cdouble) (type: double), (cdouble * -257.0D) (type: double), (UDFToFloat(cint) + cfloat) (type: float), ((- cdouble) + UDFToDouble(cbigint)) (type: double), (- cdouble) (type: double), (-1.389 - cfloat) (type: float), (- cfloat) (type: float), ((-5638.15D - cdouble) + UDFToDouble((UDFToFloat(cint) + cfloat))) (type: double)
diff --git ql/src/test/results/clientpositive/spark/parquet_vectorization_div0.q.out ql/src/test/results/clientpositive/spark/parquet_vectorization_div0.q.out
index 8f40278318..65ff389a49 100644
--- ql/src/test/results/clientpositive/spark/parquet_vectorization_div0.q.out
+++ ql/src/test/results/clientpositive/spark/parquet_vectorization_div0.q.out
@@ -221,7 +221,7 @@ STAGE PLANS:
predicate: ((cbigint < 100000000L) and (cbigint > 0L)) (type: boolean)
Statistics: Num rows: 1365 Data size: 65956 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: (cbigint - 988888) (type: bigint), (cdouble / UDFToDouble((cbigint - 988888))) (type: double), (1.2 / CAST( (cbigint - 988888) AS decimal(19,0))) (type: decimal(22,21))
+ expressions: (cbigint - 988888L) (type: bigint), (cdouble / UDFToDouble((cbigint - 988888L))) (type: double), (1.2 / CAST( (cbigint - 988888L) AS decimal(19,0))) (type: decimal(22,21))
outputColumnNames: _col0, _col1, _col2
Select Vectorization:
className: VectorSelectOperator
diff --git ql/src/test/results/clientpositive/spark/pcr.q.out ql/src/test/results/clientpositive/spark/pcr.q.out
index 2c5b15aa3a..b12730c39d 100644
--- ql/src/test/results/clientpositive/spark/pcr.q.out
+++ ql/src/test/results/clientpositive/spark/pcr.q.out
@@ -1564,6 +1564,11 @@ POSTHOOK: Input: default@pcr_t1
POSTHOOK: Input: default@pcr_t1@ds=2000-04-08
POSTHOOK: Input: default@pcr_t1@ds=2000-04-09
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT CAST(14 AS INTEGER) AS `key`, `value`
+FROM (SELECT `value`
+FROM `default`.`pcr_t1`
+WHERE `ds` IN ('2000-04-08', '2000-04-09') AND `key` = 14
+ORDER BY `value`) AS `t1`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -1761,6 +1766,10 @@ POSTHOOK: Input: default@pcr_t1
POSTHOOK: Input: default@pcr_t1@ds=2000-04-08
POSTHOOK: Input: default@pcr_t1@ds=2000-04-09
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `key`, `value`
+FROM `default`.`pcr_t1`
+WHERE `ds` IN ('2000-04-08', '2000-04-09')
+ORDER BY `key`, `value`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -1998,7 +2007,7 @@ POSTHOOK: Input: default@pcr_t1@ds=2000-04-10
#### A masked pattern was here ####
OPTIMIZED SQL: SELECT `key`, `value`
FROM `default`.`pcr_t1`
-WHERE `ds` >= '2000-04-08' OR `ds` IS NOT NULL
+WHERE `ds` >= '2000-04-08' OR `ds` < '2000-04-10'
ORDER BY `key`, `value`
STAGE DEPENDENCIES:
Stage-1 is a root stage
@@ -2015,7 +2024,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: pcr_t1
- filterExpr: ((ds >= '2000-04-08') or ds is not null) (type: boolean)
+ filterExpr: ((ds >= '2000-04-08') or (ds < '2000-04-10')) (type: boolean)
Statistics: Num rows: 60 Data size: 480 Basic stats: COMPLETE Column stats: NONE
GatherStats: false
Select Operator
@@ -2304,6 +2313,10 @@ POSTHOOK: Input: default@pcr_t1
POSTHOOK: Input: default@pcr_t1@ds=2000-04-08
POSTHOOK: Input: default@pcr_t1@ds=2000-04-09
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `key`, `value`, `ds`
+FROM `default`.`pcr_t1`
+WHERE ROW(`key`, `ds`) IN (ROW(1, '2000-04-08'), ROW(2, '2000-04-09'))
+ORDER BY `key`, `value`, `ds`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -4418,6 +4431,11 @@ POSTHOOK: Input: default@srcpart
POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11
POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `key`, `value`, CAST('2008-04-08' AS STRING) AS `ds`, `hr`
+FROM (SELECT `key`, `value`, `hr`
+FROM `default`.`srcpart`
+WHERE `hr` IN ('11', '12') AND `ds` = '2008-04-08' AND `key` = 11
+ORDER BY `key`, `hr`) AS `t1`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
diff --git ql/src/test/results/clientpositive/spark/ppd_join_filter.q.out ql/src/test/results/clientpositive/spark/ppd_join_filter.q.out
index b8a8760955..ae8fc56280 100644
--- ql/src/test/results/clientpositive/spark/ppd_join_filter.q.out
+++ ql/src/test/results/clientpositive/spark/ppd_join_filter.q.out
@@ -32,7 +32,7 @@ OPTIMIZED SQL: SELECT `t0`.`key`, `t4`.`k2`, `t4`.`k3`
FROM (SELECT `key`
FROM `default`.`src`
WHERE `key` IS NOT NULL) AS `t0`
-INNER JOIN (SELECT `key`, CAST(MIN(`key`) AS DOUBLE) + CAST(2 AS DOUBLE) AS `k2`, CAST(MIN(`key`) AS DOUBLE) + CAST(3 AS DOUBLE) AS `k3`
+INNER JOIN (SELECT `key`, CAST(MIN(`key`) AS DOUBLE) + 2 AS `k2`, CAST(MIN(`key`) AS DOUBLE) + 3 AS `k3`
FROM `default`.`src`
WHERE `key` IS NOT NULL
GROUP BY `key`
@@ -346,7 +346,7 @@ OPTIMIZED SQL: SELECT `t0`.`key`, `t4`.`k2`, `t4`.`k3`
FROM (SELECT `key`
FROM `default`.`src`
WHERE `key` IS NOT NULL) AS `t0`
-INNER JOIN (SELECT `key`, CAST(MIN(`key`) AS DOUBLE) + CAST(2 AS DOUBLE) AS `k2`, CAST(MIN(`key`) AS DOUBLE) + CAST(3 AS DOUBLE) AS `k3`
+INNER JOIN (SELECT `key`, CAST(MIN(`key`) AS DOUBLE) + 2 AS `k2`, CAST(MIN(`key`) AS DOUBLE) + 3 AS `k3`
FROM `default`.`src`
WHERE `key` IS NOT NULL
GROUP BY `key`
@@ -660,7 +660,7 @@ OPTIMIZED SQL: SELECT `t0`.`key`, `t4`.`k2`, `t4`.`k3`
FROM (SELECT `key`
FROM `default`.`src`
WHERE `key` IS NOT NULL) AS `t0`
-INNER JOIN (SELECT `key`, CAST(MIN(`key`) AS DOUBLE) + CAST(2 AS DOUBLE) AS `k2`, CAST(MIN(`key`) AS DOUBLE) + CAST(3 AS DOUBLE) AS `k3`
+INNER JOIN (SELECT `key`, CAST(MIN(`key`) AS DOUBLE) + 2 AS `k2`, CAST(MIN(`key`) AS DOUBLE) + 3 AS `k3`
FROM `default`.`src`
WHERE `key` IS NOT NULL
GROUP BY `key`
@@ -972,7 +972,7 @@ OPTIMIZED SQL: SELECT `t0`.`key`, `t4`.`k2`, `t4`.`k3`
FROM (SELECT `key`
FROM `default`.`src`
WHERE `key` IS NOT NULL) AS `t0`
-INNER JOIN (SELECT `key`, CAST(MIN(`key`) AS DOUBLE) + CAST(2 AS DOUBLE) AS `k2`, CAST(MIN(`key`) AS DOUBLE) + CAST(3 AS DOUBLE) AS `k3`
+INNER JOIN (SELECT `key`, CAST(MIN(`key`) AS DOUBLE) + 2 AS `k2`, CAST(MIN(`key`) AS DOUBLE) + 3 AS `k3`
FROM `default`.`src`
WHERE `key` IS NOT NULL
GROUP BY `key`
diff --git ql/src/test/results/clientpositive/spark/skewjoinopt18.q.out ql/src/test/results/clientpositive/spark/skewjoinopt18.q.out
index 0e43a882ed..de10fc472f 100644
--- ql/src/test/results/clientpositive/spark/skewjoinopt18.q.out
+++ ql/src/test/results/clientpositive/spark/skewjoinopt18.q.out
@@ -77,10 +77,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: a
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: int), val (type: string), UDFToDouble(key) (type: double)
@@ -97,10 +97,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: b
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), val (type: string), UDFToDouble(key) (type: double)
diff --git ql/src/test/results/clientpositive/spark/spark_dynamic_partition_pruning.q.out ql/src/test/results/clientpositive/spark/spark_dynamic_partition_pruning.q.out
index 89da63134c..76a70972c9 100644
--- ql/src/test/results/clientpositive/spark/spark_dynamic_partition_pruning.q.out
+++ ql/src/test/results/clientpositive/spark/spark_dynamic_partition_pruning.q.out
@@ -522,10 +522,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart_date_n4
- filterExpr: ((date = '2008-04-08') and ds is not null) (type: boolean)
+ filterExpr: ((date = '2008-04-08') and CAST( ds AS DATE) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 42 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((date = '2008-04-08') and ds is not null) (type: boolean)
+ predicate: ((date = '2008-04-08') and CAST( ds AS DATE) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 21 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: day(CAST( ds AS DATE)) (type: int)
@@ -556,25 +556,28 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: ds is not null (type: boolean)
+ filterExpr: CAST( ds AS DATE) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: day(CAST( ds AS DATE)) (type: int)
- outputColumnNames: _col0
+ Filter Operator
+ predicate: CAST( ds AS DATE) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: int)
- sort order: +
- Map-reduce partition columns: _col0 (type: int)
+ Select Operator
+ expressions: day(CAST( ds AS DATE)) (type: int)
+ outputColumnNames: _col0
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: int)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: int)
+ Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Map 4
Map Operator Tree:
TableScan
alias: srcpart_date_n4
- filterExpr: ((date = '2008-04-08') and ds is not null) (type: boolean)
+ filterExpr: ((date = '2008-04-08') and CAST( ds AS DATE) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 42 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((date = '2008-04-08') and ds is not null) (type: boolean)
+ predicate: ((date = '2008-04-08') and CAST( ds AS DATE) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 21 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: day(CAST( ds AS DATE)) (type: int)
@@ -678,25 +681,28 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: ds is not null (type: boolean)
+ filterExpr: CAST( ds AS DATE) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: day(CAST( ds AS DATE)) (type: int)
- outputColumnNames: _col0
+ Filter Operator
+ predicate: CAST( ds AS DATE) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: int)
- sort order: +
- Map-reduce partition columns: _col0 (type: int)
+ Select Operator
+ expressions: day(CAST( ds AS DATE)) (type: int)
+ outputColumnNames: _col0
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: int)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: int)
+ Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Map 4
Map Operator Tree:
TableScan
alias: srcpart_date_n4
- filterExpr: ((date = '2008-04-08') and ds is not null) (type: boolean)
+ filterExpr: ((date = '2008-04-08') and CAST( ds AS DATE) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 42 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((date = '2008-04-08') and ds is not null) (type: boolean)
+ predicate: ((date = '2008-04-08') and CAST( ds AS DATE) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 21 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: day(CAST( ds AS DATE)) (type: int)
@@ -798,13 +804,13 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart_date_n4
- filterExpr: ((date = '2008-04-08') and abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10)) is not null) (type: boolean)
+ filterExpr: ((date = '2008-04-08') and abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10L)) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 42 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((date = '2008-04-08') and abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10)) is not null) (type: boolean)
+ predicate: ((date = '2008-04-08') and abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10L)) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 21 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10)) (type: bigint)
+ expressions: abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10L)) (type: bigint)
outputColumnNames: _col0
Statistics: Num rows: 1 Data size: 21 Basic stats: COMPLETE Column stats: NONE
Select Operator
@@ -818,7 +824,7 @@ STAGE PLANS:
outputColumnNames: _col0
Statistics: Num rows: 1 Data size: 21 Basic stats: COMPLETE Column stats: NONE
Spark Partition Pruning Sink Operator
- Target Columns: [Map 1 -> [ds:string (abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10)))]]
+ Target Columns: [Map 1 -> [ds:string (abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10L)))]]
Statistics: Num rows: 1 Data size: 21 Basic stats: COMPLETE Column stats: NONE
Stage: Stage-1
@@ -832,13 +838,13 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10)) is not null (type: boolean)
+ filterExpr: abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10L)) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10)) is not null (type: boolean)
+ predicate: abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10L)) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10)) (type: bigint)
+ expressions: abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10L)) (type: bigint)
outputColumnNames: _col0
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
@@ -850,13 +856,13 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart_date_n4
- filterExpr: ((date = '2008-04-08') and abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10)) is not null) (type: boolean)
+ filterExpr: ((date = '2008-04-08') and abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10L)) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 42 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((date = '2008-04-08') and abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10)) is not null) (type: boolean)
+ predicate: ((date = '2008-04-08') and abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10L)) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 21 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10)) (type: bigint)
+ expressions: abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10L)) (type: bigint)
outputColumnNames: _col0
Statistics: Num rows: 1 Data size: 21 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
@@ -955,10 +961,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart_date_n4
- filterExpr: ((date = '2008-04-08') and ds is not null) (type: boolean)
+ filterExpr: ((date = '2008-04-08') and CAST( day(CAST( ds AS DATE)) AS decimal(10,0)) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 42 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((date = '2008-04-08') and ds is not null) (type: boolean)
+ predicate: ((date = '2008-04-08') and CAST( day(CAST( ds AS DATE)) AS decimal(10,0)) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 21 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: CAST( day(CAST( ds AS DATE)) AS decimal(10,0)) (type: decimal(10,0))
@@ -989,25 +995,28 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: ds is not null (type: boolean)
+ filterExpr: CAST( UDFToShort(day(CAST( ds AS DATE))) AS decimal(10,0)) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: CAST( UDFToShort(day(CAST( ds AS DATE))) AS decimal(10,0)) (type: decimal(10,0))
- outputColumnNames: _col0
+ Filter Operator
+ predicate: CAST( UDFToShort(day(CAST( ds AS DATE))) AS decimal(10,0)) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: decimal(10,0))
- sort order: +
- Map-reduce partition columns: _col0 (type: decimal(10,0))
+ Select Operator
+ expressions: CAST( UDFToShort(day(CAST( ds AS DATE))) AS decimal(10,0)) (type: decimal(10,0))
+ outputColumnNames: _col0
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: decimal(10,0))
+ sort order: +
+ Map-reduce partition columns: _col0 (type: decimal(10,0))
+ Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Map 4
Map Operator Tree:
TableScan
alias: srcpart_date_n4
- filterExpr: ((date = '2008-04-08') and ds is not null) (type: boolean)
+ filterExpr: ((date = '2008-04-08') and CAST( day(CAST( ds AS DATE)) AS decimal(10,0)) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 42 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((date = '2008-04-08') and ds is not null) (type: boolean)
+ predicate: ((date = '2008-04-08') and CAST( day(CAST( ds AS DATE)) AS decimal(10,0)) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 21 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: CAST( day(CAST( ds AS DATE)) AS decimal(10,0)) (type: decimal(10,0))
@@ -2087,10 +2096,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart_double_hour_n1
- filterExpr: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ filterExpr: ((UDFToDouble(hour) = 11.0D) and UDFToDouble(UDFToInteger((hr / 2.0D))) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 14 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ predicate: ((UDFToDouble(hour) = 11.0D) and UDFToDouble(UDFToInteger((hr / 2.0D))) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: UDFToDouble(UDFToInteger((hr / 2.0D))) (type: double)
@@ -2121,25 +2130,28 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: hr is not null (type: boolean)
+ filterExpr: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: UDFToDouble(hr) (type: double)
- outputColumnNames: _col0
+ Filter Operator
+ predicate: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: double)
- sort order: +
- Map-reduce partition columns: _col0 (type: double)
+ Select Operator
+ expressions: UDFToDouble(hr) (type: double)
+ outputColumnNames: _col0
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: double)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: double)
+ Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Map 4
Map Operator Tree:
TableScan
alias: srcpart_double_hour_n1
- filterExpr: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ filterExpr: ((UDFToDouble(hour) = 11.0D) and UDFToDouble(UDFToInteger((hr / 2.0D))) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 14 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ predicate: ((UDFToDouble(hour) = 11.0D) and UDFToDouble(UDFToInteger((hr / 2.0D))) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: UDFToDouble(UDFToInteger((hr / 2.0D))) (type: double)
@@ -2275,17 +2287,20 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: hr is not null (type: boolean)
+ filterExpr: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: (UDFToDouble(hr) * 2.0D) (type: double)
- outputColumnNames: _col0
+ Filter Operator
+ predicate: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: double)
- sort order: +
- Map-reduce partition columns: _col0 (type: double)
+ Select Operator
+ expressions: (UDFToDouble(hr) * 2.0D) (type: double)
+ outputColumnNames: _col0
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: double)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: double)
+ Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Map 4
Map Operator Tree:
TableScan
@@ -2397,25 +2412,28 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: hr is not null (type: boolean)
+ filterExpr: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: UDFToDouble(hr) (type: double)
- outputColumnNames: _col0
+ Filter Operator
+ predicate: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: double)
- sort order: +
- Map-reduce partition columns: _col0 (type: double)
+ Select Operator
+ expressions: UDFToDouble(hr) (type: double)
+ outputColumnNames: _col0
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: double)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: double)
+ Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Map 4
Map Operator Tree:
TableScan
alias: srcpart_double_hour_n1
- filterExpr: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ filterExpr: ((UDFToDouble(hour) = 11.0D) and UDFToDouble(UDFToInteger((hr / 2.0D))) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 14 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ predicate: ((UDFToDouble(hour) = 11.0D) and UDFToDouble(UDFToInteger((hr / 2.0D))) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: UDFToDouble(UDFToInteger((hr / 2.0D))) (type: double)
@@ -2519,17 +2537,20 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: hr is not null (type: boolean)
+ filterExpr: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: (UDFToDouble(hr) * 2.0D) (type: double)
- outputColumnNames: _col0
+ Filter Operator
+ predicate: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: double)
- sort order: +
- Map-reduce partition columns: _col0 (type: double)
+ Select Operator
+ expressions: (UDFToDouble(hr) * 2.0D) (type: double)
+ outputColumnNames: _col0
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: double)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: double)
+ Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Map 4
Map Operator Tree:
TableScan
@@ -2648,10 +2669,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart_double_hour_n1
- filterExpr: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ filterExpr: ((UDFToDouble(hour) = 11.0D) and CAST( hr AS STRING) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 14 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ predicate: ((UDFToDouble(hour) = 11.0D) and CAST( hr AS STRING) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: CAST( hr AS STRING) (type: string)
@@ -2682,25 +2703,28 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: hr is not null (type: boolean)
+ filterExpr: CAST( (UDFToDouble(hr) * 2.0D) AS STRING) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: CAST( (UDFToDouble(hr) * 2.0D) AS STRING) (type: string)
- outputColumnNames: _col0
+ Filter Operator
+ predicate: CAST( (UDFToDouble(hr) * 2.0D) AS STRING) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: string)
- sort order: +
- Map-reduce partition columns: _col0 (type: string)
+ Select Operator
+ expressions: CAST( (UDFToDouble(hr) * 2.0D) AS STRING) (type: string)
+ outputColumnNames: _col0
Statistics: Num rows: 2000 Data size: 21248 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: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Map 4
Map Operator Tree:
TableScan
alias: srcpart_double_hour_n1
- filterExpr: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ filterExpr: ((UDFToDouble(hour) = 11.0D) and CAST( hr AS STRING) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 14 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ predicate: ((UDFToDouble(hour) = 11.0D) and CAST( hr AS STRING) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: CAST( hr AS STRING) (type: string)
@@ -5016,10 +5040,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart_date_n4
- filterExpr: ((date = '2008-04-08') and ds is not null) (type: boolean)
+ filterExpr: ((date = '2008-04-08') and CAST( ds AS DATE) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 42 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((date = '2008-04-08') and ds is not null) (type: boolean)
+ predicate: ((date = '2008-04-08') and CAST( ds AS DATE) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 21 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: day(CAST( ds AS DATE)) (type: int)
@@ -5055,31 +5079,34 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: ds is not null (type: boolean)
+ filterExpr: CAST( ds AS DATE) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: day(CAST( ds AS DATE)) (type: int)
- outputColumnNames: _col0
+ Filter Operator
+ predicate: CAST( ds AS DATE) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 _col0 (type: int)
- 1 _col0 (type: int)
- input vertices:
- 1 Map 3
- Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE
- Group By Operator
- aggregations: count()
- minReductionHashAggr: 0.99
- mode: hash
- outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- sort order:
+ Select Operator
+ expressions: day(CAST( ds AS DATE)) (type: int)
+ outputColumnNames: _col0
+ Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: int)
+ 1 _col0 (type: int)
+ input vertices:
+ 1 Map 3
+ Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator
+ aggregations: count()
+ minReductionHashAggr: 0.99
+ mode: hash
+ outputColumnNames: _col0
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col0 (type: bigint)
+ Reduce Output Operator
+ sort order:
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col0 (type: bigint)
Local Work:
Map Reduce Local Work
Reducer 2
@@ -5647,10 +5674,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart_double_hour_n1
- filterExpr: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ filterExpr: ((UDFToDouble(hour) = 11.0D) and UDFToDouble(UDFToInteger((hr / 2.0D))) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 14 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ predicate: ((UDFToDouble(hour) = 11.0D) and UDFToDouble(UDFToInteger((hr / 2.0D))) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: UDFToDouble(UDFToInteger((hr / 2.0D))) (type: double)
@@ -5686,31 +5713,34 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: hr is not null (type: boolean)
+ filterExpr: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: UDFToDouble(hr) (type: double)
- outputColumnNames: _col0
+ Filter Operator
+ predicate: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 _col0 (type: double)
- 1 _col0 (type: double)
- input vertices:
- 1 Map 3
- Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE
- Group By Operator
- aggregations: count()
- minReductionHashAggr: 0.99
- mode: hash
- outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- sort order:
+ Select Operator
+ expressions: UDFToDouble(hr) (type: double)
+ outputColumnNames: _col0
+ Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: double)
+ 1 _col0 (type: double)
+ input vertices:
+ 1 Map 3
+ Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator
+ aggregations: count()
+ minReductionHashAggr: 0.99
+ mode: hash
+ outputColumnNames: _col0
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col0 (type: bigint)
+ Reduce Output Operator
+ sort order:
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col0 (type: bigint)
Local Work:
Map Reduce Local Work
Reducer 2
@@ -5824,31 +5854,34 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: hr is not null (type: boolean)
+ filterExpr: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: (UDFToDouble(hr) * 2.0D) (type: double)
- outputColumnNames: _col0
+ Filter Operator
+ predicate: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 _col0 (type: double)
- 1 _col0 (type: double)
- input vertices:
- 1 Map 3
- Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE
- Group By Operator
- aggregations: count()
- minReductionHashAggr: 0.99
- mode: hash
- outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- sort order:
+ Select Operator
+ expressions: (UDFToDouble(hr) * 2.0D) (type: double)
+ outputColumnNames: _col0
+ Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: double)
+ 1 _col0 (type: double)
+ input vertices:
+ 1 Map 3
+ Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator
+ aggregations: count()
+ minReductionHashAggr: 0.99
+ mode: hash
+ outputColumnNames: _col0
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col0 (type: bigint)
+ Reduce Output Operator
+ sort order:
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col0 (type: bigint)
Local Work:
Map Reduce Local Work
Reducer 2
@@ -7053,10 +7086,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart_date_hour_n1
- filterExpr: ((date) IN ('2008-04-08', '2008-04-09') and (UDFToDouble(hour) = 11.0D) and ds is not null and hr is not null) (type: boolean)
+ filterExpr: ((date) IN ('2008-04-08', '2008-04-09') and (UDFToDouble(hour) = 11.0D) and ds is not null and UDFToDouble(hr) is not null) (type: boolean)
Statistics: Num rows: 4 Data size: 108 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((UDFToDouble(hour) = 11.0D) and (date) IN ('2008-04-08', '2008-04-09') and ds is not null and hr is not null) (type: boolean)
+ predicate: ((UDFToDouble(hour) = 11.0D) and (date) IN ('2008-04-08', '2008-04-09') and UDFToDouble(hr) is not null and ds is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 54 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: ds (type: string), UDFToDouble(hr) (type: double)
@@ -7105,30 +7138,34 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart_parquet
+ filterExpr: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 23372 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: ds (type: string), UDFToDouble(hr) (type: double)
- outputColumnNames: _col0, _col1
+ Filter Operator
+ predicate: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 23372 Basic stats: COMPLETE Column stats: NONE
- Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 _col0 (type: string), _col1 (type: double)
- 1 _col0 (type: string), _col1 (type: double)
- input vertices:
- 1 Map 3
- Statistics: Num rows: 2200 Data size: 25709 Basic stats: COMPLETE Column stats: NONE
- Group By Operator
- aggregations: count()
- minReductionHashAggr: 0.99
- mode: hash
- outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- sort order:
+ Select Operator
+ expressions: ds (type: string), UDFToDouble(hr) (type: double)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 2000 Data size: 23372 Basic stats: COMPLETE Column stats: NONE
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: string), _col1 (type: double)
+ 1 _col0 (type: string), _col1 (type: double)
+ input vertices:
+ 1 Map 3
+ Statistics: Num rows: 2200 Data size: 25709 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator
+ aggregations: count()
+ minReductionHashAggr: 0.99
+ mode: hash
+ outputColumnNames: _col0
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col0 (type: bigint)
+ Reduce Output Operator
+ sort order:
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col0 (type: bigint)
Local Work:
Map Reduce Local Work
Reducer 2
diff --git ql/src/test/results/clientpositive/spark/spark_explainuser_1.q.out ql/src/test/results/clientpositive/spark/spark_explainuser_1.q.out
index b8403f4e39..60033e706d 100644
--- ql/src/test/results/clientpositive/spark/spark_explainuser_1.q.out
+++ ql/src/test/results/clientpositive/spark/spark_explainuser_1.q.out
@@ -518,7 +518,7 @@ Stage-0
Select Operator [SEL_25] (rows=1 width=36)
Output:["_col1","_col7"]
Filter Operator [FIL_21] (rows=1 width=36)
- predicate:(((_col4 + _col7) >= 0) and ((_col6 + _col9) >= 0) and ((_col6 > 0) or _col2) and (_col3 or (_col7 >= 1L)))
+ predicate:(((_col4 + _col7) >= 0L) and ((_col6 + _col9) >= 0) and ((_col6 > 0) or _col2) and (_col3 or (_col7 >= 1L)))
Join Operator [JOIN_20] (rows=3 width=32)
Output:["_col1","_col2","_col3","_col4","_col6","_col7","_col9"],condition map:[{"":"{\"type\":\"Inner\",\"left\":0,\"right\":1}"},{"":"{\"type\":\"Inner\",\"left\":1,\"right\":2}"}],keys:{"0":"_col0","1":"_col0","2":"_col0"}
<-Map 1 [PARTITION-LEVEL SORT]
@@ -543,7 +543,7 @@ Stage-0
Group By Operator [GBY_6] (rows=1 width=101)
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, c_int, c_float
Filter Operator [FIL_35] (rows=2 width=93)
- predicate:(((UDFToFloat(c_int) + c_float) >= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
+ predicate:(((UDFToFloat(c_int) + c_float) >= 0.0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
TableScan [TS_3] (rows=20 width=88)
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
<-Reducer 8 [PARTITION-LEVEL SORT]
@@ -559,7 +559,7 @@ Stage-0
Group By Operator [GBY_13] (rows=1 width=93)
Output:["_col0","_col1","_col2"],keys:key, c_int, c_float
Filter Operator [FIL_36] (rows=2 width=93)
- predicate:(((UDFToFloat(c_int) + c_float) >= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
+ predicate:(((UDFToFloat(c_int) + c_float) >= 0.0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
TableScan [TS_10] (rows=20 width=88)
default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
@@ -628,7 +628,7 @@ Stage-0
Group By Operator [GBY_6] (rows=1 width=101)
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, c_int, c_float
Filter Operator [FIL_30] (rows=2 width=93)
- predicate:(((UDFToFloat(c_int) + c_float) >= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
+ predicate:(((UDFToFloat(c_int) + c_float) >= 0.0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
TableScan [TS_3] (rows=20 width=88)
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
<-Reducer 7 [PARTITION-LEVEL SORT]
@@ -644,7 +644,7 @@ Stage-0
Group By Operator [GBY_13] (rows=1 width=93)
Output:["_col0","_col1","_col2"],keys:key, c_int, c_float
Filter Operator [FIL_31] (rows=2 width=93)
- predicate:(((UDFToFloat(c_int) + c_float) >= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
+ predicate:(((UDFToFloat(c_int) + c_float) >= 0.0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
TableScan [TS_10] (rows=20 width=88)
default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
@@ -693,7 +693,7 @@ Stage-0
Select Operator [SEL_25] (rows=1 width=36)
Output:["_col1","_col7"]
Filter Operator [FIL_21] (rows=1 width=36)
- predicate:(((_col4 + _col7) >= 0) and ((_col6 + _col9) >= 0) and ((_col6 > 0) or _col2) and (_col3 or (_col7 >= 1L)))
+ predicate:(((_col4 + _col7) >= 0L) and ((_col6 + _col9) >= 0) and ((_col6 > 0) or _col2) and (_col3 or (_col7 >= 1L)))
Join Operator [JOIN_20] (rows=3 width=32)
Output:["_col1","_col2","_col3","_col4","_col6","_col7","_col9"],condition map:[{"":"{\"type\":\"Inner\",\"left\":0,\"right\":1}"},{"":"{\"type\":\"Inner\",\"left\":1,\"right\":2}"}],keys:{"0":"_col0","1":"_col0","2":"_col0"}
<-Map 1 [PARTITION-LEVEL SORT]
@@ -718,7 +718,7 @@ Stage-0
Group By Operator [GBY_6] (rows=1 width=101)
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, c_int, c_float
Filter Operator [FIL_34] (rows=2 width=93)
- predicate:(((UDFToFloat(c_int) + c_float) >= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
+ predicate:(((UDFToFloat(c_int) + c_float) >= 0.0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
TableScan [TS_3] (rows=20 width=88)
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
<-Reducer 8 [PARTITION-LEVEL SORT]
@@ -734,7 +734,7 @@ Stage-0
Group By Operator [GBY_13] (rows=1 width=93)
Output:["_col0","_col1","_col2"],keys:key, c_int, c_float
Filter Operator [FIL_35] (rows=2 width=93)
- predicate:(((UDFToFloat(c_int) + c_float) >= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
+ predicate:(((UDFToFloat(c_int) + c_float) >= 0.0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
TableScan [TS_10] (rows=20 width=88)
default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
@@ -803,7 +803,7 @@ Stage-0
Group By Operator [GBY_6] (rows=1 width=101)
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, c_int, c_float
Filter Operator [FIL_30] (rows=2 width=93)
- predicate:(((UDFToFloat(c_int) + c_float) >= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
+ predicate:(((UDFToFloat(c_int) + c_float) >= 0.0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
TableScan [TS_3] (rows=20 width=88)
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
<-Reducer 7 [PARTITION-LEVEL SORT]
@@ -819,7 +819,7 @@ Stage-0
Group By Operator [GBY_13] (rows=1 width=93)
Output:["_col0","_col1","_col2"],keys:key, c_int, c_float
Filter Operator [FIL_31] (rows=2 width=93)
- predicate:(((UDFToFloat(c_int) + c_float) >= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
+ predicate:(((UDFToFloat(c_int) + c_float) >= 0.0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (c_float > 0.0) and key is not null)
TableScan [TS_10] (rows=20 width=88)
default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
@@ -1806,7 +1806,7 @@ Stage-0
Group By Operator [GBY_3] (rows=1 width=101)
Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, c_int, c_float
Filter Operator [FIL_35] (rows=1 width=93)
- predicate:((((c_int + 1) + 1) >= 0) and (((c_int + 1) > 0) or (UDFToDouble(key) >= 0.0D)) and ((UDFToFloat(c_int) + c_float) >= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (UDFToDouble(key) > 0.0D) and (c_float > 0.0))
+ predicate:((((c_int + 1) + 1) >= 0) and (((c_int + 1) > 0) or UDFToDouble(key) is not null) and ((UDFToFloat(c_int) + c_float) >= 0.0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (UDFToDouble(key) > 0.0D) and (c_float > 0.0))
TableScan [TS_0] (rows=20 width=88)
default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
<-Reducer 7 [PARTITION-LEVEL SORT]
@@ -1824,7 +1824,7 @@ Stage-0
Group By Operator [GBY_12] (rows=1 width=93)
Output:["_col0","_col1","_col2"],keys:key, c_int, c_float
Filter Operator [FIL_36] (rows=1 width=93)
- predicate:(((UDFToFloat(c_int) + c_float) >= 0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (UDFToDouble(key) > 0.0D) and (c_float > 0.0))
+ predicate:(((UDFToFloat(c_int) + c_float) >= 0.0) and ((c_int + 1) >= 0) and ((c_int > 0) or c_float is not null) and ((c_int >= 1) or (c_float >= 1.0)) and (UDFToDouble(key) > 0.0D) and (c_float > 0.0))
TableScan [TS_9] (rows=20 width=88)
default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"]
@@ -2510,7 +2510,7 @@ Stage-0
Select Operator [SEL_24] (rows=631 width=178)
Output:["_col0","_col1"]
Filter Operator [FIL_23] (rows=631 width=194)
- predicate:((_col2 = 0L) or (_col5 is null and _col0 is not null and (_col3 >= _col2)))
+ predicate:(((_col3 >= _col2) or (_col2 = 0L) or _col5 is not null or _col0 is null) and (_col0 is not null or (_col2 = 0L) or _col5 is not null) and (_col5 is null or (_col2 = 0L)))
Select Operator [SEL_22] (rows=631 width=194)
Output:["_col0","_col1","_col2","_col3","_col5"]
Join Operator [JOIN_21] (rows=631 width=194)
@@ -2589,10 +2589,10 @@ Stage-0
Stage-1
Reducer 3
File Output Operator [FS_24]
- Select Operator [SEL_23] (rows=20 width=223)
+ Select Operator [SEL_23] (rows=41 width=223)
Output:["_col0","_col1","_col2"]
- Filter Operator [FIL_22] (rows=20 width=230)
- predicate:CASE WHEN ((_col4 = 0L)) THEN (true) WHEN (_col4 is null) THEN (true) WHEN (_col8 is not null) THEN (false) WHEN (_col0 is null) THEN (null) WHEN ((_col5 < _col4)) THEN (false) ELSE (true) END
+ Filter Operator [FIL_22] (rows=41 width=229)
+ predicate:(((_col5 < _col4) is not true or (_col4 = 0L) or _col4 is null or _col8 is not null or _col0 is null) and (_col0 is not null or (_col4 = 0L) or _col4 is null or _col8 is not null) and (_col8 is null or (_col4 = 0L) or _col4 is null))
Join Operator [JOIN_21] (rows=41 width=229)
Output:["_col0","_col1","_col2","_col4","_col5","_col8"],condition map:[{"":"{\"type\":\"Left Outer\",\"left\":0,\"right\":1}"}],keys:{"0":"_col0, _col1","1":"_col0, _col1"}
<-Reducer 2 [PARTITION-LEVEL SORT]
@@ -2684,7 +2684,7 @@ Stage-0
Select Operator [SEL_29] (rows=27 width=125)
Output:["_col0","_col1"]
Filter Operator [FIL_28] (rows=27 width=141)
- predicate:((_col2 = 0L) or (_col5 is null and _col1 is not null and (_col3 >= _col2)))
+ predicate:(((_col3 >= _col2) or (_col2 = 0L) or _col5 is not null or _col1 is null) and (_col1 is not null or (_col2 = 0L) or _col5 is not null) and (_col5 is null or (_col2 = 0L)))
Select Operator [SEL_27] (rows=27 width=141)
Output:["_col0","_col1","_col2","_col3","_col5"]
Join Operator [JOIN_26] (rows=27 width=141)
@@ -2766,14 +2766,14 @@ Stage-0
Stage-1
Reducer 5
File Output Operator [FS_36]
- Select Operator [SEL_35] (rows=3 width=106)
+ Select Operator [SEL_35] (rows=7 width=106)
Output:["_col0","_col1"]
<-Reducer 4 [SORT]
SORT [RS_34]
- Select Operator [SEL_33] (rows=3 width=106)
+ Select Operator [SEL_33] (rows=7 width=106)
Output:["_col0","_col1"]
- Filter Operator [FIL_32] (rows=3 width=118)
- predicate:CASE WHEN ((_col3 = 0L)) THEN (true) WHEN (_col3 is null) THEN (true) WHEN (_col7 is not null) THEN (false) WHEN (_col0 is null) THEN (null) WHEN ((_col4 < _col3)) THEN (false) ELSE (true) END
+ Filter Operator [FIL_32] (rows=7 width=114)
+ predicate:(((_col4 < _col3) is not true or (_col3 = 0L) or _col3 is null or _col7 is not null or _col0 is null) and (_col0 is not null or (_col3 = 0L) or _col3 is null or _col7 is not null) and (_col7 is null or (_col3 = 0L) or _col3 is null))
Join Operator [JOIN_31] (rows=7 width=114)
Output:["_col0","_col1","_col3","_col4","_col7"],condition map:[{"":"{\"type\":\"Left Outer\",\"left\":0,\"right\":1}"}],keys:{"0":"_col0, _col1","1":"_col0, _col1"}
<-Reducer 10 [PARTITION-LEVEL SORT]
@@ -6089,7 +6089,7 @@ Stage-0
<-Select Operator [SEL_5] (rows=500 width=12)
Output:["_col0","_col1"]
Filter Operator [FIL_17] (rows=500 width=87)
- predicate:key is not null
+ predicate:UDFToDouble(key) is not null
TableScan [TS_3] (rows=500 width=87)
default@src,c,Tbl:COMPLETE,Col:COMPLETE,Output:["key"]
Map Reduce Local Work
@@ -6100,7 +6100,7 @@ Stage-0
Select Operator [SEL_2] (rows=1 width=368)
Output:["_col0","_col1","_col2"]
Filter Operator [FIL_16] (rows=1 width=368)
- predicate:key is not null
+ predicate:UDFToDouble(key) is not null
TableScan [TS_0] (rows=1 width=368)
default@t1_n116,a,Tbl:COMPLETE,Col:NONE,Output:["key","val"]
Map Reduce Local Work
diff --git ql/src/test/results/clientpositive/spark/spark_use_ts_stats_for_mapjoin.q.out ql/src/test/results/clientpositive/spark/spark_use_ts_stats_for_mapjoin.q.out
index eecacca8ad..3cbed96d13 100644
--- ql/src/test/results/clientpositive/spark/spark_use_ts_stats_for_mapjoin.q.out
+++ ql/src/test/results/clientpositive/spark/spark_use_ts_stats_for_mapjoin.q.out
@@ -141,10 +141,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src3
- filterExpr: key is not null (type: boolean)
+ filterExpr: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: UDFToDouble(key) is not null (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: value (type: string), UDFToDouble(key) (type: double)
@@ -168,10 +168,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src1
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
@@ -188,10 +188,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src2
- filterExpr: key is not null (type: boolean)
+ filterExpr: (key is not null and UDFToDouble(key) is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: key is not null (type: boolean)
+ predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean)
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: key (type: string), UDFToDouble(key) (type: double)
diff --git ql/src/test/results/clientpositive/spark/spark_vectorized_dynamic_partition_pruning.q.out ql/src/test/results/clientpositive/spark/spark_vectorized_dynamic_partition_pruning.q.out
index e90f9d17ac..80f26e33a8 100644
--- ql/src/test/results/clientpositive/spark/spark_vectorized_dynamic_partition_pruning.q.out
+++ ql/src/test/results/clientpositive/spark/spark_vectorized_dynamic_partition_pruning.q.out
@@ -820,7 +820,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart_date_n0
- filterExpr: ((date = '2008-04-08') and ds is not null) (type: boolean)
+ filterExpr: ((date = '2008-04-08') and CAST( ds AS DATE) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 376 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
@@ -829,8 +829,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children: FilterStringGroupColEqualStringScalar(col 1:string, val 2008-04-08), SelectColumnIsNotNull(col 0:string))
- predicate: ((date = '2008-04-08') and ds is not null) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: FilterStringGroupColEqualStringScalar(col 1:string, val 2008-04-08), SelectColumnIsNotNull(col 3:date)(children: CastStringToDate(col 0:string) -> 3:date))
+ predicate: ((date = '2008-04-08') and CAST( ds AS DATE) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: day(CAST( ds AS DATE)) (type: int)
@@ -838,8 +838,8 @@ STAGE PLANS:
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [4]
- selectExpressions: VectorUDFDayOfMonthDate(col 3, field DAY_OF_MONTH)(children: CastStringToDate(col 0:string) -> 3:date) -> 4:int
+ projectedOutputColumnNums: [5]
+ selectExpressions: VectorUDFDayOfMonthDate(col 4, field DAY_OF_MONTH)(children: CastStringToDate(col 0:string) -> 4:date) -> 5:int
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int)
@@ -847,13 +847,13 @@ STAGE PLANS:
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [4]
+ projectedOutputColumnNums: [5]
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
Group By Operator
Group By Vectorization:
className: VectorGroupByOperator
groupByMode: HASH
- keyExpressions: col 4:int
+ keyExpressions: col 5:int
native: false
vectorProcessingMode: HASH
projectedOutputColumnNums: []
@@ -880,7 +880,7 @@ STAGE PLANS:
includeColumns: [0, 1]
dataColumns: ds:string, date:string
partitionColumnCount: 0
- scratchColumnTypeNames: [bigint, bigint]
+ scratchColumnTypeNames: [bigint, bigint, bigint]
Stage: Stage-1
Spark
@@ -893,30 +893,37 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: ds is not null (type: boolean)
+ filterExpr: CAST( ds AS DATE) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
vectorizationSchemaColumns: [0:key:string, 1:value:string, 2:ds:string, 3:hr:string, 4:ROW__ID:struct]
- Select Operator
- expressions: day(CAST( ds AS DATE)) (type: int)
- outputColumnNames: _col0
- Select Vectorization:
- className: VectorSelectOperator
+ Filter Operator
+ Filter Vectorization:
+ className: VectorFilterOperator
native: true
- projectedOutputColumnNums: [6]
- selectExpressions: VectorUDFDayOfMonthDate(col 5, field DAY_OF_MONTH)(children: CastStringToDate(col 2:string) -> 5:date) -> 6:int
+ predicateExpression: SelectColumnIsNotNull(col 5:date)(children: CastStringToDate(col 2:string) -> 5:date)
+ predicate: CAST( ds AS DATE) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: int)
- sort order: +
- Map-reduce partition columns: _col0 (type: int)
- Reduce Sink Vectorization:
- className: VectorReduceSinkLongOperator
- keyColumns: 6:int
+ Select Operator
+ expressions: day(CAST( ds AS DATE)) (type: int)
+ outputColumnNames: _col0
+ Select Vectorization:
+ className: VectorSelectOperator
native: true
- nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
+ projectedOutputColumnNums: [7]
+ selectExpressions: VectorUDFDayOfMonthDate(col 6, field DAY_OF_MONTH)(children: CastStringToDate(col 2:string) -> 6:date) -> 7:int
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: int)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: int)
+ Reduce Sink Vectorization:
+ className: VectorReduceSinkLongOperator
+ keyColumns: 7:int
+ native: true
+ nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
+ Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Execution mode: vectorized
Map Vectorization:
enabled: true
@@ -933,12 +940,12 @@ STAGE PLANS:
dataColumns: key:string, value:string
partitionColumnCount: 2
partitionColumns: ds:string, hr:string
- scratchColumnTypeNames: [bigint, bigint]
+ scratchColumnTypeNames: [bigint, bigint, bigint]
Map 4
Map Operator Tree:
TableScan
alias: srcpart_date_n0
- filterExpr: ((date = '2008-04-08') and ds is not null) (type: boolean)
+ filterExpr: ((date = '2008-04-08') and CAST( ds AS DATE) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 376 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
@@ -947,8 +954,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children: FilterStringGroupColEqualStringScalar(col 1:string, val 2008-04-08), SelectColumnIsNotNull(col 0:string))
- predicate: ((date = '2008-04-08') and ds is not null) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: FilterStringGroupColEqualStringScalar(col 1:string, val 2008-04-08), SelectColumnIsNotNull(col 3:date)(children: CastStringToDate(col 0:string) -> 3:date))
+ predicate: ((date = '2008-04-08') and CAST( ds AS DATE) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: day(CAST( ds AS DATE)) (type: int)
@@ -956,8 +963,8 @@ STAGE PLANS:
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [4]
- selectExpressions: VectorUDFDayOfMonthDate(col 3, field DAY_OF_MONTH)(children: CastStringToDate(col 0:string) -> 3:date) -> 4:int
+ projectedOutputColumnNums: [5]
+ selectExpressions: VectorUDFDayOfMonthDate(col 4, field DAY_OF_MONTH)(children: CastStringToDate(col 0:string) -> 4:date) -> 5:int
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: int)
@@ -965,7 +972,7 @@ STAGE PLANS:
Map-reduce partition columns: _col0 (type: int)
Reduce Sink Vectorization:
className: VectorReduceSinkLongOperator
- keyColumns: 4:int
+ keyColumns: 5:int
native: true
nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
@@ -984,7 +991,7 @@ STAGE PLANS:
includeColumns: [0, 1]
dataColumns: ds:string, date:string
partitionColumnCount: 0
- scratchColumnTypeNames: [bigint, bigint]
+ scratchColumnTypeNames: [bigint, bigint, bigint]
Reducer 2
Reduce Vectorization:
enabled: true
@@ -1111,30 +1118,37 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: ds is not null (type: boolean)
+ filterExpr: CAST( ds AS DATE) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
vectorizationSchemaColumns: [0:key:string, 1:value:string, 2:ds:string, 3:hr:string, 4:ROW__ID:struct]
- Select Operator
- expressions: day(CAST( ds AS DATE)) (type: int)
- outputColumnNames: _col0
- Select Vectorization:
- className: VectorSelectOperator
+ Filter Operator
+ Filter Vectorization:
+ className: VectorFilterOperator
native: true
- projectedOutputColumnNums: [6]
- selectExpressions: VectorUDFDayOfMonthDate(col 5, field DAY_OF_MONTH)(children: CastStringToDate(col 2:string) -> 5:date) -> 6:int
+ predicateExpression: SelectColumnIsNotNull(col 5:date)(children: CastStringToDate(col 2:string) -> 5:date)
+ predicate: CAST( ds AS DATE) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: int)
- sort order: +
- Map-reduce partition columns: _col0 (type: int)
- Reduce Sink Vectorization:
- className: VectorReduceSinkLongOperator
- keyColumns: 6:int
+ Select Operator
+ expressions: day(CAST( ds AS DATE)) (type: int)
+ outputColumnNames: _col0
+ Select Vectorization:
+ className: VectorSelectOperator
native: true
- nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
+ projectedOutputColumnNums: [7]
+ selectExpressions: VectorUDFDayOfMonthDate(col 6, field DAY_OF_MONTH)(children: CastStringToDate(col 2:string) -> 6:date) -> 7:int
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: int)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: int)
+ Reduce Sink Vectorization:
+ className: VectorReduceSinkLongOperator
+ keyColumns: 7:int
+ native: true
+ nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
+ Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Execution mode: vectorized
Map Vectorization:
enabled: true
@@ -1151,12 +1165,12 @@ STAGE PLANS:
dataColumns: key:string, value:string
partitionColumnCount: 2
partitionColumns: ds:string, hr:string
- scratchColumnTypeNames: [bigint, bigint]
+ scratchColumnTypeNames: [bigint, bigint, bigint]
Map 4
Map Operator Tree:
TableScan
alias: srcpart_date_n0
- filterExpr: ((date = '2008-04-08') and ds is not null) (type: boolean)
+ filterExpr: ((date = '2008-04-08') and CAST( ds AS DATE) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 376 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
@@ -1165,8 +1179,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children: FilterStringGroupColEqualStringScalar(col 1:string, val 2008-04-08), SelectColumnIsNotNull(col 0:string))
- predicate: ((date = '2008-04-08') and ds is not null) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: FilterStringGroupColEqualStringScalar(col 1:string, val 2008-04-08), SelectColumnIsNotNull(col 3:date)(children: CastStringToDate(col 0:string) -> 3:date))
+ predicate: ((date = '2008-04-08') and CAST( ds AS DATE) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: day(CAST( ds AS DATE)) (type: int)
@@ -1174,8 +1188,8 @@ STAGE PLANS:
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [4]
- selectExpressions: VectorUDFDayOfMonthDate(col 3, field DAY_OF_MONTH)(children: CastStringToDate(col 0:string) -> 3:date) -> 4:int
+ projectedOutputColumnNums: [5]
+ selectExpressions: VectorUDFDayOfMonthDate(col 4, field DAY_OF_MONTH)(children: CastStringToDate(col 0:string) -> 4:date) -> 5:int
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: int)
@@ -1183,7 +1197,7 @@ STAGE PLANS:
Map-reduce partition columns: _col0 (type: int)
Reduce Sink Vectorization:
className: VectorReduceSinkLongOperator
- keyColumns: 4:int
+ keyColumns: 5:int
native: true
nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
@@ -1202,7 +1216,7 @@ STAGE PLANS:
includeColumns: [0, 1]
dataColumns: ds:string, date:string
partitionColumnCount: 0
- scratchColumnTypeNames: [bigint, bigint]
+ scratchColumnTypeNames: [bigint, bigint, bigint]
Reducer 2
Reduce Vectorization:
enabled: true
@@ -1327,7 +1341,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart_date_n0
- filterExpr: ((date = '2008-04-08') and abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10)) is not null) (type: boolean)
+ filterExpr: ((date = '2008-04-08') and abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10L)) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 376 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
@@ -1337,10 +1351,10 @@ STAGE PLANS:
className: VectorFilterOperator
native: true
predicateExpression: FilterExprAndExpr(children: FilterStringGroupColEqualStringScalar(col 1:string, val 2008-04-08), SelectColumnIsNotNull(col 10:bigint)(children: FuncAbsLongToLong(col 9:bigint)(children: LongColAddLongScalar(col 8:bigint, val 10)(children: LongColUnaryMinus(col 7:bigint)(children: CastStringToLong(col 6:string)(children: StringGroupColConcatStringScalar(col 5:string, val 0)(children: CastLongToString(col 4:int)(children: VectorUDFDayOfMonthDate(col 3, field DAY_OF_MONTH)(children: CastStringToDate(col 0:string) -> 3:date) -> 4:int) -> 5:string) -> 6:string) -> 7:bigint) -> 8:bigint) -> 9:bigint) -> 10:bigint))
- predicate: ((date = '2008-04-08') and abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10)) is not null) (type: boolean)
+ predicate: ((date = '2008-04-08') and abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10L)) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10)) (type: bigint)
+ expressions: abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10L)) (type: bigint)
outputColumnNames: _col0
Select Vectorization:
className: VectorSelectOperator
@@ -1370,7 +1384,7 @@ STAGE PLANS:
outputColumnNames: _col0
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
Spark Partition Pruning Sink Operator
- Target Columns: [Map 1 -> [ds:string (abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10)))]]
+ Target Columns: [Map 1 -> [ds:string (abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10L)))]]
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
Execution mode: vectorized
Map Vectorization:
@@ -1400,7 +1414,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10)) is not null (type: boolean)
+ filterExpr: abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10L)) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
@@ -1410,10 +1424,10 @@ STAGE PLANS:
className: VectorFilterOperator
native: true
predicateExpression: SelectColumnIsNotNull(col 12:bigint)(children: FuncAbsLongToLong(col 11:bigint)(children: LongColAddLongScalar(col 10:bigint, val 10)(children: LongColUnaryMinus(col 9:bigint)(children: CastStringToLong(col 8:string)(children: StringGroupColConcatStringScalar(col 7:string, val 0)(children: CastLongToString(col 6:int)(children: VectorUDFDayOfMonthDate(col 5, field DAY_OF_MONTH)(children: CastStringToDate(col 2:string) -> 5:date) -> 6:int) -> 7:string) -> 8:string) -> 9:bigint) -> 10:bigint) -> 11:bigint) -> 12:bigint)
- predicate: abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10)) is not null (type: boolean)
+ predicate: abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10L)) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10)) (type: bigint)
+ expressions: abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10L)) (type: bigint)
outputColumnNames: _col0
Select Vectorization:
className: VectorSelectOperator
@@ -1452,7 +1466,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart_date_n0
- filterExpr: ((date = '2008-04-08') and abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10)) is not null) (type: boolean)
+ filterExpr: ((date = '2008-04-08') and abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10L)) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 376 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
@@ -1462,10 +1476,10 @@ STAGE PLANS:
className: VectorFilterOperator
native: true
predicateExpression: FilterExprAndExpr(children: FilterStringGroupColEqualStringScalar(col 1:string, val 2008-04-08), SelectColumnIsNotNull(col 10:bigint)(children: FuncAbsLongToLong(col 9:bigint)(children: LongColAddLongScalar(col 8:bigint, val 10)(children: LongColUnaryMinus(col 7:bigint)(children: CastStringToLong(col 6:string)(children: StringGroupColConcatStringScalar(col 5:string, val 0)(children: CastLongToString(col 4:int)(children: VectorUDFDayOfMonthDate(col 3, field DAY_OF_MONTH)(children: CastStringToDate(col 0:string) -> 3:date) -> 4:int) -> 5:string) -> 6:string) -> 7:bigint) -> 8:bigint) -> 9:bigint) -> 10:bigint))
- predicate: ((date = '2008-04-08') and abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10)) is not null) (type: boolean)
+ predicate: ((date = '2008-04-08') and abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10L)) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10)) (type: bigint)
+ expressions: abs(((- UDFToLong(concat(CAST( day(CAST( ds AS DATE)) AS STRING), '0'))) + 10L)) (type: bigint)
outputColumnNames: _col0
Select Vectorization:
className: VectorSelectOperator
@@ -1623,7 +1637,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart_date_n0
- filterExpr: ((date = '2008-04-08') and ds is not null) (type: boolean)
+ filterExpr: ((date = '2008-04-08') and CAST( day(CAST( ds AS DATE)) AS decimal(10,0)) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 376 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
@@ -1632,8 +1646,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children: FilterStringGroupColEqualStringScalar(col 1:string, val 2008-04-08), SelectColumnIsNotNull(col 0:string))
- predicate: ((date = '2008-04-08') and ds is not null) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: FilterStringGroupColEqualStringScalar(col 1:string, val 2008-04-08), SelectColumnIsNotNull(col 5:decimal(10,0))(children: CastLongToDecimal(col 4:int)(children: VectorUDFDayOfMonthDate(col 3, field DAY_OF_MONTH)(children: CastStringToDate(col 0:string) -> 3:date) -> 4:int) -> 5:decimal(10,0)))
+ predicate: ((date = '2008-04-08') and CAST( day(CAST( ds AS DATE)) AS decimal(10,0)) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: CAST( day(CAST( ds AS DATE)) AS decimal(10,0)) (type: decimal(10,0))
@@ -1641,8 +1655,8 @@ STAGE PLANS:
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [5]
- selectExpressions: CastLongToDecimal(col 4:int)(children: VectorUDFDayOfMonthDate(col 3, field DAY_OF_MONTH)(children: CastStringToDate(col 0:string) -> 3:date) -> 4:int) -> 5:decimal(10,0)
+ projectedOutputColumnNums: [8]
+ selectExpressions: CastLongToDecimal(col 7:int)(children: VectorUDFDayOfMonthDate(col 6, field DAY_OF_MONTH)(children: CastStringToDate(col 0:string) -> 6:date) -> 7:int) -> 8:decimal(10,0)
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: decimal(10,0))
@@ -1650,13 +1664,13 @@ STAGE PLANS:
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [5]
+ projectedOutputColumnNums: [8]
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
Group By Operator
Group By Vectorization:
className: VectorGroupByOperator
groupByMode: HASH
- keyExpressions: col 5:decimal(10,0)
+ keyExpressions: col 8:decimal(10,0)
native: false
vectorProcessingMode: HASH
projectedOutputColumnNums: []
@@ -1683,7 +1697,7 @@ STAGE PLANS:
includeColumns: [0, 1]
dataColumns: ds:string, date:string
partitionColumnCount: 0
- scratchColumnTypeNames: [bigint, bigint, decimal(10,0)]
+ scratchColumnTypeNames: [bigint, bigint, decimal(10,0), bigint, bigint, decimal(10,0)]
Stage: Stage-1
Spark
@@ -1696,30 +1710,37 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: ds is not null (type: boolean)
+ filterExpr: CAST( UDFToShort(day(CAST( ds AS DATE))) AS decimal(10,0)) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
vectorizationSchemaColumns: [0:key:string, 1:value:string, 2:ds:string, 3:hr:string, 4:ROW__ID:struct]
- Select Operator
- expressions: CAST( UDFToShort(day(CAST( ds AS DATE))) AS decimal(10,0)) (type: decimal(10,0))
- outputColumnNames: _col0
- Select Vectorization:
- className: VectorSelectOperator
+ Filter Operator
+ Filter Vectorization:
+ className: VectorFilterOperator
native: true
- projectedOutputColumnNums: [7]
- selectExpressions: CastLongToDecimal(col 6:smallint)(children: VectorUDFDayOfMonthDate(col 5, field DAY_OF_MONTH)(children: CastStringToDate(col 2:string) -> 5:date) -> 6:int) -> 7:decimal(10,0)
+ predicateExpression: SelectColumnIsNotNull(col 7:decimal(10,0))(children: CastLongToDecimal(col 6:smallint)(children: VectorUDFDayOfMonthDate(col 5, field DAY_OF_MONTH)(children: CastStringToDate(col 2:string) -> 5:date) -> 6:int) -> 7:decimal(10,0))
+ predicate: CAST( UDFToShort(day(CAST( ds AS DATE))) AS decimal(10,0)) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: decimal(10,0))
- sort order: +
- Map-reduce partition columns: _col0 (type: decimal(10,0))
- Reduce Sink Vectorization:
- className: VectorReduceSinkMultiKeyOperator
- keyColumns: 7:decimal(10,0)
+ Select Operator
+ expressions: CAST( UDFToShort(day(CAST( ds AS DATE))) AS decimal(10,0)) (type: decimal(10,0))
+ outputColumnNames: _col0
+ Select Vectorization:
+ className: VectorSelectOperator
native: true
- nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
+ projectedOutputColumnNums: [10]
+ selectExpressions: CastLongToDecimal(col 9:smallint)(children: VectorUDFDayOfMonthDate(col 8, field DAY_OF_MONTH)(children: CastStringToDate(col 2:string) -> 8:date) -> 9:int) -> 10:decimal(10,0)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: decimal(10,0))
+ sort order: +
+ Map-reduce partition columns: _col0 (type: decimal(10,0))
+ Reduce Sink Vectorization:
+ className: VectorReduceSinkMultiKeyOperator
+ keyColumns: 10:decimal(10,0)
+ native: true
+ nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
+ Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Execution mode: vectorized
Map Vectorization:
enabled: true
@@ -1736,12 +1757,12 @@ STAGE PLANS:
dataColumns: key:string, value:string
partitionColumnCount: 2
partitionColumns: ds:string, hr:string
- scratchColumnTypeNames: [bigint, bigint, decimal(10,0)]
+ scratchColumnTypeNames: [bigint, bigint, decimal(10,0), bigint, bigint, decimal(10,0)]
Map 4
Map Operator Tree:
TableScan
alias: srcpart_date_n0
- filterExpr: ((date = '2008-04-08') and ds is not null) (type: boolean)
+ filterExpr: ((date = '2008-04-08') and CAST( day(CAST( ds AS DATE)) AS decimal(10,0)) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 376 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
@@ -1750,8 +1771,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children: FilterStringGroupColEqualStringScalar(col 1:string, val 2008-04-08), SelectColumnIsNotNull(col 0:string))
- predicate: ((date = '2008-04-08') and ds is not null) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: FilterStringGroupColEqualStringScalar(col 1:string, val 2008-04-08), SelectColumnIsNotNull(col 5:decimal(10,0))(children: CastLongToDecimal(col 4:int)(children: VectorUDFDayOfMonthDate(col 3, field DAY_OF_MONTH)(children: CastStringToDate(col 0:string) -> 3:date) -> 4:int) -> 5:decimal(10,0)))
+ predicate: ((date = '2008-04-08') and CAST( day(CAST( ds AS DATE)) AS decimal(10,0)) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: CAST( day(CAST( ds AS DATE)) AS decimal(10,0)) (type: decimal(10,0))
@@ -1759,8 +1780,8 @@ STAGE PLANS:
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [5]
- selectExpressions: CastLongToDecimal(col 4:int)(children: VectorUDFDayOfMonthDate(col 3, field DAY_OF_MONTH)(children: CastStringToDate(col 0:string) -> 3:date) -> 4:int) -> 5:decimal(10,0)
+ projectedOutputColumnNums: [8]
+ selectExpressions: CastLongToDecimal(col 7:int)(children: VectorUDFDayOfMonthDate(col 6, field DAY_OF_MONTH)(children: CastStringToDate(col 0:string) -> 6:date) -> 7:int) -> 8:decimal(10,0)
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: decimal(10,0))
@@ -1768,7 +1789,7 @@ STAGE PLANS:
Map-reduce partition columns: _col0 (type: decimal(10,0))
Reduce Sink Vectorization:
className: VectorReduceSinkMultiKeyOperator
- keyColumns: 5:decimal(10,0)
+ keyColumns: 8:decimal(10,0)
native: true
nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
@@ -1787,7 +1808,7 @@ STAGE PLANS:
includeColumns: [0, 1]
dataColumns: ds:string, date:string
partitionColumnCount: 0
- scratchColumnTypeNames: [bigint, bigint, decimal(10,0)]
+ scratchColumnTypeNames: [bigint, bigint, decimal(10,0), bigint, bigint, decimal(10,0)]
Reducer 2
Reduce Vectorization:
enabled: true
@@ -3693,7 +3714,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart_double_hour
- filterExpr: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ filterExpr: ((UDFToDouble(hour) = 11.0D) and UDFToDouble(UDFToInteger((hr / 2.0D))) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 188 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
@@ -3702,8 +3723,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children: FilterDoubleColEqualDoubleScalar(col 3:double, val 11.0)(children: CastStringToDouble(col 1:string) -> 3:double), SelectColumnIsNotNull(col 0:double))
- predicate: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: FilterDoubleColEqualDoubleScalar(col 3:double, val 11.0)(children: CastStringToDouble(col 1:string) -> 3:double), SelectColumnIsNotNull(col 6:double)(children: CastLongToDouble(col 5:int)(children: CastDoubleToLong(col 4:double)(children: DoubleColDivideDoubleScalar(col 0:double, val 2.0) -> 4:double) -> 5:int) -> 6:double))
+ predicate: ((UDFToDouble(hour) = 11.0D) and UDFToDouble(UDFToInteger((hr / 2.0D))) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: UDFToDouble(UDFToInteger((hr / 2.0D))) (type: double)
@@ -3711,8 +3732,8 @@ STAGE PLANS:
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [6]
- selectExpressions: CastLongToDouble(col 5:int)(children: CastDoubleToLong(col 4:double)(children: DoubleColDivideDoubleScalar(col 0:double, val 2.0) -> 4:double) -> 5:int) -> 6:double
+ projectedOutputColumnNums: [9]
+ selectExpressions: CastLongToDouble(col 8:int)(children: CastDoubleToLong(col 7:double)(children: DoubleColDivideDoubleScalar(col 0:double, val 2.0) -> 7:double) -> 8:int) -> 9:double
Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: double)
@@ -3720,13 +3741,13 @@ STAGE PLANS:
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [6]
+ projectedOutputColumnNums: [9]
Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: NONE
Group By Operator
Group By Vectorization:
className: VectorGroupByOperator
groupByMode: HASH
- keyExpressions: col 6:double
+ keyExpressions: col 9:double
native: false
vectorProcessingMode: HASH
projectedOutputColumnNums: []
@@ -3753,7 +3774,7 @@ STAGE PLANS:
includeColumns: [0, 1]
dataColumns: hr:double, hour:string
partitionColumnCount: 0
- scratchColumnTypeNames: [double, double, bigint, double]
+ scratchColumnTypeNames: [double, double, bigint, double, double, bigint, double]
Stage: Stage-1
Spark
@@ -3766,30 +3787,37 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: hr is not null (type: boolean)
+ filterExpr: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
vectorizationSchemaColumns: [0:key:string, 1:value:string, 2:ds:string, 3:hr:string, 4:ROW__ID:struct]
- Select Operator
- expressions: UDFToDouble(hr) (type: double)
- outputColumnNames: _col0
- Select Vectorization:
- className: VectorSelectOperator
+ Filter Operator
+ Filter Vectorization:
+ className: VectorFilterOperator
native: true
- projectedOutputColumnNums: [5]
- selectExpressions: CastStringToDouble(col 3:string) -> 5:double
+ predicateExpression: SelectColumnIsNotNull(col 5:double)(children: CastStringToDouble(col 3:string) -> 5:double)
+ predicate: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: double)
- sort order: +
- Map-reduce partition columns: _col0 (type: double)
- Reduce Sink Vectorization:
- className: VectorReduceSinkMultiKeyOperator
- keyColumns: 5:double
+ Select Operator
+ expressions: UDFToDouble(hr) (type: double)
+ outputColumnNames: _col0
+ Select Vectorization:
+ className: VectorSelectOperator
native: true
- nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
+ projectedOutputColumnNums: [6]
+ selectExpressions: CastStringToDouble(col 3:string) -> 6:double
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: double)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: double)
+ Reduce Sink Vectorization:
+ className: VectorReduceSinkMultiKeyOperator
+ keyColumns: 6:double
+ native: true
+ nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
+ Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Execution mode: vectorized
Map Vectorization:
enabled: true
@@ -3806,12 +3834,12 @@ STAGE PLANS:
dataColumns: key:string, value:string
partitionColumnCount: 2
partitionColumns: ds:string, hr:string
- scratchColumnTypeNames: [double]
+ scratchColumnTypeNames: [double, double]
Map 4
Map Operator Tree:
TableScan
alias: srcpart_double_hour
- filterExpr: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ filterExpr: ((UDFToDouble(hour) = 11.0D) and UDFToDouble(UDFToInteger((hr / 2.0D))) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 188 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
@@ -3820,8 +3848,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children: FilterDoubleColEqualDoubleScalar(col 3:double, val 11.0)(children: CastStringToDouble(col 1:string) -> 3:double), SelectColumnIsNotNull(col 0:double))
- predicate: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: FilterDoubleColEqualDoubleScalar(col 3:double, val 11.0)(children: CastStringToDouble(col 1:string) -> 3:double), SelectColumnIsNotNull(col 6:double)(children: CastLongToDouble(col 5:int)(children: CastDoubleToLong(col 4:double)(children: DoubleColDivideDoubleScalar(col 0:double, val 2.0) -> 4:double) -> 5:int) -> 6:double))
+ predicate: ((UDFToDouble(hour) = 11.0D) and UDFToDouble(UDFToInteger((hr / 2.0D))) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: UDFToDouble(UDFToInteger((hr / 2.0D))) (type: double)
@@ -3829,8 +3857,8 @@ STAGE PLANS:
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [6]
- selectExpressions: CastLongToDouble(col 5:int)(children: CastDoubleToLong(col 4:double)(children: DoubleColDivideDoubleScalar(col 0:double, val 2.0) -> 4:double) -> 5:int) -> 6:double
+ projectedOutputColumnNums: [9]
+ selectExpressions: CastLongToDouble(col 8:int)(children: CastDoubleToLong(col 7:double)(children: DoubleColDivideDoubleScalar(col 0:double, val 2.0) -> 7:double) -> 8:int) -> 9:double
Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: double)
@@ -3838,7 +3866,7 @@ STAGE PLANS:
Map-reduce partition columns: _col0 (type: double)
Reduce Sink Vectorization:
className: VectorReduceSinkMultiKeyOperator
- keyColumns: 6:double
+ keyColumns: 9:double
native: true
nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: NONE
@@ -3857,7 +3885,7 @@ STAGE PLANS:
includeColumns: [0, 1]
dataColumns: hr:double, hour:string
partitionColumnCount: 0
- scratchColumnTypeNames: [double, double, bigint, double]
+ scratchColumnTypeNames: [double, double, bigint, double, double, bigint, double]
Reducer 2
Reduce Vectorization:
enabled: true
@@ -4054,30 +4082,37 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: hr is not null (type: boolean)
+ filterExpr: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
vectorizationSchemaColumns: [0:key:string, 1:value:string, 2:ds:string, 3:hr:string, 4:ROW__ID:struct]
- Select Operator
- expressions: (UDFToDouble(hr) * 2.0D) (type: double)
- outputColumnNames: _col0
- Select Vectorization:
- className: VectorSelectOperator
+ Filter Operator
+ Filter Vectorization:
+ className: VectorFilterOperator
native: true
- projectedOutputColumnNums: [6]
- selectExpressions: DoubleColMultiplyDoubleScalar(col 5:double, val 2.0)(children: CastStringToDouble(col 3:string) -> 5:double) -> 6:double
+ predicateExpression: SelectColumnIsNotNull(col 5:double)(children: CastStringToDouble(col 3:string) -> 5:double)
+ predicate: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: double)
- sort order: +
- Map-reduce partition columns: _col0 (type: double)
- Reduce Sink Vectorization:
- className: VectorReduceSinkMultiKeyOperator
- keyColumns: 6:double
+ Select Operator
+ expressions: (UDFToDouble(hr) * 2.0D) (type: double)
+ outputColumnNames: _col0
+ Select Vectorization:
+ className: VectorSelectOperator
native: true
- nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
+ projectedOutputColumnNums: [7]
+ selectExpressions: DoubleColMultiplyDoubleScalar(col 6:double, val 2.0)(children: CastStringToDouble(col 3:string) -> 6:double) -> 7:double
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: double)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: double)
+ Reduce Sink Vectorization:
+ className: VectorReduceSinkMultiKeyOperator
+ keyColumns: 7:double
+ native: true
+ nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
+ Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Execution mode: vectorized
Map Vectorization:
enabled: true
@@ -4094,7 +4129,7 @@ STAGE PLANS:
dataColumns: key:string, value:string
partitionColumnCount: 2
partitionColumns: ds:string, hr:string
- scratchColumnTypeNames: [double, double]
+ scratchColumnTypeNames: [double, double, double]
Map 4
Map Operator Tree:
TableScan
@@ -4271,30 +4306,37 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: hr is not null (type: boolean)
+ filterExpr: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
vectorizationSchemaColumns: [0:key:string, 1:value:string, 2:ds:string, 3:hr:string, 4:ROW__ID:struct]
- Select Operator
- expressions: UDFToDouble(hr) (type: double)
- outputColumnNames: _col0
- Select Vectorization:
- className: VectorSelectOperator
+ Filter Operator
+ Filter Vectorization:
+ className: VectorFilterOperator
native: true
- projectedOutputColumnNums: [5]
- selectExpressions: CastStringToDouble(col 3:string) -> 5:double
+ predicateExpression: SelectColumnIsNotNull(col 5:double)(children: CastStringToDouble(col 3:string) -> 5:double)
+ predicate: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: double)
- sort order: +
- Map-reduce partition columns: _col0 (type: double)
- Reduce Sink Vectorization:
- className: VectorReduceSinkMultiKeyOperator
- keyColumns: 5:double
+ Select Operator
+ expressions: UDFToDouble(hr) (type: double)
+ outputColumnNames: _col0
+ Select Vectorization:
+ className: VectorSelectOperator
native: true
- nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
+ projectedOutputColumnNums: [6]
+ selectExpressions: CastStringToDouble(col 3:string) -> 6:double
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: double)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: double)
+ Reduce Sink Vectorization:
+ className: VectorReduceSinkMultiKeyOperator
+ keyColumns: 6:double
+ native: true
+ nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
+ Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Execution mode: vectorized
Map Vectorization:
enabled: true
@@ -4311,12 +4353,12 @@ STAGE PLANS:
dataColumns: key:string, value:string
partitionColumnCount: 2
partitionColumns: ds:string, hr:string
- scratchColumnTypeNames: [double]
+ scratchColumnTypeNames: [double, double]
Map 4
Map Operator Tree:
TableScan
alias: srcpart_double_hour
- filterExpr: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ filterExpr: ((UDFToDouble(hour) = 11.0D) and UDFToDouble(UDFToInteger((hr / 2.0D))) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 188 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
@@ -4325,8 +4367,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children: FilterDoubleColEqualDoubleScalar(col 3:double, val 11.0)(children: CastStringToDouble(col 1:string) -> 3:double), SelectColumnIsNotNull(col 0:double))
- predicate: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: FilterDoubleColEqualDoubleScalar(col 3:double, val 11.0)(children: CastStringToDouble(col 1:string) -> 3:double), SelectColumnIsNotNull(col 6:double)(children: CastLongToDouble(col 5:int)(children: CastDoubleToLong(col 4:double)(children: DoubleColDivideDoubleScalar(col 0:double, val 2.0) -> 4:double) -> 5:int) -> 6:double))
+ predicate: ((UDFToDouble(hour) = 11.0D) and UDFToDouble(UDFToInteger((hr / 2.0D))) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: UDFToDouble(UDFToInteger((hr / 2.0D))) (type: double)
@@ -4334,8 +4376,8 @@ STAGE PLANS:
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [6]
- selectExpressions: CastLongToDouble(col 5:int)(children: CastDoubleToLong(col 4:double)(children: DoubleColDivideDoubleScalar(col 0:double, val 2.0) -> 4:double) -> 5:int) -> 6:double
+ projectedOutputColumnNums: [9]
+ selectExpressions: CastLongToDouble(col 8:int)(children: CastDoubleToLong(col 7:double)(children: DoubleColDivideDoubleScalar(col 0:double, val 2.0) -> 7:double) -> 8:int) -> 9:double
Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: double)
@@ -4343,7 +4385,7 @@ STAGE PLANS:
Map-reduce partition columns: _col0 (type: double)
Reduce Sink Vectorization:
className: VectorReduceSinkMultiKeyOperator
- keyColumns: 6:double
+ keyColumns: 9:double
native: true
nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: NONE
@@ -4362,7 +4404,7 @@ STAGE PLANS:
includeColumns: [0, 1]
dataColumns: hr:double, hour:string
partitionColumnCount: 0
- scratchColumnTypeNames: [double, double, bigint, double]
+ scratchColumnTypeNames: [double, double, bigint, double, double, bigint, double]
Reducer 2
Reduce Vectorization:
enabled: true
@@ -4489,30 +4531,37 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: hr is not null (type: boolean)
+ filterExpr: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
vectorizationSchemaColumns: [0:key:string, 1:value:string, 2:ds:string, 3:hr:string, 4:ROW__ID:struct]
- Select Operator
- expressions: (UDFToDouble(hr) * 2.0D) (type: double)
- outputColumnNames: _col0
- Select Vectorization:
- className: VectorSelectOperator
+ Filter Operator
+ Filter Vectorization:
+ className: VectorFilterOperator
native: true
- projectedOutputColumnNums: [6]
- selectExpressions: DoubleColMultiplyDoubleScalar(col 5:double, val 2.0)(children: CastStringToDouble(col 3:string) -> 5:double) -> 6:double
+ predicateExpression: SelectColumnIsNotNull(col 5:double)(children: CastStringToDouble(col 3:string) -> 5:double)
+ predicate: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: double)
- sort order: +
- Map-reduce partition columns: _col0 (type: double)
- Reduce Sink Vectorization:
- className: VectorReduceSinkMultiKeyOperator
- keyColumns: 6:double
+ Select Operator
+ expressions: (UDFToDouble(hr) * 2.0D) (type: double)
+ outputColumnNames: _col0
+ Select Vectorization:
+ className: VectorSelectOperator
native: true
- nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
+ projectedOutputColumnNums: [7]
+ selectExpressions: DoubleColMultiplyDoubleScalar(col 6:double, val 2.0)(children: CastStringToDouble(col 3:string) -> 6:double) -> 7:double
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: double)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: double)
+ Reduce Sink Vectorization:
+ className: VectorReduceSinkMultiKeyOperator
+ keyColumns: 7:double
+ native: true
+ nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
+ Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Execution mode: vectorized
Map Vectorization:
enabled: true
@@ -4529,7 +4578,7 @@ STAGE PLANS:
dataColumns: key:string, value:string
partitionColumnCount: 2
partitionColumns: ds:string, hr:string
- scratchColumnTypeNames: [double, double]
+ scratchColumnTypeNames: [double, double, double]
Map 4
Map Operator Tree:
TableScan
@@ -4713,7 +4762,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart_double_hour
- filterExpr: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ filterExpr: ((UDFToDouble(hour) = 11.0D) and CAST( hr AS STRING) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 188 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
@@ -4722,8 +4771,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children: FilterDoubleColEqualDoubleScalar(col 3:double, val 11.0)(children: CastStringToDouble(col 1:string) -> 3:double), SelectColumnIsNotNull(col 0:double))
- predicate: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: FilterDoubleColEqualDoubleScalar(col 3:double, val 11.0)(children: CastStringToDouble(col 1:string) -> 3:double), SelectColumnIsNotNull(col 4:string)(children: CastDoubleToString(col 0:double) -> 4:string))
+ predicate: ((UDFToDouble(hour) = 11.0D) and CAST( hr AS STRING) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: CAST( hr AS STRING) (type: string)
@@ -4731,8 +4780,8 @@ STAGE PLANS:
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [4]
- selectExpressions: CastDoubleToString(col 0:double) -> 4:string
+ projectedOutputColumnNums: [5]
+ selectExpressions: CastDoubleToString(col 0:double) -> 5:string
Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: string)
@@ -4740,13 +4789,13 @@ STAGE PLANS:
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [4]
+ projectedOutputColumnNums: [5]
Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: NONE
Group By Operator
Group By Vectorization:
className: VectorGroupByOperator
groupByMode: HASH
- keyExpressions: col 4:string
+ keyExpressions: col 5:string
native: false
vectorProcessingMode: HASH
projectedOutputColumnNums: []
@@ -4773,7 +4822,7 @@ STAGE PLANS:
includeColumns: [0, 1]
dataColumns: hr:double, hour:string
partitionColumnCount: 0
- scratchColumnTypeNames: [double, string]
+ scratchColumnTypeNames: [double, string, string]
Stage: Stage-1
Spark
@@ -4786,30 +4835,37 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: hr is not null (type: boolean)
+ filterExpr: CAST( (UDFToDouble(hr) * 2.0D) AS STRING) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
vectorizationSchemaColumns: [0:key:string, 1:value:string, 2:ds:string, 3:hr:string, 4:ROW__ID:struct]
- Select Operator
- expressions: CAST( (UDFToDouble(hr) * 2.0D) AS STRING) (type: string)
- outputColumnNames: _col0
- Select Vectorization:
- className: VectorSelectOperator
+ Filter Operator
+ Filter Vectorization:
+ className: VectorFilterOperator
native: true
- projectedOutputColumnNums: [7]
- selectExpressions: CastDoubleToString(col 6:double)(children: DoubleColMultiplyDoubleScalar(col 5:double, val 2.0)(children: CastStringToDouble(col 3:string) -> 5:double) -> 6:double) -> 7:string
+ predicateExpression: SelectColumnIsNotNull(col 7:string)(children: CastDoubleToString(col 6:double)(children: DoubleColMultiplyDoubleScalar(col 5:double, val 2.0)(children: CastStringToDouble(col 3:string) -> 5:double) -> 6:double) -> 7:string)
+ predicate: CAST( (UDFToDouble(hr) * 2.0D) AS STRING) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: string)
- sort order: +
- Map-reduce partition columns: _col0 (type: string)
- Reduce Sink Vectorization:
- className: VectorReduceSinkStringOperator
- keyColumns: 7:string
+ Select Operator
+ expressions: CAST( (UDFToDouble(hr) * 2.0D) AS STRING) (type: string)
+ outputColumnNames: _col0
+ Select Vectorization:
+ className: VectorSelectOperator
native: true
- nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
+ projectedOutputColumnNums: [10]
+ selectExpressions: CastDoubleToString(col 9:double)(children: DoubleColMultiplyDoubleScalar(col 8:double, val 2.0)(children: CastStringToDouble(col 3:string) -> 8:double) -> 9:double) -> 10:string
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: string)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: string)
+ Reduce Sink Vectorization:
+ className: VectorReduceSinkStringOperator
+ keyColumns: 10:string
+ native: true
+ nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
+ Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
Execution mode: vectorized
Map Vectorization:
enabled: true
@@ -4826,12 +4882,12 @@ STAGE PLANS:
dataColumns: key:string, value:string
partitionColumnCount: 2
partitionColumns: ds:string, hr:string
- scratchColumnTypeNames: [double, double, string]
+ scratchColumnTypeNames: [double, double, string, double, double, string]
Map 4
Map Operator Tree:
TableScan
alias: srcpart_double_hour
- filterExpr: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ filterExpr: ((UDFToDouble(hour) = 11.0D) and CAST( hr AS STRING) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 188 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
@@ -4840,8 +4896,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children: FilterDoubleColEqualDoubleScalar(col 3:double, val 11.0)(children: CastStringToDouble(col 1:string) -> 3:double), SelectColumnIsNotNull(col 0:double))
- predicate: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: FilterDoubleColEqualDoubleScalar(col 3:double, val 11.0)(children: CastStringToDouble(col 1:string) -> 3:double), SelectColumnIsNotNull(col 4:string)(children: CastDoubleToString(col 0:double) -> 4:string))
+ predicate: ((UDFToDouble(hour) = 11.0D) and CAST( hr AS STRING) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: CAST( hr AS STRING) (type: string)
@@ -4849,8 +4905,8 @@ STAGE PLANS:
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [4]
- selectExpressions: CastDoubleToString(col 0:double) -> 4:string
+ projectedOutputColumnNums: [5]
+ selectExpressions: CastDoubleToString(col 0:double) -> 5:string
Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: string)
@@ -4858,7 +4914,7 @@ STAGE PLANS:
Map-reduce partition columns: _col0 (type: string)
Reduce Sink Vectorization:
className: VectorReduceSinkStringOperator
- keyColumns: 4:string
+ keyColumns: 5:string
native: true
nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: NONE
@@ -4877,7 +4933,7 @@ STAGE PLANS:
includeColumns: [0, 1]
dataColumns: hr:double, hour:string
partitionColumnCount: 0
- scratchColumnTypeNames: [double, string]
+ scratchColumnTypeNames: [double, string, string]
Reducer 2
Reduce Vectorization:
enabled: true
@@ -9532,7 +9588,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart_date_n0
- filterExpr: ((date = '2008-04-08') and ds is not null) (type: boolean)
+ filterExpr: ((date = '2008-04-08') and CAST( ds AS DATE) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 376 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
@@ -9541,8 +9597,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children: FilterStringGroupColEqualStringScalar(col 1:string, val 2008-04-08), SelectColumnIsNotNull(col 0:string))
- predicate: ((date = '2008-04-08') and ds is not null) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: FilterStringGroupColEqualStringScalar(col 1:string, val 2008-04-08), SelectColumnIsNotNull(col 3:date)(children: CastStringToDate(col 0:string) -> 3:date))
+ predicate: ((date = '2008-04-08') and CAST( ds AS DATE) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: day(CAST( ds AS DATE)) (type: int)
@@ -9550,8 +9606,8 @@ STAGE PLANS:
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [4]
- selectExpressions: VectorUDFDayOfMonthDate(col 3, field DAY_OF_MONTH)(children: CastStringToDate(col 0:string) -> 3:date) -> 4:int
+ projectedOutputColumnNums: [5]
+ selectExpressions: VectorUDFDayOfMonthDate(col 4, field DAY_OF_MONTH)(children: CastStringToDate(col 0:string) -> 4:date) -> 5:int
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
Spark Hash Table Sink Vectorization:
@@ -9566,13 +9622,13 @@ STAGE PLANS:
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [4]
+ projectedOutputColumnNums: [5]
Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE
Group By Operator
Group By Vectorization:
className: VectorGroupByOperator
groupByMode: HASH
- keyExpressions: col 4:int
+ keyExpressions: col 5:int
native: false
vectorProcessingMode: HASH
projectedOutputColumnNums: []
@@ -9599,7 +9655,7 @@ STAGE PLANS:
includeColumns: [0, 1]
dataColumns: ds:string, date:string
partitionColumnCount: 0
- scratchColumnTypeNames: [bigint, bigint]
+ scratchColumnTypeNames: [bigint, bigint, bigint]
Local Work:
Map Reduce Local Work
@@ -9613,59 +9669,66 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: ds is not null (type: boolean)
+ filterExpr: CAST( ds AS DATE) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
vectorizationSchemaColumns: [0:key:string, 1:value:string, 2:ds:string, 3:hr:string, 4:ROW__ID:struct]
- Select Operator
- expressions: day(CAST( ds AS DATE)) (type: int)
- outputColumnNames: _col0
- Select Vectorization:
- className: VectorSelectOperator
+ Filter Operator
+ Filter Vectorization:
+ className: VectorFilterOperator
native: true
- projectedOutputColumnNums: [6]
- selectExpressions: VectorUDFDayOfMonthDate(col 5, field DAY_OF_MONTH)(children: CastStringToDate(col 2:string) -> 5:date) -> 6:int
+ predicateExpression: SelectColumnIsNotNull(col 5:date)(children: CastStringToDate(col 2:string) -> 5:date)
+ predicate: CAST( ds AS DATE) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 _col0 (type: int)
- 1 _col0 (type: int)
- Map Join Vectorization:
- bigTableKeyColumns: 6:int
- bigTableRetainColumnNums: []
- className: VectorMapJoinInnerBigOnlyLongOperator
+ Select Operator
+ expressions: day(CAST( ds AS DATE)) (type: int)
+ outputColumnNames: _col0
+ Select Vectorization:
+ className: VectorSelectOperator
native: true
- nativeConditionsMet: hive.mapjoin.optimized.hashtable IS true, hive.vectorized.execution.mapjoin.native.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, One MapJoin Condition IS true, No nullsafe IS true, Small table vectorizes IS true, Optimized Table and Supports Key Types IS true
- nonOuterSmallTableKeyMapping: []
- hashTableImplementationType: OPTIMIZED
- input vertices:
- 1 Map 3
- Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE
- Group By Operator
- aggregations: count()
- Group By Vectorization:
- aggregators: VectorUDAFCountStar(*) -> bigint
- className: VectorGroupByOperator
- groupByMode: HASH
- native: false
- vectorProcessingMode: HASH
- projectedOutputColumnNums: [0]
- minReductionHashAggr: 0.99
- mode: hash
- outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- sort order:
- Reduce Sink Vectorization:
- className: VectorReduceSinkEmptyKeyOperator
- native: true
- nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
- valueColumns: 0:bigint
+ projectedOutputColumnNums: [7]
+ selectExpressions: VectorUDFDayOfMonthDate(col 6, field DAY_OF_MONTH)(children: CastStringToDate(col 2:string) -> 6:date) -> 7:int
+ Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: int)
+ 1 _col0 (type: int)
+ Map Join Vectorization:
+ bigTableKeyColumns: 7:int
+ bigTableRetainColumnNums: []
+ className: VectorMapJoinInnerBigOnlyLongOperator
+ native: true
+ nativeConditionsMet: hive.mapjoin.optimized.hashtable IS true, hive.vectorized.execution.mapjoin.native.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, One MapJoin Condition IS true, No nullsafe IS true, Small table vectorizes IS true, Optimized Table and Supports Key Types IS true
+ nonOuterSmallTableKeyMapping: []
+ hashTableImplementationType: OPTIMIZED
+ input vertices:
+ 1 Map 3
+ Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator
+ aggregations: count()
+ Group By Vectorization:
+ aggregators: VectorUDAFCountStar(*) -> bigint
+ className: VectorGroupByOperator
+ groupByMode: HASH
+ native: false
+ vectorProcessingMode: HASH
+ projectedOutputColumnNums: [0]
+ minReductionHashAggr: 0.99
+ mode: hash
+ outputColumnNames: _col0
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col0 (type: bigint)
+ Reduce Output Operator
+ sort order:
+ Reduce Sink Vectorization:
+ className: VectorReduceSinkEmptyKeyOperator
+ native: true
+ nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
+ valueColumns: 0:bigint
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col0 (type: bigint)
Execution mode: vectorized
Map Vectorization:
enabled: true
@@ -9682,7 +9745,7 @@ STAGE PLANS:
dataColumns: key:string, value:string
partitionColumnCount: 2
partitionColumns: ds:string, hr:string
- scratchColumnTypeNames: [bigint, bigint]
+ scratchColumnTypeNames: [bigint, bigint, bigint]
Local Work:
Map Reduce Local Work
Reducer 2
@@ -10679,7 +10742,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart_double_hour
- filterExpr: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ filterExpr: ((UDFToDouble(hour) = 11.0D) and UDFToDouble(UDFToInteger((hr / 2.0D))) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 188 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
@@ -10688,8 +10751,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children: FilterDoubleColEqualDoubleScalar(col 3:double, val 11.0)(children: CastStringToDouble(col 1:string) -> 3:double), SelectColumnIsNotNull(col 0:double))
- predicate: ((UDFToDouble(hour) = 11.0D) and hr is not null) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: FilterDoubleColEqualDoubleScalar(col 3:double, val 11.0)(children: CastStringToDouble(col 1:string) -> 3:double), SelectColumnIsNotNull(col 6:double)(children: CastLongToDouble(col 5:int)(children: CastDoubleToLong(col 4:double)(children: DoubleColDivideDoubleScalar(col 0:double, val 2.0) -> 4:double) -> 5:int) -> 6:double))
+ predicate: ((UDFToDouble(hour) = 11.0D) and UDFToDouble(UDFToInteger((hr / 2.0D))) is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: UDFToDouble(UDFToInteger((hr / 2.0D))) (type: double)
@@ -10697,8 +10760,8 @@ STAGE PLANS:
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [6]
- selectExpressions: CastLongToDouble(col 5:int)(children: CastDoubleToLong(col 4:double)(children: DoubleColDivideDoubleScalar(col 0:double, val 2.0) -> 4:double) -> 5:int) -> 6:double
+ projectedOutputColumnNums: [9]
+ selectExpressions: CastLongToDouble(col 8:int)(children: CastDoubleToLong(col 7:double)(children: DoubleColDivideDoubleScalar(col 0:double, val 2.0) -> 7:double) -> 8:int) -> 9:double
Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: NONE
Spark HashTable Sink Operator
Spark Hash Table Sink Vectorization:
@@ -10713,13 +10776,13 @@ STAGE PLANS:
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [6]
+ projectedOutputColumnNums: [9]
Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: NONE
Group By Operator
Group By Vectorization:
className: VectorGroupByOperator
groupByMode: HASH
- keyExpressions: col 6:double
+ keyExpressions: col 9:double
native: false
vectorProcessingMode: HASH
projectedOutputColumnNums: []
@@ -10746,7 +10809,7 @@ STAGE PLANS:
includeColumns: [0, 1]
dataColumns: hr:double, hour:string
partitionColumnCount: 0
- scratchColumnTypeNames: [double, double, bigint, double]
+ scratchColumnTypeNames: [double, double, bigint, double, double, bigint, double]
Local Work:
Map Reduce Local Work
@@ -10760,59 +10823,66 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: hr is not null (type: boolean)
+ filterExpr: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
vectorizationSchemaColumns: [0:key:string, 1:value:string, 2:ds:string, 3:hr:string, 4:ROW__ID:struct]
- Select Operator
- expressions: UDFToDouble(hr) (type: double)
- outputColumnNames: _col0
- Select Vectorization:
- className: VectorSelectOperator
+ Filter Operator
+ Filter Vectorization:
+ className: VectorFilterOperator
native: true
- projectedOutputColumnNums: [5]
- selectExpressions: CastStringToDouble(col 3:string) -> 5:double
+ predicateExpression: SelectColumnIsNotNull(col 5:double)(children: CastStringToDouble(col 3:string) -> 5:double)
+ predicate: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 _col0 (type: double)
- 1 _col0 (type: double)
- Map Join Vectorization:
- bigTableKeyColumns: 5:double
- bigTableRetainColumnNums: []
- className: VectorMapJoinInnerBigOnlyMultiKeyOperator
+ Select Operator
+ expressions: UDFToDouble(hr) (type: double)
+ outputColumnNames: _col0
+ Select Vectorization:
+ className: VectorSelectOperator
native: true
- nativeConditionsMet: hive.mapjoin.optimized.hashtable IS true, hive.vectorized.execution.mapjoin.native.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, One MapJoin Condition IS true, No nullsafe IS true, Small table vectorizes IS true, Optimized Table and Supports Key Types IS true
- nonOuterSmallTableKeyMapping: []
- hashTableImplementationType: OPTIMIZED
- input vertices:
- 1 Map 3
- Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE
- Group By Operator
- aggregations: count()
- Group By Vectorization:
- aggregators: VectorUDAFCountStar(*) -> bigint
- className: VectorGroupByOperator
- groupByMode: HASH
- native: false
- vectorProcessingMode: HASH
- projectedOutputColumnNums: [0]
- minReductionHashAggr: 0.99
- mode: hash
- outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- sort order:
- Reduce Sink Vectorization:
- className: VectorReduceSinkEmptyKeyOperator
- native: true
- nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
- valueColumns: 0:bigint
+ projectedOutputColumnNums: [6]
+ selectExpressions: CastStringToDouble(col 3:string) -> 6:double
+ Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: double)
+ 1 _col0 (type: double)
+ Map Join Vectorization:
+ bigTableKeyColumns: 6:double
+ bigTableRetainColumnNums: []
+ className: VectorMapJoinInnerBigOnlyMultiKeyOperator
+ native: true
+ nativeConditionsMet: hive.mapjoin.optimized.hashtable IS true, hive.vectorized.execution.mapjoin.native.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, One MapJoin Condition IS true, No nullsafe IS true, Small table vectorizes IS true, Optimized Table and Supports Key Types IS true
+ nonOuterSmallTableKeyMapping: []
+ hashTableImplementationType: OPTIMIZED
+ input vertices:
+ 1 Map 3
+ Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator
+ aggregations: count()
+ Group By Vectorization:
+ aggregators: VectorUDAFCountStar(*) -> bigint
+ className: VectorGroupByOperator
+ groupByMode: HASH
+ native: false
+ vectorProcessingMode: HASH
+ projectedOutputColumnNums: [0]
+ minReductionHashAggr: 0.99
+ mode: hash
+ outputColumnNames: _col0
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col0 (type: bigint)
+ Reduce Output Operator
+ sort order:
+ Reduce Sink Vectorization:
+ className: VectorReduceSinkEmptyKeyOperator
+ native: true
+ nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
+ valueColumns: 0:bigint
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col0 (type: bigint)
Execution mode: vectorized
Map Vectorization:
enabled: true
@@ -10829,7 +10899,7 @@ STAGE PLANS:
dataColumns: key:string, value:string
partitionColumnCount: 2
partitionColumns: ds:string, hr:string
- scratchColumnTypeNames: [double]
+ scratchColumnTypeNames: [double, double]
Local Work:
Map Reduce Local Work
Reducer 2
@@ -11012,59 +11082,66 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: srcpart
- filterExpr: hr is not null (type: boolean)
+ filterExpr: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
vectorizationSchemaColumns: [0:key:string, 1:value:string, 2:ds:string, 3:hr:string, 4:ROW__ID:struct]
- Select Operator
- expressions: (UDFToDouble(hr) * 2.0D) (type: double)
- outputColumnNames: _col0
- Select Vectorization:
- className: VectorSelectOperator
+ Filter Operator
+ Filter Vectorization:
+ className: VectorFilterOperator
native: true
- projectedOutputColumnNums: [6]
- selectExpressions: DoubleColMultiplyDoubleScalar(col 5:double, val 2.0)(children: CastStringToDouble(col 3:string) -> 5:double) -> 6:double
+ predicateExpression: SelectColumnIsNotNull(col 5:double)(children: CastStringToDouble(col 3:string) -> 5:double)
+ predicate: UDFToDouble(hr) is not null (type: boolean)
Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
- Map Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 _col0 (type: double)
- 1 _col0 (type: double)
- Map Join Vectorization:
- bigTableKeyColumns: 6:double
- bigTableRetainColumnNums: []
- className: VectorMapJoinInnerBigOnlyMultiKeyOperator
+ Select Operator
+ expressions: (UDFToDouble(hr) * 2.0D) (type: double)
+ outputColumnNames: _col0
+ Select Vectorization:
+ className: VectorSelectOperator
native: true
- nativeConditionsMet: hive.mapjoin.optimized.hashtable IS true, hive.vectorized.execution.mapjoin.native.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, One MapJoin Condition IS true, No nullsafe IS true, Small table vectorizes IS true, Optimized Table and Supports Key Types IS true
- nonOuterSmallTableKeyMapping: []
- hashTableImplementationType: OPTIMIZED
- input vertices:
- 1 Map 3
- Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE
- Group By Operator
- aggregations: count()
- Group By Vectorization:
- aggregators: VectorUDAFCountStar(*) -> bigint
- className: VectorGroupByOperator
- groupByMode: HASH
- native: false
- vectorProcessingMode: HASH
- projectedOutputColumnNums: [0]
- minReductionHashAggr: 0.99
- mode: hash
- outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- sort order:
- Reduce Sink Vectorization:
- className: VectorReduceSinkEmptyKeyOperator
- native: true
- nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
- valueColumns: 0:bigint
+ projectedOutputColumnNums: [7]
+ selectExpressions: DoubleColMultiplyDoubleScalar(col 6:double, val 2.0)(children: CastStringToDouble(col 3:string) -> 6:double) -> 7:double
+ Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
+ Map Join Operator
+ condition map:
+ Inner Join 0 to 1
+ keys:
+ 0 _col0 (type: double)
+ 1 _col0 (type: double)
+ Map Join Vectorization:
+ bigTableKeyColumns: 7:double
+ bigTableRetainColumnNums: []
+ className: VectorMapJoinInnerBigOnlyMultiKeyOperator
+ native: true
+ nativeConditionsMet: hive.mapjoin.optimized.hashtable IS true, hive.vectorized.execution.mapjoin.native.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, One MapJoin Condition IS true, No nullsafe IS true, Small table vectorizes IS true, Optimized Table and Supports Key Types IS true
+ nonOuterSmallTableKeyMapping: []
+ hashTableImplementationType: OPTIMIZED
+ input vertices:
+ 1 Map 3
+ Statistics: Num rows: 2200 Data size: 23372 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator
+ aggregations: count()
+ Group By Vectorization:
+ aggregators: VectorUDAFCountStar(*) -> bigint
+ className: VectorGroupByOperator
+ groupByMode: HASH
+ native: false
+ vectorProcessingMode: HASH
+ projectedOutputColumnNums: [0]
+ minReductionHashAggr: 0.99
+ mode: hash
+ outputColumnNames: _col0
Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col0 (type: bigint)
+ Reduce Output Operator
+ sort order:
+ Reduce Sink Vectorization:
+ className: VectorReduceSinkEmptyKeyOperator
+ native: true
+ nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
+ valueColumns: 0:bigint
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col0 (type: bigint)
Execution mode: vectorized
Map Vectorization:
enabled: true
@@ -11081,7 +11158,7 @@ STAGE PLANS:
dataColumns: key:string, value:string
partitionColumnCount: 2
partitionColumns: ds:string, hr:string
- scratchColumnTypeNames: [double, double]
+ scratchColumnTypeNames: [double, double, double]
Local Work:
Map Reduce Local Work
Reducer 2
diff --git ql/src/test/results/clientpositive/spark/subquery_in.q.out ql/src/test/results/clientpositive/spark/subquery_in.q.out
index 3fc9aa1b1b..e59ac03b38 100644
--- ql/src/test/results/clientpositive/spark/subquery_in.q.out
+++ ql/src/test/results/clientpositive/spark/subquery_in.q.out
@@ -286,10 +286,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: part
- filterExpr: p_size is not null (type: boolean)
+ filterExpr: UDFToDouble(p_size) is not null (type: boolean)
Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: p_size is not null (type: boolean)
+ predicate: UDFToDouble(p_size) is not null (type: boolean)
Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: p_name (type: string), p_size (type: int)
@@ -385,7 +385,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (_col0 is not null and _col1 is not null) (type: boolean)
+ predicate: (UDFToDouble(_col0) is not null and _col1 is not null) (type: boolean)
Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: (UDFToDouble(_col0) / _col1) (type: double)
@@ -2100,9 +2100,7 @@ STAGE PLANS:
Stage: Stage-1
Spark
Edges:
- Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 2), Reducer 4 (PARTITION-LEVEL SORT, 2)
- Reducer 4 <- Map 3 (PARTITION-LEVEL SORT, 2), Reducer 6 (PARTITION-LEVEL SORT, 2)
- Reducer 6 <- Map 5 (GROUP, 2)
+ Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 2), Map 3 (PARTITION-LEVEL SORT, 2)
#### A masked pattern was here ####
Vertices:
Map 1
@@ -2129,42 +2127,26 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: p
- filterExpr: (p_size is not null and p_partkey is not null and p_name is not null) (type: boolean)
+ filterExpr: (((p_size + 121150) = p_partkey) and p_size is not null and p_name is not null) (type: boolean)
Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (p_name is not null and p_partkey is not null and p_size is not null) (type: boolean)
- Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((p_size + 121150) = p_partkey) and p_name is not null and p_size is not null) (type: boolean)
+ Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: p_partkey (type: int), p_name (type: string), p_size (type: int)
- outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col2 (type: int), _col0 (type: int)
- sort order: ++
- Map-reduce partition columns: _col2 (type: int), _col0 (type: int)
- Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: string)
- Execution mode: vectorized
- Map 5
- Map Operator Tree:
- TableScan
- alias: part
- filterExpr: p_size is not null (type: boolean)
- Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
- Filter Operator
- predicate: p_size is not null (type: boolean)
- Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
- Group By Operator
- keys: p_size (type: int)
- minReductionHashAggr: 0.99
- mode: hash
- outputColumnNames: _col0
- Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: int)
- sort order: +
- Map-reduce partition columns: _col0 (type: int)
- Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
+ expressions: p_name (type: string), p_size (type: int)
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator
+ keys: _col0 (type: string), _col1 (type: int)
+ minReductionHashAggr: 0.99
+ mode: hash
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: string), _col1 (type: int)
+ sort order: ++
+ Map-reduce partition columns: _col0 (type: string), _col1 (type: int)
+ Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
Execution mode: vectorized
Reducer 2
Reduce Operator Tree:
@@ -2175,56 +2157,14 @@ STAGE PLANS:
0 _col1 (type: string), _col5 (type: int)
1 _col0 (type: string), _col1 (type: int)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- Reducer 4
- Reduce Operator Tree:
- Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 _col2 (type: int), _col0 (type: int)
- 1 _col0 (type: int), _col1 (type: int)
- outputColumnNames: _col1, _col3
- Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: _col1 (type: string), _col3 (type: int)
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE
- Group By Operator
- keys: _col0 (type: string), _col1 (type: int)
- minReductionHashAggr: 0.99
- mode: hash
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: string), _col1 (type: int)
- sort order: ++
- Map-reduce partition columns: _col0 (type: string), _col1 (type: int)
- Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE
- Reducer 6
- Execution mode: vectorized
- Reduce Operator Tree:
- Group By Operator
- keys: KEY._col0 (type: int)
- mode: mergepartial
- outputColumnNames: _col0
- Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: _col0 (type: int), (_col0 + 121150) (type: int)
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: int), _col1 (type: int)
- sort order: ++
- Map-reduce partition columns: _col0 (type: int), _col1 (type: int)
- Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
Stage: Stage-0
Fetch Operator
@@ -3937,10 +3877,10 @@ STAGE PLANS:
keys:
0 _col1 (type: string)
1 _col0 (type: string)
- outputColumnNames: _col0, _col3
+ outputColumnNames: _col0, _col4
Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col0 (type: string), _col3 (type: int)
+ expressions: _col0 (type: string), _col4 (type: int)
outputColumnNames: _col0, _col1
Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE
Group By Operator
@@ -4321,10 +4261,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: part
- filterExpr: (p_type is not null and p_size is not null) (type: boolean)
+ filterExpr: (p_type is not null and UDFToLong(p_size) is not null) (type: boolean)
Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (p_size is not null and p_type is not null) (type: boolean)
+ predicate: (UDFToLong(p_size) is not null and p_type is not null) (type: boolean)
Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: p_partkey (type: int), p_name (type: string), 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)
@@ -4392,7 +4332,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col10
Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (sq_count_check(CASE WHEN (_col10 is null) THEN (0) ELSE (_col10) END, true) > 0) (type: boolean)
+ predicate: (sq_count_check(CASE WHEN (_col10 is null) THEN (0L) ELSE (_col10) END, true) > 0) (type: boolean)
Statistics: Num rows: 9 Data size: 1112 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
@@ -4506,10 +4446,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: part
- filterExpr: (p_partkey is not null and p_size is not null) (type: boolean)
+ filterExpr: (p_partkey is not null and UDFToDouble(p_size) is not null) (type: boolean)
Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (p_partkey is not null and p_size is not null) (type: boolean)
+ predicate: (UDFToDouble(p_size) is not null and p_partkey is not null) (type: boolean)
Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: p_partkey (type: int), p_name (type: string), 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)
@@ -4572,7 +4512,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (_col1 is not null and _col2 is not null) (type: boolean)
+ predicate: (UDFToDouble(_col1) is not null and _col2 is not null) (type: boolean)
Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), (UDFToDouble(_col1) / _col2) (type: double)
@@ -4926,7 +4866,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col10
Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (sq_count_check(CASE WHEN (_col10 is null) THEN (0) ELSE (_col10) END, true) > 0) (type: boolean)
+ predicate: (sq_count_check(CASE WHEN (_col10 is null) THEN (0L) ELSE (_col10) END, true) > 0) (type: boolean)
Statistics: Num rows: 9 Data size: 1112 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
@@ -4965,15 +4905,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col10, _col11, _col14
Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((_col10 = 0L)) THEN (true) WHEN (_col10 is null) THEN (true) WHEN (_col14 is not null) THEN (false) WHEN (_col5 is null) THEN (null) WHEN ((_col11 < _col10)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 7 Data size: 865 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col11 < _col10) is not true or (_col10 = 0L) or _col10 is null or _col14 is not null or _col5 is null) and (_col14 is null or (_col10 = 0L) or _col10 is null) and (_col5 is not null or (_col10 = 0L) or _col10 is null or _col14 is not null)) (type: boolean)
+ Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 7 Data size: 865 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 7 Data size: 865 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -5151,7 +5091,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (_col1 is not null and _col2 is not null) (type: boolean)
+ predicate: (UDFToDouble(_col1) is not null and _col2 is not null) (type: boolean)
Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: (UDFToDouble(_col1) / _col2) (type: double), _col0 (type: int), true (type: boolean)
@@ -5174,7 +5114,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col10
Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (sq_count_check(CASE WHEN (_col10 is null) THEN (0) ELSE (_col10) END, true) > 0) (type: boolean)
+ predicate: (sq_count_check(CASE WHEN (_col10 is null) THEN (0L) ELSE (_col10) END, true) > 0) (type: boolean)
Statistics: Num rows: 9 Data size: 1112 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
@@ -5213,15 +5153,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col10, _col11, _col14
Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((_col10 = 0L)) THEN (true) WHEN (_col10 is null) THEN (true) WHEN (_col14 is not null) THEN (false) WHEN (_col5 is null) THEN (null) WHEN ((_col11 < _col10)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 7 Data size: 865 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col11 < _col10) is not true or (_col10 = 0L) or _col10 is null or _col14 is not null or _col5 is null) and (_col14 is null or (_col10 = 0L) or _col10 is null) and (_col5 is not null or (_col10 = 0L) or _col10 is null or _col14 is not null)) (type: boolean)
+ Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 7 Data size: 865 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 7 Data size: 865 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -5346,10 +5286,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: t_n22
- filterExpr: i is not null (type: boolean)
+ filterExpr: UDFToLong(i) is not null (type: boolean)
Statistics: Num rows: 2 Data size: 2 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: i is not null (type: boolean)
+ predicate: UDFToLong(i) is not null (type: boolean)
Statistics: Num rows: 2 Data size: 2 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: i (type: int)
@@ -5564,10 +5504,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: t_n22
- filterExpr: (j is not null and i is not null) (type: boolean)
+ filterExpr: (j is not null and UDFToLong(i) is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 6 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (i is not null and j is not null) (type: boolean)
+ predicate: (UDFToLong(i) is not null and j is not null) (type: boolean)
Statistics: Num rows: 2 Data size: 6 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: i (type: int), j (type: int)
diff --git ql/src/test/results/clientpositive/spark/subquery_multi.q.out ql/src/test/results/clientpositive/spark/subquery_multi.q.out
index 17240f9dc5..2f48b322cb 100644
--- ql/src/test/results/clientpositive/spark/subquery_multi.q.out
+++ ql/src/test/results/clientpositive/spark/subquery_multi.q.out
@@ -404,7 +404,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col10, _col11, _col13
Statistics: Num rows: 1 Data size: 39397 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((_col10 = 0L) or (_col13 is null and _col3 is not null and (_col11 >= _col10))) (type: boolean)
+ predicate: (((_col11 >= _col10) or (_col10 = 0L) or _col13 is not null or _col3 is null) and (_col13 is null or (_col10 = 0L)) and (_col3 is not null or (_col10 = 0L) or _col13 is not null)) (type: boolean)
Statistics: Num rows: 1 Data size: 39397 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
@@ -629,7 +629,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col10, _col11, _col13
Statistics: Num rows: 1 Data size: 39397 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((_col10 = 0L) or (_col13 is null and _col3 is not null and (_col11 >= _col10))) (type: boolean)
+ predicate: (((_col11 >= _col10) or (_col10 = 0L) or _col13 is not null or _col3 is null) and (_col13 is null or (_col10 = 0L)) and (_col3 is not null or (_col10 = 0L) or _col13 is not null)) (type: boolean)
Statistics: Num rows: 1 Data size: 39397 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
@@ -853,15 +853,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col10, _col11, _col13
Statistics: Num rows: 2 Data size: 71632 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((_col10 = 0L) or (_col13 is null and (_col11 >= _col10))) (type: boolean)
- Statistics: Num rows: 1 Data size: 35816 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col11 >= _col10) or (_col10 = 0L) or _col13 is not null or _col3 is null) and (_col13 is null or (_col10 = 0L))) (type: boolean)
+ Statistics: Num rows: 2 Data size: 71632 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 1 Data size: 35816 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 71632 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 35816 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 71632 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -1081,7 +1081,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col12
Statistics: Num rows: 1 Data size: 35833 Basic stats: PARTIAL Column stats: NONE
Filter Operator
- predicate: ((_col12 is null and _col1 is not null and (_col10 >= _col9)) or (_col9 = 0L)) (type: boolean)
+ predicate: (((_col10 >= _col9) or (_col9 = 0L) or _col12 is not null or _col1 is null) and (_col1 is not null or (_col9 = 0L) or _col12 is not null) and (_col12 is null or (_col9 = 0L))) (type: boolean)
Statistics: Num rows: 1 Data size: 35833 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
@@ -1723,6 +1723,46 @@ POSTHOOK: Input: default@tempty
85768 almond antique chartreuse lavender yellow Manufacturer#1 Brand#12 LARGE BRUSHED STEEL 34 SM BAG 1753.76 refull
86428 almond aquamarine burnished black steel Manufacturer#1 Brand#12 STANDARD ANODIZED STEEL 28 WRAP BAG 1414.42 arefully
90681 almond antique chartreuse khaki white Manufacturer#3 Brand#31 MEDIUM BURNISHED TIN 17 SM CASE 1671.68 are slyly after the sl
+PREHOOK: query: explain cbo select * from part_null where
+ p_brand NOT IN (select p_container from part where part.p_type = part_null.p_type
+ AND p_brand IN (select p_brand from part pp where part.p_type = pp.p_type))
+PREHOOK: type: QUERY
+PREHOOK: Input: default@part
+PREHOOK: Input: default@part_null
+#### A masked pattern was here ####
+POSTHOOK: query: explain cbo select * from part_null where
+ p_brand NOT IN (select p_container from part where part.p_type = part_null.p_type
+ AND p_brand IN (select p_brand from part pp where part.p_type = pp.p_type))
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@part
+POSTHOOK: Input: default@part_null
+#### A masked pattern was here ####
+CBO PLAN:
+HiveProject(p_partkey=[$0], p_name=[$1], p_mfgr=[$2], p_brand=[$3], p_type=[$4], p_size=[$5], p_container=[$6], p_retailprice=[$7], p_comment=[$8])
+ HiveFilter(condition=[AND(OR(IS NULL($14), =($10, 0), IS NULL($10)), OR(IS NOT NULL($3), =($10, 0), IS NULL($10), IS NOT NULL($14)), OR(IS NOT TRUE(<($11, $10)), =($10, 0), IS NULL($10), IS NOT NULL($14), IS NULL($3)))])
+ HiveJoin(condition=[AND(=($3, $12), =($13, $4))], joinType=[left], algorithm=[none], cost=[not available])
+ HiveJoin(condition=[=($9, $4)], joinType=[left], algorithm=[none], cost=[not available])
+ HiveProject(p_partkey=[$0], p_name=[$1], p_mfgr=[$2], p_brand=[$3], p_type=[$4], p_size=[$5], p_container=[$6], p_retailprice=[$7], p_comment=[$8])
+ HiveTableScan(table=[[default, part_null]], table:alias=[part_null])
+ HiveProject(p_type=[$0], c=[$1], ck=[$2])
+ HiveAggregate(group=[{1}], c=[COUNT()], ck=[COUNT($2)])
+ HiveSemiJoin(condition=[AND(=($1, $4), =($0, $3))], joinType=[inner])
+ HiveProject(p_brand=[$3], p_type=[$4], p_container=[$6])
+ HiveFilter(condition=[AND(IS NOT NULL($4), IS NOT NULL($3))])
+ HiveTableScan(table=[[default, part]], table:alias=[part])
+ HiveProject(p_brand=[$3], p_type=[$4])
+ HiveFilter(condition=[AND(IS NOT NULL($4), IS NOT NULL($3))])
+ HiveTableScan(table=[[default, part]], table:alias=[pp])
+ HiveProject(p_container=[$1], p_type=[$0], $f2=[true])
+ HiveAggregate(group=[{1, 2}])
+ HiveSemiJoin(condition=[AND(=($1, $4), =($0, $3))], joinType=[inner])
+ HiveProject(p_brand=[$3], p_type=[$4], p_container=[$6])
+ HiveFilter(condition=[AND(IS NOT NULL($4), IS NOT NULL($3), IS NOT NULL($6))])
+ HiveTableScan(table=[[default, part]], table:alias=[part])
+ HiveProject(p_brand=[$3], p_type=[$4])
+ HiveFilter(condition=[AND(IS NOT NULL($4), IS NOT NULL($3))])
+ HiveTableScan(table=[[default, part]], table:alias=[pp])
+
PREHOOK: query: explain select * from part_null where p_name IN ( select p_name from part where part.p_type = part_null.p_type)
AND p_brand NOT IN (select p_container from part where part.p_type = part_null.p_type
AND p_brand IN (select p_brand from part pp where part.p_type = pp.p_type))
@@ -1971,15 +2011,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col10, _col11, _col14
Statistics: Num rows: 33 Data size: 4187 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((_col10 = 0L)) THEN (true) WHEN (_col10 is null) THEN (true) WHEN (_col14 is not null) THEN (false) WHEN (_col3 is null) THEN (null) WHEN ((_col11 < _col10)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 16 Data size: 2030 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col11 < _col10) is not true or (_col10 = 0L) or _col10 is null or _col14 is not null or _col3 is null) and (_col14 is null or (_col10 = 0L) or _col10 is null) and (_col3 is not null or (_col10 = 0L) or _col10 is null or _col14 is not null)) (type: boolean)
+ Statistics: Num rows: 33 Data size: 4187 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 16 Data size: 2030 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 33 Data size: 4187 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 16 Data size: 2030 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 33 Data size: 4187 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -2491,15 +2531,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col10, _col11, _col14
Statistics: Num rows: 33 Data size: 4187 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((_col10 = 0L)) THEN (true) WHEN (_col10 is null) THEN (true) WHEN (_col14 is not null) THEN (false) WHEN (_col3 is null) THEN (null) WHEN ((_col11 < _col10)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 16 Data size: 2030 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col11 < _col10) is not true or (_col10 = 0L) or _col10 is null or _col14 is not null or _col3 is null) and (_col14 is null or (_col10 = 0L) or _col10 is null) and (_col3 is not null or (_col10 = 0L) or _col10 is null or _col14 is not null)) (type: boolean)
+ Statistics: Num rows: 33 Data size: 4187 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 16 Data size: 2030 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 33 Data size: 4187 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 16 Data size: 2030 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 33 Data size: 4187 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -2742,15 +2782,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col10, _col11, _col14
Statistics: Num rows: 33 Data size: 4187 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((_col10 = 0L)) THEN (true) WHEN (_col10 is null) THEN (true) WHEN (_col14 is not null) THEN (false) WHEN (_col3 is null) THEN (null) WHEN ((_col11 < _col10)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 16 Data size: 2030 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col11 < _col10) is not true or (_col10 = 0L) or _col10 is null or _col14 is not null or _col3 is null) and (_col14 is null or (_col10 = 0L) or _col10 is null) and (_col3 is not null or (_col10 = 0L) or _col10 is null or _col14 is not null)) (type: boolean)
+ Statistics: Num rows: 33 Data size: 4187 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 16 Data size: 2030 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 33 Data size: 4187 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 16 Data size: 2030 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 33 Data size: 4187 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -3210,23 +3250,23 @@ STAGE PLANS:
outputColumnNames: _col0, _col2, _col4, _col5, _col7
Statistics: Num rows: 27 Data size: 3757 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((_col4 = 0L) or (_col7 is null and _col2 is not null and (_col5 >= _col4))) (type: boolean)
- Statistics: Num rows: 17 Data size: 2365 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col5 >= _col4) or (_col4 = 0L) or _col7 is not null or _col2 is null) and (_col2 is not null or (_col4 = 0L) or _col7 is not null) and (_col7 is null or (_col4 = 0L))) (type: boolean)
+ Statistics: Num rows: 26 Data size: 3617 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), 1 (type: int)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 17 Data size: 2365 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 26 Data size: 3617 Basic stats: COMPLETE Column stats: NONE
Group By Operator
keys: _col0 (type: int), _col1 (type: int)
minReductionHashAggr: 0.99
mode: hash
outputColumnNames: _col0, _col1
- Statistics: Num rows: 17 Data size: 2365 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 26 Data size: 3617 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: int), _col1 (type: int)
sort order: ++
Map-reduce partition columns: _col0 (type: int), _col1 (type: int)
- Statistics: Num rows: 17 Data size: 2365 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 26 Data size: 3617 Basic stats: COMPLETE Column stats: NONE
Reducer 9
Execution mode: vectorized
Reduce Operator Tree:
@@ -4119,7 +4159,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col12
Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((_col0 = 3) or CASE WHEN ((_col9 = 0L)) THEN (true) WHEN (_col12 is not null) THEN (false) WHEN (_col5 is null) THEN (null) WHEN ((_col10 < _col9)) THEN (null) ELSE (true) END) (type: boolean)
+ predicate: (((_col9 <> 0L) and _col12 is null and (_col10 >= _col9) and _col5 is not null) or (_col0 = 3) or (_col9 = 0L)) (type: boolean)
Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
@@ -4342,7 +4382,7 @@ STAGE PLANS:
outputColumnNames: _col1, _col2, _col4, _col5
Statistics: Num rows: 550 Data size: 13543 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((_col4 is not null and (_col2 <> 0L)) or _col1 is not null or _col5 is not null) (type: boolean)
+ predicate: (((_col2 <> 0L) and _col4 is not null) or _col1 is not null or _col5 is not null) (type: boolean)
Statistics: Num rows: 550 Data size: 13543 Basic stats: COMPLETE Column stats: NONE
Select Operator
Statistics: Num rows: 550 Data size: 13543 Basic stats: COMPLETE Column stats: NONE
diff --git ql/src/test/results/clientpositive/spark/subquery_notin.q.out ql/src/test/results/clientpositive/spark/subquery_notin.q.out
index 2d93874450..34cf381354 100644
--- ql/src/test/results/clientpositive/spark/subquery_notin.q.out
+++ ql/src/test/results/clientpositive/spark/subquery_notin.q.out
@@ -119,15 +119,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col5
Statistics: Num rows: 550 Data size: 15193 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((_col2 = 0L) or (_col5 is null and _col0 is not null and (_col3 >= _col2))) (type: boolean)
- Statistics: Num rows: 366 Data size: 10110 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col3 >= _col2) or (_col2 = 0L) or _col5 is not null or _col0 is null) and (_col0 is not null or (_col2 = 0L) or _col5 is not null) and (_col5 is null or (_col2 = 0L))) (type: boolean)
+ Statistics: Num rows: 550 Data size: 15193 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: string), _col1 (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 366 Data size: 10110 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 550 Data size: 15193 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 366 Data size: 10110 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 550 Data size: 15193 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -401,15 +401,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col4, _col5, _col8
Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((_col4 = 0L)) THEN (true) WHEN (_col4 is null) THEN (true) WHEN (_col8 is not null) THEN (false) WHEN (_col0 is null) THEN (null) WHEN ((_col5 < _col4)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col5 < _col4) is not true or (_col4 = 0L) or _col4 is null or _col8 is not null or _col0 is null) and (_col0 is not null or (_col4 = 0L) or _col4 is null or _col8 is not null) and (_col8 is null or (_col4 = 0L) or _col4 is null)) (type: boolean)
+ Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col1 (type: string), _col0 (type: string), _col2 (type: int)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -682,15 +682,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col5
Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((_col2 = 0L) or (_col5 is null and _col1 is not null and (_col3 >= _col2))) (type: boolean)
- Statistics: Num rows: 18 Data size: 2530 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col3 >= _col2) or (_col2 = 0L) or _col5 is not null or _col1 is null) and (_col1 is not null or (_col2 = 0L) or _col5 is not null) and (_col5 is null or (_col2 = 0L))) (type: boolean)
+ Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: string), _col1 (type: int)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 18 Data size: 2530 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 18 Data size: 2530 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -1051,7 +1051,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col4
Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (sq_count_check(CASE WHEN (_col4 is null) THEN (0) ELSE (_col4) END, true) > 0) (type: boolean)
+ predicate: (sq_count_check(CASE WHEN (_col4 is null) THEN (0L) ELSE (_col4) END, true) > 0) (type: boolean)
Statistics: Num rows: 9 Data size: 1112 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int)
@@ -1090,15 +1090,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col4, _col5, _col8
Statistics: Num rows: 9 Data size: 1345 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((_col4 = 0L)) THEN (true) WHEN (_col4 is null) THEN (true) WHEN (_col8 is not null) THEN (false) WHEN (_col2 is null) THEN (null) WHEN ((_col5 < _col4)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 4 Data size: 597 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col5 < _col4) is not true or (_col4 = 0L) or _col4 is null or _col8 is not null or _col2 is null) and (_col2 is not null or (_col4 = 0L) or _col4 is null or _col8 is not null) and (_col8 is null or (_col4 = 0L) or _col4 is null)) (type: boolean)
+ Statistics: Num rows: 9 Data size: 1345 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col1 (type: string), _col0 (type: string), _col2 (type: int)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 4 Data size: 597 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 9 Data size: 1345 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 4 Data size: 597 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 9 Data size: 1345 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -1513,12 +1513,12 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: src
- filterExpr: ((key < '11') and CASE WHEN ((key > '104')) THEN (null) ELSE ((key < '11')) END) (type: boolean)
+ filterExpr: ((key < '11') and (key > '104') is not true) (type: boolean)
properties:
insideView TRUE
Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((key < '11') and CASE WHEN ((key > '104')) THEN (null) ELSE ((key < '11')) END) (type: boolean)
+ predicate: ((key < '11') and (key > '104') is not true) (type: boolean)
Statistics: Num rows: 83 Data size: 881 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: CASE WHEN ((key > '104')) THEN (null) ELSE (key) END (type: string)
@@ -1591,15 +1591,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col4
Statistics: Num rows: 182 Data size: 5033 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((_col1 = 0L) or (_col4 is null and _col0 is not null and (_col2 >= _col1))) (type: boolean)
- Statistics: Num rows: 121 Data size: 3346 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col2 >= _col1) or (_col1 = 0L) or _col4 is not null or _col0 is null) and (_col0 is not null or (_col1 = 0L) or _col4 is not null) and (_col4 is null or (_col1 = 0L))) (type: boolean)
+ Statistics: Num rows: 182 Data size: 5033 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 121 Data size: 3346 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 182 Data size: 5033 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 121 Data size: 3346 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 182 Data size: 5033 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -1777,15 +1777,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col10, _col11, _col14
Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((_col10 = 0L)) THEN (true) WHEN (_col10 is null) THEN (true) WHEN (_col14 is not null) THEN (false) WHEN (_col5 is null) THEN (null) WHEN ((_col11 < _col10)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col11 < _col10) is not true or (_col10 = 0L) or _col10 is null or _col14 is not null or _col5 is null) and (_col14 is null or (_col10 = 0L) or _col10 is null) and (_col5 is not null or (_col10 = 0L) or _col10 is null or _col14 is not null)) (type: boolean)
+ Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -1967,16 +1967,16 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col12
Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((_col12 is null and _col5 is not null and (_col10 >= _col9)) or (_col9 = 0L)) (type: boolean)
- Statistics: Num rows: 18 Data size: 2530 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col10 >= _col9) or (_col9 = 0L) or _col12 is not null or _col5 is null) and (_col12 is null or (_col9 = 0L)) and (_col5 is not null or (_col9 = 0L) or _col12 is not null)) (type: boolean)
+ Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 18 Data size: 2530 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: int)
sort order: +
- Statistics: Num rows: 18 Data size: 2530 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
value expressions: _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
Reducer 4
Execution mode: vectorized
@@ -1984,10 +1984,10 @@ STAGE PLANS:
Select Operator
expressions: KEY.reducesinkkey0 (type: int), VALUE._col0 (type: string), VALUE._col1 (type: string), VALUE._col2 (type: string), VALUE._col3 (type: string), VALUE._col4 (type: int), VALUE._col5 (type: string), VALUE._col6 (type: double), VALUE._col7 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 18 Data size: 2530 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 18 Data size: 2530 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -2182,15 +2182,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col12
Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((_col12 is null and _col0 is not null and _col5 is not null and (_col10 >= _col9)) or (_col9 = 0L)) (type: boolean)
- Statistics: Num rows: 18 Data size: 2530 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col0 is not null and _col5 is not null) or (_col9 = 0L) or _col12 is not null) and ((_col10 >= _col9) or (_col9 = 0L) or _col12 is not null or _col0 is null or _col5 is null) and (_col12 is null or (_col9 = 0L))) (type: boolean)
+ Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 18 Data size: 2530 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 18 Data size: 2530 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -2460,10 +2460,10 @@ STAGE PLANS:
outputColumnNames: _col1, _col3, _col4, _col7
Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((_col3 = 0L)) THEN (true) WHEN (_col3 is null) THEN (true) WHEN (_col7 is not null) THEN (false) WHEN ((_col1 + 100) is null) THEN (null) WHEN ((_col4 < _col3)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col4 < _col3) is not true or (_col3 = 0L) or _col3 is null or _col7 is not null or _col1 is null) and (_col1 is not null or (_col3 = 0L) or _col3 is null or _col7 is not null) and (_col7 is null or (_col3 = 0L) or _col3 is null)) (type: boolean)
+ Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
Select Operator
- Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
Group By Operator
aggregations: count()
minReductionHashAggr: 0.99
@@ -2647,15 +2647,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col12
Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((_col12 is null and _col7 is not null and (_col10 >= _col9)) or (_col9 = 0L)) (type: boolean)
- Statistics: Num rows: 18 Data size: 2530 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col10 >= _col9) or (_col9 = 0L) or _col12 is not null or _col7 is null) and (_col12 is null or (_col9 = 0L)) and (_col7 is not null or (_col9 = 0L) or _col12 is not null)) (type: boolean)
+ Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 18 Data size: 2530 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 18 Data size: 2530 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -2770,14 +2770,10 @@ STAGE PLANS:
Stage: Stage-1
Spark
Edges:
- Reducer 10 <- Map 9 (PARTITION-LEVEL SORT, 2), Reducer 13 (PARTITION-LEVEL SORT, 2)
- Reducer 11 <- Reducer 10 (GROUP, 2)
- Reducer 13 <- Map 12 (GROUP, 2)
- Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 2), Reducer 6 (PARTITION-LEVEL SORT, 2)
- Reducer 3 <- Reducer 11 (PARTITION-LEVEL SORT, 2), Reducer 2 (PARTITION-LEVEL SORT, 2)
- Reducer 5 <- Map 4 (PARTITION-LEVEL SORT, 2), Reducer 8 (PARTITION-LEVEL SORT, 2)
- Reducer 6 <- Reducer 5 (GROUP, 2)
- Reducer 8 <- Map 12 (GROUP, 2)
+ Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 2), Reducer 5 (PARTITION-LEVEL SORT, 2)
+ Reducer 3 <- Reducer 2 (PARTITION-LEVEL SORT, 2), Reducer 7 (PARTITION-LEVEL SORT, 2)
+ Reducer 5 <- Map 4 (GROUP, 2)
+ Reducer 7 <- Map 6 (GROUP, 2)
#### A masked pattern was here ####
Vertices:
Map 1
@@ -2796,123 +2792,58 @@ STAGE PLANS:
Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col6 (type: string), _col7 (type: double), _col8 (type: string)
Execution mode: vectorized
- Map 12
- Map Operator Tree:
- TableScan
- alias: part
- filterExpr: p_size is not null (type: boolean)
- Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
- Filter Operator
- predicate: p_size is not null (type: boolean)
- Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
- Group By Operator
- keys: p_size (type: int)
- minReductionHashAggr: 0.99
- mode: hash
- outputColumnNames: _col0
- Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: int)
- sort order: +
- Map-reduce partition columns: _col0 (type: int)
- Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
- Execution mode: vectorized
Map 4
Map Operator Tree:
TableScan
alias: p
- filterExpr: (p_size is not null and p_partkey is not null) (type: boolean)
+ filterExpr: (((p_size + 121150) = p_partkey) and p_size is not null) (type: boolean)
Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (p_partkey is not null and p_size is not null) (type: boolean)
- Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((p_size + 121150) = p_partkey) and p_size is not null) (type: boolean)
+ Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: p_partkey (type: int), p_name (type: string), p_size (type: int)
- outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col2 (type: int), _col0 (type: int)
- sort order: ++
- Map-reduce partition columns: _col2 (type: int), _col0 (type: int)
- Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: string)
+ expressions: p_name (type: string), p_size (type: int)
+ outputColumnNames: p_name, p_size
+ Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator
+ aggregations: count(), count(p_name)
+ keys: p_size (type: int)
+ minReductionHashAggr: 0.99
+ mode: hash
+ outputColumnNames: _col0, _col1, _col2
+ Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: int)
+ sort order: +
+ Map-reduce partition columns: _col0 (type: int)
+ Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col1 (type: bigint), _col2 (type: bigint)
Execution mode: vectorized
- Map 9
+ Map 6
Map Operator Tree:
TableScan
alias: p
- filterExpr: (p_size is not null and p_partkey is not null and p_name is not null) (type: boolean)
+ filterExpr: (((p_size + 121150) = p_partkey) and p_size is not null and p_name is not null) (type: boolean)
Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (p_name is not null and p_partkey is not null and p_size is not null) (type: boolean)
- Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((p_size + 121150) = p_partkey) and p_name is not null and p_size is not null) (type: boolean)
+ Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: p_partkey (type: int), p_name (type: string), p_size (type: int)
- outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col2 (type: int), _col0 (type: int)
- sort order: ++
- Map-reduce partition columns: _col2 (type: int), _col0 (type: int)
- Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: string)
- Execution mode: vectorized
- Reducer 10
- Reduce Operator Tree:
- Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 _col2 (type: int), _col0 (type: int)
- 1 _col0 (type: int), _col1 (type: int)
- outputColumnNames: _col1, _col3
- Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE
- Group By Operator
- keys: _col1 (type: string), _col3 (type: int)
- minReductionHashAggr: 0.99
- mode: hash
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: string), _col1 (type: int)
- sort order: ++
- Map-reduce partition columns: _col0 (type: string), _col1 (type: int)
- Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE
- Reducer 11
- Execution mode: vectorized
- Reduce Operator Tree:
- Group By Operator
- keys: KEY._col0 (type: string), KEY._col1 (type: int)
- mode: mergepartial
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: _col0 (type: string), _col1 (type: int), true (type: boolean)
- outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: string), _col1 (type: int)
- sort order: ++
- Map-reduce partition columns: _col0 (type: string), _col1 (type: int)
- Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col2 (type: boolean)
- Reducer 13
+ expressions: p_name (type: string), p_size (type: int)
+ outputColumnNames: p_name, p_size
+ Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
+ Group By Operator
+ keys: p_name (type: string), p_size (type: int)
+ minReductionHashAggr: 0.99
+ mode: hash
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ key expressions: _col0 (type: string), _col1 (type: int)
+ sort order: ++
+ Map-reduce partition columns: _col0 (type: string), _col1 (type: int)
+ Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
Execution mode: vectorized
- Reduce Operator Tree:
- Group By Operator
- keys: KEY._col0 (type: int)
- mode: mergepartial
- outputColumnNames: _col0
- Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- expressions: _col0 (type: int), (_col0 + 121150) (type: int)
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: int), _col1 (type: int)
- sort order: ++
- Map-reduce partition columns: _col0 (type: int), _col1 (type: int)
- Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
Reducer 2
Reduce Operator Tree:
Join Operator
@@ -2940,43 +2871,20 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col10, _col11, _col14
Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((_col10 = 0L)) THEN (true) WHEN (_col10 is null) THEN (true) WHEN (_col14 is not null) THEN (false) WHEN (_col1 is null) THEN (null) WHEN ((_col11 < _col10)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col11 < _col10) is not true or (_col10 = 0L) or _col10 is null or _col14 is not null or _col1 is null) and (_col1 is not null or (_col10 = 0L) or _col10 is null or _col14 is not null) and (_col14 is null or (_col10 = 0L) or _col10 is null)) (type: boolean)
+ Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
Reducer 5
- Reduce Operator Tree:
- Join Operator
- condition map:
- Inner Join 0 to 1
- keys:
- 0 _col2 (type: int), _col0 (type: int)
- 1 _col0 (type: int), _col1 (type: int)
- outputColumnNames: _col1, _col3
- Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE
- Group By Operator
- aggregations: count(), count(_col1)
- keys: _col3 (type: int)
- minReductionHashAggr: 0.99
- mode: hash
- outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- key expressions: _col0 (type: int)
- sort order: +
- Map-reduce partition columns: _col0 (type: int)
- Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: bigint), _col2 (type: bigint)
- Reducer 6
Execution mode: vectorized
Reduce Operator Tree:
Group By Operator
@@ -2984,30 +2892,31 @@ STAGE PLANS:
keys: KEY._col0 (type: int)
mode: mergepartial
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 6 Data size: 726 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: int)
sort order: +
Map-reduce partition columns: _col0 (type: int)
- Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 6 Data size: 726 Basic stats: COMPLETE Column stats: NONE
value expressions: _col1 (type: bigint), _col2 (type: bigint)
- Reducer 8
+ Reducer 7
Execution mode: vectorized
Reduce Operator Tree:
Group By Operator
- keys: KEY._col0 (type: int)
+ keys: KEY._col0 (type: string), KEY._col1 (type: int)
mode: mergepartial
- outputColumnNames: _col0
- Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
+ outputColumnNames: _col0, _col1
+ Statistics: Num rows: 6 Data size: 726 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col0 (type: int), (_col0 + 121150) (type: int)
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
+ expressions: _col0 (type: string), _col1 (type: int), true (type: boolean)
+ outputColumnNames: _col0, _col1, _col2
+ Statistics: Num rows: 6 Data size: 726 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
- key expressions: _col0 (type: int), _col1 (type: int)
+ key expressions: _col0 (type: string), _col1 (type: int)
sort order: ++
- Map-reduce partition columns: _col0 (type: int), _col1 (type: int)
- Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
+ Map-reduce partition columns: _col0 (type: string), _col1 (type: int)
+ Statistics: Num rows: 6 Data size: 726 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col2 (type: boolean)
Stage: Stage-0
Fetch Operator
@@ -3156,15 +3065,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col11, _col12, _col16
Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((_col11 = 0L)) THEN (true) WHEN (_col11 is null) THEN (true) WHEN (_col16 is not null) THEN (false) WHEN (_col1 is null) THEN (null) WHEN ((_col12 < _col11)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col12 < _col11) is not true or (_col11 = 0L) or _col11 is null or _col16 is not null or _col1 is null) and (_col1 is not null or (_col11 = 0L) or _col11 is null or _col16 is not null) and (_col16 is null or (_col11 = 0L) or _col11 is null)) (type: boolean)
+ Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -3286,10 +3195,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: part
- filterExpr: (p_brand is not null and p_type is not null) (type: boolean)
+ filterExpr: (p_brand is not null and UDFToDouble(p_type) is not null) (type: boolean)
Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (p_brand is not null and p_type is not null) (type: boolean)
+ predicate: (UDFToDouble(p_type) is not null and p_brand is not null) (type: boolean)
Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: (UDFToDouble(p_type) + 2.0D) (type: double), p_brand (type: string)
@@ -3334,15 +3243,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col4, _col5, _col8
Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((_col4 = 0L)) THEN (true) WHEN (_col4 is null) THEN (true) WHEN (_col8 is not null) THEN (false) WHEN (_col1 is null) THEN (null) WHEN ((_col5 < _col4)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col5 < _col4) is not true or (_col4 = 0L) or _col4 is null or _col8 is not null or _col1 is null) and (_col1 is not null or (_col4 = 0L) or _col4 is null or _col8 is not null) and (_col8 is null or (_col4 = 0L) or _col4 is null)) (type: boolean)
+ Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -3581,15 +3490,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col4, _col5, _col8
Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((_col4 = 0L)) THEN (true) WHEN (_col4 is null) THEN (true) WHEN (_col8 is not null) THEN (false) WHEN (_col1 is null) THEN (null) WHEN ((_col5 < _col4)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col5 < _col4) is not true or (_col4 = 0L) or _col4 is null or _col8 is not null or _col1 is null) and (_col1 is not null or (_col4 = 0L) or _col4 is null or _col8 is not null) and (_col8 is null or (_col4 = 0L) or _col4 is null)) (type: boolean)
+ Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -3854,24 +3763,24 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col5
Statistics: Num rows: 550 Data size: 15193 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((_col2 = 0L) or (_col5 is null and _col1 is not null and (_col3 >= _col2))) (type: boolean)
- Statistics: Num rows: 366 Data size: 10110 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col3 >= _col2) or (_col2 = 0L) or _col5 is not null or _col1 is null) and (_col1 is not null or (_col2 = 0L) or _col5 is not null) and (_col5 is null or (_col2 = 0L))) (type: boolean)
+ Statistics: Num rows: 550 Data size: 15193 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 366 Data size: 10110 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 550 Data size: 15193 Basic stats: COMPLETE Column stats: NONE
Group By Operator
aggregations: count()
keys: _col0 (type: string)
minReductionHashAggr: 0.99
mode: hash
outputColumnNames: _col0, _col1
- Statistics: Num rows: 366 Data size: 10110 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 550 Data size: 15193 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: 366 Data size: 10110 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 550 Data size: 15193 Basic stats: COMPLETE Column stats: NONE
value expressions: _col1 (type: bigint)
Reducer 4
Execution mode: vectorized
@@ -3881,15 +3790,15 @@ STAGE PLANS:
keys: KEY._col0 (type: string)
mode: mergepartial
outputColumnNames: _col0, _col1
- Statistics: Num rows: 183 Data size: 5055 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 275 Data size: 7596 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: _col1 is not null (type: boolean)
- Statistics: Num rows: 183 Data size: 5055 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 275 Data size: 7596 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col1 (type: bigint)
sort order: +
Map-reduce partition columns: _col1 (type: bigint)
- Statistics: Num rows: 183 Data size: 5055 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 275 Data size: 7596 Basic stats: COMPLETE Column stats: NONE
value expressions: _col0 (type: string)
Reducer 5
Reduce Operator Tree:
@@ -3900,10 +3809,10 @@ STAGE PLANS:
0 _col1 (type: bigint)
1 _col0 (type: bigint)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 201 Data size: 5560 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 302 Data size: 8355 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 201 Data size: 5560 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 302 Data size: 8355 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -4161,24 +4070,24 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col3, _col4, _col7
Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((_col3 = 0L)) THEN (true) WHEN (_col3 is null) THEN (true) WHEN (_col7 is not null) THEN (false) WHEN (_col1 is null) THEN (null) WHEN ((_col4 < _col3)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 302 Data size: 3208 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col4 < _col3) is not true or (_col3 = 0L) or _col3 is null or _col7 is not null or _col1 is null) and (_col1 is not null or (_col3 = 0L) or _col3 is null or _col7 is not null) and (_col7 is null or (_col3 = 0L) or _col3 is null)) (type: boolean)
+ Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 302 Data size: 3208 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
Group By Operator
aggregations: count()
keys: _col0 (type: string)
minReductionHashAggr: 0.99
mode: hash
outputColumnNames: _col0, _col1
- Statistics: Num rows: 302 Data size: 3208 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 605 Data size: 6427 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: 302 Data size: 3208 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE Column stats: NONE
value expressions: _col1 (type: bigint)
Reducer 4
Execution mode: vectorized
@@ -4188,15 +4097,15 @@ STAGE PLANS:
keys: KEY._col0 (type: string)
mode: mergepartial
outputColumnNames: _col0, _col1
- Statistics: Num rows: 151 Data size: 1604 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 302 Data size: 3208 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: _col1 is not null (type: boolean)
- Statistics: Num rows: 151 Data size: 1604 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 302 Data size: 3208 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col1 (type: bigint)
sort order: +
Map-reduce partition columns: _col1 (type: bigint)
- Statistics: Num rows: 151 Data size: 1604 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 302 Data size: 3208 Basic stats: COMPLETE Column stats: NONE
value expressions: _col0 (type: string)
Reducer 5
Reduce Operator Tree:
@@ -4207,10 +4116,10 @@ STAGE PLANS:
0 _col1 (type: bigint)
1 _col0 (type: bigint)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 166 Data size: 1764 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 332 Data size: 3528 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 166 Data size: 1764 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 332 Data size: 3528 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -4400,16 +4309,16 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col12
Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((_col12 is null and _col5 is not null and (_col10 >= _col9)) or (_col9 = 0L)) (type: boolean)
- Statistics: Num rows: 18 Data size: 2530 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col10 >= _col9) or (_col9 = 0L) or _col12 is not null or _col5 is null) and (_col12 is null or (_col9 = 0L)) and (_col5 is not null or (_col9 = 0L) or _col12 is not null)) (type: boolean)
+ Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 18 Data size: 2530 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col3 (type: string)
sort order: +
- Statistics: Num rows: 18 Data size: 2530 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
Reducer 4
Execution mode: vectorized
@@ -4417,10 +4326,10 @@ STAGE PLANS:
Select Operator
expressions: VALUE._col0 (type: int), VALUE._col1 (type: string), VALUE._col2 (type: string), KEY.reducesinkkey0 (type: string), VALUE._col3 (type: string), VALUE._col4 (type: int), VALUE._col5 (type: string), VALUE._col6 (type: double), VALUE._col7 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 18 Data size: 2530 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 18 Data size: 2530 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -4628,16 +4537,16 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col12
Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((_col12 is null and _col5 is not null and (_col10 >= _col9)) or (_col9 = 0L)) (type: boolean)
- Statistics: Num rows: 18 Data size: 2530 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col10 >= _col9) or (_col9 = 0L) or _col12 is not null or _col5 is null) and (_col12 is null or (_col9 = 0L)) and (_col5 is not null or (_col9 = 0L) or _col12 is not null)) (type: boolean)
+ Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 18 Data size: 2530 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col3 (type: string), _col0 (type: int)
sort order: ++
- Statistics: Num rows: 18 Data size: 2530 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
TopN Hash Memory Usage: 0.1
value expressions: _col1 (type: string), _col2 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
Reducer 4
@@ -4646,7 +4555,7 @@ STAGE PLANS:
Select Operator
expressions: KEY.reducesinkkey1 (type: int), VALUE._col0 (type: string), VALUE._col1 (type: string), KEY.reducesinkkey0 (type: string), VALUE._col2 (type: string), VALUE._col3 (type: int), VALUE._col4 (type: string), VALUE._col5 (type: double), VALUE._col6 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 18 Data size: 2530 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
Limit
Number of rows: 4
Statistics: Num rows: 4 Data size: 560 Basic stats: COMPLETE Column stats: NONE
@@ -4894,15 +4803,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col5
Statistics: Num rows: 550 Data size: 15193 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((_col2 = 0L) or (_col5 is null and _col0 is not null and (_col3 >= _col2))) (type: boolean)
- Statistics: Num rows: 366 Data size: 10110 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col3 >= _col2) or (_col2 = 0L) or _col5 is not null or _col0 is null) and (_col0 is not null or (_col2 = 0L) or _col5 is not null) and (_col5 is null or (_col2 = 0L))) (type: boolean)
+ Statistics: Num rows: 550 Data size: 15193 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: string), _col1 (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 366 Data size: 10110 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 550 Data size: 15193 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 366 Data size: 10110 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 550 Data size: 15193 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -5500,10 +5409,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: e
- filterExpr: p_size is not null (type: boolean)
+ filterExpr: UDFToDouble((p_size + 100)) is not null (type: boolean)
Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: p_size is not null (type: boolean)
+ predicate: UDFToDouble((p_size + 100)) is not null (type: boolean)
Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
Group By Operator
keys: p_size (type: int)
@@ -5544,10 +5453,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: part
- filterExpr: (p_brand is not null and p_type is not null) (type: boolean)
+ filterExpr: (p_brand is not null and UDFToDouble(p_type) is not null) (type: boolean)
Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (p_brand is not null and p_type is not null) (type: boolean)
+ predicate: (UDFToDouble(p_type) is not null and p_brand is not null) (type: boolean)
Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
Group By Operator
keys: p_brand (type: string), p_type (type: string)
@@ -5602,10 +5511,10 @@ STAGE PLANS:
outputColumnNames: _col1, _col3, _col4, _col7
Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((_col3 = 0L)) THEN (true) WHEN (_col3 is null) THEN (true) WHEN (_col7 is not null) THEN (false) WHEN ((_col1 + 100) is null) THEN (null) WHEN ((_col4 < _col3)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col4 < _col3) is not true or (_col3 = 0L) or _col3 is null or _col7 is not null or _col1 is null) and (_col1 is not null or (_col3 = 0L) or _col3 is null or _col7 is not null) and (_col7 is null or (_col3 = 0L) or _col3 is null)) (type: boolean)
+ Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
Select Operator
- Statistics: Num rows: 15 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
Group By Operator
aggregations: count()
minReductionHashAggr: 0.99
@@ -5841,15 +5750,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col4
Statistics: Num rows: 4 Data size: 412 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((_col1 = 0L) or (_col4 is null and _col0 is not null and (_col2 >= _col1))) (type: boolean)
- Statistics: Num rows: 2 Data size: 206 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col2 >= _col1) or (_col1 = 0L) or _col4 is not null or _col0 is null) and (_col0 is not null or (_col1 = 0L) or _col4 is not null) and (_col4 is null or (_col1 = 0L))) (type: boolean)
+ Statistics: Num rows: 4 Data size: 412 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 2 Data size: 206 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 4 Data size: 412 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 2 Data size: 206 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 4 Data size: 412 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -5950,10 +5859,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: t1_n0
- filterExpr: c2 is not null (type: boolean)
+ filterExpr: UDFToDouble(c2) is not null (type: boolean)
Statistics: Num rows: 4 Data size: 313 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: c2 is not null (type: boolean)
+ predicate: UDFToDouble(c2) is not null (type: boolean)
Statistics: Num rows: 4 Data size: 313 Basic stats: COMPLETE Column stats: NONE
Group By Operator
keys: c2 (type: char(100))
@@ -5971,10 +5880,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: t2_n0
- filterExpr: c1 is not null (type: boolean)
+ filterExpr: UDFToDouble(c1) is not null (type: boolean)
Statistics: Num rows: 3 Data size: 6 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: c1 is not null (type: boolean)
+ predicate: UDFToDouble(c1) is not null (type: boolean)
Statistics: Num rows: 3 Data size: 6 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: c1 (type: int), UDFToDouble(c1) (type: double)
@@ -5991,10 +5900,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: t2_n0
- filterExpr: c1 is not null (type: boolean)
+ filterExpr: (UDFToDouble(c1) is not null and c1 is not null) (type: boolean)
Statistics: Num rows: 3 Data size: 6 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: c1 is not null (type: boolean)
+ predicate: (UDFToDouble(c1) is not null and c1 is not null) (type: boolean)
Statistics: Num rows: 3 Data size: 6 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: c1 (type: int), UDFToDouble(c1) (type: double)
@@ -6091,15 +6000,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col3, _col4, _col7
Statistics: Num rows: 4 Data size: 378 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((_col3 = 0L)) THEN (true) WHEN (_col3 is null) THEN (true) WHEN (_col7 is not null) THEN (false) WHEN (_col0 is null) THEN (null) WHEN ((_col4 < _col3)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 2 Data size: 189 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col4 < _col3) is not true or (_col3 = 0L) or _col3 is null or _col7 is not null or _col0 is null) and (_col0 is not null or (_col3 = 0L) or _col3 is null or _col7 is not null) and (_col7 is null or (_col3 = 0L) or _col3 is null)) (type: boolean)
+ Statistics: Num rows: 4 Data size: 378 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 2 Data size: 189 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 4 Data size: 378 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 2 Data size: 189 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 4 Data size: 378 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -6344,15 +6253,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col3, _col4, _col7
Statistics: Num rows: 3 Data size: 9 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((_col3 = 0L)) THEN (true) WHEN (_col3 is null) THEN (true) WHEN (_col7 is not null) THEN (false) WHEN (_col1 is null) THEN (null) WHEN ((_col4 < _col3)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col4 < _col3) is not true or (_col3 = 0L) or _col3 is null or _col7 is not null or _col1 is null) and (_col1 is not null or (_col3 = 0L) or _col3 is null or _col7 is not null) and (_col7 is null or (_col3 = 0L) or _col3 is null)) (type: boolean)
+ Statistics: Num rows: 3 Data size: 9 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 3 Data size: 9 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 3 Data size: 9 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -6578,15 +6487,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col3, _col4, _col6
Statistics: Num rows: 4 Data size: 19 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((_col3 = 0L)) THEN (true) WHEN (_col3 is null) THEN (true) WHEN (_col6 is not null) THEN (false) WHEN (_col1 is null) THEN (null) WHEN ((_col4 < _col3)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 2 Data size: 9 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col4 < _col3) is not true or (_col3 = 0L) or _col3 is null or _col6 is not null or _col1 is null) and (_col1 is not null or (_col3 = 0L) or _col3 is null or _col6 is not null) and (_col6 is null or (_col3 = 0L) or _col3 is null)) (type: boolean)
+ Statistics: Num rows: 4 Data size: 19 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: int)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 2 Data size: 9 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 4 Data size: 19 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 2 Data size: 9 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 4 Data size: 19 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -6822,15 +6731,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col3, _col4, _col6
Statistics: Num rows: 6 Data size: 22 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((_col3 = 0L)) THEN (true) WHEN (_col3 is null) THEN (true) WHEN (_col6 is not null) THEN (false) WHEN (_col1 is null) THEN (null) WHEN ((_col4 < _col3)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 3 Data size: 11 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col4 < _col3) is not true or (_col3 = 0L) or _col3 is null or _col6 is not null or _col1 is null) and (_col1 is not null or (_col3 = 0L) or _col3 is null or _col6 is not null) and (_col6 is null or (_col3 = 0L) or _col3 is null)) (type: boolean)
+ Statistics: Num rows: 6 Data size: 22 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 3 Data size: 11 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 6 Data size: 22 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 3 Data size: 11 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 6 Data size: 22 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -7024,15 +6933,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col3, _col4, _col7
Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((_col3 = 0L)) THEN (true) WHEN (_col3 is null) THEN (true) WHEN (_col7 is not null) THEN (false) WHEN (_col0 is null) THEN (null) WHEN ((_col4 < _col3)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col4 < _col3) is not true or (_col3 = 0L) or _col3 is null or _col7 is not null or _col0 is null) and (_col0 is not null or (_col3 = 0L) or _col3 is null or _col7 is not null) and (_col7 is null or (_col3 = 0L) or _col3 is null)) (type: boolean)
+ Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -7195,15 +7104,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col5
Statistics: Num rows: 3 Data size: 62 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((_col2 = 0L) or (_col5 is null and _col1 is not null and (_col3 >= _col2))) (type: boolean)
- Statistics: Num rows: 1 Data size: 20 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col3 >= _col2) or (_col2 = 0L) or _col5 is not null or _col1 is null) and (_col1 is not null or (_col2 = 0L) or _col5 is not null) and (_col5 is null or (_col2 = 0L))) (type: boolean)
+ Statistics: Num rows: 2 Data size: 41 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 20 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 41 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 20 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 41 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -7364,15 +7273,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col4
Statistics: Num rows: 3 Data size: 62 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((_col1 = 0L) or (_col4 is null and _col0 is not null and (_col2 >= _col1))) (type: boolean)
- Statistics: Num rows: 1 Data size: 20 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col2 >= _col1) or (_col1 = 0L) or _col4 is not null or _col0 is null) and (_col0 is not null or (_col1 = 0L) or _col4 is not null) and (_col4 is null or (_col1 = 0L))) (type: boolean)
+ Statistics: Num rows: 2 Data size: 41 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 20 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 41 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 20 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 41 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -7586,15 +7495,15 @@ STAGE PLANS:
residual filter predicates: {(_col1 > _col6)}
Statistics: Num rows: 8367 Data size: 186148 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((_col3 = 0L)) THEN (true) WHEN (_col3 is null) THEN (true) WHEN (_col7 is not null) THEN (false) WHEN (_col0 is null) THEN (null) WHEN ((_col4 < _col3)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 4183 Data size: 93062 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col4 < _col3) is not true or (_col3 = 0L) or _col3 is null or _col7 is not null or _col0 is null) and (_col0 is not null or (_col3 = 0L) or _col3 is null or _col7 is not null) and (_col7 is null or (_col3 = 0L) or _col3 is null)) (type: boolean)
+ Statistics: Num rows: 8367 Data size: 186148 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: string), _col1 (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 4183 Data size: 93062 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 8367 Data size: 186148 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 4183 Data size: 93062 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 8367 Data size: 186148 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
diff --git ql/src/test/results/clientpositive/spark/subquery_null_agg.q.out ql/src/test/results/clientpositive/spark/subquery_null_agg.q.out
index 302c2609cb..0c3a81d054 100644
--- ql/src/test/results/clientpositive/spark/subquery_null_agg.q.out
+++ ql/src/test/results/clientpositive/spark/subquery_null_agg.q.out
@@ -6,8 +6,8 @@ POSTHOOK: query: CREATE TABLE table_7 (int_col INT)
POSTHOOK: type: CREATETABLE
POSTHOOK: Output: database:default
POSTHOOK: Output: default@table_7
-Warning: Shuffle Join JOIN[21][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 2' is a cross product
-Warning: Shuffle Join JOIN[24][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Work 'Reducer 3' is a cross product
+Warning: Shuffle Join JOIN[16][tables = [$hdt$_0, $hdt$_1]] in Work 'Reducer 2' is a cross product
+Warning: Shuffle Join JOIN[19][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Work 'Reducer 3' is a cross product
PREHOOK: query: explain
SELECT
(t1.int_col) * (t1.int_col) AS int_col
@@ -58,10 +58,9 @@ STAGE PLANS:
Stage: Stage-1
Spark
Edges:
- Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Reducer 5 (PARTITION-LEVEL SORT, 1)
- Reducer 3 <- Reducer 2 (PARTITION-LEVEL SORT, 1), Reducer 7 (PARTITION-LEVEL SORT, 1)
- Reducer 5 <- Map 4 (GROUP, 2)
- Reducer 7 <- Map 6 (GROUP, 1)
+ Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 4 (PARTITION-LEVEL SORT, 1)
+ Reducer 3 <- Reducer 2 (PARTITION-LEVEL SORT, 1), Reducer 6 (PARTITION-LEVEL SORT, 1)
+ Reducer 6 <- Map 5 (GROUP, 1)
#### A masked pattern was here ####
Vertices:
Map 1
@@ -85,19 +84,16 @@ STAGE PLANS:
Filter Operator
predicate: false (type: boolean)
Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: COMPLETE
- Group By Operator
- keys: true (type: boolean)
- minReductionHashAggr: 0.99
- mode: hash
+ Select Operator
+ expressions: true (type: boolean)
outputColumnNames: _col0
Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: COMPLETE
Reduce Output Operator
- key expressions: _col0 (type: boolean)
- sort order: +
- Map-reduce partition columns: _col0 (type: boolean)
+ sort order:
Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: COMPLETE
+ value expressions: _col0 (type: boolean)
Execution mode: vectorized
- Map 6
+ Map 5
Map Operator Tree:
TableScan
alias: table_7
@@ -140,14 +136,14 @@ STAGE PLANS:
keys:
0
1
- outputColumnNames: _col1, _col2
+ outputColumnNames: _col1, _col2, _col3
Statistics: Num rows: 1 Data size: 10 Basic stats: PARTIAL Column stats: NONE
Select Operator
- expressions: _col2 (type: bigint), _col1 (type: boolean)
- outputColumnNames: _col1, _col2
+ expressions: _col2 (type: bigint), _col3 (type: bigint), _col1 (type: boolean)
+ outputColumnNames: _col1, _col2, _col3
Statistics: Num rows: 1 Data size: 10 Basic stats: PARTIAL Column stats: NONE
Filter Operator
- predicate: ((_col1 = 0L) or _col2 is null) (type: boolean)
+ predicate: ((_col1 = 0L) or (_col3 is null and (_col2 >= _col1))) (type: boolean)
Statistics: Num rows: 1 Data size: 10 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: null (type: void)
@@ -160,23 +156,7 @@ STAGE PLANS:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
- Reducer 5
- Execution mode: vectorized
- Reduce Operator Tree:
- Group By Operator
- keys: KEY._col0 (type: boolean)
- mode: mergepartial
- outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: COMPLETE
- Select Operator
- expressions: true (type: boolean)
- outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: COMPLETE
- Reduce Output Operator
- sort order:
- Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: COMPLETE
- value expressions: _col0 (type: boolean)
- Reducer 7
+ Reducer 6
Execution mode: vectorized
Reduce Operator Tree:
Group By Operator
@@ -184,10 +164,14 @@ STAGE PLANS:
mode: mergepartial
outputColumnNames: _col0
Statistics: Num rows: 1 Data size: 8 Basic stats: PARTIAL Column stats: COMPLETE
- Reduce Output Operator
- sort order:
+ Select Operator
+ expressions: _col0 (type: bigint), _col0 (type: bigint)
+ outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 8 Basic stats: PARTIAL Column stats: COMPLETE
- value expressions: _col0 (type: bigint)
+ Reduce Output Operator
+ sort order:
+ Statistics: Num rows: 1 Data size: 8 Basic stats: PARTIAL Column stats: COMPLETE
+ value expressions: _col0 (type: bigint), _col1 (type: bigint)
Stage: Stage-0
Fetch Operator
diff --git ql/src/test/results/clientpositive/spark/subquery_scalar.q.out ql/src/test/results/clientpositive/spark/subquery_scalar.q.out
index 4e31c3fd20..3d957668c6 100644
--- ql/src/test/results/clientpositive/spark/subquery_scalar.q.out
+++ ql/src/test/results/clientpositive/spark/subquery_scalar.q.out
@@ -334,7 +334,7 @@ STAGE PLANS:
Processor Tree:
ListSink
-Warning: Shuffle Join JOIN[18][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Work 'Reducer 3' is a cross product
+Warning: Shuffle Join JOIN[19][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Work 'Reducer 2' is a cross product
PREHOOK: query: explain select * from part where p_name = (select p_name from part_null_n0 where p_name is null)
PREHOOK: type: QUERY
PREHOOK: Input: default@part
@@ -353,82 +353,63 @@ STAGE PLANS:
Stage: Stage-1
Spark
Edges:
- Reducer 2 <- Map 1 (GROUP, 1)
- Reducer 3 <- Map 4 (PARTITION-LEVEL SORT, 1), Map 5 (PARTITION-LEVEL SORT, 1), Reducer 2 (PARTITION-LEVEL SORT, 1)
+ Reducer 2 <- Map 1 (PARTITION-LEVEL SORT, 1), Map 5 (PARTITION-LEVEL SORT, 1), Reducer 4 (PARTITION-LEVEL SORT, 1)
+ Reducer 4 <- Map 3 (GROUP, 1)
#### A masked pattern was here ####
Vertices:
Map 1
Map Operator Tree:
TableScan
- alias: part_null_n0
- filterExpr: p_name is null (type: boolean)
- Statistics: Num rows: 1 Data size: 32560 Basic stats: COMPLETE Column stats: NONE
+ alias: part
+ Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: p_name is null (type: boolean)
- Statistics: Num rows: 1 Data size: 32560 Basic stats: COMPLETE Column stats: NONE
+ predicate: false (type: boolean)
+ Statistics: Num rows: 1 Data size: 121 Basic stats: COMPLETE Column stats: NONE
Select Operator
- Statistics: Num rows: 1 Data size: 32560 Basic stats: COMPLETE Column stats: NONE
+ expressions: p_partkey (type: int), p_name (type: string), 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)
+ outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
+ Statistics: Num rows: 1 Data size: 121 Basic stats: COMPLETE Column stats: NONE
+ Reduce Output Operator
+ sort order:
+ Statistics: Num rows: 1 Data size: 121 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
+ Execution mode: vectorized
+ Map 3
+ Map Operator Tree:
+ TableScan
+ alias: part_null_n0
+ Statistics: Num rows: 1 Data size: 32560 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+ Filter Operator
+ predicate: false (type: boolean)
+ Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
Group By Operator
- aggregations: count()
+ aggregations: count(0)
minReductionHashAggr: 0.99
mode: hash
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
sort order:
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
value expressions: _col0 (type: bigint)
Execution mode: vectorized
- Map 4
- Map Operator Tree:
- TableScan
- alias: part_null_n0
- filterExpr: p_name is null (type: boolean)
- Statistics: Num rows: 1 Data size: 32560 Basic stats: COMPLETE Column stats: NONE
- Filter Operator
- predicate: p_name is null (type: boolean)
- Statistics: Num rows: 1 Data size: 32560 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- Statistics: Num rows: 1 Data size: 32560 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- sort order:
- Statistics: Num rows: 1 Data size: 32560 Basic stats: COMPLETE Column stats: NONE
- Execution mode: vectorized
Map 5
Map Operator Tree:
TableScan
- alias: part
- filterExpr: (p_name = null) (type: boolean)
- Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
- Filter Operator
- predicate: (p_name = null) (type: boolean)
- Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- 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)
- outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7
- Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
+ alias: part_null_n0
+ Statistics: Num rows: 1 Data size: 32560 Basic stats: COMPLETE Column stats: COMPLETE
+ Select Operator
+ Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+ Filter Operator
+ predicate: false (type: boolean)
+ Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
sort order:
- Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: int), _col5 (type: string), _col6 (type: double), _col7 (type: string)
+ Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
Execution mode: vectorized
Reducer 2
- Execution mode: vectorized
- Reduce Operator Tree:
- Group By Operator
- aggregations: count(VALUE._col0)
- mode: mergepartial
- outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
- Filter Operator
- predicate: (sq_count_check(_col0) <= 1) (type: boolean)
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
- Select Operator
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
- Reduce Output Operator
- sort order:
- Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
- Reducer 3
Reduce Operator Tree:
Join Operator
condition map:
@@ -438,19 +419,28 @@ STAGE PLANS:
0
1
2
- outputColumnNames: _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9
- Statistics: Num rows: 13 Data size: 424970 Basic stats: COMPLETE Column stats: NONE
+ outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
+ Statistics: Num rows: 1 Data size: 134 Basic stats: COMPLETE Column stats: NONE
+ File Output Operator
+ compressed: false
+ Statistics: Num rows: 1 Data size: 134 Basic stats: COMPLETE Column stats: NONE
+ table:
+ input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+ output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+ serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ Reducer 4
+ Execution mode: vectorized
+ Reduce Operator Tree:
+ Group By Operator
+ aggregations: count(VALUE._col0)
+ mode: mergepartial
+ outputColumnNames: _col0
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: _col2 (type: int), null (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: string), _col6 (type: int), _col7 (type: string), _col8 (type: double), _col9 (type: string)
- outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 13 Data size: 424970 Basic stats: COMPLETE Column stats: NONE
- File Output Operator
- compressed: false
- Statistics: Num rows: 13 Data size: 424970 Basic stats: COMPLETE Column stats: NONE
- table:
- input format: org.apache.hadoop.mapred.SequenceFileInputFormat
- output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
- serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
+ Reduce Output Operator
+ sort order:
+ Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
Stage: Stage-0
Fetch Operator
@@ -458,7 +448,7 @@ STAGE PLANS:
Processor Tree:
ListSink
-Warning: Shuffle Join JOIN[18][tables = [$hdt$_1, $hdt$_2, $hdt$_0]] in Work 'Reducer 3' is a cross product
+Warning: Shuffle Join JOIN[19][tables = [$hdt$_0, $hdt$_1, $hdt$_2]] in Work 'Reducer 2' is a cross product
PREHOOK: query: select * from part where p_name = (select p_name from part_null_n0 where p_name is null)
PREHOOK: type: QUERY
PREHOOK: Input: default@part
@@ -2402,7 +2392,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10
Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN (_col10 is null) THEN ((UDFToLong(_col5) <> 0)) ELSE ((UDFToLong(_col5) <> _col9)) END (type: boolean)
+ predicate: CASE WHEN (_col10 is null) THEN ((UDFToLong(_col5) <> 0L)) ELSE ((UDFToLong(_col5) <> _col9)) END (type: boolean)
Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
@@ -3446,15 +3436,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col10, _col11, _col13
Statistics: Num rows: 7 Data size: 2279 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((_col10 = 0L) or (_col13 is null and _col3 is not null and (_col11 >= _col10))) (type: boolean)
- Statistics: Num rows: 4 Data size: 1302 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col11 >= _col10) or (_col10 = 0L) or _col13 is not null or _col3 is null) and (_col13 is null or (_col10 = 0L)) and (_col3 is not null or (_col10 = 0L) or _col13 is not null)) (type: boolean)
+ Statistics: Num rows: 6 Data size: 1953 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 4 Data size: 1302 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 6 Data size: 1953 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 4 Data size: 1302 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 6 Data size: 1953 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -3706,17 +3696,17 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col12
Statistics: Num rows: 14 Data size: 1968 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((_col12 is null and _col3 is not null and (_col10 >= _col9)) or (_col9 = 0L)) (type: boolean)
- Statistics: Num rows: 9 Data size: 1265 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col10 >= _col9) or (_col9 = 0L) or _col12 is not null or _col3 is null) and (_col12 is null or (_col9 = 0L)) and (_col3 is not null or (_col9 = 0L) or _col12 is not null)) (type: boolean)
+ Statistics: Num rows: 14 Data size: 1968 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 9 Data size: 1265 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 14 Data size: 1968 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col4 (type: string)
sort order: +
Map-reduce partition columns: _col4 (type: string)
- Statistics: Num rows: 9 Data size: 1265 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 14 Data size: 1968 Basic stats: COMPLETE Column stats: NONE
value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
Reducer 5
Reduce Operator Tree:
@@ -3727,17 +3717,17 @@ STAGE PLANS:
0 _col4 (type: string)
1 _col1 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9
- Statistics: Num rows: 9 Data size: 1391 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 15 Data size: 2164 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: (not (_col1 like _col9)) (type: boolean)
- Statistics: Num rows: 5 Data size: 772 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 8 Data size: 1154 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 5 Data size: 772 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 8 Data size: 1154 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 5 Data size: 772 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 8 Data size: 1154 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -4763,7 +4753,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11
Statistics: Num rows: 5 Data size: 261 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN (_col11 is null) THEN ((UDFToLong(_col2) <> 0)) ELSE ((UDFToLong(_col2) <> _col10)) END (type: boolean)
+ predicate: CASE WHEN (_col11 is null) THEN ((UDFToLong(_col2) <> 0L)) ELSE ((UDFToLong(_col2) <> _col10)) END (type: boolean)
Statistics: Num rows: 2 Data size: 104 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: int), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: int), _col7 (type: boolean), _col8 (type: boolean), _col9 (type: date)
@@ -5040,7 +5030,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11
Statistics: Num rows: 5 Data size: 261 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN (_col11 is null) THEN ((UDFToLong(_col2) <> 0)) ELSE ((UDFToLong(_col2) <> _col10)) END (type: boolean)
+ predicate: CASE WHEN (_col11 is null) THEN ((UDFToLong(_col2) <> 0L)) ELSE ((UDFToLong(_col2) <> _col10)) END (type: boolean)
Statistics: Num rows: 2 Data size: 104 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: int), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: int), _col7 (type: boolean), _col8 (type: boolean), _col9 (type: date)
@@ -5063,7 +5053,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col13, _col14
Statistics: Num rows: 2 Data size: 114 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN (_col14 is null) THEN ((UDFToLong(_col0) > 0)) ELSE ((UDFToLong(_col0) > _col13)) END (type: boolean)
+ predicate: CASE WHEN (_col14 is null) THEN ((UDFToLong(_col0) > 0L)) ELSE ((UDFToLong(_col0) > _col13)) END (type: boolean)
Statistics: Num rows: 1 Data size: 57 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: int), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: int), _col7 (type: boolean), _col8 (type: boolean), _col9 (type: date)
@@ -6112,7 +6102,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10
Statistics: Num rows: 185 Data size: 45180 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN (_col10 is null) THEN ((UDFToLong(_col5) <> 0)) ELSE ((UDFToLong(_col5) <> _col9)) END (type: boolean)
+ predicate: CASE WHEN (_col10 is null) THEN ((UDFToLong(_col5) <> 0L)) ELSE ((UDFToLong(_col5) <> _col9)) END (type: boolean)
Statistics: Num rows: 92 Data size: 22467 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
@@ -6332,15 +6322,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3
Statistics: Num rows: 2 Data size: 6 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN (_col3 is null) THEN (true) ELSE ((_col2 = 0L)) END (type: boolean)
- Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE Column stats: NONE
+ predicate: ((_col2 = 0L) or _col3 is null) (type: boolean)
+ Statistics: Num rows: 2 Data size: 6 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: int)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 6 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 3 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 2 Data size: 6 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -6677,15 +6667,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3
Statistics: Num rows: 2 Data size: 6 Basic stats: PARTIAL Column stats: NONE
Filter Operator
- predicate: CASE WHEN (_col3 is null) THEN (true) ELSE ((_col2 = 0L)) END (type: boolean)
- Statistics: Num rows: 1 Data size: 3 Basic stats: PARTIAL Column stats: NONE
+ predicate: ((_col2 = 0L) or _col3 is null) (type: boolean)
+ Statistics: Num rows: 2 Data size: 6 Basic stats: PARTIAL Column stats: NONE
Select Operator
expressions: _col0 (type: int), _col1 (type: int)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 3 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 2 Data size: 6 Basic stats: PARTIAL Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 3 Basic stats: PARTIAL Column stats: NONE
+ Statistics: Num rows: 2 Data size: 6 Basic stats: PARTIAL Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
diff --git ql/src/test/results/clientpositive/spark/subquery_select.q.out ql/src/test/results/clientpositive/spark/subquery_select.q.out
index 3c6f6af020..23f04add9e 100644
--- ql/src/test/results/clientpositive/spark/subquery_select.q.out
+++ ql/src/test/results/clientpositive/spark/subquery_select.q.out
@@ -86,7 +86,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col3, _col4, _col5
Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col0 (type: int), CASE WHEN (_col4) THEN (false) WHEN (_col3 is not null) THEN (true) WHEN (_col1) THEN (null) WHEN (_col5) THEN (null) ELSE (false) END (type: boolean)
+ expressions: _col0 (type: int), ((_col3 is not null and _col4) or ((_col1 or _col5) and null and _col4 and _col3 is null)) (type: boolean)
outputColumnNames: _col0, _col1
Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -128,7 +128,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: (_col0 = 0L) (type: boolean), (_col1 < _col0) (type: boolean)
+ expressions: (_col0 <> 0L) (type: boolean), (_col1 < _col0) (type: boolean)
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
@@ -273,7 +273,7 @@ STAGE PLANS:
outputColumnNames: _col1, _col2, _col4, _col5, _col6, _col9
Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col1 (type: int), CASE WHEN (_col5) THEN (false) WHEN (_col4 is null) THEN (false) WHEN (_col9 is not null) THEN (true) WHEN (_col2) THEN (null) WHEN (_col6) THEN (null) ELSE (false) END (type: boolean)
+ expressions: _col1 (type: int), ((_col9 is not null and (_col5 or _col4 is null) is not true) or ((_col2 or _col6) is true and null and (_col5 or _col4 is null) is not true and _col9 is null)) (type: boolean)
outputColumnNames: _col0, _col1
Statistics: Num rows: 30 Data size: 3807 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -408,15 +408,15 @@ STAGE PLANS:
alias: part
Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: p_size (type: int), p_size is null (type: boolean)
- outputColumnNames: _col0, _col1
+ expressions: p_size (type: int), p_size is null (type: boolean), p_size is not null (type: boolean)
+ outputColumnNames: _col0, _col1, _col2
Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: int)
sort order: +
Map-reduce partition columns: _col0 (type: int)
Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: boolean)
+ value expressions: _col1 (type: boolean), _col2 (type: boolean)
Execution mode: vectorized
Map 4
Map Operator Tree:
@@ -446,12 +446,12 @@ STAGE PLANS:
keys:
0 _col0 (type: int)
1 _col0 (type: int)
- outputColumnNames: _col0, _col1, _col3
+ outputColumnNames: _col0, _col1, _col2, _col4
Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
sort order:
Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col0 (type: int), _col1 (type: boolean), _col3 (type: boolean)
+ value expressions: _col0 (type: int), _col1 (type: boolean), _col2 (type: boolean), _col4 (type: boolean)
Reducer 3
Reduce Operator Tree:
Join Operator
@@ -460,10 +460,10 @@ STAGE PLANS:
keys:
0
1
- outputColumnNames: _col0, _col1, _col3, _col4, _col5
+ outputColumnNames: _col0, _col1, _col2, _col4, _col5, _col6, _col7, _col8
Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col0 (type: int), CASE WHEN (_col4) THEN (true) WHEN (_col3 is not null) THEN (false) WHEN (_col1) THEN (null) WHEN (_col5) THEN (null) ELSE (true) END (type: boolean)
+ expressions: _col0 (type: int), (_col5 or ((_col1 or _col6) and null and _col7 and _col4 is null) or (_col7 and _col4 is null and _col2 and _col8)) (type: boolean)
outputColumnNames: _col0, _col1
Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -505,13 +505,13 @@ STAGE PLANS:
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: (_col0 = 0L) (type: boolean), (_col1 < _col0) (type: boolean)
- outputColumnNames: _col0, _col1
+ expressions: (_col0 = 0L) (type: boolean), (_col1 < _col0) (type: boolean), (_col0 <> 0L) (type: boolean), (_col1 >= _col0) (type: boolean)
+ outputColumnNames: _col0, _col1, _col2, _col3
Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
sort order:
Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col0 (type: boolean), _col1 (type: boolean)
+ value expressions: _col0 (type: boolean), _col1 (type: boolean), _col2 (type: boolean), _col3 (type: boolean)
Stage: Stage-0
Fetch Operator
@@ -679,7 +679,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col3
Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (sq_count_check(CASE WHEN (_col3 is null) THEN (0) ELSE (_col3) END, true) > 0) (type: boolean)
+ predicate: (sq_count_check(CASE WHEN (_col3 is null) THEN (0L) ELSE (_col3) END, true) > 0) (type: boolean)
Statistics: Num rows: 9 Data size: 1112 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: string), _col1 (type: int), _col1 is null (type: boolean)
@@ -718,7 +718,7 @@ STAGE PLANS:
outputColumnNames: _col1, _col2, _col4, _col5, _col6, _col9
Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col1 (type: int), CASE WHEN (_col5) THEN (true) WHEN (_col4 is null) THEN (true) WHEN (_col9 is not null) THEN (false) WHEN (_col2) THEN (null) WHEN (_col6) THEN (null) ELSE (true) END (type: boolean)
+ expressions: _col1 (type: int), ((_col5 or _col4 is null) is true or ((_col2 or _col6) is true and null and (_col5 or _col4 is null) is not true and _col9 is null) or ((_col5 or _col4 is null) is not true and _col9 is null and (_col2 or _col6) is not true)) (type: boolean)
outputColumnNames: _col0, _col1
Statistics: Num rows: 14 Data size: 1730 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -1444,7 +1444,7 @@ STAGE PLANS:
outputColumnNames: _col1, _col2, _col3
Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col1 (type: int), CASE WHEN (_col3 is null) THEN (0) ELSE (_col2) END (type: bigint)
+ expressions: _col1 (type: int), CASE WHEN (_col3 is null) THEN (0L) ELSE (_col2) END (type: bigint)
outputColumnNames: _col0, _col1
Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -2272,7 +2272,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col3, _col4, _col5
Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col0 (type: int), CASE WHEN (_col4) THEN (false) WHEN (_col3 is not null) THEN (true) WHEN (_col1) THEN (null) WHEN (_col5) THEN (null) ELSE (false) END (type: boolean)
+ expressions: _col0 (type: int), ((_col3 is not null and _col4) or ((_col1 or _col5) and null and _col4 and _col3 is null)) (type: boolean)
outputColumnNames: _col0, _col1
Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -2309,7 +2309,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: (_col0 = 0L) (type: boolean), (_col1 < _col0) (type: boolean)
+ expressions: (_col0 <> 0L) (type: boolean), (_col1 < _col0) (type: boolean)
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
@@ -2858,7 +2858,7 @@ STAGE PLANS:
outputColumnNames: _col1, _col2, _col3
Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col1 (type: int), CASE WHEN (_col3 is null) THEN (false) ELSE (_col2 is null) END (type: boolean)
+ expressions: _col1 (type: int), (_col2 is null and _col3 is not null) (type: boolean)
outputColumnNames: _col0, _col1
Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -3251,7 +3251,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: (_col0 = 0L) (type: boolean), (_col1 < _col0) (type: boolean)
+ expressions: (_col0 <> 0L) (type: boolean), (_col1 < _col0) (type: boolean)
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 192 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
@@ -3315,7 +3315,7 @@ STAGE PLANS:
outputColumnNames: _col2, _col3, _col4, _col6, _col7, _col8, _col11, _col13, _col14, _col15
Statistics: Num rows: 33 Data size: 10556 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col2 (type: int), (CASE WHEN (_col7) THEN (false) WHEN (_col6 is null) THEN (false) WHEN (_col11 is not null) THEN (true) WHEN (_col3) THEN (null) WHEN (_col8) THEN (null) ELSE (false) END and CASE WHEN (_col14) THEN (false) WHEN (_col13 is not null) THEN (true) WHEN (_col4) THEN (null) WHEN (_col15) THEN (null) ELSE (false) END) (type: boolean)
+ expressions: _col2 (type: int), (((_col11 is not null and (_col7 or _col6 is null) is not true) or ((_col3 or _col8) is true and null and (_col7 or _col6 is null) is not true and _col11 is null)) and ((_col13 is not null and _col14) or ((_col4 or _col15) and null and _col14 and _col13 is null))) (type: boolean)
outputColumnNames: _col0, _col1
Statistics: Num rows: 33 Data size: 10556 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -3690,7 +3690,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: (_col0 = 0L) (type: boolean), (_col1 < _col0) (type: boolean)
+ expressions: (_col0 <> 0L) (type: boolean), (_col1 < _col0) (type: boolean)
outputColumnNames: _col0, _col1
Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
@@ -3734,7 +3734,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col3, _col4, _col5
Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col0 (type: int), CASE WHEN (_col4) THEN (false) WHEN (_col3 is not null) THEN (true) WHEN (_col1) THEN (null) WHEN (_col5) THEN (null) ELSE (false) END (type: boolean)
+ expressions: _col0 (type: int), ((_col3 is not null and _col4) or ((_col1 or _col5) and null and _col4 and _col3 is null)) (type: boolean)
outputColumnNames: _col0, _col1
Statistics: Num rows: 28 Data size: 3937 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -4359,7 +4359,7 @@ STAGE PLANS:
outputColumnNames: _col1, _col3, _col4
Statistics: Num rows: 57 Data size: 6923 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col1 (type: int), CASE WHEN (_col4 is null) THEN (0) ELSE (_col3) END (type: bigint)
+ expressions: _col1 (type: int), CASE WHEN (_col4 is null) THEN (0L) ELSE (_col3) END (type: bigint)
outputColumnNames: _col0, _col1
Statistics: Num rows: 57 Data size: 6923 Basic stats: COMPLETE Column stats: NONE
File Output Operator
diff --git ql/src/test/results/clientpositive/spark/subquery_views.q.out ql/src/test/results/clientpositive/spark/subquery_views.q.out
index d048716c0a..0bdc3900bd 100644
--- ql/src/test/results/clientpositive/spark/subquery_views.q.out
+++ ql/src/test/results/clientpositive/spark/subquery_views.q.out
@@ -259,23 +259,23 @@ STAGE PLANS:
outputColumnNames: _col0, _col4, _col5, _col8
Statistics: Num rows: 365 Data size: 3878 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((_col4 = 0L)) THEN (true) WHEN (_col4 is null) THEN (true) WHEN (_col8 is not null) THEN (false) WHEN (_col0 is null) THEN (null) WHEN ((_col5 < _col4)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 182 Data size: 1933 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col5 < _col4) is not true or (_col4 = 0L) or _col4 is null or _col8 is not null or _col0 is null) and (_col0 is not null or (_col4 = 0L) or _col4 is null or _col8 is not null) and (_col8 is null or (_col4 = 0L) or _col4 is null)) (type: boolean)
+ Statistics: Num rows: 365 Data size: 3878 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: string)
outputColumnNames: _col0
- Statistics: Num rows: 182 Data size: 1933 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 365 Data size: 3878 Basic stats: COMPLETE Column stats: NONE
Group By Operator
keys: _col0 (type: string)
minReductionHashAggr: 0.99
mode: hash
outputColumnNames: _col0
- Statistics: Num rows: 182 Data size: 1933 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 365 Data size: 3878 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: 182 Data size: 1933 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 365 Data size: 3878 Basic stats: COMPLETE Column stats: NONE
Reducer 14
Execution mode: vectorized
Reduce Operator Tree:
@@ -351,17 +351,17 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col4, _col5, _col8
Statistics: Num rows: 365 Data size: 3878 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: CASE WHEN ((_col4 = 0L)) THEN (true) WHEN (_col4 is null) THEN (true) WHEN (_col8 is not null) THEN (false) WHEN ((_col5 < _col4)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 182 Data size: 1933 Basic stats: COMPLETE Column stats: NONE
+ predicate: (((_col5 < _col4) is not true or (_col4 = 0L) or _col4 is null or _col8 is not null or _col0 is null) and (_col8 is null or (_col4 = 0L) or _col4 is null)) (type: boolean)
+ Statistics: Num rows: 365 Data size: 3878 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: string), _col1 (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 182 Data size: 1933 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 365 Data size: 3878 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: 182 Data size: 1933 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 365 Data size: 3878 Basic stats: COMPLETE Column stats: NONE
value expressions: _col1 (type: string)
Reducer 3
Reduce Operator Tree:
@@ -372,10 +372,10 @@ STAGE PLANS:
0 _col0 (type: string)
1 _col0 (type: string)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 200 Data size: 2126 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 401 Data size: 4265 Basic stats: COMPLETE Column stats: NONE
File Output Operator
compressed: false
- Statistics: Num rows: 200 Data size: 2126 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 401 Data size: 4265 Basic stats: COMPLETE Column stats: NONE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
diff --git ql/src/test/results/clientpositive/spark/union22.q.out ql/src/test/results/clientpositive/spark/union22.q.out
index 3798d87f7b..b587d62a7a 100644
--- ql/src/test/results/clientpositive/spark/union22.q.out
+++ ql/src/test/results/clientpositive/spark/union22.q.out
@@ -80,6 +80,17 @@ POSTHOOK: Input: default@dst_union22@ds=1
POSTHOOK: Input: default@dst_union22_delta
POSTHOOK: Input: default@dst_union22_delta@ds=1
POSTHOOK: Output: default@dst_union22@ds=2
+OPTIMIZED SQL: SELECT `k1`, `k2`, `k3`, `k4`
+FROM `default`.`dst_union22_delta`
+WHERE `ds` = '1' AND `k0` <= 50
+UNION ALL
+SELECT `t2`.`k1`, `t2`.`k2`, `t4`.`k3`, `t4`.`k4`
+FROM (SELECT `k1`, `k2`, `ds` = '1' AS `=`
+FROM `default`.`dst_union22`
+WHERE `k1` > 20) AS `t2`
+LEFT JOIN (SELECT `k1`, `k3`, `k4`
+FROM `default`.`dst_union22_delta`
+WHERE `ds` = '1' AND `k0` > 50 AND `k1` > 20) AS `t4` ON `t2`.`k1` = `t4`.`k1` AND `t2`.`=`
STAGE DEPENDENCIES:
Stage-3 is a root stage
Stage-1 depends on stages: Stage-3
diff --git ql/src/test/results/clientpositive/spark/vectorization_0.q.out ql/src/test/results/clientpositive/spark/vectorization_0.q.out
index c6e0c33dc5..b86e030137 100644
--- ql/src/test/results/clientpositive/spark/vectorization_0.q.out
+++ ql/src/test/results/clientpositive/spark/vectorization_0.q.out
@@ -1063,7 +1063,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: ((cstring2 like '%b%') or (CAST( cint AS decimal(13,3)) <> 79.553) or (UDFToDouble(cbigint) < cdouble) or ((UDFToShort(ctinyint) >= csmallint) and (cboolean2 = 1) and null)) (type: boolean)
+ filterExpr: ((cstring2 like '%b%') or (CAST( cint AS decimal(13,3)) <> 79.553) or (UDFToDouble(cbigint) < cdouble)) (type: boolean)
Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
@@ -1072,8 +1072,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 7:string, pattern %b%), FilterDecimalColNotEqualDecimalScalar(col 13:decimal(13,3), val 79.553)(children: CastLongToDecimal(col 2:int) -> 13:decimal(13,3)), FilterDoubleColLessDoubleColumn(col 14:double, col 5:double)(children: CastLongToDouble(col 3:bigint) -> 14:double), SelectColumnIsTrue(col 17:boolean)(children: VectorUDFAdaptor(((UDFToShort(ctinyint) >= csmallint) and (cboolean2 = 1) and null))(children: LongColGreaterEqualLongColumn(col 0:smallint, col 1:smallint)(children: col 0:tinyint) -> 15:boolean, LongColEqualLongScalar(col 11:boolean, val 1) -> 16:boolean) -> 17:boolean))
- predicate: (((UDFToShort(ctinyint) >= csmallint) and (cboolean2 = 1) and null) or (CAST( cint AS decimal(13,3)) <> 79.553) or (UDFToDouble(cbigint) < cdouble) or (cstring2 like '%b%')) (type: boolean)
+ predicateExpression: FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 7:string, pattern %b%), FilterDecimalColNotEqualDecimalScalar(col 13:decimal(13,3), val 79.553)(children: CastLongToDecimal(col 2:int) -> 13:decimal(13,3)), FilterDoubleColLessDoubleColumn(col 14:double, col 5:double)(children: CastLongToDouble(col 3:bigint) -> 14:double))
+ predicate: ((CAST( cint AS decimal(13,3)) <> 79.553) or (UDFToDouble(cbigint) < cdouble) or (cstring2 like '%b%')) (type: boolean)
Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: cbigint (type: bigint), cfloat (type: float), ctinyint (type: tinyint), UDFToDouble(cbigint) (type: double), (UDFToDouble(cbigint) * UDFToDouble(cbigint)) (type: double)
@@ -1081,13 +1081,13 @@ STAGE PLANS:
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [3, 4, 0, 18, 21]
- selectExpressions: CastLongToDouble(col 3:bigint) -> 18:double, DoubleColMultiplyDoubleColumn(col 19:double, col 20:double)(children: CastLongToDouble(col 3:bigint) -> 19:double, CastLongToDouble(col 3:bigint) -> 20:double) -> 21:double
+ projectedOutputColumnNums: [3, 4, 0, 15, 18]
+ selectExpressions: CastLongToDouble(col 3:bigint) -> 15:double, DoubleColMultiplyDoubleColumn(col 16:double, col 17:double)(children: CastLongToDouble(col 3:bigint) -> 16:double, CastLongToDouble(col 3:bigint) -> 17:double) -> 18:double
Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
Group By Operator
aggregations: sum(_col0), count(_col0), sum(_col4), sum(_col3), count(), sum(_col1), min(_col2)
Group By Vectorization:
- aggregators: VectorUDAFSumLong(col 3:bigint) -> bigint, VectorUDAFCount(col 3:bigint) -> bigint, VectorUDAFSumDouble(col 21:double) -> double, VectorUDAFSumDouble(col 18:double) -> double, VectorUDAFCountStar(*) -> bigint, VectorUDAFSumDouble(col 4:float) -> double, VectorUDAFMinLong(col 0:tinyint) -> tinyint
+ aggregators: VectorUDAFSumLong(col 3:bigint) -> bigint, VectorUDAFCount(col 3:bigint) -> bigint, VectorUDAFSumDouble(col 18:double) -> double, VectorUDAFSumDouble(col 15:double) -> double, VectorUDAFCountStar(*) -> bigint, VectorUDAFSumDouble(col 4:float) -> double, VectorUDAFMinLong(col 0:tinyint) -> tinyint
className: VectorGroupByOperator
groupByMode: HASH
native: false
@@ -1114,14 +1114,14 @@ STAGE PLANS:
featureSupportInUse: [DECIMAL_64]
inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
allNative: false
- usesVectorUDFAdaptor: true
+ usesVectorUDFAdaptor: false
vectorized: true
rowBatchContext:
dataColumnCount: 12
- includeColumns: [0, 1, 2, 3, 4, 5, 7, 11]
+ includeColumns: [0, 2, 3, 4, 5, 7]
dataColumns: ctinyint:tinyint, csmallint:smallint, cint:int, cbigint:bigint, cfloat:float, cdouble:double, cstring1:string, cstring2:string, ctimestamp1:timestamp, ctimestamp2:timestamp, cboolean1:boolean, cboolean2:boolean
partitionColumnCount: 0
- scratchColumnTypeNames: [decimal(13,3), double, bigint, bigint, bigint, double, double, double, double]
+ scratchColumnTypeNames: [decimal(13,3), double, double, double, double, double]
Reducer 2
Execution mode: vectorized
Reduce Vectorization:
@@ -30193,6 +30193,9 @@ POSTHOOK: query: explain extended select * from alltypesorc where
POSTHOOK: type: QUERY
POSTHOOK: Input: default@alltypesorc
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT `ctinyint`, `csmallint`, `cint`, `cbigint`, `cfloat`, `cdouble`, `cstring1`, `cstring2`, `ctimestamp1`, `ctimestamp2`, `cboolean1`, `cboolean2`
+FROM `default`.`alltypesorc`
+WHERE ROW(`cint`, `cfloat`) IN (ROW(49, 3.5), ROW(47, 2.09), ROW(45, 3.02))
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
@@ -30435,6 +30438,11 @@ POSTHOOK: query: explain extended select count(*),cstring1 from alltypesorc wher
POSTHOOK: type: QUERY
POSTHOOK: Input: default@alltypesorc
#### A masked pattern was here ####
+OPTIMIZED SQL: SELECT COUNT(*) AS `_o__c0`, `cstring1`
+FROM `default`.`alltypesorc`
+WHERE `cstring1` IN ('biology', 'history', 'topology')
+GROUP BY `cstring1`
+ORDER BY `cstring1`
STAGE DEPENDENCIES:
Stage-1 is a root stage
Stage-0 depends on stages: Stage-1
diff --git ql/src/test/results/clientpositive/spark/vectorization_5.q.out ql/src/test/results/clientpositive/spark/vectorization_5.q.out
index 00f8260aac..ce9afedf07 100644
--- ql/src/test/results/clientpositive/spark/vectorization_5.q.out
+++ ql/src/test/results/clientpositive/spark/vectorization_5.q.out
@@ -61,7 +61,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: ((cboolean2 is not null and (cstring1 like '%b%')) or ((UDFToDouble(ctinyint) = cdouble) and ctimestamp2 is not null and (cstring2 like 'a'))) (type: boolean)
+ filterExpr: (((cstring1 like '%b%') and cboolean2 is not null) or ((UDFToDouble(ctinyint) = cdouble) and (cstring2 like 'a') and ctimestamp2 is not null)) (type: boolean)
Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
@@ -70,8 +70,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: SelectColumnIsNotNull(col 11:boolean), FilterStringColLikeStringScalar(col 6:string, pattern %b%)), FilterExprAndExpr(children: FilterDoubleColEqualDoubleColumn(col 13:double, col 5:double)(children: CastLongToDouble(col 0:tinyint) -> 13:double), SelectColumnIsNotNull(col 9:timestamp), FilterStringColLikeStringScalar(col 7:string, pattern a)))
- predicate: (((UDFToDouble(ctinyint) = cdouble) and ctimestamp2 is not null and (cstring2 like 'a')) or (cboolean2 is not null and (cstring1 like '%b%'))) (type: boolean)
+ predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterStringColLikeStringScalar(col 6:string, pattern %b%), SelectColumnIsNotNull(col 11:boolean)), FilterExprAndExpr(children: FilterDoubleColEqualDoubleColumn(col 13:double, col 5:double)(children: CastLongToDouble(col 0:tinyint) -> 13:double), FilterStringColLikeStringScalar(col 7:string, pattern a), SelectColumnIsNotNull(col 9:timestamp)))
+ predicate: (((UDFToDouble(ctinyint) = cdouble) and (cstring2 like 'a') and ctimestamp2 is not null) or ((cstring1 like '%b%') and cboolean2 is not null)) (type: boolean)
Statistics: Num rows: 9216 Data size: 2180995 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: ctinyint (type: tinyint), csmallint (type: smallint), cint (type: int)
diff --git ql/src/test/results/clientpositive/spark/vectorization_6.q.out ql/src/test/results/clientpositive/spark/vectorization_6.q.out
index d1cc6e39ed..8efa251459 100644
--- ql/src/test/results/clientpositive/spark/vectorization_6.q.out
+++ ql/src/test/results/clientpositive/spark/vectorization_6.q.out
@@ -61,7 +61,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: ((ctinyint <> 0Y) and (((cboolean1 <= 0) and (cboolean2 >= cboolean1)) or (cbigint is not null and ((cstring2 like '%a') or (cfloat <= -257.0))))) (type: boolean)
+ filterExpr: ((ctinyint <> 0Y) and (((cboolean1 <= 0) and (cboolean2 >= cboolean1)) or (((cstring2 like '%a') or (cfloat <= -257.0)) and cbigint is not null))) (type: boolean)
Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
@@ -70,8 +70,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children: FilterLongColNotEqualLongScalar(col 0:tinyint, val 0), FilterExprOrExpr(children: FilterExprAndExpr(children: FilterLongColLessEqualLongScalar(col 10:boolean, val 0), FilterLongColGreaterEqualLongColumn(col 11:boolean, col 10:boolean)), FilterExprAndExpr(children: SelectColumnIsNotNull(col 3:bigint), FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 7:string, pattern %a), FilterDoubleColLessEqualDoubleScalar(col 4:float, val -257.0)))))
- predicate: ((((cboolean1 <= 0) and (cboolean2 >= cboolean1)) or (cbigint is not null and ((cstring2 like '%a') or (cfloat <= -257.0)))) and (ctinyint <> 0Y)) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: FilterLongColNotEqualLongScalar(col 0:tinyint, val 0), FilterExprOrExpr(children: FilterExprAndExpr(children: FilterLongColLessEqualLongScalar(col 10:boolean, val 0), FilterLongColGreaterEqualLongColumn(col 11:boolean, col 10:boolean)), FilterExprAndExpr(children: FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 7:string, pattern %a), FilterDoubleColLessEqualDoubleScalar(col 4:float, val -257.0)), SelectColumnIsNotNull(col 3:bigint))))
+ predicate: ((((cboolean1 <= 0) and (cboolean2 >= cboolean1)) or (((cstring2 like '%a') or (cfloat <= -257.0)) and cbigint is not null)) and (ctinyint <> 0Y)) (type: boolean)
Statistics: Num rows: 11605 Data size: 2746359 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: cboolean1 (type: boolean), cfloat (type: float), cstring1 (type: string), (988888 * UDFToInteger(csmallint)) (type: int), (- csmallint) (type: smallint), (- cfloat) (type: float), (-26.28D / UDFToDouble(cfloat)) (type: double), (cfloat * 359.0) (type: float), (cint % UDFToInteger(ctinyint)) (type: int), (- cdouble) (type: double), (UDFToInteger(ctinyint) - -75) (type: int), (762 * (cint % UDFToInteger(ctinyint))) (type: int)
diff --git ql/src/test/results/clientpositive/spark/vectorization_div0.q.out ql/src/test/results/clientpositive/spark/vectorization_div0.q.out
index 18159aa9bf..386738598e 100644
--- ql/src/test/results/clientpositive/spark/vectorization_div0.q.out
+++ ql/src/test/results/clientpositive/spark/vectorization_div0.q.out
@@ -257,7 +257,7 @@ STAGE PLANS:
predicate: ((cbigint < 100000000L) and (cbigint > 0L)) (type: boolean)
Statistics: Num rows: 1365 Data size: 323031 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: (cbigint - 988888) (type: bigint), (cdouble / UDFToDouble((cbigint - 988888))) (type: double), (1.2 / CAST( (cbigint - 988888) AS decimal(19,0))) (type: decimal(22,21))
+ expressions: (cbigint - 988888L) (type: bigint), (cdouble / UDFToDouble((cbigint - 988888L))) (type: double), (1.2 / CAST( (cbigint - 988888L) AS decimal(19,0))) (type: decimal(22,21))
outputColumnNames: _col0, _col1, _col2
Select Vectorization:
className: VectorSelectOperator
diff --git ql/src/test/results/clientpositive/spark/vectorization_short_regress.q.out ql/src/test/results/clientpositive/spark/vectorization_short_regress.q.out
index 2d8d8b1ec9..fbcdb7bda7 100644
--- ql/src/test/results/clientpositive/spark/vectorization_short_regress.q.out
+++ ql/src/test/results/clientpositive/spark/vectorization_short_regress.q.out
@@ -619,7 +619,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: ((ctimestamp1 = ctimestamp2) or (cfloat = 762.0) or (cstring1 = 'ss') or ((UDFToLong(csmallint) <= cbigint) and (cboolean2 = 1)) or (cboolean1 is not null and ctimestamp2 is not null and (cstring2 > 'a'))) (type: boolean)
+ filterExpr: ((ctimestamp1 = ctimestamp2) or (cfloat = 762.0) or (cstring1 = 'ss') or ((UDFToLong(csmallint) <= cbigint) and (cboolean2 = 1)) or ((cstring2 > 'a') and cboolean1 is not null and ctimestamp2 is not null)) (type: boolean)
Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
@@ -627,8 +627,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprOrExpr(children: FilterTimestampColEqualTimestampColumn(col 8:timestamp, col 9:timestamp), FilterDoubleColEqualDoubleScalar(col 4:float, val 762.0), FilterStringGroupColEqualStringScalar(col 6:string, val ss), FilterExprAndExpr(children: FilterLongColLessEqualLongColumn(col 1:bigint, col 3:bigint)(children: col 1:smallint), FilterLongColEqualLongScalar(col 11:boolean, val 1)), FilterExprAndExpr(children: SelectColumnIsNotNull(col 10:boolean), SelectColumnIsNotNull(col 9:timestamp), FilterStringGroupColGreaterStringScalar(col 7:string, val a)))
- predicate: (((UDFToLong(csmallint) <= cbigint) and (cboolean2 = 1)) or (cboolean1 is not null and ctimestamp2 is not null and (cstring2 > 'a')) or (cfloat = 762.0) or (cstring1 = 'ss') or (ctimestamp1 = ctimestamp2)) (type: boolean)
+ predicateExpression: FilterExprOrExpr(children: FilterTimestampColEqualTimestampColumn(col 8:timestamp, col 9:timestamp), FilterDoubleColEqualDoubleScalar(col 4:float, val 762.0), FilterStringGroupColEqualStringScalar(col 6:string, val ss), FilterExprAndExpr(children: FilterLongColLessEqualLongColumn(col 1:bigint, col 3:bigint)(children: col 1:smallint), FilterLongColEqualLongScalar(col 11:boolean, val 1)), FilterExprAndExpr(children: FilterStringGroupColGreaterStringScalar(col 7:string, val a), SelectColumnIsNotNull(col 10:boolean), SelectColumnIsNotNull(col 9:timestamp)))
+ predicate: (((UDFToLong(csmallint) <= cbigint) and (cboolean2 = 1)) or ((cstring2 > 'a') and cboolean1 is not null and ctimestamp2 is not null) or (cfloat = 762.0) or (cstring1 = 'ss') or (ctimestamp1 = ctimestamp2)) (type: boolean)
Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: cbigint (type: bigint), ctinyint (type: tinyint), csmallint (type: smallint), cint (type: int), cdouble (type: double), UDFToDouble(cbigint) (type: double), (UDFToDouble(cbigint) * UDFToDouble(cbigint)) (type: double), UDFToDouble(csmallint) (type: double), (UDFToDouble(csmallint) * UDFToDouble(csmallint)) (type: double), (cdouble * cdouble) (type: double)
@@ -2206,7 +2206,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: ((UDFToInteger(csmallint) >= -257) and ((UDFToInteger(csmallint) = -6432) or ((UDFToDouble(cint) >= cdouble) and (UDFToInteger(ctinyint) <= cint)))) (type: boolean)
+ filterExpr: ((UDFToInteger(csmallint) >= -257) and (UDFToDouble(cint) >= cdouble) and (UDFToInteger(ctinyint) <= cint)) (type: boolean)
Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
@@ -2214,9 +2214,9 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children: FilterLongColGreaterEqualLongScalar(col 1:int, val -257)(children: col 1:smallint), FilterExprOrExpr(children: FilterLongColEqualLongScalar(col 1:int, val -6432)(children: col 1:smallint), FilterExprAndExpr(children: FilterDoubleColGreaterEqualDoubleColumn(col 13:double, col 5:double)(children: CastLongToDouble(col 2:int) -> 13:double), FilterLongColLessEqualLongColumn(col 0:int, col 2:int)(children: col 0:tinyint))))
- predicate: (((UDFToInteger(csmallint) = -6432) or ((UDFToDouble(cint) >= cdouble) and (UDFToInteger(ctinyint) <= cint))) and (UDFToInteger(csmallint) >= -257)) (type: boolean)
- Statistics: Num rows: 2503 Data size: 592342 Basic stats: COMPLETE Column stats: NONE
+ predicateExpression: FilterExprAndExpr(children: FilterLongColGreaterEqualLongScalar(col 1:int, val -257)(children: col 1:smallint), FilterDoubleColGreaterEqualDoubleColumn(col 13:double, col 5:double)(children: CastLongToDouble(col 2:int) -> 13:double), FilterLongColLessEqualLongColumn(col 0:int, col 2:int)(children: col 0:tinyint))
+ predicate: ((UDFToDouble(cint) >= cdouble) and (UDFToInteger(csmallint) >= -257) and (UDFToInteger(ctinyint) <= cint)) (type: boolean)
+ Statistics: Num rows: 455 Data size: 107677 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: csmallint (type: smallint), cbigint (type: bigint), ctinyint (type: tinyint), UDFToDouble(csmallint) (type: double), (UDFToDouble(csmallint) * UDFToDouble(csmallint)) (type: double), UDFToDouble(ctinyint) (type: double), (UDFToDouble(ctinyint) * UDFToDouble(ctinyint)) (type: double)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
@@ -2225,7 +2225,7 @@ STAGE PLANS:
native: true
projectedOutputColumnNums: [1, 3, 0, 14, 17, 18, 21]
selectExpressions: CastLongToDouble(col 1:smallint) -> 14:double, DoubleColMultiplyDoubleColumn(col 15:double, col 16:double)(children: CastLongToDouble(col 1:smallint) -> 15:double, CastLongToDouble(col 1:smallint) -> 16:double) -> 17:double, CastLongToDouble(col 0:tinyint) -> 18:double, DoubleColMultiplyDoubleColumn(col 19:double, col 20:double)(children: CastLongToDouble(col 0:tinyint) -> 19:double, CastLongToDouble(col 0:tinyint) -> 20:double) -> 21:double
- Statistics: Num rows: 2503 Data size: 592342 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 455 Data size: 107677 Basic stats: COMPLETE Column stats: NONE
Group By Operator
aggregations: sum(_col4), sum(_col3), count(_col0), sum(_col1), sum(_col6), sum(_col5), count(_col2), count()
Group By Vectorization:
@@ -2240,7 +2240,7 @@ STAGE PLANS:
minReductionHashAggr: 0.99
mode: hash
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 2503 Data size: 592342 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 455 Data size: 107677 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: smallint)
sort order: +
@@ -2249,7 +2249,7 @@ STAGE PLANS:
className: VectorReduceSinkLongOperator
native: true
nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
- Statistics: Num rows: 2503 Data size: 592342 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 455 Data size: 107677 Basic stats: COMPLETE Column stats: NONE
value expressions: _col1 (type: double), _col2 (type: double), _col3 (type: bigint), _col4 (type: bigint), _col5 (type: double), _col6 (type: double), _col7 (type: bigint), _col8 (type: bigint)
Execution mode: vectorized
Map Vectorization:
@@ -2283,7 +2283,7 @@ STAGE PLANS:
keys: KEY._col0 (type: smallint)
mode: mergepartial
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
- Statistics: Num rows: 1251 Data size: 296052 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 227 Data size: 53720 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: _col0 (type: smallint), (UDFToInteger(_col0) % -75) (type: int), power(((_col1 - ((_col2 * _col2) / _col3)) / CASE WHEN ((_col3 = 1L)) THEN (null) ELSE ((_col3 - 1)) END), 0.5) (type: double), (-1.389 / CAST( _col0 AS decimal(5,0))) (type: decimal(10,9)), _col4 (type: bigint), (UDFToDouble((UDFToInteger(_col0) % -75)) / UDFToDouble(_col4)) (type: double), (- (UDFToInteger(_col0) % -75)) (type: int), ((_col5 - ((_col6 * _col6) / _col7)) / _col7) (type: double), (- (- (UDFToInteger(_col0) % -75))) (type: int), _col8 (type: bigint), (_col8 - -89010L) (type: bigint)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10
@@ -2292,7 +2292,7 @@ STAGE PLANS:
native: true
projectedOutputColumnNums: [0, 9, 17, 19, 4, 23, 25, 29, 32, 8, 33]
selectExpressions: LongColModuloLongScalar(col 0:int, val -75)(children: col 0:smallint) -> 9:int, FuncPowerDoubleToDouble(col 16:double)(children: DoubleColDivideLongColumn(col 12:double, col 15:bigint)(children: DoubleColSubtractDoubleColumn(col 1:double, col 11:double)(children: DoubleColDivideLongColumn(col 10:double, col 3:bigint)(children: DoubleColMultiplyDoubleColumn(col 2:double, col 2:double) -> 10:double) -> 11:double) -> 12:double, IfExprNullCondExpr(col 13:boolean, null, col 14:bigint)(children: LongColEqualLongScalar(col 3:bigint, val 1) -> 13:boolean, LongColSubtractLongScalar(col 3:bigint, val 1) -> 14:bigint) -> 15:bigint) -> 16:double) -> 17:double, DecimalScalarDivideDecimalColumn(val -1.389, col 18:decimal(5,0))(children: CastLongToDecimal(col 0:smallint) -> 18:decimal(5,0)) -> 19:decimal(10,9), DoubleColDivideDoubleColumn(col 21:double, col 22:double)(children: CastLongToDouble(col 20:int)(children: LongColModuloLongScalar(col 0:int, val -75)(children: col 0:smallint) -> 20:int) -> 21:double, CastLongToDouble(col 4:bigint) -> 22:double) -> 23:double, LongColUnaryMinus(col 24:int)(children: LongColModuloLongScalar(col 0:int, val -75)(children: col 0:smallint) -> 24:int) -> 25:int, DoubleColDivideLongColumn(col 28:double, col 7:bigint)(children: DoubleColSubtractDoubleColumn(col 5:double, col 27:double)(children: DoubleColDivideLongColumn(col 26:double, col 7:bigint)(children: DoubleColMultiplyDoubleColumn(col 6:double, col 6:double) -> 26:double) -> 27:double) -> 28:double) -> 29:double, LongColUnaryMinus(col 31:int)(children: LongColUnaryMinus(col 30:int)(children: LongColModuloLongScalar(col 0:int, val -75)(children: col 0:smallint) -> 30:int) -> 31:int) -> 32:int, LongColSubtractLongScalar(col 8:bigint, val -89010) -> 33:bigint
- Statistics: Num rows: 1251 Data size: 296052 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 227 Data size: 53720 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
key expressions: _col0 (type: smallint), _col1 (type: int), _col2 (type: double), _col3 (type: decimal(10,9)), _col4 (type: bigint), _col5 (type: double), _col6 (type: int), _col7 (type: double), _col8 (type: int), _col9 (type: bigint), _col10 (type: bigint)
sort order: +++++++++++
@@ -2300,7 +2300,7 @@ STAGE PLANS:
className: VectorReduceSinkObjectHashOperator
native: true
nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine spark IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
- Statistics: Num rows: 1251 Data size: 296052 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 227 Data size: 53720 Basic stats: COMPLETE Column stats: NONE
TopN Hash Memory Usage: 0.1
Reducer 3
Execution mode: vectorized
@@ -2318,7 +2318,7 @@ STAGE PLANS:
className: VectorSelectOperator
native: true
projectedOutputColumnNums: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
- Statistics: Num rows: 1251 Data size: 296052 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 227 Data size: 53720 Basic stats: COMPLETE Column stats: NONE
Limit
Number of rows: 20
Limit Vectorization:
@@ -2812,7 +2812,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: ((UDFToDouble(ctimestamp1) <> 0.0D) and (((UDFToInteger(ctinyint) <> -257) and cboolean2 is not null and cstring1 regexp '.*ss' and (UDFToDouble(ctimestamp1) > -3.0D)) or (UDFToDouble(ctimestamp2) = -5.0D) or ((UDFToDouble(ctimestamp1) < 0.0D) and (cstring2 like '%b%')) or (cdouble = UDFToDouble(cint)) or (cboolean1 is null and (cfloat < UDFToFloat(cint))))) (type: boolean)
+ filterExpr: ((UDFToDouble(ctimestamp1) <> 0.0D) and (((UDFToInteger(ctinyint) <> -257) and cstring1 regexp '.*ss' and (UDFToDouble(ctimestamp1) > -3.0D) and cboolean2 is not null) or (UDFToDouble(ctimestamp2) = -5.0D) or ((UDFToDouble(ctimestamp1) < 0.0D) and (cstring2 like '%b%')) or (cdouble = UDFToDouble(cint)) or (cboolean1 is null and (cfloat < UDFToFloat(cint))))) (type: boolean)
Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
@@ -2820,8 +2820,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children: FilterDoubleColNotEqualDoubleScalar(col 13:double, val 0.0)(children: CastTimestampToDouble(col 8:timestamp) -> 13:double), FilterExprOrExpr(children: FilterExprAndExpr(children: FilterLongColNotEqualLongScalar(col 0:int, val -257)(children: col 0:tinyint), SelectColumnIsNotNull(col 11:boolean), FilterStringColRegExpStringScalar(col 6:string, pattern .*ss), FilterDoubleColGreaterDoubleScalar(col 14:double, val -3.0)(children: CastTimestampToDouble(col 8:timestamp) -> 14:double)), FilterDoubleColEqualDoubleScalar(col 15:double, val -5.0)(children: CastTimestampToDouble(col 9:timestamp) -> 15:double), FilterExprAndExpr(children: FilterDoubleColLessDoubleScalar(col 16:double, val 0.0)(children: CastTimestampToDouble(col 8:timestamp) -> 16:double), FilterStringColLikeStringScalar(col 7:string, pattern %b%)), FilterDoubleColEqualDoubleColumn(col 5:double, col 17:double)(children: CastLongToDouble(col 2:int) -> 17:double), FilterExprAndExpr(children: SelectColumnIsNull(col 10:boolean), FilterDoubleColLessDoubleColumn(col 4:float, col 18:float)(children: CastLongToFloatViaLongToDouble(col 2:int) -> 18:float))))
- predicate: ((((UDFToInteger(ctinyint) <> -257) and cboolean2 is not null and cstring1 regexp '.*ss' and (UDFToDouble(ctimestamp1) > -3.0D)) or (UDFToDouble(ctimestamp2) = -5.0D) or ((UDFToDouble(ctimestamp1) < 0.0D) and (cstring2 like '%b%')) or (cdouble = UDFToDouble(cint)) or (cboolean1 is null and (cfloat < UDFToFloat(cint)))) and (UDFToDouble(ctimestamp1) <> 0.0D)) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: FilterDoubleColNotEqualDoubleScalar(col 13:double, val 0.0)(children: CastTimestampToDouble(col 8:timestamp) -> 13:double), FilterExprOrExpr(children: FilterExprAndExpr(children: FilterLongColNotEqualLongScalar(col 0:int, val -257)(children: col 0:tinyint), FilterStringColRegExpStringScalar(col 6:string, pattern .*ss), FilterDoubleColGreaterDoubleScalar(col 14:double, val -3.0)(children: CastTimestampToDouble(col 8:timestamp) -> 14:double), SelectColumnIsNotNull(col 11:boolean)), FilterDoubleColEqualDoubleScalar(col 15:double, val -5.0)(children: CastTimestampToDouble(col 9:timestamp) -> 15:double), FilterExprAndExpr(children: FilterDoubleColLessDoubleScalar(col 16:double, val 0.0)(children: CastTimestampToDouble(col 8:timestamp) -> 16:double), FilterStringColLikeStringScalar(col 7:string, pattern %b%)), FilterDoubleColEqualDoubleColumn(col 5:double, col 17:double)(children: CastLongToDouble(col 2:int) -> 17:double), FilterExprAndExpr(children: SelectColumnIsNull(col 10:boolean), FilterDoubleColLessDoubleColumn(col 4:float, col 18:float)(children: CastLongToFloatViaLongToDouble(col 2:int) -> 18:float))))
+ predicate: ((((UDFToInteger(ctinyint) <> -257) and cstring1 regexp '.*ss' and (UDFToDouble(ctimestamp1) > -3.0D) and cboolean2 is not null) or (UDFToDouble(ctimestamp2) = -5.0D) or ((UDFToDouble(ctimestamp1) < 0.0D) and (cstring2 like '%b%')) or (cdouble = UDFToDouble(cint)) or (cboolean1 is null and (cfloat < UDFToFloat(cint)))) and (UDFToDouble(ctimestamp1) <> 0.0D)) (type: boolean)
Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: ctimestamp1 (type: timestamp), cstring1 (type: string), cint (type: int), csmallint (type: smallint), ctinyint (type: tinyint), cfloat (type: float), cdouble (type: double), UDFToDouble(cint) (type: double), (UDFToDouble(cint) * UDFToDouble(cint)) (type: double), UDFToDouble(csmallint) (type: double), (UDFToDouble(csmallint) * UDFToDouble(csmallint)) (type: double), UDFToDouble(cfloat) (type: double), (UDFToDouble(cfloat) * UDFToDouble(cfloat)) (type: double), UDFToDouble(ctinyint) (type: double), (UDFToDouble(ctinyint) * UDFToDouble(ctinyint)) (type: double)
@@ -3218,7 +3218,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: ((((cdouble < UDFToDouble(csmallint)) and (cboolean2 = cboolean1) and (CAST( cbigint AS decimal(22,3)) <= -863.257)) or ((cint >= -257) and cstring1 is not null and (cboolean1 >= 1)) or cstring2 regexp 'b' or ((csmallint >= UDFToShort(ctinyint)) and ctimestamp2 is null)) and cboolean1 is not null) (type: boolean)
+ filterExpr: ((((cdouble < UDFToDouble(csmallint)) and (cboolean2 = cboolean1) and (CAST( cbigint AS decimal(22,3)) <= -863.257)) or ((cint >= -257) and (cboolean1 >= 1) and cstring1 is not null) or cstring2 regexp 'b' or ((csmallint >= UDFToShort(ctinyint)) and ctimestamp2 is null)) and cboolean1 is not null) (type: boolean)
Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
@@ -3226,8 +3226,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterDoubleColLessDoubleColumn(col 5:double, col 13:double)(children: CastLongToDouble(col 1:smallint) -> 13:double), FilterLongColEqualLongColumn(col 11:boolean, col 10:boolean), FilterDecimalColLessEqualDecimalScalar(col 14:decimal(22,3), val -863.257)(children: CastLongToDecimal(col 3:bigint) -> 14:decimal(22,3))), FilterExprAndExpr(children: FilterLongColGreaterEqualLongScalar(col 2:int, val -257), SelectColumnIsNotNull(col 6:string), FilterLongColGreaterEqualLongScalar(col 10:boolean, val 1)), FilterStringColRegExpStringScalar(col 7:string, pattern b), FilterExprAndExpr(children: FilterLongColGreaterEqualLongColumn(col 1:smallint, col 0:smallint)(children: col 0:tinyint), SelectColumnIsNull(col 9:timestamp))), SelectColumnIsNotNull(col 10:boolean))
- predicate: ((((cdouble < UDFToDouble(csmallint)) and (cboolean2 = cboolean1) and (CAST( cbigint AS decimal(22,3)) <= -863.257)) or ((cint >= -257) and cstring1 is not null and (cboolean1 >= 1)) or cstring2 regexp 'b' or ((csmallint >= UDFToShort(ctinyint)) and ctimestamp2 is null)) and cboolean1 is not null) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterDoubleColLessDoubleColumn(col 5:double, col 13:double)(children: CastLongToDouble(col 1:smallint) -> 13:double), FilterLongColEqualLongColumn(col 11:boolean, col 10:boolean), FilterDecimalColLessEqualDecimalScalar(col 14:decimal(22,3), val -863.257)(children: CastLongToDecimal(col 3:bigint) -> 14:decimal(22,3))), FilterExprAndExpr(children: FilterLongColGreaterEqualLongScalar(col 2:int, val -257), FilterLongColGreaterEqualLongScalar(col 10:boolean, val 1), SelectColumnIsNotNull(col 6:string)), FilterStringColRegExpStringScalar(col 7:string, pattern b), FilterExprAndExpr(children: FilterLongColGreaterEqualLongColumn(col 1:smallint, col 0:smallint)(children: col 0:tinyint), SelectColumnIsNull(col 9:timestamp))), SelectColumnIsNotNull(col 10:boolean))
+ predicate: ((((cdouble < UDFToDouble(csmallint)) and (cboolean2 = cboolean1) and (CAST( cbigint AS decimal(22,3)) <= -863.257)) or ((cint >= -257) and (cboolean1 >= 1) and cstring1 is not null) or cstring2 regexp 'b' or ((csmallint >= UDFToShort(ctinyint)) and ctimestamp2 is null)) and cboolean1 is not null) (type: boolean)
Statistics: Num rows: 10239 Data size: 2423091 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: cboolean1 (type: boolean), cfloat (type: float), cbigint (type: bigint), cint (type: int), cdouble (type: double), ctinyint (type: tinyint), csmallint (type: smallint), UDFToDouble(cint) (type: double), (UDFToDouble(cint) * UDFToDouble(cint)) (type: double), UDFToDouble(cbigint) (type: double), (UDFToDouble(cbigint) * UDFToDouble(cbigint)) (type: double), UDFToDouble(ctinyint) (type: double), (UDFToDouble(ctinyint) * UDFToDouble(ctinyint)) (type: double), UDFToDouble(csmallint) (type: double), (UDFToDouble(csmallint) * UDFToDouble(csmallint)) (type: double)
diff --git ql/src/test/results/clientpositive/spark/vectorized_math_funcs.q.out ql/src/test/results/clientpositive/spark/vectorized_math_funcs.q.out
index 977725ca4c..fde2124138 100644
--- ql/src/test/results/clientpositive/spark/vectorized_math_funcs.q.out
+++ ql/src/test/results/clientpositive/spark/vectorized_math_funcs.q.out
@@ -123,7 +123,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: (((cbigint % 500) = 0) and (sin(cfloat) >= -1.0D)) (type: boolean)
+ filterExpr: (((cbigint % 500L) = 0L) and (sin(cfloat) >= -1.0D)) (type: boolean)
Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
TableScan Vectorization:
native: true
@@ -132,7 +132,7 @@ STAGE PLANS:
className: VectorFilterOperator
native: true
predicateExpression: FilterExprAndExpr(children: FilterLongColEqualLongScalar(col 13:bigint, val 0)(children: LongColModuloLongScalar(col 3:bigint, val 500) -> 13:bigint), FilterDoubleColGreaterEqualDoubleScalar(col 14:double, val -1.0)(children: FuncSinDoubleToDouble(col 4:float) -> 14:double))
- predicate: (((cbigint % 500) = 0) and (sin(cfloat) >= -1.0D)) (type: boolean)
+ predicate: (((cbigint % 500L) = 0L) and (sin(cfloat) >= -1.0D)) (type: boolean)
Statistics: Num rows: 2048 Data size: 484665 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: cdouble (type: double), round(cdouble, 2) (type: double), floor(cdouble) (type: bigint), ceil(cdouble) (type: bigint), rand() (type: double), rand(98007) (type: double), exp(ln(cdouble)) (type: double), ln(cdouble) (type: double), ln(cfloat) (type: double), log10(cdouble) (type: double), log2(cdouble) (type: double), log2((cdouble - 15601.0D)) (type: double), log2(cfloat) (type: double), log2(cbigint) (type: double), log2(cint) (type: double), log2(csmallint) (type: double), log2(ctinyint) (type: double), log(2, cdouble) (type: double), power(log2(cdouble), 2) (type: double), power(log2(cdouble), 2) (type: double), sqrt(cdouble) (type: double), sqrt(cbigint) (type: double), bin(cbigint) (type: string), hex(cdouble) (type: string), conv(cbigint, 10, 16) (type: string), abs(cdouble) (type: double), abs(ctinyint) (type: int), (cint pmod 3) (type: int), sin(cdouble) (type: double), asin(cdouble) (type: double), cos(cdouble) (type: double), acos(cdouble) (type: double), atan(cdouble) (type: double), degrees(cdouble) (type: double), radians(cdouble) (type: double), cdouble (type: double), cbigint (type: bigint), (- cdouble) (type: double), sign(cdouble) (type: double), sign(cbigint) (type: double), cos(((- sin(log(cdouble))) + 3.14159D)) (type: double)
diff --git ql/src/test/results/clientpositive/spark/vectorized_string_funcs.q.out ql/src/test/results/clientpositive/spark/vectorized_string_funcs.q.out
index 79546c5a73..168f8729c0 100644
--- ql/src/test/results/clientpositive/spark/vectorized_string_funcs.q.out
+++ ql/src/test/results/clientpositive/spark/vectorized_string_funcs.q.out
@@ -63,10 +63,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: (((cbigint % 237) = 0) and (length(substr(cstring1, 1, 2)) <= 2) and (cstring1 like '%')) (type: boolean)
+ filterExpr: (((cbigint % 237L) = 0L) and (length(substr(cstring1, 1, 2)) <= 2) and (cstring1 like '%')) (type: boolean)
Statistics: Num rows: 12288 Data size: 2907994 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (((cbigint % 237) = 0) and (cstring1 like '%') and (length(substr(cstring1, 1, 2)) <= 2)) (type: boolean)
+ predicate: (((cbigint % 237L) = 0L) and (cstring1 like '%') and (length(substr(cstring1, 1, 2)) <= 2)) (type: boolean)
Statistics: Num rows: 1024 Data size: 242332 Basic stats: COMPLETE Column stats: NONE
Select Operator
expressions: substr(cstring1, 1, 2) (type: string), substr(cstring1, 2) (type: string), lower(cstring1) (type: string), upper(cstring1) (type: string), upper(cstring1) (type: string), length(cstring1) (type: int), trim(cstring1) (type: string), ltrim(cstring1) (type: string), rtrim(cstring1) (type: string), concat(cstring1, cstring2) (type: string), concat('>', cstring1) (type: string), concat(cstring1, '<') (type: string), concat(substr(cstring1, 1, 2), substr(cstring2, 1, 2)) (type: string)
diff --git ql/src/test/results/clientpositive/subquery_notexists.q.out ql/src/test/results/clientpositive/subquery_notexists.q.out
index 2b6c08bde4..99551255ab 100644
--- ql/src/test/results/clientpositive/subquery_notexists.q.out
+++ ql/src/test/results/clientpositive/subquery_notexists.q.out
@@ -782,10 +782,10 @@ STAGE PLANS:
Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
TableScan
alias: part
- filterExpr: p_type is not null (type: boolean)
+ filterExpr: UDFToDouble(p_type) is not null (type: boolean)
Statistics: Num rows: 26 Data size: 2704 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: p_type is not null (type: boolean)
+ predicate: UDFToDouble(p_type) is not null (type: boolean)
Statistics: Num rows: 26 Data size: 2704 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: p_type (type: string)
@@ -849,10 +849,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: pp1
- filterExpr: p_partkey is not null (type: boolean)
+ filterExpr: UDFToDouble(p_partkey) is not null (type: boolean)
Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: p_partkey is not null (type: boolean)
+ predicate: UDFToDouble(p_partkey) is not null (type: boolean)
Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: UDFToDouble(p_partkey) (type: double)
diff --git ql/src/test/results/clientpositive/subquery_notin_having.q.out ql/src/test/results/clientpositive/subquery_notin_having.q.out
index 68a65df3a9..84787f4009 100644
--- ql/src/test/results/clientpositive/subquery_notin_having.q.out
+++ ql/src/test/results/clientpositive/subquery_notin_having.q.out
@@ -128,7 +128,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col5
Statistics: Num rows: 333 Data size: 37299 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((_col2 = 0L) or (_col5 is null and _col0 is not null and (_col3 >= _col2))) (type: boolean)
+ predicate: (((_col3 >= _col2) or (_col2 = 0L) or _col5 is not null or _col0 is null) and (_col0 is not null or (_col2 = 0L) or _col5 is not null) and (_col5 is null or (_col2 = 0L))) (type: boolean)
Statistics: Num rows: 333 Data size: 37299 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: bigint)
@@ -353,15 +353,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col3, _col4, _col7
Statistics: Num rows: 7 Data size: 798 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN ((_col3 = 0L)) THEN (true) WHEN (_col3 is null) THEN (true) WHEN (_col7 is not null) THEN (false) WHEN (_col0 is null) THEN (null) WHEN ((_col4 < _col3)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 3 Data size: 354 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (((_col4 < _col3) is not true or (_col3 = 0L) or _col3 is null or _col7 is not null or _col0 is null) and (_col0 is not null or (_col3 = 0L) or _col3 is null or _col7 is not null) and (_col7 is null or (_col3 = 0L) or _col3 is null)) (type: boolean)
+ Statistics: Num rows: 7 Data size: 798 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: double)
outputColumnNames: _col0, _col1
- Statistics: Num rows: 3 Data size: 318 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 7 Data size: 742 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 3 Data size: 318 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 7 Data size: 742 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -654,7 +654,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col5
Statistics: Num rows: 6 Data size: 740 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((_col2 = 0L) or (_col5 is null and _col0 is not null and (_col3 >= _col2))) (type: boolean)
+ predicate: (((_col3 >= _col2) or (_col2 = 0L) or _col5 is not null or _col0 is null) and (_col0 is not null or (_col2 = 0L) or _col5 is not null) and (_col5 is null or (_col2 = 0L))) (type: boolean)
Statistics: Num rows: 6 Data size: 740 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: double)
@@ -968,7 +968,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col4
Statistics: Num rows: 2 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((_col1 = 0L) or (_col4 is null and _col0 is not null and (_col2 >= _col1))) (type: boolean)
+ predicate: (((_col2 >= _col1) or (_col1 = 0L) or _col4 is not null or _col0 is null) and (_col0 is not null or (_col1 = 0L) or _col4 is not null) and (_col4 is null or (_col1 = 0L))) (type: boolean)
Statistics: Num rows: 2 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int)
@@ -1187,15 +1187,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col2, _col3, _col5
Statistics: Num rows: 2 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN ((_col2 = 0L)) THEN (true) WHEN (_col2 is null) THEN (true) WHEN (_col5 is not null) THEN (false) WHEN (_col0 is null) THEN (null) WHEN ((_col3 < _col2)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (((_col3 < _col2) is not true or (_col2 = 0L) or _col2 is null or _col5 is not null or _col0 is null) and (_col0 is not null or (_col2 = 0L) or _col2 is null or _col5 is not null) and (_col5 is null or (_col2 = 0L) or _col2 is null)) (type: boolean)
+ Statistics: Num rows: 2 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: int)
outputColumnNames: _col0
- Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
diff --git ql/src/test/results/clientpositive/subquery_unqualcolumnrefs.q.out ql/src/test/results/clientpositive/subquery_unqualcolumnrefs.q.out
index 7217ac55b3..ca14a120a6 100644
--- ql/src/test/results/clientpositive/subquery_unqualcolumnrefs.q.out
+++ ql/src/test/results/clientpositive/subquery_unqualcolumnrefs.q.out
@@ -469,15 +469,15 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col4, _col5, _col8
Statistics: Num rows: 38 Data size: 8914 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: CASE WHEN ((_col4 = 0L)) THEN (true) WHEN (_col4 is null) THEN (true) WHEN (_col8 is not null) THEN (false) WHEN (_col0 is null) THEN (null) WHEN ((_col5 < _col4)) THEN (false) ELSE (true) END (type: boolean)
- Statistics: Num rows: 19 Data size: 4457 Basic stats: COMPLETE Column stats: COMPLETE
+ predicate: (((_col5 < _col4) is not true or (_col4 = 0L) or _col4 is null or _col8 is not null or _col0 is null) and (_col0 is not null or (_col4 = 0L) or _col4 is null or _col8 is not null) and (_col8 is null or (_col4 = 0L) or _col4 is null)) (type: boolean)
+ Statistics: Num rows: 38 Data size: 8914 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col1 (type: string), _col0 (type: string), _col2 (type: int)
outputColumnNames: _col0, _col1, _col2
- Statistics: Num rows: 19 Data size: 4237 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 38 Data size: 8474 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
- Statistics: Num rows: 19 Data size: 4237 Basic stats: COMPLETE Column stats: COMPLETE
+ Statistics: Num rows: 38 Data size: 8474 Basic stats: COMPLETE Column stats: COMPLETE
table:
input format: org.apache.hadoop.mapred.SequenceFileInputFormat
output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
diff --git ql/src/test/results/clientpositive/timestamp_ints_casts.q.out ql/src/test/results/clientpositive/timestamp_ints_casts.q.out
index 83d4557c8a..f687308d9e 100644
--- ql/src/test/results/clientpositive/timestamp_ints_casts.q.out
+++ ql/src/test/results/clientpositive/timestamp_ints_casts.q.out
@@ -48,10 +48,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: ((cbigint % 250) = 0) (type: boolean)
+ filterExpr: ((cbigint % 250L) = 0L) (type: boolean)
Statistics: Num rows: 12288 Data size: 1684250 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((cbigint % 250) = 0) (type: boolean)
+ predicate: ((cbigint % 250L) = 0L) (type: boolean)
Statistics: Num rows: 6144 Data size: 842180 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: CAST( ctinyint AS TIMESTAMP) (type: timestamp), CAST( csmallint AS TIMESTAMP) (type: timestamp), CAST( cint AS TIMESTAMP) (type: timestamp), CAST( cbigint AS TIMESTAMP) (type: timestamp), CAST( cfloat AS TIMESTAMP) (type: timestamp), CAST( cdouble AS TIMESTAMP) (type: timestamp), CAST( cboolean1 AS TIMESTAMP) (type: timestamp), CAST( (cbigint * 0L) AS TIMESTAMP) (type: timestamp), ctimestamp1 (type: timestamp), CAST( cstring1 AS TIMESTAMP) (type: timestamp), CAST( substr(cstring1, 1, 1) AS TIMESTAMP) (type: timestamp)
@@ -186,10 +186,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: ((cbigint % 250) = 0) (type: boolean)
+ filterExpr: ((cbigint % 250L) = 0L) (type: boolean)
Statistics: Num rows: 12288 Data size: 1684250 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((cbigint % 250) = 0) (type: boolean)
+ predicate: ((cbigint % 250L) = 0L) (type: boolean)
Statistics: Num rows: 6144 Data size: 842180 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: CAST( ctinyint AS TIMESTAMP) (type: timestamp), CAST( csmallint AS TIMESTAMP) (type: timestamp), CAST( cint AS TIMESTAMP) (type: timestamp), CAST( cbigint AS TIMESTAMP) (type: timestamp), CAST( cfloat AS TIMESTAMP) (type: timestamp), CAST( cdouble AS TIMESTAMP) (type: timestamp), CAST( cboolean1 AS TIMESTAMP) (type: timestamp), CAST( (cbigint * 0L) AS TIMESTAMP) (type: timestamp), ctimestamp1 (type: timestamp), CAST( cstring1 AS TIMESTAMP) (type: timestamp), CAST( substr(cstring1, 1, 1) AS TIMESTAMP) (type: timestamp)
diff --git ql/src/test/results/clientpositive/udf_isops_simplify.q.out ql/src/test/results/clientpositive/udf_isops_simplify.q.out
index e9fcd05939..f764f11ee7 100644
--- ql/src/test/results/clientpositive/udf_isops_simplify.q.out
+++ ql/src/test/results/clientpositive/udf_isops_simplify.q.out
@@ -166,7 +166,7 @@ STAGE PLANS:
outputColumnNames: _col0
Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: (not _col0 is not null) (type: boolean)
+ expressions: _col0 is null (type: boolean)
outputColumnNames: _col0
Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE
File Output Operator
diff --git ql/src/test/results/clientpositive/udf_to_unix_timestamp.q.out ql/src/test/results/clientpositive/udf_to_unix_timestamp.q.out
index 1f446eb454..23969e4462 100644
--- ql/src/test/results/clientpositive/udf_to_unix_timestamp.q.out
+++ ql/src/test/results/clientpositive/udf_to_unix_timestamp.q.out
@@ -105,10 +105,10 @@ STAGE PLANS:
Processor Tree:
TableScan
alias: src
- filterExpr: (to_unix_timestamp(key) > 10) (type: boolean)
+ filterExpr: (to_unix_timestamp(key) > 10L) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (to_unix_timestamp(key) > 10) (type: boolean)
+ predicate: (to_unix_timestamp(key) > 10L) (type: boolean)
Statistics: Num rows: 166 Data size: 29548 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
@@ -134,10 +134,10 @@ STAGE PLANS:
Processor Tree:
TableScan
alias: src
- filterExpr: (to_unix_timestamp(key) > 10) (type: boolean)
+ filterExpr: (to_unix_timestamp(key) > 10L) (type: boolean)
Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (to_unix_timestamp(key) > 10) (type: boolean)
+ predicate: (to_unix_timestamp(key) > 10L) (type: boolean)
Statistics: Num rows: 166 Data size: 29548 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: key (type: string), value (type: string)
diff --git ql/src/test/results/clientpositive/union22.q.out ql/src/test/results/clientpositive/union22.q.out
index a3aa5e2c77..e04f424ca0 100644
--- ql/src/test/results/clientpositive/union22.q.out
+++ ql/src/test/results/clientpositive/union22.q.out
@@ -80,6 +80,17 @@ POSTHOOK: Input: default@dst_union22@ds=1
POSTHOOK: Input: default@dst_union22_delta
POSTHOOK: Input: default@dst_union22_delta@ds=1
POSTHOOK: Output: default@dst_union22@ds=2
+OPTIMIZED SQL: SELECT `k1`, `k2`, `k3`, `k4`
+FROM `default`.`dst_union22_delta`
+WHERE `ds` = '1' AND `k0` <= 50
+UNION ALL
+SELECT `t2`.`k1`, `t2`.`k2`, `t4`.`k3`, `t4`.`k4`
+FROM (SELECT `k1`, `k2`, `ds` = '1' AS `=`
+FROM `default`.`dst_union22`
+WHERE `k1` > 20) AS `t2`
+LEFT JOIN (SELECT `k1`, `k3`, `k4`
+FROM `default`.`dst_union22_delta`
+WHERE `ds` = '1' AND `k0` > 50 AND `k1` > 20) AS `t4` ON `t2`.`k1` = `t4`.`k1` AND `t2`.`=`
STAGE DEPENDENCIES:
Stage-7 is a root stage , consists of Stage-8, Stage-4
Stage-8 has a backup stage: Stage-4
diff --git ql/src/test/results/clientpositive/union_offcbo.q.out ql/src/test/results/clientpositive/union_offcbo.q.out
index 2e5675fe8e..76d99da9d8 100644
--- ql/src/test/results/clientpositive/union_offcbo.q.out
+++ ql/src/test/results/clientpositive/union_offcbo.q.out
@@ -644,10 +644,10 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
Statistics: Num rows: 1 Data size: 220 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (((COALESCE(_col0,-1) <> COALESCE(_col7,-1)) or (COALESCE(_col1,-1) <> COALESCE(_col8,-1))) and CASE WHEN ((_col0 is null and (_col3 >= '2016-02-05'))) THEN (true) WHEN ((_col0 is null and (_col3 <= '2016-02-05'))) THEN (false) WHEN (((_col7 = _col0) and (_col8 <> _col1))) THEN (true) ELSE (true) END) (type: boolean)
+ predicate: (((COALESCE(_col0,-1) <> COALESCE(_col7,-1)) or (COALESCE(_col1,-1) <> COALESCE(_col8,-1))) and (CASE WHEN ((_col0 is null and (_col3 >= '2016-02-05') and _col7 is not null)) THEN ('DEL') WHEN ((_col0 is null and (_col3 <= '2016-02-05') and _col7 is not null)) THEN ('RET') WHEN (((_col7 = _col0) and (_col8 <> _col1))) THEN ('A_INS') ELSE ('NA') END <> 'RET')) (type: boolean)
Statistics: Num rows: 1 Data size: 220 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col2 (type: bigint), _col5 (type: string), _col6 (type: bigint), _col4 (type: string), _col7 (type: string), _col8 (type: string), CASE WHEN ((_col0 is null and (_col3 >= '2016-02-05'))) THEN ('DEL') WHEN ((_col0 is null and (_col3 <= '2016-02-05'))) THEN ('RET') WHEN (((_col7 = _col0) and (_col8 <> _col1))) THEN ('A_INS') ELSE ('NA') END (type: string)
+ expressions: _col2 (type: bigint), _col5 (type: string), _col6 (type: bigint), _col4 (type: string), _col7 (type: string), _col8 (type: string), CASE WHEN ((_col0 is null and (_col3 >= '2016-02-05') and _col7 is not null)) THEN ('DEL') WHEN ((_col0 is null and (_col3 <= '2016-02-05') and _col7 is not null)) THEN ('RET') WHEN (((_col7 = _col0) and (_col8 <> _col1))) THEN ('A_INS') ELSE ('NA') END (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
Statistics: Num rows: 1 Data size: 220 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -715,34 +715,34 @@ STAGE PLANS:
TableScan
alias: ttest2
filterExpr: ('2015-11-20' BETWEEN dt1 AND dt2 and khash is not null) (type: boolean)
- Statistics: Num rows: 1 Data size: 736 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 920 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: ('2015-11-20' BETWEEN dt1 AND dt2 and khash is not null) (type: boolean)
- Statistics: Num rows: 1 Data size: 736 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 920 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: khash (type: string), rhash (type: string)
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 736 Basic stats: COMPLETE Column stats: NONE
+ expressions: ts1 (type: string), khash (type: string), rhash (type: string)
+ outputColumnNames: _col0, _col1, _col2
+ Statistics: Num rows: 1 Data size: 920 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
- key expressions: _col0 (type: string)
+ key expressions: _col1 (type: string)
sort order: +
- Map-reduce partition columns: _col0 (type: string)
- Statistics: Num rows: 1 Data size: 736 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: string)
+ Map-reduce partition columns: _col1 (type: string)
+ Statistics: Num rows: 1 Data size: 920 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col0 (type: string), _col2 (type: string)
Reduce Operator Tree:
Join Operator
condition map:
Left Outer Join 0 to 1
keys:
0 _col3 (type: string)
- 1 _col0 (type: string)
- outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
+ 1 _col1 (type: string)
+ outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7
Statistics: Num rows: 1 Data size: 422 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((COALESCE(_col3,-1) <> COALESCE(_col5,-1)) or (COALESCE(_col4,-1) <> COALESCE(_col6,-1))) (type: boolean)
+ predicate: (((COALESCE(_col3,-1) <> COALESCE(_col6,-1)) or (COALESCE(_col4,-1) <> COALESCE(_col7,-1))) and (CASE WHEN ((_col3 is null and (_col5 <= '2015-11-20') and _col6 is not null)) THEN ('DEL') WHEN (((_col6 is null and _col3 is not null) or ((_col6 = _col3) and (_col7 <> _col4)))) THEN ('INS') ELSE ('NA') END <> 'RET')) (type: boolean)
Statistics: Num rows: 1 Data size: 422 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col0 (type: bigint), _col1 (type: string), _col2 (type: bigint), '2099-12-31' (type: string), _col3 (type: string), _col4 (type: string), CASE WHEN ((_col5 is null or ((_col5 = _col3) and (_col6 <> _col4)))) THEN ('INS') ELSE ('NA') END (type: string)
+ expressions: _col0 (type: bigint), _col1 (type: string), _col2 (type: bigint), '2099-12-31' (type: string), _col3 (type: string), _col4 (type: string), CASE WHEN ((_col3 is null and (_col5 <= '2015-11-20') and _col6 is not null)) THEN ('DEL') WHEN (((_col6 is null and _col3 is not null) or ((_col6 = _col3) and (_col7 <> _col4)))) THEN ('INS') ELSE ('NA') END (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
Statistics: Num rows: 1 Data size: 422 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -1713,10 +1713,10 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8
Statistics: Num rows: 1 Data size: 220 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: (((COALESCE(_col0,-1) <> COALESCE(_col7,-1)) or (COALESCE(_col1,-1) <> COALESCE(_col8,-1))) and CASE WHEN ((_col0 is null and (_col3 >= '2016-02-05'))) THEN (true) WHEN ((_col0 is null and (_col3 <= '2016-02-05'))) THEN (false) WHEN (((_col7 = _col0) and (_col8 <> _col1))) THEN (true) ELSE (true) END) (type: boolean)
+ predicate: (((COALESCE(_col0,-1) <> COALESCE(_col7,-1)) or (COALESCE(_col1,-1) <> COALESCE(_col8,-1))) and (CASE WHEN ((_col0 is null and (_col3 >= '2016-02-05') and _col7 is not null)) THEN ('DEL') WHEN ((_col0 is null and (_col3 <= '2016-02-05') and _col7 is not null)) THEN ('RET') WHEN (((_col7 = _col0) and (_col8 <> _col1))) THEN ('A_INS') ELSE ('NA') END <> 'RET')) (type: boolean)
Statistics: Num rows: 1 Data size: 220 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col2 (type: bigint), _col5 (type: string), _col6 (type: bigint), _col4 (type: string), _col7 (type: string), _col8 (type: string), CASE WHEN ((_col0 is null and (_col3 >= '2016-02-05'))) THEN ('DEL') WHEN ((_col0 is null and (_col3 <= '2016-02-05'))) THEN ('RET') WHEN (((_col7 = _col0) and (_col8 <> _col1))) THEN ('A_INS') ELSE ('NA') END (type: string)
+ expressions: _col2 (type: bigint), _col5 (type: string), _col6 (type: bigint), _col4 (type: string), _col7 (type: string), _col8 (type: string), CASE WHEN ((_col0 is null and (_col3 >= '2016-02-05') and _col7 is not null)) THEN ('DEL') WHEN ((_col0 is null and (_col3 <= '2016-02-05') and _col7 is not null)) THEN ('RET') WHEN (((_col7 = _col0) and (_col8 <> _col1))) THEN ('A_INS') ELSE ('NA') END (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
Statistics: Num rows: 1 Data size: 220 Basic stats: COMPLETE Column stats: NONE
File Output Operator
@@ -1782,34 +1782,34 @@ STAGE PLANS:
value expressions: _col0 (type: bigint), _col1 (type: string), _col2 (type: bigint), _col4 (type: string)
TableScan
alias: ttest2
- Statistics: Num rows: 1 Data size: 736 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 920 Basic stats: COMPLETE Column stats: NONE
Filter Operator
predicate: ('2015-11-20' BETWEEN dt1 AND dt2 and khash is not null) (type: boolean)
- Statistics: Num rows: 1 Data size: 736 Basic stats: COMPLETE Column stats: NONE
+ Statistics: Num rows: 1 Data size: 920 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: khash (type: string), rhash (type: string)
- outputColumnNames: _col0, _col1
- Statistics: Num rows: 1 Data size: 736 Basic stats: COMPLETE Column stats: NONE
+ expressions: ts1 (type: string), khash (type: string), rhash (type: string)
+ outputColumnNames: _col0, _col1, _col2
+ Statistics: Num rows: 1 Data size: 920 Basic stats: COMPLETE Column stats: NONE
Reduce Output Operator
- key expressions: _col0 (type: string)
+ key expressions: _col1 (type: string)
sort order: +
- Map-reduce partition columns: _col0 (type: string)
- Statistics: Num rows: 1 Data size: 736 Basic stats: COMPLETE Column stats: NONE
- value expressions: _col1 (type: string)
+ Map-reduce partition columns: _col1 (type: string)
+ Statistics: Num rows: 1 Data size: 920 Basic stats: COMPLETE Column stats: NONE
+ value expressions: _col0 (type: string), _col2 (type: string)
Reduce Operator Tree:
Join Operator
condition map:
Left Outer Join 0 to 1
keys:
0 _col3 (type: string)
- 1 _col0 (type: string)
- outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
+ 1 _col1 (type: string)
+ outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7
Statistics: Num rows: 1 Data size: 422 Basic stats: COMPLETE Column stats: NONE
Filter Operator
- predicate: ((COALESCE(_col3,-1) <> COALESCE(_col5,-1)) or (COALESCE(_col4,-1) <> COALESCE(_col6,-1))) (type: boolean)
+ predicate: (((COALESCE(_col3,-1) <> COALESCE(_col6,-1)) or (COALESCE(_col4,-1) <> COALESCE(_col7,-1))) and (CASE WHEN ((_col3 is null and (_col5 <= '2015-11-20') and _col6 is not null)) THEN ('DEL') WHEN (((_col6 is null and _col3 is not null) or ((_col6 = _col3) and (_col7 <> _col4)))) THEN ('INS') ELSE ('NA') END <> 'RET')) (type: boolean)
Statistics: Num rows: 1 Data size: 422 Basic stats: COMPLETE Column stats: NONE
Select Operator
- expressions: _col0 (type: bigint), _col1 (type: string), _col2 (type: bigint), '2099-12-31' (type: string), _col3 (type: string), _col4 (type: string), CASE WHEN ((_col5 is null or ((_col5 = _col3) and (_col6 <> _col4)))) THEN ('INS') ELSE ('NA') END (type: string)
+ expressions: _col0 (type: bigint), _col1 (type: string), _col2 (type: bigint), '2099-12-31' (type: string), _col3 (type: string), _col4 (type: string), CASE WHEN ((_col3 is null and (_col5 <= '2015-11-20') and _col6 is not null)) THEN ('DEL') WHEN (((_col6 is null and _col3 is not null) or ((_col6 = _col3) and (_col7 <> _col4)))) THEN ('INS') ELSE ('NA') END (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
Statistics: Num rows: 1 Data size: 422 Basic stats: COMPLETE Column stats: NONE
File Output Operator
diff --git ql/src/test/results/clientpositive/vector_case_when_1.q.out ql/src/test/results/clientpositive/vector_case_when_1.q.out
index 61062e1f8e..217af673ba 100644
--- ql/src/test/results/clientpositive/vector_case_when_1.q.out
+++ ql/src/test/results/clientpositive/vector_case_when_1.q.out
@@ -206,13 +206,13 @@ STAGE PLANS:
native: true
vectorizationSchemaColumns: [0:l_orderkey:int, 1:l_partkey:int, 2:l_suppkey:int, 3:l_linenumber:int, 4:l_quantity:int, 5:l_extendedprice:double, 6:l_discount:double, 7:l_tax:decimal(10,2)/DECIMAL_64, 8:l_returnflag:char(1), 9:l_linestatus:char(1), 10:l_shipdate:date, 11:l_commitdate:date, 12:l_receiptdate:date, 13:l_shipinstruct:varchar(20), 14:l_shipmode:char(10), 15:l_comment:string, 16:ROW__ID:struct]
Select Operator
- expressions: l_quantity (type: int), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE ('Huge number') END (type: string), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE (null) END (type: string), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN (null) ELSE (null) END (type: string), if((l_shipmode = 'SHIP '), date_add(l_shipdate, 10), date_add(l_shipdate, 5)) (type: date), CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0) END (type: double), CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0.0D) END (type: double), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), null, l_tax) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, null) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax) (type: decimal(12,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0) (type: decimal(12,2)), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0) (type: decimal(10,2)), if((l_partkey > 30), CAST( l_receiptdate AS TIMESTAMP), CAST( l_commitdate AS TIMESTAMP)) (type: timestamp), if((l_suppkey > 10000), datediff(l_receiptdate, l_commitdate), null) (type: int), if((l_suppkey > 10000), null, datediff(l_receiptdate, l_commitdate)) (type: int), if(((l_suppkey % 500) > 100), DATE'2009-01-01', DATE'2009-12-31') (type: date)
+ expressions: l_quantity (type: int), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE ('Huge number') END (type: string), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE (null) END (type: string), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') ELSE (null) END (type: string), if((l_shipmode = 'SHIP '), date_add(l_shipdate, 10), date_add(l_shipdate, 5)) (type: date), CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0) END (type: double), CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0.0D) END (type: double), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), null, l_tax) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, null) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax) (type: decimal(12,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0) (type: decimal(12,2)), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0) (type: decimal(10,2)), if((l_partkey > 30), CAST( l_receiptdate AS TIMESTAMP), CAST( l_commitdate AS TIMESTAMP)) (type: timestamp), if((l_suppkey > 10000), datediff(l_receiptdate, l_commitdate), null) (type: int), if((l_suppkey > 10000), null, datediff(l_receiptdate, l_commitdate)) (type: int), if(((l_suppkey % 500) > 100), DATE'2009-01-01', DATE'2009-12-31') (type: date)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [4, 21, 26, 31, 35, 39, 43, 45, 47, 49, 51, 53, 55, 59, 62, 65, 68]
- selectExpressions: VectorUDFAdaptor(CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE ('Huge number') END)(children: LongColEqualLongScalar(col 4:int, val 1) -> 17:boolean, LongColEqualLongScalar(col 4:int, val 2) -> 18:boolean, LongColLessLongScalar(col 4:int, val 10) -> 19:boolean, LongColLessLongScalar(col 4:int, val 100) -> 20:boolean) -> 21:string, VectorUDFAdaptor(CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE (null) END)(children: LongColEqualLongScalar(col 4:int, val 1) -> 22:boolean, LongColEqualLongScalar(col 4:int, val 2) -> 23:boolean, LongColLessLongScalar(col 4:int, val 10) -> 24:boolean, LongColLessLongScalar(col 4:int, val 100) -> 25:boolean) -> 26:string, VectorUDFAdaptor(CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN (null) ELSE (null) END)(children: LongColEqualLongScalar(col 4:int, val 1) -> 27:boolean, LongColEqualLongScalar(col 4:int, val 2) -> 28:boolean, LongColLessLongScalar(col 4:int, val 10) -> 29:boolean, LongColLessLongScalar(col 4:int, val 100) -> 30:boolean) -> 31:string, IfExprLongColumnLongColumn(col 32:boolean, col 33:date, col 34:date)(children: StringGroupColEqualCharScalar(col 14:char(10), val SHIP) -> 32:boolean, VectorUDFDateAddColScalar(col 10:date, val 10) -> 33:date, VectorUDFDateAddColScalar(col 10:date, val 5) -> 34:date) -> 35:date, VectorUDFAdaptor(CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0) END)(children: StringGroupColEqualCharScalar(col 8:char(1), val N) -> 36:boolean, DoubleColMultiplyDoubleColumn(col 5:double, col 37:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 37:double) -> 38:double) -> 39:double, VectorUDFAdaptor(CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0.0D) END)(children: StringGroupColEqualCharScalar(col 8:char(1), val N) -> 40:boolean, DoubleColMultiplyDoubleColumn(col 5:double, col 41:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 41:double) -> 42:double) -> 43:double, VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), null, l_tax))(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 44:boolean) -> 45:decimal(10,2), VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, null))(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 46:boolean) -> 47:decimal(10,2), VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax))(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 48:boolean) -> 49:decimal(12,2), VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0))(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 50:boolean) -> 51:decimal(12,2), IfExprDecimal64ScalarDecimal64Column(col 52:boolean, decimal64Val 0, decimalVal 0, col 7:decimal(10,2)/DECIMAL_64)(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 52:boolean) -> 53:decimal(10,2)/DECIMAL_64, IfExprDecimal64ColumnDecimal64Scalar(col 54:boolean, col 7:decimal(10,2)/DECIMAL_64, decimal64Val 0, decimalVal 0)(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 54:boolean) -> 55:decimal(10,2)/DECIMAL_64, IfExprTimestampColumnColumn(col 56:boolean, col 57:timestampcol 58:timestamp)(children: LongColGreaterLongScalar(col 1:int, val 30) -> 56:boolean, CastDateToTimestamp(col 12:date) -> 57:timestamp, CastDateToTimestamp(col 11:date) -> 58:timestamp) -> 59:timestamp, VectorUDFAdaptor(if((l_suppkey > 10000), datediff(l_receiptdate, l_commitdate), null))(children: LongColGreaterLongScalar(col 2:int, val 10000) -> 60:boolean, VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 61:int) -> 62:int, VectorUDFAdaptor(if((l_suppkey > 10000), null, datediff(l_receiptdate, l_commitdate)))(children: LongColGreaterLongScalar(col 2:int, val 10000) -> 63:boolean, VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 64:int) -> 65:int, IfExprLongScalarLongScalar(col 67:boolean, val 14245, val 14609)(children: LongColGreaterLongScalar(col 66:int, val 100)(children: LongColModuloLongScalar(col 2:int, val 500) -> 66:int) -> 67:boolean) -> 68:date
+ projectedOutputColumnNums: [4, 21, 26, 30, 34, 38, 42, 44, 46, 48, 50, 52, 54, 58, 61, 64, 67]
+ selectExpressions: VectorUDFAdaptor(CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE ('Huge number') END)(children: LongColEqualLongScalar(col 4:int, val 1) -> 17:boolean, LongColEqualLongScalar(col 4:int, val 2) -> 18:boolean, LongColLessLongScalar(col 4:int, val 10) -> 19:boolean, LongColLessLongScalar(col 4:int, val 100) -> 20:boolean) -> 21:string, VectorUDFAdaptor(CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE (null) END)(children: LongColEqualLongScalar(col 4:int, val 1) -> 22:boolean, LongColEqualLongScalar(col 4:int, val 2) -> 23:boolean, LongColLessLongScalar(col 4:int, val 10) -> 24:boolean, LongColLessLongScalar(col 4:int, val 100) -> 25:boolean) -> 26:string, VectorUDFAdaptor(CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') ELSE (null) END)(children: LongColEqualLongScalar(col 4:int, val 1) -> 27:boolean, LongColEqualLongScalar(col 4:int, val 2) -> 28:boolean, LongColLessLongScalar(col 4:int, val 10) -> 29:boolean) -> 30:string, IfExprLongColumnLongColumn(col 31:boolean, col 32:date, col 33:date)(children: StringGroupColEqualCharScalar(col 14:char(10), val SHIP) -> 31:boolean, VectorUDFDateAddColScalar(col 10:date, val 10) -> 32:date, VectorUDFDateAddColScalar(col 10:date, val 5) -> 33:date) -> 34:date, VectorUDFAdaptor(CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0) END)(children: StringGroupColEqualCharScalar(col 8:char(1), val N) -> 35:boolean, DoubleColMultiplyDoubleColumn(col 5:double, col 36:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 36:double) -> 37:double) -> 38:double, VectorUDFAdaptor(CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0.0D) END)(children: StringGroupColEqualCharScalar(col 8:char(1), val N) -> 39:boolean, DoubleColMultiplyDoubleColumn(col 5:double, col 40:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 40:double) -> 41:double) -> 42:double, VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), null, l_tax))(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 43:boolean) -> 44:decimal(10,2), VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, null))(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 45:boolean) -> 46:decimal(10,2), VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax))(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 47:boolean) -> 48:decimal(12,2), VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0))(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 49:boolean) -> 50:decimal(12,2), IfExprDecimal64ScalarDecimal64Column(col 51:boolean, decimal64Val 0, decimalVal 0, col 7:decimal(10,2)/DECIMAL_64)(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 51:boolean) -> 52:decimal(10,2)/DECIMAL_64, IfExprDecimal64ColumnDecimal64Scalar(col 53:boolean, col 7:decimal(10,2)/DECIMAL_64, decimal64Val 0, decimalVal 0)(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 53:boolean) -> 54:decimal(10,2)/DECIMAL_64, IfExprTimestampColumnColumn(col 55:boolean, col 56:timestampcol 57:timestamp)(children: LongColGreaterLongScalar(col 1:int, val 30) -> 55:boolean, CastDateToTimestamp(col 12:date) -> 56:timestamp, CastDateToTimestamp(col 11:date) -> 57:timestamp) -> 58:timestamp, VectorUDFAdaptor(if((l_suppkey > 10000), datediff(l_receiptdate, l_commitdate), null))(children: LongColGreaterLongScalar(col 2:int, val 10000) -> 59:boolean, VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 60:int) -> 61:int, VectorUDFAdaptor(if((l_suppkey > 10000), null, datediff(l_receiptdate, l_commitdate)))(children: LongColGreaterLongScalar(col 2:int, val 10000) -> 62:boolean, VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 63:int) -> 64:int, IfExprLongScalarLongScalar(col 66:boolean, val 14245, val 14609)(children: LongColGreaterLongScalar(col 65:int, val 100)(children: LongColModuloLongScalar(col 2:int, val 500) -> 65:int) -> 66:boolean) -> 67:date
Statistics: Num rows: 101 Data size: 141804 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
@@ -239,7 +239,7 @@ STAGE PLANS:
includeColumns: [1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14]
dataColumns: l_orderkey:int, l_partkey:int, l_suppkey:int, l_linenumber:int, l_quantity:int, l_extendedprice:double, l_discount:double, l_tax:decimal(10,2)/DECIMAL_64, l_returnflag:char(1), l_linestatus:char(1), l_shipdate:date, l_commitdate:date, l_receiptdate:date, l_shipinstruct:varchar(20), l_shipmode:char(10), l_comment:string
partitionColumnCount: 0
- scratchColumnTypeNames: [bigint, bigint, bigint, bigint, string, bigint, bigint, bigint, bigint, string, bigint, bigint, bigint, bigint, string, bigint, bigint, bigint, bigint, bigint, double, double, double, bigint, double, double, double, bigint, decimal(10,2), bigint, decimal(10,2), bigint, decimal(12,2), bigint, decimal(12,2), bigint, decimal(10,2)/DECIMAL_64, bigint, decimal(10,2)/DECIMAL_64, bigint, timestamp, timestamp, timestamp, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint]
+ scratchColumnTypeNames: [bigint, bigint, bigint, bigint, string, bigint, bigint, bigint, bigint, string, bigint, bigint, bigint, string, bigint, bigint, bigint, bigint, bigint, double, double, double, bigint, double, double, double, bigint, decimal(10,2), bigint, decimal(10,2), bigint, decimal(12,2), bigint, decimal(12,2), bigint, decimal(10,2)/DECIMAL_64, bigint, decimal(10,2)/DECIMAL_64, bigint, timestamp, timestamp, timestamp, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint]
Stage: Stage-0
Fetch Operator
@@ -539,13 +539,13 @@ STAGE PLANS:
native: true
vectorizationSchemaColumns: [0:l_orderkey:int, 1:l_partkey:int, 2:l_suppkey:int, 3:l_linenumber:int, 4:l_quantity:int, 5:l_extendedprice:double, 6:l_discount:double, 7:l_tax:decimal(10,2)/DECIMAL_64, 8:l_returnflag:char(1), 9:l_linestatus:char(1), 10:l_shipdate:date, 11:l_commitdate:date, 12:l_receiptdate:date, 13:l_shipinstruct:varchar(20), 14:l_shipmode:char(10), 15:l_comment:string, 16:ROW__ID:struct]
Select Operator
- expressions: l_quantity (type: int), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE ('Huge number') END (type: string), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE (null) END (type: string), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN (null) ELSE (null) END (type: string), if((l_shipmode = 'SHIP '), date_add(l_shipdate, 10), date_add(l_shipdate, 5)) (type: date), CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0) END (type: double), CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0.0D) END (type: double), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), null, l_tax) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, null) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax) (type: decimal(12,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0) (type: decimal(12,2)), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0) (type: decimal(10,2)), if((l_partkey > 30), CAST( l_receiptdate AS TIMESTAMP), CAST( l_commitdate AS TIMESTAMP)) (type: timestamp), if((l_suppkey > 10000), datediff(l_receiptdate, l_commitdate), null) (type: int), if((l_suppkey > 10000), null, datediff(l_receiptdate, l_commitdate)) (type: int), if(((l_suppkey % 500) > 100), DATE'2009-01-01', DATE'2009-12-31') (type: date)
+ expressions: l_quantity (type: int), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE ('Huge number') END (type: string), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE (null) END (type: string), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') ELSE (null) END (type: string), if((l_shipmode = 'SHIP '), date_add(l_shipdate, 10), date_add(l_shipdate, 5)) (type: date), CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0) END (type: double), CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0.0D) END (type: double), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), null, l_tax) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, null) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax) (type: decimal(12,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0) (type: decimal(12,2)), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0) (type: decimal(10,2)), if((l_partkey > 30), CAST( l_receiptdate AS TIMESTAMP), CAST( l_commitdate AS TIMESTAMP)) (type: timestamp), if((l_suppkey > 10000), datediff(l_receiptdate, l_commitdate), null) (type: int), if((l_suppkey > 10000), null, datediff(l_receiptdate, l_commitdate)) (type: int), if(((l_suppkey % 500) > 100), DATE'2009-01-01', DATE'2009-12-31') (type: date)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16
Select Vectorization:
className: VectorSelectOperator
native: true
projectedOutputColumnNums: [4, 24, 33, 40, 44, 49, 53, 55, 57, 59, 61, 63, 65, 69, 72, 75, 78]
- selectExpressions: IfExprStringScalarStringGroupColumn(col 17:boolean, val Singlecol 23:string)(children: LongColEqualLongScalar(col 4:int, val 1) -> 17:boolean, IfExprStringScalarStringGroupColumn(col 18:boolean, val Twocol 22:string)(children: LongColEqualLongScalar(col 4:int, val 2) -> 18:boolean, IfExprStringScalarStringGroupColumn(col 19:boolean, val Somecol 21:string)(children: LongColLessLongScalar(col 4:int, val 10) -> 19:boolean, IfExprStringScalarStringScalar(col 20:boolean, val Many, val Huge number)(children: LongColLessLongScalar(col 4:int, val 100) -> 20:boolean) -> 21:string) -> 22:string) -> 23:string) -> 24:string, IfExprStringScalarStringGroupColumn(col 25:boolean, val Singlecol 32:string)(children: LongColEqualLongScalar(col 4:int, val 1) -> 25:boolean, IfExprStringScalarStringGroupColumn(col 26:boolean, val Twocol 31:string)(children: LongColEqualLongScalar(col 4:int, val 2) -> 26:boolean, IfExprStringScalarStringGroupColumn(col 27:boolean, val Somecol 30:string)(children: LongColLessLongScalar(col 4:int, val 10) -> 27:boolean, IfExprColumnNull(col 28:boolean, col 29:string, null)(children: LongColLessLongScalar(col 4:int, val 100) -> 28:boolean, ConstantVectorExpression(val Many) -> 29:string) -> 30:string) -> 31:string) -> 32:string) -> 33:string, IfExprStringScalarStringGroupColumn(col 34:boolean, val Singlecol 39:string)(children: LongColEqualLongScalar(col 4:int, val 1) -> 34:boolean, IfExprStringScalarStringGroupColumn(col 35:boolean, val Twocol 38:string)(children: LongColEqualLongScalar(col 4:int, val 2) -> 35:boolean, IfExprStringScalarStringGroupColumn(col 36:boolean, val Somecol 37:string)(children: LongColLessLongScalar(col 4:int, val 10) -> 36:boolean, IfExprNullNull(null, null) -> 37:string) -> 38:string) -> 39:string) -> 40:string, IfExprLongColumnLongColumn(col 41:boolean, col 42:date, col 43:date)(children: StringGroupColEqualCharScalar(col 14:char(10), val SHIP) -> 41:boolean, VectorUDFDateAddColScalar(col 10:date, val 10) -> 42:date, VectorUDFDateAddColScalar(col 10:date, val 5) -> 43:date) -> 44:date, IfExprDoubleColumnDoubleColumn(col 45:boolean, col 47:doublecol 48:double)(children: StringGroupColEqualCharScalar(col 8:char(1), val N) -> 45:boolean, DoubleColMultiplyDoubleColumn(col 5:double, col 46:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 46:double) -> 47:double, ConstantVectorExpression(val 0.0) -> 48:double) -> 49:double, IfExprDoubleColumnDoubleScalar(col 50:boolean, col 52:double, val 0.0)(children: StringGroupColEqualCharScalar(col 8:char(1), val N) -> 50:boolean, DoubleColMultiplyDoubleColumn(col 5:double, col 51:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 51:double) -> 52:double) -> 53:double, IfExprNullColumn(col 54:boolean, null, col 79)(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 54:boolean, ConvertDecimal64ToDecimal(col 7:decimal(10,2)/DECIMAL_64) -> 79:decimal(10,2)) -> 55:decimal(10,2), IfExprColumnNull(col 56:boolean, col 80:decimal(10,2), null)(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 56:boolean, ConvertDecimal64ToDecimal(col 7:decimal(10,2)/DECIMAL_64) -> 80:decimal(10,2)) -> 57:decimal(10,2), VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax))(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 58:boolean) -> 59:decimal(12,2), VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0))(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 60:boolean) -> 61:decimal(12,2), IfExprDecimal64ScalarDecimal64Column(col 62:boolean, decimal64Val 0, decimalVal 0, col 7:decimal(10,2)/DECIMAL_64)(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 62:boolean) -> 63:decimal(10,2)/DECIMAL_64, IfExprDecimal64ColumnDecimal64Scalar(col 64:boolean, col 7:decimal(10,2)/DECIMAL_64, decimal64Val 0, decimalVal 0)(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 64:boolean) -> 65:decimal(10,2)/DECIMAL_64, IfExprTimestampColumnColumn(col 66:boolean, col 67:timestampcol 68:timestamp)(children: LongColGreaterLongScalar(col 1:int, val 30) -> 66:boolean, CastDateToTimestamp(col 12:date) -> 67:timestamp, CastDateToTimestamp(col 11:date) -> 68:timestamp) -> 69:timestamp, IfExprColumnNull(col 70:boolean, col 71:int, null)(children: LongColGreaterLongScalar(col 2:int, val 10000) -> 70:boolean, VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 71:int) -> 72:int, IfExprNullColumn(col 73:boolean, null, col 74)(children: LongColGreaterLongScalar(col 2:int, val 10000) -> 73:boolean, VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 74:int) -> 75:int, IfExprLongScalarLongScalar(col 77:boolean, val 14245, val 14609)(children: LongColGreaterLongScalar(col 76:int, val 100)(children: LongColModuloLongScalar(col 2:int, val 500) -> 76:int) -> 77:boolean) -> 78:date
+ selectExpressions: IfExprStringScalarStringGroupColumn(col 17:boolean, val Singlecol 23:string)(children: LongColEqualLongScalar(col 4:int, val 1) -> 17:boolean, IfExprStringScalarStringGroupColumn(col 18:boolean, val Twocol 22:string)(children: LongColEqualLongScalar(col 4:int, val 2) -> 18:boolean, IfExprStringScalarStringGroupColumn(col 19:boolean, val Somecol 21:string)(children: LongColLessLongScalar(col 4:int, val 10) -> 19:boolean, IfExprStringScalarStringScalar(col 20:boolean, val Many, val Huge number)(children: LongColLessLongScalar(col 4:int, val 100) -> 20:boolean) -> 21:string) -> 22:string) -> 23:string) -> 24:string, IfExprStringScalarStringGroupColumn(col 25:boolean, val Singlecol 32:string)(children: LongColEqualLongScalar(col 4:int, val 1) -> 25:boolean, IfExprStringScalarStringGroupColumn(col 26:boolean, val Twocol 31:string)(children: LongColEqualLongScalar(col 4:int, val 2) -> 26:boolean, IfExprStringScalarStringGroupColumn(col 27:boolean, val Somecol 30:string)(children: LongColLessLongScalar(col 4:int, val 10) -> 27:boolean, IfExprColumnNull(col 28:boolean, col 29:string, null)(children: LongColLessLongScalar(col 4:int, val 100) -> 28:boolean, ConstantVectorExpression(val Many) -> 29:string) -> 30:string) -> 31:string) -> 32:string) -> 33:string, IfExprStringScalarStringGroupColumn(col 34:boolean, val Singlecol 39:string)(children: LongColEqualLongScalar(col 4:int, val 1) -> 34:boolean, IfExprStringScalarStringGroupColumn(col 35:boolean, val Twocol 38:string)(children: LongColEqualLongScalar(col 4:int, val 2) -> 35:boolean, IfExprColumnNull(col 36:boolean, col 37:string, null)(children: LongColLessLongScalar(col 4:int, val 10) -> 36:boolean, ConstantVectorExpression(val Some) -> 37:string) -> 38:string) -> 39:string) -> 40:string, IfExprLongColumnLongColumn(col 41:boolean, col 42:date, col 43:date)(children: StringGroupColEqualCharScalar(col 14:char(10), val SHIP) -> 41:boolean, VectorUDFDateAddColScalar(col 10:date, val 10) -> 42:date, VectorUDFDateAddColScalar(col 10:date, val 5) -> 43:date) -> 44:date, IfExprDoubleColumnDoubleColumn(col 45:boolean, col 47:doublecol 48:double)(children: StringGroupColEqualCharScalar(col 8:char(1), val N) -> 45:boolean, DoubleColMultiplyDoubleColumn(col 5:double, col 46:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 46:double) -> 47:double, ConstantVectorExpression(val 0.0) -> 48:double) -> 49:double, IfExprDoubleColumnDoubleScalar(col 50:boolean, col 52:double, val 0.0)(children: StringGroupColEqualCharScalar(col 8:char(1), val N) -> 50:boolean, DoubleColMultiplyDoubleColumn(col 5:double, col 51:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 51:double) -> 52:double) -> 53:double, IfExprNullColumn(col 54:boolean, null, col 79)(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 54:boolean, ConvertDecimal64ToDecimal(col 7:decimal(10,2)/DECIMAL_64) -> 79:decimal(10,2)) -> 55:decimal(10,2), IfExprColumnNull(col 56:boolean, col 80:decimal(10,2), null)(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 56:boolean, ConvertDecimal64ToDecimal(col 7:decimal(10,2)/DECIMAL_64) -> 80:decimal(10,2)) -> 57:decimal(10,2), VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax))(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 58:boolean) -> 59:decimal(12,2), VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0))(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 60:boolean) -> 61:decimal(12,2), IfExprDecimal64ScalarDecimal64Column(col 62:boolean, decimal64Val 0, decimalVal 0, col 7:decimal(10,2)/DECIMAL_64)(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 62:boolean) -> 63:decimal(10,2)/DECIMAL_64, IfExprDecimal64ColumnDecimal64Scalar(col 64:boolean, col 7:decimal(10,2)/DECIMAL_64, decimal64Val 0, decimalVal 0)(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 64:boolean) -> 65:decimal(10,2)/DECIMAL_64, IfExprTimestampColumnColumn(col 66:boolean, col 67:timestampcol 68:timestamp)(children: LongColGreaterLongScalar(col 1:int, val 30) -> 66:boolean, CastDateToTimestamp(col 12:date) -> 67:timestamp, CastDateToTimestamp(col 11:date) -> 68:timestamp) -> 69:timestamp, IfExprColumnNull(col 70:boolean, col 71:int, null)(children: LongColGreaterLongScalar(col 2:int, val 10000) -> 70:boolean, VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 71:int) -> 72:int, IfExprNullColumn(col 73:boolean, null, col 74)(children: LongColGreaterLongScalar(col 2:int, val 10000) -> 73:boolean, VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 74:int) -> 75:int, IfExprLongScalarLongScalar(col 77:boolean, val 14245, val 14609)(children: LongColGreaterLongScalar(col 76:int, val 100)(children: LongColModuloLongScalar(col 2:int, val 500) -> 76:int) -> 77:boolean) -> 78:date
Statistics: Num rows: 101 Data size: 141804 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
@@ -872,13 +872,13 @@ STAGE PLANS:
native: true
vectorizationSchemaColumns: [0:l_orderkey:int, 1:l_partkey:int, 2:l_suppkey:int, 3:l_linenumber:int, 4:l_quantity:int, 5:l_extendedprice:double, 6:l_discount:double, 7:l_tax:decimal(10,2)/DECIMAL_64, 8:l_returnflag:char(1), 9:l_linestatus:char(1), 10:l_shipdate:date, 11:l_commitdate:date, 12:l_receiptdate:date, 13:l_shipinstruct:varchar(20), 14:l_shipmode:char(10), 15:l_comment:string, 16:ROW__ID:struct]
Select Operator
- expressions: l_quantity (type: int), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE ('Huge number') END (type: string), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE (null) END (type: string), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN (null) ELSE (null) END (type: string), if((l_shipmode = 'SHIP '), date_add(l_shipdate, 10), date_add(l_shipdate, 5)) (type: date), CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0) END (type: double), CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0.0D) END (type: double), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), null, l_tax) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, null) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax) (type: decimal(12,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0) (type: decimal(12,2)), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0) (type: decimal(10,2)), if((l_partkey > 30), CAST( l_receiptdate AS TIMESTAMP), CAST( l_commitdate AS TIMESTAMP)) (type: timestamp), if((l_suppkey > 10000), datediff(l_receiptdate, l_commitdate), null) (type: int), if((l_suppkey > 10000), null, datediff(l_receiptdate, l_commitdate)) (type: int), if(((l_suppkey % 500) > 100), DATE'2009-01-01', DATE'2009-12-31') (type: date)
+ expressions: l_quantity (type: int), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE ('Huge number') END (type: string), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE (null) END (type: string), CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') ELSE (null) END (type: string), if((l_shipmode = 'SHIP '), date_add(l_shipdate, 10), date_add(l_shipdate, 5)) (type: date), CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0) END (type: double), CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * (1.0D - l_discount))) ELSE (0.0D) END (type: double), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), null, l_tax) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, null) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax) (type: decimal(12,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0) (type: decimal(12,2)), if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax) (type: decimal(10,2)), if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0) (type: decimal(10,2)), if((l_partkey > 30), CAST( l_receiptdate AS TIMESTAMP), CAST( l_commitdate AS TIMESTAMP)) (type: timestamp), if((l_suppkey > 10000), datediff(l_receiptdate, l_commitdate), null) (type: int), if((l_suppkey > 10000), null, datediff(l_receiptdate, l_commitdate)) (type: int), if(((l_suppkey % 500) > 100), DATE'2009-01-01', DATE'2009-12-31') (type: date)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [4, 27, 39, 49, 53, 58, 63, 65, 67, 72, 77, 79, 81, 85, 88, 91, 94]
- selectExpressions: IfExprColumnCondExpr(col 17:boolean, col 18:stringcol 26:string)(children: LongColEqualLongScalar(col 4:int, val 1) -> 17:boolean, ConstantVectorExpression(val Single) -> 18:string, IfExprColumnCondExpr(col 19:boolean, col 20:stringcol 25:string)(children: LongColEqualLongScalar(col 4:int, val 2) -> 19:boolean, ConstantVectorExpression(val Two) -> 20:string, IfExprColumnCondExpr(col 21:boolean, col 22:stringcol 24:string)(children: LongColLessLongScalar(col 4:int, val 10) -> 21:boolean, ConstantVectorExpression(val Some) -> 22:string, IfExprStringScalarStringScalar(col 23:boolean, val Many, val Huge number)(children: LongColLessLongScalar(col 4:int, val 100) -> 23:boolean) -> 24:string) -> 25:string) -> 26:string) -> 27:string, IfExprColumnCondExpr(col 28:boolean, col 29:stringcol 38:string)(children: LongColEqualLongScalar(col 4:int, val 1) -> 28:boolean, ConstantVectorExpression(val Single) -> 29:string, IfExprColumnCondExpr(col 30:boolean, col 31:stringcol 37:string)(children: LongColEqualLongScalar(col 4:int, val 2) -> 30:boolean, ConstantVectorExpression(val Two) -> 31:string, IfExprColumnCondExpr(col 32:boolean, col 33:stringcol 36:string)(children: LongColLessLongScalar(col 4:int, val 10) -> 32:boolean, ConstantVectorExpression(val Some) -> 33:string, IfExprColumnNull(col 34:boolean, col 35:string, null)(children: LongColLessLongScalar(col 4:int, val 100) -> 34:boolean, ConstantVectorExpression(val Many) -> 35:string) -> 36:string) -> 37:string) -> 38:string) -> 39:string, IfExprColumnCondExpr(col 40:boolean, col 41:stringcol 48:string)(children: LongColEqualLongScalar(col 4:int, val 1) -> 40:boolean, ConstantVectorExpression(val Single) -> 41:string, IfExprColumnCondExpr(col 42:boolean, col 43:stringcol 47:string)(children: LongColEqualLongScalar(col 4:int, val 2) -> 42:boolean, ConstantVectorExpression(val Two) -> 43:string, IfExprColumnCondExpr(col 44:boolean, col 45:stringcol 46:string)(children: LongColLessLongScalar(col 4:int, val 10) -> 44:boolean, ConstantVectorExpression(val Some) -> 45:string, IfExprNullNull(null, null) -> 46:string) -> 47:string) -> 48:string) -> 49:string, IfExprCondExprCondExpr(col 50:boolean, col 51:datecol 52:date)(children: StringGroupColEqualCharScalar(col 14:char(10), val SHIP) -> 50:boolean, VectorUDFDateAddColScalar(col 10:date, val 10) -> 51:date, VectorUDFDateAddColScalar(col 10:date, val 5) -> 52:date) -> 53:date, IfExprCondExprCondExpr(col 54:boolean, col 56:doublecol 57:double)(children: StringGroupColEqualCharScalar(col 8:char(1), val N) -> 54:boolean, DoubleColMultiplyDoubleColumn(col 5:double, col 55:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 55:double) -> 56:double, ConstantVectorExpression(val 0.0) -> 57:double) -> 58:double, IfExprCondExprColumn(col 59:boolean, col 61:double, col 62:double)(children: StringGroupColEqualCharScalar(col 8:char(1), val N) -> 59:boolean, DoubleColMultiplyDoubleColumn(col 5:double, col 60:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 60:double) -> 61:double, ConstantVectorExpression(val 0.0) -> 62:double) -> 63:double, IfExprNullColumn(col 64:boolean, null, col 95)(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 64:boolean, ConvertDecimal64ToDecimal(col 7:decimal(10,2)/DECIMAL_64) -> 95:decimal(10,2)) -> 65:decimal(10,2), IfExprColumnNull(col 66:boolean, col 96:decimal(10,2), null)(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 66:boolean, ConvertDecimal64ToDecimal(col 7:decimal(10,2)/DECIMAL_64) -> 96:decimal(10,2)) -> 67:decimal(10,2), VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax))(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 71:boolean) -> 72:decimal(12,2), VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0))(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 76:boolean) -> 77:decimal(12,2), IfExprDecimal64ScalarDecimal64Column(col 78:boolean, decimal64Val 0, decimalVal 0, col 7:decimal(10,2)/DECIMAL_64)(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 78:boolean) -> 79:decimal(10,2)/DECIMAL_64, IfExprDecimal64ColumnDecimal64Scalar(col 80:boolean, col 7:decimal(10,2)/DECIMAL_64, decimal64Val 0, decimalVal 0)(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 80:boolean) -> 81:decimal(10,2)/DECIMAL_64, IfExprCondExprCondExpr(col 82:boolean, col 83:timestampcol 84:timestamp)(children: LongColGreaterLongScalar(col 1:int, val 30) -> 82:boolean, CastDateToTimestamp(col 12:date) -> 83:timestamp, CastDateToTimestamp(col 11:date) -> 84:timestamp) -> 85:timestamp, IfExprCondExprNull(col 86:boolean, col 87:int, null)(children: LongColGreaterLongScalar(col 2:int, val 10000) -> 86:boolean, VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 87:int) -> 88:int, IfExprNullCondExpr(col 89:boolean, null, col 90:int)(children: LongColGreaterLongScalar(col 2:int, val 10000) -> 89:boolean, VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 90:int) -> 91:int, IfExprLongScalarLongScalar(col 93:boolean, val 14245, val 14609)(children: LongColGreaterLongScalar(col 92:int, val 100)(children: LongColModuloLongScalar(col 2:int, val 500) -> 92:int) -> 93:boolean) -> 94:date
+ projectedOutputColumnNums: [4, 27, 39, 48, 52, 57, 62, 64, 66, 71, 76, 78, 80, 84, 87, 90, 93]
+ selectExpressions: IfExprColumnCondExpr(col 17:boolean, col 18:stringcol 26:string)(children: LongColEqualLongScalar(col 4:int, val 1) -> 17:boolean, ConstantVectorExpression(val Single) -> 18:string, IfExprColumnCondExpr(col 19:boolean, col 20:stringcol 25:string)(children: LongColEqualLongScalar(col 4:int, val 2) -> 19:boolean, ConstantVectorExpression(val Two) -> 20:string, IfExprColumnCondExpr(col 21:boolean, col 22:stringcol 24:string)(children: LongColLessLongScalar(col 4:int, val 10) -> 21:boolean, ConstantVectorExpression(val Some) -> 22:string, IfExprStringScalarStringScalar(col 23:boolean, val Many, val Huge number)(children: LongColLessLongScalar(col 4:int, val 100) -> 23:boolean) -> 24:string) -> 25:string) -> 26:string) -> 27:string, IfExprColumnCondExpr(col 28:boolean, col 29:stringcol 38:string)(children: LongColEqualLongScalar(col 4:int, val 1) -> 28:boolean, ConstantVectorExpression(val Single) -> 29:string, IfExprColumnCondExpr(col 30:boolean, col 31:stringcol 37:string)(children: LongColEqualLongScalar(col 4:int, val 2) -> 30:boolean, ConstantVectorExpression(val Two) -> 31:string, IfExprColumnCondExpr(col 32:boolean, col 33:stringcol 36:string)(children: LongColLessLongScalar(col 4:int, val 10) -> 32:boolean, ConstantVectorExpression(val Some) -> 33:string, IfExprColumnNull(col 34:boolean, col 35:string, null)(children: LongColLessLongScalar(col 4:int, val 100) -> 34:boolean, ConstantVectorExpression(val Many) -> 35:string) -> 36:string) -> 37:string) -> 38:string) -> 39:string, IfExprColumnCondExpr(col 40:boolean, col 41:stringcol 47:string)(children: LongColEqualLongScalar(col 4:int, val 1) -> 40:boolean, ConstantVectorExpression(val Single) -> 41:string, IfExprColumnCondExpr(col 42:boolean, col 43:stringcol 46:string)(children: LongColEqualLongScalar(col 4:int, val 2) -> 42:boolean, ConstantVectorExpression(val Two) -> 43:string, IfExprColumnNull(col 44:boolean, col 45:string, null)(children: LongColLessLongScalar(col 4:int, val 10) -> 44:boolean, ConstantVectorExpression(val Some) -> 45:string) -> 46:string) -> 47:string) -> 48:string, IfExprCondExprCondExpr(col 49:boolean, col 50:datecol 51:date)(children: StringGroupColEqualCharScalar(col 14:char(10), val SHIP) -> 49:boolean, VectorUDFDateAddColScalar(col 10:date, val 10) -> 50:date, VectorUDFDateAddColScalar(col 10:date, val 5) -> 51:date) -> 52:date, IfExprCondExprCondExpr(col 53:boolean, col 55:doublecol 56:double)(children: StringGroupColEqualCharScalar(col 8:char(1), val N) -> 53:boolean, DoubleColMultiplyDoubleColumn(col 5:double, col 54:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 54:double) -> 55:double, ConstantVectorExpression(val 0.0) -> 56:double) -> 57:double, IfExprCondExprColumn(col 58:boolean, col 60:double, col 61:double)(children: StringGroupColEqualCharScalar(col 8:char(1), val N) -> 58:boolean, DoubleColMultiplyDoubleColumn(col 5:double, col 59:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 59:double) -> 60:double, ConstantVectorExpression(val 0.0) -> 61:double) -> 62:double, IfExprNullColumn(col 63:boolean, null, col 94)(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 63:boolean, ConvertDecimal64ToDecimal(col 7:decimal(10,2)/DECIMAL_64) -> 94:decimal(10,2)) -> 64:decimal(10,2), IfExprColumnNull(col 65:boolean, col 95:decimal(10,2), null)(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 65:boolean, ConvertDecimal64ToDecimal(col 7:decimal(10,2)/DECIMAL_64) -> 95:decimal(10,2)) -> 66:decimal(10,2), VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, l_tax))(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 70:boolean) -> 71:decimal(12,2), VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0))(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 75:boolean) -> 76:decimal(12,2), IfExprDecimal64ScalarDecimal64Column(col 77:boolean, decimal64Val 0, decimalVal 0, col 7:decimal(10,2)/DECIMAL_64)(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: col 13:varchar(20)) -> 77:boolean) -> 78:decimal(10,2)/DECIMAL_64, IfExprDecimal64ColumnDecimal64Scalar(col 79:boolean, col 7:decimal(10,2)/DECIMAL_64, decimal64Val 0, decimalVal 0)(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 79:boolean) -> 80:decimal(10,2)/DECIMAL_64, IfExprCondExprCondExpr(col 81:boolean, col 82:timestampcol 83:timestamp)(children: LongColGreaterLongScalar(col 1:int, val 30) -> 81:boolean, CastDateToTimestamp(col 12:date) -> 82:timestamp, CastDateToTimestamp(col 11:date) -> 83:timestamp) -> 84:timestamp, IfExprCondExprNull(col 85:boolean, col 86:int, null)(children: LongColGreaterLongScalar(col 2:int, val 10000) -> 85:boolean, VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 86:int) -> 87:int, IfExprNullCondExpr(col 88:boolean, null, col 89:int)(children: LongColGreaterLongScalar(col 2:int, val 10000) -> 88:boolean, VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 89:int) -> 90:int, IfExprLongScalarLongScalar(col 92:boolean, val 14245, val 14609)(children: LongColGreaterLongScalar(col 91:int, val 100)(children: LongColModuloLongScalar(col 2:int, val 500) -> 91:int) -> 92:boolean) -> 93:date
Statistics: Num rows: 101 Data size: 141804 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
@@ -905,7 +905,7 @@ STAGE PLANS:
includeColumns: [1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14]
dataColumns: l_orderkey:int, l_partkey:int, l_suppkey:int, l_linenumber:int, l_quantity:int, l_extendedprice:double, l_discount:double, l_tax:decimal(10,2)/DECIMAL_64, l_returnflag:char(1), l_linestatus:char(1), l_shipdate:date, l_commitdate:date, l_receiptdate:date, l_shipinstruct:varchar(20), l_shipmode:char(10), l_comment:string
partitionColumnCount: 0
- scratchColumnTypeNames: [bigint, string, bigint, string, bigint, string, bigint, string, string, string, string, bigint, string, bigint, string, bigint, string, bigint, string, string, string, string, string, bigint, string, bigint, string, bigint, string, string, string, string, string, bigint, bigint, bigint, bigint, bigint, double, double, double, double, bigint, double, double, double, double, bigint, decimal(10,2), bigint, decimal(10,2), bigint, bigint, decimal(12,2), bigint, decimal(12,2), bigint, decimal(12,2), bigint, bigint, decimal(12,2), bigint, decimal(10,2)/DECIMAL_64, bigint, decimal(10,2)/DECIMAL_64, bigint, timestamp, timestamp, timestamp, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, decimal(10,2), decimal(10,2)]
+ scratchColumnTypeNames: [bigint, string, bigint, string, bigint, string, bigint, string, string, string, string, bigint, string, bigint, string, bigint, string, bigint, string, string, string, string, string, bigint, string, bigint, string, bigint, string, string, string, string, bigint, bigint, bigint, bigint, bigint, double, double, double, double, bigint, double, double, double, double, bigint, decimal(10,2), bigint, decimal(10,2), bigint, bigint, decimal(12,2), bigint, decimal(12,2), bigint, decimal(12,2), bigint, bigint, decimal(12,2), bigint, decimal(10,2)/DECIMAL_64, bigint, decimal(10,2)/DECIMAL_64, bigint, timestamp, timestamp, timestamp, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, decimal(10,2), decimal(10,2)]
Stage: Stage-0
Fetch Operator
diff --git ql/src/test/results/clientpositive/vector_case_when_2.q.out ql/src/test/results/clientpositive/vector_case_when_2.q.out
index 29b0823961..aba9ff2e11 100644
--- ql/src/test/results/clientpositive/vector_case_when_2.q.out
+++ ql/src/test/results/clientpositive/vector_case_when_2.q.out
@@ -138,13 +138,13 @@ STAGE PLANS:
native: true
vectorizationSchemaColumns: [0:cdate:date, 1:ctimestamp1:timestamp, 2:stimestamp1:string, 3:ctimestamp2:timestamp, 4:ROW__ID:struct]
Select Operator
- expressions: ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), CASE WHEN ((ctimestamp2 <= TIMESTAMP'1800-12-31 00:00:00')) THEN ('1800s or Earlier') WHEN ((ctimestamp2 < TIMESTAMP'1900-01-01 00:00:00')) THEN ('1900s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE ('Unknown') END (type: string), CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE (null) END (type: string), CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN (null) ELSE (null) END (type: string), if((ctimestamp1 < TIMESTAMP'1974-10-04 17:21:03.989'), year(ctimestamp1), year(ctimestamp2)) (type: int), CASE WHEN ((stimestamp1 like '%19%')) THEN (stimestamp1) ELSE ('2018-03-08 23:04:59') END (type: string), if((ctimestamp1 = TIMESTAMP'2021-09-24 03:18:32.413655165'), null, minute(ctimestamp1)) (type: int), if(((ctimestamp2 >= TIMESTAMP'5344-10-04 18:40:08.165') and (ctimestamp2 < TIMESTAMP'6631-11-13 16:31:29.702202248')), minute(ctimestamp1), null) (type: int), if(((UDFToDouble(ctimestamp1) % 500.0D) > 100.0D), date_add(cdate, 1), date_add(cdate, 365)) (type: date), stimestamp1 (type: string)
+ expressions: ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), CASE WHEN ((ctimestamp2 <= TIMESTAMP'1800-12-31 00:00:00')) THEN ('1800s or Earlier') WHEN ((ctimestamp2 < TIMESTAMP'1900-01-01 00:00:00')) THEN ('1900s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE ('Unknown') END (type: string), CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE (null) END (type: string), CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') ELSE (null) END (type: string), if((ctimestamp1 < TIMESTAMP'1974-10-04 17:21:03.989'), year(ctimestamp1), year(ctimestamp2)) (type: int), CASE WHEN ((stimestamp1 like '%19%')) THEN (stimestamp1) ELSE ('2018-03-08 23:04:59') END (type: string), if((ctimestamp1 = TIMESTAMP'2021-09-24 03:18:32.413655165'), null, minute(ctimestamp1)) (type: int), if(((ctimestamp2 >= TIMESTAMP'5344-10-04 18:40:08.165') and (ctimestamp2 < TIMESTAMP'6631-11-13 16:31:29.702202248')), minute(ctimestamp1), null) (type: int), if(((UDFToDouble(ctimestamp1) % 500.0D) > 100.0D), date_add(cdate, 1), date_add(cdate, 365)) (type: date), stimestamp1 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [1, 3, 9, 14, 19, 23, 25, 28, 33, 39, 2]
- selectExpressions: VectorUDFAdaptor(CASE WHEN ((ctimestamp2 <= TIMESTAMP'1800-12-31 00:00:00')) THEN ('1800s or Earlier') WHEN ((ctimestamp2 < TIMESTAMP'1900-01-01 00:00:00')) THEN ('1900s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE ('Unknown') END)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 1800-12-31 00:00:00) -> 5:boolean, TimestampColLessTimestampScalar(col 3:timestamp, val 1900-01-01 00:00:00) -> 6:boolean, TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 7:boolean, TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2015-12-31 23:59:59.999999999) -> 8:boolean) -> 9:string, VectorUDFAdaptor(CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE (null) END)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2000-12-31 23:59:59.999999999) -> 10:boolean, TimestampColLessTimestampScalar(col 3:timestamp, val 2006-01-01 00:00:00) -> 11:boolean, TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 12:boolean, TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2015-12-31 23:59:59.999999999) -> 13:boolean) -> 14:string, VectorUDFAdaptor(CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN (null) ELSE (null) END)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2000-12-31 23:59:59.999999999) -> 15:boolean, TimestampColLessTimestampScalar(col 3:timestamp, val 2006-01-01 00:00:00) -> 16:boolean, TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 17:boolean, TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2015-12-31 23:59:59.999999999) -> 18:boolean) -> 19:string, IfExprLongColumnLongColumn(col 20:boolean, col 21:int, col 22:int)(children: TimestampColLessTimestampScalar(col 1:timestamp, val 1974-10-04 17:21:03.989) -> 20:boolean, VectorUDFYearTimestamp(col 1:timestamp, field YEAR) -> 21:int, VectorUDFYearTimestamp(col 3:timestamp, field YEAR) -> 22:int) -> 23:int, VectorUDFAdaptor(CASE WHEN ((stimestamp1 like '%19%')) THEN (stimestamp1) ELSE ('2018-03-08 23:04:59') END)(children: SelectStringColLikeStringScalar(col 2:string) -> 24:boolean) -> 25:string, VectorUDFAdaptor(if((ctimestamp1 = TIMESTAMP'2021-09-24 03:18:32.413655165'), null, minute(ctimestamp1)))(children: TimestampColEqualTimestampScalar(col 1:timestamp, val 2021-09-24 03:18:32.413655165) -> 26:boolean, VectorUDFMinuteTimestamp(col 1:timestamp, field MINUTE) -> 27:int) -> 28:int, VectorUDFAdaptor(if(((ctimestamp2 >= TIMESTAMP'5344-10-04 18:40:08.165') and (ctimestamp2 < TIMESTAMP'6631-11-13 16:31:29.702202248')), minute(ctimestamp1), null))(children: ColAndCol(col 29:boolean, col 30:boolean)(children: TimestampColGreaterEqualTimestampScalar(col 3:timestamp, val 5344-10-04 18:40:08.165) -> 29:boolean, TimestampColLessTimestampScalar(col 3:timestamp, val 6631-11-13 16:31:29.702202248) -> 30:boolean) -> 31:boolean, VectorUDFMinuteTimestamp(col 1:timestamp, field MINUTE) -> 32:int) -> 33:int, IfExprLongColumnLongColumn(col 36:boolean, col 37:date, col 38:date)(children: DoubleColGreaterDoubleScalar(col 35:double, val 100.0)(children: DoubleColModuloDoubleScalar(col 34:double, val 500.0)(children: CastTimestampToDouble(col 1:timestamp) -> 34:double) -> 35:double) -> 36:boolean, VectorUDFDateAddColScalar(col 0:date, val 1) -> 37:date, VectorUDFDateAddColScalar(col 0:date, val 365) -> 38:date) -> 39:date
+ projectedOutputColumnNums: [1, 3, 9, 14, 18, 22, 24, 27, 32, 38, 2]
+ selectExpressions: VectorUDFAdaptor(CASE WHEN ((ctimestamp2 <= TIMESTAMP'1800-12-31 00:00:00')) THEN ('1800s or Earlier') WHEN ((ctimestamp2 < TIMESTAMP'1900-01-01 00:00:00')) THEN ('1900s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE ('Unknown') END)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 1800-12-31 00:00:00) -> 5:boolean, TimestampColLessTimestampScalar(col 3:timestamp, val 1900-01-01 00:00:00) -> 6:boolean, TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 7:boolean, TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2015-12-31 23:59:59.999999999) -> 8:boolean) -> 9:string, VectorUDFAdaptor(CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE (null) END)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2000-12-31 23:59:59.999999999) -> 10:boolean, TimestampColLessTimestampScalar(col 3:timestamp, val 2006-01-01 00:00:00) -> 11:boolean, TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 12:boolean, TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2015-12-31 23:59:59.999999999) -> 13:boolean) -> 14:string, VectorUDFAdaptor(CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') ELSE (null) END)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2000-12-31 23:59:59.999999999) -> 15:boolean, TimestampColLessTimestampScalar(col 3:timestamp, val 2006-01-01 00:00:00) -> 16:boolean, TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 17:boolean) -> 18:string, IfExprLongColumnLongColumn(col 19:boolean, col 20:int, col 21:int)(children: TimestampColLessTimestampScalar(col 1:timestamp, val 1974-10-04 17:21:03.989) -> 19:boolean, VectorUDFYearTimestamp(col 1:timestamp, field YEAR) -> 20:int, VectorUDFYearTimestamp(col 3:timestamp, field YEAR) -> 21:int) -> 22:int, VectorUDFAdaptor(CASE WHEN ((stimestamp1 like '%19%')) THEN (stimestamp1) ELSE ('2018-03-08 23:04:59') END)(children: SelectStringColLikeStringScalar(col 2:string) -> 23:boolean) -> 24:string, VectorUDFAdaptor(if((ctimestamp1 = TIMESTAMP'2021-09-24 03:18:32.413655165'), null, minute(ctimestamp1)))(children: TimestampColEqualTimestampScalar(col 1:timestamp, val 2021-09-24 03:18:32.413655165) -> 25:boolean, VectorUDFMinuteTimestamp(col 1:timestamp, field MINUTE) -> 26:int) -> 27:int, VectorUDFAdaptor(if(((ctimestamp2 >= TIMESTAMP'5344-10-04 18:40:08.165') and (ctimestamp2 < TIMESTAMP'6631-11-13 16:31:29.702202248')), minute(ctimestamp1), null))(children: ColAndCol(col 28:boolean, col 29:boolean)(children: TimestampColGreaterEqualTimestampScalar(col 3:timestamp, val 5344-10-04 18:40:08.165) -> 28:boolean, TimestampColLessTimestampScalar(col 3:timestamp, val 6631-11-13 16:31:29.702202248) -> 29:boolean) -> 30:boolean, VectorUDFMinuteTimestamp(col 1:timestamp, field MINUTE) -> 31:int) -> 32:int, IfExprLongColumnLongColumn(col 35:boolean, col 36:date, col 37:date)(children: DoubleColGreaterDoubleScalar(col 34:double, val 100.0)(children: DoubleColModuloDoubleScalar(col 33:double, val 500.0)(children: CastTimestampToDouble(col 1:timestamp) -> 33:double) -> 34:double) -> 35:boolean, VectorUDFDateAddColScalar(col 0:date, val 1) -> 36:date, VectorUDFDateAddColScalar(col 0:date, val 365) -> 37:date) -> 38:date
Statistics: Num rows: 51 Data size: 50745 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col0 (type: timestamp), _col10 (type: string), _col1 (type: timestamp)
@@ -171,7 +171,7 @@ STAGE PLANS:
includeColumns: [0, 1, 2, 3]
dataColumns: cdate:date, ctimestamp1:timestamp, stimestamp1:string, ctimestamp2:timestamp
partitionColumnCount: 0
- scratchColumnTypeNames: [bigint, bigint, bigint, bigint, string, bigint, bigint, bigint, bigint, string, bigint, bigint, bigint, bigint, string, bigint, bigint, bigint, bigint, bigint, string, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, double, double, bigint, bigint, bigint, bigint]
+ scratchColumnTypeNames: [bigint, bigint, bigint, bigint, string, bigint, bigint, bigint, bigint, string, bigint, bigint, bigint, string, bigint, bigint, bigint, bigint, bigint, string, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, double, double, bigint, bigint, bigint, bigint]
Reduce Vectorization:
enabled: false
enableConditionsMet: hive.vectorized.execution.reduce.enabled IS true
@@ -401,13 +401,13 @@ STAGE PLANS:
native: true
vectorizationSchemaColumns: [0:cdate:date, 1:ctimestamp1:timestamp, 2:stimestamp1:string, 3:ctimestamp2:timestamp, 4:ROW__ID:struct]
Select Operator
- expressions: ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), CASE WHEN ((ctimestamp2 <= TIMESTAMP'1800-12-31 00:00:00')) THEN ('1800s or Earlier') WHEN ((ctimestamp2 < TIMESTAMP'1900-01-01 00:00:00')) THEN ('1900s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE ('Unknown') END (type: string), CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE (null) END (type: string), CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN (null) ELSE (null) END (type: string), if((ctimestamp1 < TIMESTAMP'1974-10-04 17:21:03.989'), year(ctimestamp1), year(ctimestamp2)) (type: int), CASE WHEN ((stimestamp1 like '%19%')) THEN (stimestamp1) ELSE ('2018-03-08 23:04:59') END (type: string), if((ctimestamp1 = TIMESTAMP'2021-09-24 03:18:32.413655165'), null, minute(ctimestamp1)) (type: int), if(((ctimestamp2 >= TIMESTAMP'5344-10-04 18:40:08.165') and (ctimestamp2 < TIMESTAMP'6631-11-13 16:31:29.702202248')), minute(ctimestamp1), null) (type: int), if(((UDFToDouble(ctimestamp1) % 500.0D) > 100.0D), date_add(cdate, 1), date_add(cdate, 365)) (type: date), stimestamp1 (type: string)
+ expressions: ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), CASE WHEN ((ctimestamp2 <= TIMESTAMP'1800-12-31 00:00:00')) THEN ('1800s or Earlier') WHEN ((ctimestamp2 < TIMESTAMP'1900-01-01 00:00:00')) THEN ('1900s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE ('Unknown') END (type: string), CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE (null) END (type: string), CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') ELSE (null) END (type: string), if((ctimestamp1 < TIMESTAMP'1974-10-04 17:21:03.989'), year(ctimestamp1), year(ctimestamp2)) (type: int), CASE WHEN ((stimestamp1 like '%19%')) THEN (stimestamp1) ELSE ('2018-03-08 23:04:59') END (type: string), if((ctimestamp1 = TIMESTAMP'2021-09-24 03:18:32.413655165'), null, minute(ctimestamp1)) (type: int), if(((ctimestamp2 >= TIMESTAMP'5344-10-04 18:40:08.165') and (ctimestamp2 < TIMESTAMP'6631-11-13 16:31:29.702202248')), minute(ctimestamp1), null) (type: int), if(((UDFToDouble(ctimestamp1) % 500.0D) > 100.0D), date_add(cdate, 1), date_add(cdate, 365)) (type: date), stimestamp1 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10
Select Vectorization:
className: VectorSelectOperator
native: true
projectedOutputColumnNums: [1, 3, 12, 21, 28, 32, 34, 37, 42, 48, 2]
- selectExpressions: IfExprStringScalarStringGroupColumn(col 5:boolean, val 1800s or Earliercol 11:string)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 1800-12-31 00:00:00) -> 5:boolean, IfExprStringScalarStringGroupColumn(col 6:boolean, val 1900scol 10:string)(children: TimestampColLessTimestampScalar(col 3:timestamp, val 1900-01-01 00:00:00) -> 6:boolean, IfExprStringScalarStringGroupColumn(col 7:boolean, val Late 2000scol 9:string)(children: TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 7:boolean, IfExprStringScalarStringScalar(col 8:boolean, val Early 2010s, val Unknown)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2015-12-31 23:59:59.999999999) -> 8:boolean) -> 9:string) -> 10:string) -> 11:string) -> 12:string, IfExprStringScalarStringGroupColumn(col 13:boolean, val Oldcol 20:string)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2000-12-31 23:59:59.999999999) -> 13:boolean, IfExprStringScalarStringGroupColumn(col 14:boolean, val Early 2000scol 19:string)(children: TimestampColLessTimestampScalar(col 3:timestamp, val 2006-01-01 00:00:00) -> 14:boolean, IfExprStringScalarStringGroupColumn(col 15:boolean, val Late 2000scol 18:string)(children: TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 15:boolean, IfExprColumnNull(col 16:boolean, col 17:string, null)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2015-12-31 23:59:59.999999999) -> 16:boolean, ConstantVectorExpression(val Early 2010s) -> 17:string) -> 18:string) -> 19:string) -> 20:string) -> 21:string, IfExprStringScalarStringGroupColumn(col 22:boolean, val Oldcol 27:string)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2000-12-31 23:59:59.999999999) -> 22:boolean, IfExprStringScalarStringGroupColumn(col 23:boolean, val Early 2000scol 26:string)(children: TimestampColLessTimestampScalar(col 3:timestamp, val 2006-01-01 00:00:00) -> 23:boolean, IfExprStringScalarStringGroupColumn(col 24:boolean, val Late 2000scol 25:string)(children: TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 24:boolean, IfExprNullNull(null, null) -> 25:string) -> 26:string) -> 27:string) -> 28:string, IfExprLongColumnLongColumn(col 29:boolean, col 30:int, col 31:int)(children: TimestampColLessTimestampScalar(col 1:timestamp, val 1974-10-04 17:21:03.989) -> 29:boolean, VectorUDFYearTimestamp(col 1:timestamp, field YEAR) -> 30:int, VectorUDFYearTimestamp(col 3:timestamp, field YEAR) -> 31:int) -> 32:int, IfExprStringGroupColumnStringScalar(col 33:boolean, col 2:string, val 2018-03-08 23:04:59)(children: SelectStringColLikeStringScalar(col 2:string) -> 33:boolean) -> 34:string, IfExprNullColumn(col 35:boolean, null, col 36)(children: TimestampColEqualTimestampScalar(col 1:timestamp, val 2021-09-24 03:18:32.413655165) -> 35:boolean, VectorUDFMinuteTimestamp(col 1:timestamp, field MINUTE) -> 36:int) -> 37:int, IfExprColumnNull(col 40:boolean, col 41:int, null)(children: ColAndCol(col 38:boolean, col 39:boolean)(children: TimestampColGreaterEqualTimestampScalar(col 3:timestamp, val 5344-10-04 18:40:08.165) -> 38:boolean, TimestampColLessTimestampScalar(col 3:timestamp, val 6631-11-13 16:31:29.702202248) -> 39:boolean) -> 40:boolean, VectorUDFMinuteTimestamp(col 1:timestamp, field MINUTE) -> 41:int) -> 42:int, IfExprLongColumnLongColumn(col 45:boolean, col 46:date, col 47:date)(children: DoubleColGreaterDoubleScalar(col 44:double, val 100.0)(children: DoubleColModuloDoubleScalar(col 43:double, val 500.0)(children: CastTimestampToDouble(col 1:timestamp) -> 43:double) -> 44:double) -> 45:boolean, VectorUDFDateAddColScalar(col 0:date, val 1) -> 46:date, VectorUDFDateAddColScalar(col 0:date, val 365) -> 47:date) -> 48:date
+ selectExpressions: IfExprStringScalarStringGroupColumn(col 5:boolean, val 1800s or Earliercol 11:string)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 1800-12-31 00:00:00) -> 5:boolean, IfExprStringScalarStringGroupColumn(col 6:boolean, val 1900scol 10:string)(children: TimestampColLessTimestampScalar(col 3:timestamp, val 1900-01-01 00:00:00) -> 6:boolean, IfExprStringScalarStringGroupColumn(col 7:boolean, val Late 2000scol 9:string)(children: TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 7:boolean, IfExprStringScalarStringScalar(col 8:boolean, val Early 2010s, val Unknown)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2015-12-31 23:59:59.999999999) -> 8:boolean) -> 9:string) -> 10:string) -> 11:string) -> 12:string, IfExprStringScalarStringGroupColumn(col 13:boolean, val Oldcol 20:string)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2000-12-31 23:59:59.999999999) -> 13:boolean, IfExprStringScalarStringGroupColumn(col 14:boolean, val Early 2000scol 19:string)(children: TimestampColLessTimestampScalar(col 3:timestamp, val 2006-01-01 00:00:00) -> 14:boolean, IfExprStringScalarStringGroupColumn(col 15:boolean, val Late 2000scol 18:string)(children: TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 15:boolean, IfExprColumnNull(col 16:boolean, col 17:string, null)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2015-12-31 23:59:59.999999999) -> 16:boolean, ConstantVectorExpression(val Early 2010s) -> 17:string) -> 18:string) -> 19:string) -> 20:string) -> 21:string, IfExprStringScalarStringGroupColumn(col 22:boolean, val Oldcol 27:string)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2000-12-31 23:59:59.999999999) -> 22:boolean, IfExprStringScalarStringGroupColumn(col 23:boolean, val Early 2000scol 26:string)(children: TimestampColLessTimestampScalar(col 3:timestamp, val 2006-01-01 00:00:00) -> 23:boolean, IfExprColumnNull(col 24:boolean, col 25:string, null)(children: TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 24:boolean, ConstantVectorExpression(val Late 2000s) -> 25:string) -> 26:string) -> 27:string) -> 28:string, IfExprLongColumnLongColumn(col 29:boolean, col 30:int, col 31:int)(children: TimestampColLessTimestampScalar(col 1:timestamp, val 1974-10-04 17:21:03.989) -> 29:boolean, VectorUDFYearTimestamp(col 1:timestamp, field YEAR) -> 30:int, VectorUDFYearTimestamp(col 3:timestamp, field YEAR) -> 31:int) -> 32:int, IfExprStringGroupColumnStringScalar(col 33:boolean, col 2:string, val 2018-03-08 23:04:59)(children: SelectStringColLikeStringScalar(col 2:string) -> 33:boolean) -> 34:string, IfExprNullColumn(col 35:boolean, null, col 36)(children: TimestampColEqualTimestampScalar(col 1:timestamp, val 2021-09-24 03:18:32.413655165) -> 35:boolean, VectorUDFMinuteTimestamp(col 1:timestamp, field MINUTE) -> 36:int) -> 37:int, IfExprColumnNull(col 40:boolean, col 41:int, null)(children: ColAndCol(col 38:boolean, col 39:boolean)(children: TimestampColGreaterEqualTimestampScalar(col 3:timestamp, val 5344-10-04 18:40:08.165) -> 38:boolean, TimestampColLessTimestampScalar(col 3:timestamp, val 6631-11-13 16:31:29.702202248) -> 39:boolean) -> 40:boolean, VectorUDFMinuteTimestamp(col 1:timestamp, field MINUTE) -> 41:int) -> 42:int, IfExprLongColumnLongColumn(col 45:boolean, col 46:date, col 47:date)(children: DoubleColGreaterDoubleScalar(col 44:double, val 100.0)(children: DoubleColModuloDoubleScalar(col 43:double, val 500.0)(children: CastTimestampToDouble(col 1:timestamp) -> 43:double) -> 44:double) -> 45:boolean, VectorUDFDateAddColScalar(col 0:date, val 1) -> 46:date, VectorUDFDateAddColScalar(col 0:date, val 365) -> 47:date) -> 48:date
Statistics: Num rows: 51 Data size: 50745 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col0 (type: timestamp), _col10 (type: string), _col1 (type: timestamp)
@@ -664,13 +664,13 @@ STAGE PLANS:
native: true
vectorizationSchemaColumns: [0:cdate:date, 1:ctimestamp1:timestamp, 2:stimestamp1:string, 3:ctimestamp2:timestamp, 4:ROW__ID:struct]
Select Operator
- expressions: ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), CASE WHEN ((ctimestamp2 <= TIMESTAMP'1800-12-31 00:00:00')) THEN ('1800s or Earlier') WHEN ((ctimestamp2 < TIMESTAMP'1900-01-01 00:00:00')) THEN ('1900s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE ('Unknown') END (type: string), CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE (null) END (type: string), CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN (null) ELSE (null) END (type: string), if((ctimestamp1 < TIMESTAMP'1974-10-04 17:21:03.989'), year(ctimestamp1), year(ctimestamp2)) (type: int), CASE WHEN ((stimestamp1 like '%19%')) THEN (stimestamp1) ELSE ('2018-03-08 23:04:59') END (type: string), if((ctimestamp1 = TIMESTAMP'2021-09-24 03:18:32.413655165'), null, minute(ctimestamp1)) (type: int), if(((ctimestamp2 >= TIMESTAMP'5344-10-04 18:40:08.165') and (ctimestamp2 < TIMESTAMP'6631-11-13 16:31:29.702202248')), minute(ctimestamp1), null) (type: int), if(((UDFToDouble(ctimestamp1) % 500.0D) > 100.0D), date_add(cdate, 1), date_add(cdate, 365)) (type: date), stimestamp1 (type: string)
+ expressions: ctimestamp1 (type: timestamp), ctimestamp2 (type: timestamp), CASE WHEN ((ctimestamp2 <= TIMESTAMP'1800-12-31 00:00:00')) THEN ('1800s or Earlier') WHEN ((ctimestamp2 < TIMESTAMP'1900-01-01 00:00:00')) THEN ('1900s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE ('Unknown') END (type: string), CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 2010s') ELSE (null) END (type: string), CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00')) THEN ('Early 2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00' AND TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') ELSE (null) END (type: string), if((ctimestamp1 < TIMESTAMP'1974-10-04 17:21:03.989'), year(ctimestamp1), year(ctimestamp2)) (type: int), CASE WHEN ((stimestamp1 like '%19%')) THEN (stimestamp1) ELSE ('2018-03-08 23:04:59') END (type: string), if((ctimestamp1 = TIMESTAMP'2021-09-24 03:18:32.413655165'), null, minute(ctimestamp1)) (type: int), if(((ctimestamp2 >= TIMESTAMP'5344-10-04 18:40:08.165') and (ctimestamp2 < TIMESTAMP'6631-11-13 16:31:29.702202248')), minute(ctimestamp1), null) (type: int), if(((UDFToDouble(ctimestamp1) % 500.0D) > 100.0D), date_add(cdate, 1), date_add(cdate, 365)) (type: date), stimestamp1 (type: string)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [1, 3, 15, 27, 37, 41, 43, 46, 51, 57, 2]
- selectExpressions: IfExprColumnCondExpr(col 5:boolean, col 6:stringcol 14:string)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 1800-12-31 00:00:00) -> 5:boolean, ConstantVectorExpression(val 1800s or Earlier) -> 6:string, IfExprColumnCondExpr(col 7:boolean, col 8:stringcol 13:string)(children: TimestampColLessTimestampScalar(col 3:timestamp, val 1900-01-01 00:00:00) -> 7:boolean, ConstantVectorExpression(val 1900s) -> 8:string, IfExprColumnCondExpr(col 9:boolean, col 10:stringcol 12:string)(children: TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 9:boolean, ConstantVectorExpression(val Late 2000s) -> 10:string, IfExprStringScalarStringScalar(col 11:boolean, val Early 2010s, val Unknown)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2015-12-31 23:59:59.999999999) -> 11:boolean) -> 12:string) -> 13:string) -> 14:string) -> 15:string, IfExprColumnCondExpr(col 16:boolean, col 17:stringcol 26:string)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2000-12-31 23:59:59.999999999) -> 16:boolean, ConstantVectorExpression(val Old) -> 17:string, IfExprColumnCondExpr(col 18:boolean, col 19:stringcol 25:string)(children: TimestampColLessTimestampScalar(col 3:timestamp, val 2006-01-01 00:00:00) -> 18:boolean, ConstantVectorExpression(val Early 2000s) -> 19:string, IfExprColumnCondExpr(col 20:boolean, col 21:stringcol 24:string)(children: TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 20:boolean, ConstantVectorExpression(val Late 2000s) -> 21:string, IfExprColumnNull(col 22:boolean, col 23:string, null)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2015-12-31 23:59:59.999999999) -> 22:boolean, ConstantVectorExpression(val Early 2010s) -> 23:string) -> 24:string) -> 25:string) -> 26:string) -> 27:string, IfExprColumnCondExpr(col 28:boolean, col 29:stringcol 36:string)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2000-12-31 23:59:59.999999999) -> 28:boolean, ConstantVectorExpression(val Old) -> 29:string, IfExprColumnCondExpr(col 30:boolean, col 31:stringcol 35:string)(children: TimestampColLessTimestampScalar(col 3:timestamp, val 2006-01-01 00:00:00) -> 30:boolean, ConstantVectorExpression(val Early 2000s) -> 31:string, IfExprColumnCondExpr(col 32:boolean, col 33:stringcol 34:string)(children: TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 32:boolean, ConstantVectorExpression(val Late 2000s) -> 33:string, IfExprNullNull(null, null) -> 34:string) -> 35:string) -> 36:string) -> 37:string, IfExprCondExprCondExpr(col 38:boolean, col 39:intcol 40:int)(children: TimestampColLessTimestampScalar(col 1:timestamp, val 1974-10-04 17:21:03.989) -> 38:boolean, VectorUDFYearTimestamp(col 1:timestamp, field YEAR) -> 39:int, VectorUDFYearTimestamp(col 3:timestamp, field YEAR) -> 40:int) -> 41:int, IfExprStringGroupColumnStringScalar(col 42:boolean, col 2:string, val 2018-03-08 23:04:59)(children: SelectStringColLikeStringScalar(col 2:string) -> 42:boolean) -> 43:string, IfExprNullCondExpr(col 44:boolean, null, col 45:int)(children: TimestampColEqualTimestampScalar(col 1:timestamp, val 2021-09-24 03:18:32.413655165) -> 44:boolean, VectorUDFMinuteTimestamp(col 1:timestamp, field MINUTE) -> 45:int) -> 46:int, IfExprCondExprNull(col 49:boolean, col 50:int, null)(children: ColAndCol(col 47:boolean, col 48:boolean)(children: TimestampColGreaterEqualTimestampScalar(col 3:timestamp, val 5344-10-04 18:40:08.165) -> 47:boolean, TimestampColLessTimestampScalar(col 3:timestamp, val 6631-11-13 16:31:29.702202248) -> 48:boolean) -> 49:boolean, VectorUDFMinuteTimestamp(col 1:timestamp, field MINUTE) -> 50:int) -> 51:int, IfExprCondExprCondExpr(col 54:boolean, col 55:datecol 56:date)(children: DoubleColGreaterDoubleScalar(col 53:double, val 100.0)(children: DoubleColModuloDoubleScalar(col 52:double, val 500.0)(children: CastTimestampToDouble(col 1:timestamp) -> 52:double) -> 53:double) -> 54:boolean, VectorUDFDateAddColScalar(col 0:date, val 1) -> 55:date, VectorUDFDateAddColScalar(col 0:date, val 365) -> 56:date) -> 57:date
+ projectedOutputColumnNums: [1, 3, 15, 27, 36, 40, 42, 45, 50, 56, 2]
+ selectExpressions: IfExprColumnCondExpr(col 5:boolean, col 6:stringcol 14:string)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 1800-12-31 00:00:00) -> 5:boolean, ConstantVectorExpression(val 1800s or Earlier) -> 6:string, IfExprColumnCondExpr(col 7:boolean, col 8:stringcol 13:string)(children: TimestampColLessTimestampScalar(col 3:timestamp, val 1900-01-01 00:00:00) -> 7:boolean, ConstantVectorExpression(val 1900s) -> 8:string, IfExprColumnCondExpr(col 9:boolean, col 10:stringcol 12:string)(children: TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 9:boolean, ConstantVectorExpression(val Late 2000s) -> 10:string, IfExprStringScalarStringScalar(col 11:boolean, val Early 2010s, val Unknown)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2015-12-31 23:59:59.999999999) -> 11:boolean) -> 12:string) -> 13:string) -> 14:string) -> 15:string, IfExprColumnCondExpr(col 16:boolean, col 17:stringcol 26:string)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2000-12-31 23:59:59.999999999) -> 16:boolean, ConstantVectorExpression(val Old) -> 17:string, IfExprColumnCondExpr(col 18:boolean, col 19:stringcol 25:string)(children: TimestampColLessTimestampScalar(col 3:timestamp, val 2006-01-01 00:00:00) -> 18:boolean, ConstantVectorExpression(val Early 2000s) -> 19:string, IfExprColumnCondExpr(col 20:boolean, col 21:stringcol 24:string)(children: TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 20:boolean, ConstantVectorExpression(val Late 2000s) -> 21:string, IfExprColumnNull(col 22:boolean, col 23:string, null)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2015-12-31 23:59:59.999999999) -> 22:boolean, ConstantVectorExpression(val Early 2010s) -> 23:string) -> 24:string) -> 25:string) -> 26:string) -> 27:string, IfExprColumnCondExpr(col 28:boolean, col 29:stringcol 35:string)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2000-12-31 23:59:59.999999999) -> 28:boolean, ConstantVectorExpression(val Old) -> 29:string, IfExprColumnCondExpr(col 30:boolean, col 31:stringcol 34:string)(children: TimestampColLessTimestampScalar(col 3:timestamp, val 2006-01-01 00:00:00) -> 30:boolean, ConstantVectorExpression(val Early 2000s) -> 31:string, IfExprColumnNull(col 32:boolean, col 33:string, null)(children: TimestampColumnBetween(col 3:timestamp, left 2005-12-31 16:00:00.0, right 2010-12-31 15:59:59.999999999) -> 32:boolean, ConstantVectorExpression(val Late 2000s) -> 33:string) -> 34:string) -> 35:string) -> 36:string, IfExprCondExprCondExpr(col 37:boolean, col 38:intcol 39:int)(children: TimestampColLessTimestampScalar(col 1:timestamp, val 1974-10-04 17:21:03.989) -> 37:boolean, VectorUDFYearTimestamp(col 1:timestamp, field YEAR) -> 38:int, VectorUDFYearTimestamp(col 3:timestamp, field YEAR) -> 39:int) -> 40:int, IfExprStringGroupColumnStringScalar(col 41:boolean, col 2:string, val 2018-03-08 23:04:59)(children: SelectStringColLikeStringScalar(col 2:string) -> 41:boolean) -> 42:string, IfExprNullCondExpr(col 43:boolean, null, col 44:int)(children: TimestampColEqualTimestampScalar(col 1:timestamp, val 2021-09-24 03:18:32.413655165) -> 43:boolean, VectorUDFMinuteTimestamp(col 1:timestamp, field MINUTE) -> 44:int) -> 45:int, IfExprCondExprNull(col 48:boolean, col 49:int, null)(children: ColAndCol(col 46:boolean, col 47:boolean)(children: TimestampColGreaterEqualTimestampScalar(col 3:timestamp, val 5344-10-04 18:40:08.165) -> 46:boolean, TimestampColLessTimestampScalar(col 3:timestamp, val 6631-11-13 16:31:29.702202248) -> 47:boolean) -> 48:boolean, VectorUDFMinuteTimestamp(col 1:timestamp, field MINUTE) -> 49:int) -> 50:int, IfExprCondExprCondExpr(col 53:boolean, col 54:datecol 55:date)(children: DoubleColGreaterDoubleScalar(col 52:double, val 100.0)(children: DoubleColModuloDoubleScalar(col 51:double, val 500.0)(children: CastTimestampToDouble(col 1:timestamp) -> 51:double) -> 52:double) -> 53:boolean, VectorUDFDateAddColScalar(col 0:date, val 1) -> 54:date, VectorUDFDateAddColScalar(col 0:date, val 365) -> 55:date) -> 56:date
Statistics: Num rows: 51 Data size: 50745 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col0 (type: timestamp), _col10 (type: string), _col1 (type: timestamp)
@@ -697,7 +697,7 @@ STAGE PLANS:
includeColumns: [0, 1, 2, 3]
dataColumns: cdate:date, ctimestamp1:timestamp, stimestamp1:string, ctimestamp2:timestamp
partitionColumnCount: 0
- scratchColumnTypeNames: [bigint, string, bigint, string, bigint, string, bigint, string, string, string, string, bigint, string, bigint, string, bigint, string, bigint, string, string, string, string, string, bigint, string, bigint, string, bigint, string, string, string, string, string, bigint, bigint, bigint, bigint, bigint, string, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, double, double, bigint, bigint, bigint, bigint]
+ scratchColumnTypeNames: [bigint, string, bigint, string, bigint, string, bigint, string, string, string, string, bigint, string, bigint, string, bigint, string, bigint, string, string, string, string, string, bigint, string, bigint, string, bigint, string, string, string, string, bigint, bigint, bigint, bigint, bigint, string, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, double, double, bigint, bigint, bigint, bigint]
Reduce Vectorization:
enabled: false
enableConditionsMet: hive.vectorized.execution.reduce.enabled IS true
diff --git ql/src/test/results/clientpositive/vector_char_mapjoin1.q.out ql/src/test/results/clientpositive/vector_char_mapjoin1.q.out
index 19cb5b4b71..022b32d483 100644
--- ql/src/test/results/clientpositive/vector_char_mapjoin1.q.out
+++ ql/src/test/results/clientpositive/vector_char_mapjoin1.q.out
@@ -455,7 +455,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: a
- filterExpr: c2 is not null (type: boolean)
+ filterExpr: CAST( c2 AS STRING) is not null (type: boolean)
Statistics: Num rows: 3 Data size: 273 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -463,8 +463,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: SelectColumnIsNotNull(col 1:char(10))
- predicate: c2 is not null (type: boolean)
+ predicateExpression: SelectColumnIsNotNull(col 1:string)(children: col 1:char(10))
+ predicate: CAST( c2 AS STRING) is not null (type: boolean)
Statistics: Num rows: 3 Data size: 273 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: c1 (type: int), c2 (type: char(10)), CAST( c2 AS STRING) (type: string)
diff --git ql/src/test/results/clientpositive/vector_coalesce_3.q.out ql/src/test/results/clientpositive/vector_coalesce_3.q.out
index 39fd5e898a..a31d4d7fcc 100644
--- ql/src/test/results/clientpositive/vector_coalesce_3.q.out
+++ ql/src/test/results/clientpositive/vector_coalesce_3.q.out
@@ -88,7 +88,7 @@ STAGE PLANS:
alias: n
Statistics: Num rows: 3 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: member (type: bigint), CASE WHEN (CASE WHEN (attr is not null) THEN ((attr > 1L)) ELSE (true) END) THEN (attr) ELSE (null) END (type: bigint)
+ expressions: member (type: bigint), CASE WHEN (((attr > 1L) or attr is null)) THEN (attr) ELSE (null) END (type: bigint)
outputColumnNames: _col0, _col1
Statistics: Num rows: 3 Data size: 48 Basic stats: COMPLETE Column stats: COMPLETE
HashTable Sink Operator
diff --git ql/src/test/results/clientpositive/vector_date_1.q.out ql/src/test/results/clientpositive/vector_date_1.q.out
index 4e82ed84b6..5d05cc5fd5 100644
--- ql/src/test/results/clientpositive/vector_date_1.q.out
+++ ql/src/test/results/clientpositive/vector_date_1.q.out
@@ -113,13 +113,13 @@ STAGE PLANS:
native: true
vectorizationSchemaColumns: [0:dt1:date, 1:dt2:date, 2:ROW__ID:struct]
Select Operator
- expressions: dt1 (type: date), dt2 (type: date), (dt1 = dt1) (type: boolean), (dt1 <> dt2) (type: boolean), (dt1 <= dt1) (type: boolean), (dt1 <= dt2) (type: boolean), (dt1 < dt2) (type: boolean), (dt2 >= dt2) (type: boolean), (dt2 >= dt1) (type: boolean), (dt2 > dt1) (type: boolean)
- outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9
+ expressions: dt1 (type: date), dt2 (type: date), (null or dt1 is not null) (type: boolean), (dt1 <> dt2) (type: boolean), (dt1 <= dt2) (type: boolean), (dt1 < dt2) (type: boolean), (null or dt2 is not null) (type: boolean), (dt2 >= dt1) (type: boolean), (dt2 > dt1) (type: boolean)
+ outputColumnNames: _col0, _col1, _col2, _col3, _col5, _col6, _col7, _col8, _col9
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [0, 1, 3, 4, 5, 6, 7, 8, 9, 10]
- selectExpressions: LongColEqualLongColumn(col 0:date, col 0:date) -> 3:boolean, LongColNotEqualLongColumn(col 0:date, col 1:date) -> 4:boolean, LongColLessEqualLongColumn(col 0:date, col 0:date) -> 5:boolean, LongColLessEqualLongColumn(col 0:date, col 1:date) -> 6:boolean, LongColLessLongColumn(col 0:date, col 1:date) -> 7:boolean, LongColGreaterEqualLongColumn(col 1:date, col 1:date) -> 8:boolean, LongColGreaterEqualLongColumn(col 1:date, col 0:date) -> 9:boolean, LongColGreaterLongColumn(col 1:date, col 0:date) -> 10:boolean
+ projectedOutputColumnNums: [0, 1, 4, 5, 6, 7, 9, 10, 11]
+ selectExpressions: VectorUDFAdaptor((null or dt1 is not null))(children: IsNotNull(col 0:date) -> 3:boolean) -> 4:boolean, LongColNotEqualLongColumn(col 0:date, col 1:date) -> 5:boolean, LongColLessEqualLongColumn(col 0:date, col 1:date) -> 6:boolean, LongColLessLongColumn(col 0:date, col 1:date) -> 7:boolean, VectorUDFAdaptor((null or dt2 is not null))(children: IsNotNull(col 1:date) -> 8:boolean) -> 9:boolean, LongColGreaterEqualLongColumn(col 1:date, col 0:date) -> 10:boolean, LongColGreaterLongColumn(col 1:date, col 0:date) -> 11:boolean
Statistics: Num rows: 3 Data size: 432 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col0 (type: date)
@@ -130,7 +130,7 @@ STAGE PLANS:
nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
nativeConditionsNotMet: hive.execution.engine mr IN [tez, spark] IS false
Statistics: Num rows: 3 Data size: 432 Basic stats: COMPLETE Column stats: COMPLETE
- value expressions: _col1 (type: date), _col2 (type: boolean), _col3 (type: boolean), _col4 (type: boolean), _col5 (type: boolean), _col6 (type: boolean), _col7 (type: boolean), _col8 (type: boolean), _col9 (type: boolean)
+ value expressions: _col1 (type: date), _col2 (type: boolean), _col3 (type: boolean), _col5 (type: boolean), _col6 (type: boolean), _col7 (type: boolean), _col8 (type: boolean), _col9 (type: boolean)
Execution mode: vectorized
Map Vectorization:
enabled: true
@@ -139,21 +139,21 @@ STAGE PLANS:
featureSupportInUse: [DECIMAL_64]
inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
allNative: false
- usesVectorUDFAdaptor: false
+ usesVectorUDFAdaptor: true
vectorized: true
rowBatchContext:
dataColumnCount: 2
includeColumns: [0, 1]
dataColumns: dt1:date, dt2:date
partitionColumnCount: 0
- scratchColumnTypeNames: [bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint]
+ scratchColumnTypeNames: [bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint]
Reduce Vectorization:
enabled: false
enableConditionsMet: hive.vectorized.execution.reduce.enabled IS true
enableConditionsNotMet: hive.execution.engine mr IN [tez, spark] IS false
Reduce Operator Tree:
Select Operator
- expressions: KEY.reducesinkkey0 (type: date), VALUE._col0 (type: date), VALUE._col1 (type: boolean), VALUE._col2 (type: boolean), VALUE._col3 (type: boolean), VALUE._col4 (type: boolean), VALUE._col5 (type: boolean), VALUE._col6 (type: boolean), VALUE._col7 (type: boolean), VALUE._col8 (type: boolean)
+ expressions: KEY.reducesinkkey0 (type: date), VALUE._col0 (type: date), VALUE._col1 (type: boolean), VALUE._col2 (type: boolean), VALUE._col1 (type: boolean), VALUE._col3 (type: boolean), VALUE._col4 (type: boolean), VALUE._col5 (type: boolean), VALUE._col6 (type: boolean), VALUE._col7 (type: boolean)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9
Statistics: Num rows: 3 Data size: 432 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
@@ -256,13 +256,13 @@ STAGE PLANS:
native: true
vectorizationSchemaColumns: [0:dt1:date, 1:dt2:date, 2:ROW__ID:struct]
Select Operator
- expressions: dt1 (type: date), dt2 (type: date), (dt1 <> dt1) (type: boolean), (dt1 = dt2) (type: boolean), (dt1 < dt1) (type: boolean), (dt1 >= dt2) (type: boolean), (dt1 > dt2) (type: boolean), (dt2 > dt2) (type: boolean), (dt2 <= dt1) (type: boolean), (dt2 < dt1) (type: boolean)
- outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9
+ expressions: dt1 (type: date), dt2 (type: date), (null and dt1 is null) (type: boolean), (dt1 = dt2) (type: boolean), (dt1 >= dt2) (type: boolean), (dt1 > dt2) (type: boolean), (null and dt2 is null) (type: boolean), (dt2 <= dt1) (type: boolean), (dt2 < dt1) (type: boolean)
+ outputColumnNames: _col0, _col1, _col2, _col3, _col5, _col6, _col7, _col8, _col9
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [0, 1, 3, 4, 5, 6, 7, 8, 9, 10]
- selectExpressions: LongColNotEqualLongColumn(col 0:date, col 0:date) -> 3:boolean, LongColEqualLongColumn(col 0:date, col 1:date) -> 4:boolean, LongColLessLongColumn(col 0:date, col 0:date) -> 5:boolean, LongColGreaterEqualLongColumn(col 0:date, col 1:date) -> 6:boolean, LongColGreaterLongColumn(col 0:date, col 1:date) -> 7:boolean, LongColGreaterLongColumn(col 1:date, col 1:date) -> 8:boolean, LongColLessEqualLongColumn(col 1:date, col 0:date) -> 9:boolean, LongColLessLongColumn(col 1:date, col 0:date) -> 10:boolean
+ projectedOutputColumnNums: [0, 1, 4, 5, 6, 7, 9, 10, 11]
+ selectExpressions: VectorUDFAdaptor((null and dt1 is null))(children: IsNull(col 0:date) -> 3:boolean) -> 4:boolean, LongColEqualLongColumn(col 0:date, col 1:date) -> 5:boolean, LongColGreaterEqualLongColumn(col 0:date, col 1:date) -> 6:boolean, LongColGreaterLongColumn(col 0:date, col 1:date) -> 7:boolean, VectorUDFAdaptor((null and dt2 is null))(children: IsNull(col 1:date) -> 8:boolean) -> 9:boolean, LongColLessEqualLongColumn(col 1:date, col 0:date) -> 10:boolean, LongColLessLongColumn(col 1:date, col 0:date) -> 11:boolean
Statistics: Num rows: 3 Data size: 432 Basic stats: COMPLETE Column stats: COMPLETE
Reduce Output Operator
key expressions: _col0 (type: date)
@@ -273,7 +273,7 @@ STAGE PLANS:
nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
nativeConditionsNotMet: hive.execution.engine mr IN [tez, spark] IS false
Statistics: Num rows: 3 Data size: 432 Basic stats: COMPLETE Column stats: COMPLETE
- value expressions: _col1 (type: date), _col2 (type: boolean), _col3 (type: boolean), _col4 (type: boolean), _col5 (type: boolean), _col6 (type: boolean), _col7 (type: boolean), _col8 (type: boolean), _col9 (type: boolean)
+ value expressions: _col1 (type: date), _col2 (type: boolean), _col3 (type: boolean), _col5 (type: boolean), _col6 (type: boolean), _col7 (type: boolean), _col8 (type: boolean), _col9 (type: boolean)
Execution mode: vectorized
Map Vectorization:
enabled: true
@@ -282,21 +282,21 @@ STAGE PLANS:
featureSupportInUse: [DECIMAL_64]
inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
allNative: false
- usesVectorUDFAdaptor: false
+ usesVectorUDFAdaptor: true
vectorized: true
rowBatchContext:
dataColumnCount: 2
includeColumns: [0, 1]
dataColumns: dt1:date, dt2:date
partitionColumnCount: 0
- scratchColumnTypeNames: [bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint]
+ scratchColumnTypeNames: [bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint]
Reduce Vectorization:
enabled: false
enableConditionsMet: hive.vectorized.execution.reduce.enabled IS true
enableConditionsNotMet: hive.execution.engine mr IN [tez, spark] IS false
Reduce Operator Tree:
Select Operator
- expressions: KEY.reducesinkkey0 (type: date), VALUE._col0 (type: date), VALUE._col1 (type: boolean), VALUE._col2 (type: boolean), VALUE._col3 (type: boolean), VALUE._col4 (type: boolean), VALUE._col5 (type: boolean), VALUE._col6 (type: boolean), VALUE._col7 (type: boolean), VALUE._col8 (type: boolean)
+ expressions: KEY.reducesinkkey0 (type: date), VALUE._col0 (type: date), VALUE._col1 (type: boolean), VALUE._col2 (type: boolean), VALUE._col1 (type: boolean), VALUE._col3 (type: boolean), VALUE._col4 (type: boolean), VALUE._col5 (type: boolean), VALUE._col6 (type: boolean), VALUE._col7 (type: boolean)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9
Statistics: Num rows: 3 Data size: 432 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
@@ -678,7 +678,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: vector_date_1
- filterExpr: ((dt1 = dt1) and (dt1 <> dt2) and (dt1 < dt2) and (dt1 <= dt2) and (dt2 > dt1) and (dt2 >= dt1)) (type: boolean)
+ filterExpr: ((dt1 <> dt2) and (dt1 < dt2) and (dt1 <= dt2) and (dt2 > dt1) and (dt2 >= dt1)) (type: boolean)
Statistics: Num rows: 3 Data size: 336 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -687,8 +687,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children: FilterLongColEqualLongColumn(col 0:date, col 0:date), FilterLongColNotEqualLongColumn(col 0:date, col 1:date), FilterLongColLessLongColumn(col 0:date, col 1:date), FilterLongColLessEqualLongColumn(col 0:date, col 1:date), FilterLongColGreaterLongColumn(col 1:date, col 0:date), FilterLongColGreaterEqualLongColumn(col 1:date, col 0:date))
- predicate: ((dt1 < dt2) and (dt1 <= dt2) and (dt1 <> dt2) and (dt1 = dt1) and (dt2 > dt1) and (dt2 >= dt1)) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: FilterLongColNotEqualLongColumn(col 0:date, col 1:date), FilterLongColLessLongColumn(col 0:date, col 1:date), FilterLongColLessEqualLongColumn(col 0:date, col 1:date), FilterLongColGreaterLongColumn(col 1:date, col 0:date), FilterLongColGreaterEqualLongColumn(col 1:date, col 0:date))
+ predicate: ((dt1 < dt2) and (dt1 <= dt2) and (dt1 <> dt2) and (dt2 > dt1) and (dt2 >= dt1)) (type: boolean)
Statistics: Num rows: 1 Data size: 112 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: dt1 (type: date), dt2 (type: date)
diff --git ql/src/test/results/clientpositive/vector_decimal_math_funcs.q.out ql/src/test/results/clientpositive/vector_decimal_math_funcs.q.out
index 31751503b5..599e12dd7f 100644
--- ql/src/test/results/clientpositive/vector_decimal_math_funcs.q.out
+++ ql/src/test/results/clientpositive/vector_decimal_math_funcs.q.out
@@ -116,7 +116,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: decimal_test_n0
- filterExpr: (((cbigint % 500) = 0) and (sin(cdecimal1) >= -1.0D)) (type: boolean)
+ filterExpr: (((cbigint % 500L) = 0L) and (sin(cdecimal1) >= -1.0D)) (type: boolean)
Statistics: Num rows: 12289 Data size: 1100992 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -126,7 +126,7 @@ STAGE PLANS:
className: VectorFilterOperator
native: true
predicateExpression: FilterExprAndExpr(children: FilterLongColEqualLongScalar(col 5:bigint, val 0)(children: LongColModuloLongScalar(col 0:bigint, val 500) -> 5:bigint), FilterDoubleColGreaterEqualDoubleScalar(col 7:double, val -1.0)(children: FuncSinDoubleToDouble(col 6:double)(children: CastDecimalToDouble(col 2:decimal(20,10)) -> 6:double) -> 7:double))
- predicate: (((cbigint % 500) = 0) and (sin(cdecimal1) >= -1.0D)) (type: boolean)
+ predicate: (((cbigint % 500L) = 0L) and (sin(cdecimal1) >= -1.0D)) (type: boolean)
Statistics: Num rows: 2048 Data size: 183600 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: cdecimal1 (type: decimal(20,10)), round(cdecimal1, 2) (type: decimal(13,2)), round(cdecimal1) (type: decimal(11,0)), floor(cdecimal1) (type: decimal(11,0)), ceil(cdecimal1) (type: decimal(11,0)), round(exp(cdecimal1), 58) (type: double), ln(cdecimal1) (type: double), log10(cdecimal1) (type: double), log2(cdecimal1) (type: double), log2((cdecimal1 - 15601)) (type: double), log(2, cdecimal1) (type: double), power(log2(cdecimal1), 2) (type: double), power(log2(cdecimal1), 2) (type: double), sqrt(cdecimal1) (type: double), abs(cdecimal1) (type: decimal(20,10)), sin(cdecimal1) (type: double), asin(cdecimal1) (type: double), cos(cdecimal1) (type: double), acos(cdecimal1) (type: double), atan(cdecimal1) (type: double), degrees(cdecimal1) (type: double), radians(cdecimal1) (type: double), cdecimal1 (type: decimal(20,10)), (- cdecimal1) (type: decimal(20,10)), sign(cdecimal1) (type: int), cos(((- sin(log(cdecimal1))) + 3.14159D)) (type: double)
@@ -363,7 +363,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: decimal_test_small
- filterExpr: (((cbigint % 500) = 0) and (sin(cdecimal1) >= -1.0D)) (type: boolean)
+ filterExpr: (((cbigint % 500L) = 0L) and (sin(cdecimal1) >= -1.0D)) (type: boolean)
Statistics: Num rows: 12288 Data size: 1100992 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -373,7 +373,7 @@ STAGE PLANS:
className: VectorFilterOperator
native: true
predicateExpression: FilterExprAndExpr(children: FilterLongColEqualLongScalar(col 5:bigint, val 0)(children: LongColModuloLongScalar(col 0:bigint, val 500) -> 5:bigint), FilterDoubleColGreaterEqualDoubleScalar(col 8:double, val -1.0)(children: FuncSinDoubleToDouble(col 7:double)(children: CastDecimalToDouble(col 6:decimal(12,4))(children: ConvertDecimal64ToDecimal(col 2:decimal(12,4)/DECIMAL_64) -> 6:decimal(12,4)) -> 7:double) -> 8:double))
- predicate: (((cbigint % 500) = 0) and (sin(cdecimal1) >= -1.0D)) (type: boolean)
+ predicate: (((cbigint % 500L) = 0L) and (sin(cdecimal1) >= -1.0D)) (type: boolean)
Statistics: Num rows: 2048 Data size: 183600 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: cdecimal1 (type: decimal(12,4)), round(cdecimal1, 2) (type: decimal(11,2)), round(cdecimal1) (type: decimal(9,0)), floor(cdecimal1) (type: decimal(9,0)), ceil(cdecimal1) (type: decimal(9,0)), round(exp(cdecimal1), 58) (type: double), ln(cdecimal1) (type: double), log10(cdecimal1) (type: double), log2(cdecimal1) (type: double), log2((cdecimal1 - 15601)) (type: double), log(2, cdecimal1) (type: double), power(log2(cdecimal1), 2) (type: double), power(log2(cdecimal1), 2) (type: double), sqrt(cdecimal1) (type: double), abs(cdecimal1) (type: decimal(12,4)), sin(cdecimal1) (type: double), asin(cdecimal1) (type: double), cos(cdecimal1) (type: double), acos(cdecimal1) (type: double), atan(cdecimal1) (type: double), degrees(cdecimal1) (type: double), radians(cdecimal1) (type: double), cdecimal1 (type: decimal(12,4)), (- cdecimal1) (type: decimal(12,4)), sign(cdecimal1) (type: int), cos(((- sin(log(cdecimal1))) + 3.14159D)) (type: double)
diff --git ql/src/test/results/clientpositive/vector_groupby_mapjoin.q.out ql/src/test/results/clientpositive/vector_groupby_mapjoin.q.out
index 613a30701a..ca1932c335 100644
--- ql/src/test/results/clientpositive/vector_groupby_mapjoin.q.out
+++ ql/src/test/results/clientpositive/vector_groupby_mapjoin.q.out
@@ -229,8 +229,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprOrExpr(children: FilterLongColEqualLongScalar(col 3:bigint, val 0), FilterExprAndExpr(children: SelectColumnIsNull(col 2:boolean), SelectColumnIsNotNull(col 0:string), FilterLongColGreaterEqualLongColumn(col 4:bigint, col 3:bigint)))
- predicate: ((_col2 = 0L) or (_col5 is null and _col0 is not null and (_col3 >= _col2))) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: FilterExprOrExpr(children: SelectColumnIsNull(col 2:boolean), FilterLongColEqualLongScalar(col 3:bigint, val 0)), FilterExprOrExpr(children: SelectColumnIsNotNull(col 0:string), FilterLongColEqualLongScalar(col 3:bigint, val 0), SelectColumnIsNotNull(col 2:boolean)), FilterExprOrExpr(children: FilterLongColGreaterEqualLongColumn(col 4:bigint, col 3:bigint), FilterLongColEqualLongScalar(col 3:bigint, val 0), SelectColumnIsNotNull(col 2:boolean), SelectColumnIsNull(col 0:string)))
+ predicate: (((_col3 >= _col2) or (_col2 = 0L) or _col5 is not null or _col0 is null) and (_col0 is not null or (_col2 = 0L) or _col5 is not null) and (_col5 is null or (_col2 = 0L))) (type: boolean)
Statistics: Num rows: 895 Data size: 175214 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: string)
@@ -351,8 +351,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprOrExpr(children: FilterLongColEqualLongScalar(col 3:bigint, val 0), FilterExprAndExpr(children: SelectColumnIsNull(col 2:boolean), SelectColumnIsNotNull(col 0:string), FilterLongColGreaterEqualLongColumn(col 4:bigint, col 3:bigint)))
- predicate: ((_col2 = 0L) or (_col5 is null and _col0 is not null and (_col3 >= _col2))) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: FilterExprOrExpr(children: SelectColumnIsNull(col 2:boolean), FilterLongColEqualLongScalar(col 3:bigint, val 0)), FilterExprOrExpr(children: SelectColumnIsNotNull(col 0:string), FilterLongColEqualLongScalar(col 3:bigint, val 0), SelectColumnIsNotNull(col 2:boolean)), FilterExprOrExpr(children: FilterLongColGreaterEqualLongColumn(col 4:bigint, col 3:bigint), FilterLongColEqualLongScalar(col 3:bigint, val 0), SelectColumnIsNotNull(col 2:boolean), SelectColumnIsNull(col 0:string)))
+ predicate: (((_col3 >= _col2) or (_col2 = 0L) or _col5 is not null or _col0 is null) and (_col0 is not null or (_col2 = 0L) or _col5 is not null) and (_col5 is null or (_col2 = 0L))) (type: boolean)
Statistics: Num rows: 895 Data size: 175214 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: string)
@@ -411,7 +411,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3, _col5
Statistics: Num rows: 895 Data size: 175214 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: ((_col2 = 0L) or (_col5 is null and _col0 is not null and (_col3 >= _col2))) (type: boolean)
+ predicate: (((_col3 >= _col2) or (_col2 = 0L) or _col5 is not null or _col0 is null) and (_col0 is not null or (_col2 = 0L) or _col5 is not null) and (_col5 is null or (_col2 = 0L))) (type: boolean)
Statistics: Num rows: 895 Data size: 175214 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: string)
diff --git ql/src/test/results/clientpositive/vector_interval_mapjoin.q.out ql/src/test/results/clientpositive/vector_interval_mapjoin.q.out
index 49843e939e..a86d52c30d 100644
--- ql/src/test/results/clientpositive/vector_interval_mapjoin.q.out
+++ ql/src/test/results/clientpositive/vector_interval_mapjoin.q.out
@@ -206,10 +206,10 @@ STAGE PLANS:
$hdt$_1:vectortab_b_1korc
TableScan
alias: vectortab_b_1korc
- filterExpr: (dt is not null and ts is not null and s is not null) (type: boolean)
+ filterExpr: (dt is not null and CAST( ts AS DATE) is not null and s is not null) (type: boolean)
Statistics: Num rows: 1000 Data size: 186864 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (dt is not null and s is not null and ts is not null) (type: boolean)
+ predicate: (CAST( ts AS DATE) is not null and dt is not null and s is not null) (type: boolean)
Statistics: Num rows: 943 Data size: 176202 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: s (type: string), (dt - CAST( ts AS DATE)) (type: interval_day_time)
@@ -225,7 +225,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: vectortab_a_1korc
- filterExpr: (dt is not null and ts is not null and s is not null) (type: boolean)
+ filterExpr: (dt is not null and CAST( ts AS DATE) is not null and s is not null) (type: boolean)
Statistics: Num rows: 1000 Data size: 187480 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -233,8 +233,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children: SelectColumnIsNotNull(col 12:date), SelectColumnIsNotNull(col 10:timestamp), SelectColumnIsNotNull(col 8:string))
- predicate: (dt is not null and s is not null and ts is not null) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: SelectColumnIsNotNull(col 12:date), SelectColumnIsNotNull(col 14:date)(children: CastTimestampToDate(col 10:timestamp) -> 14:date), SelectColumnIsNotNull(col 8:string))
+ predicate: (CAST( ts AS DATE) is not null and dt is not null and s is not null) (type: boolean)
Statistics: Num rows: 954 Data size: 178852 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: s (type: string), (dt - CAST( ts AS DATE)) (type: interval_day_time)
@@ -242,8 +242,8 @@ STAGE PLANS:
Select Vectorization:
className: VectorSelectOperator
native: true
- projectedOutputColumnNums: [8, 15]
- selectExpressions: DateColSubtractDateColumn(col 12:date, col 14:date)(children: CastTimestampToDate(col 10:timestamp) -> 14:date) -> 15:interval_day_time
+ projectedOutputColumnNums: [8, 16]
+ selectExpressions: DateColSubtractDateColumn(col 12:date, col 15:date)(children: CastTimestampToDate(col 10:timestamp) -> 15:date) -> 16:interval_day_time
Statistics: Num rows: 954 Data size: 101124 Basic stats: COMPLETE Column stats: COMPLETE
Map Join Operator
condition map:
@@ -252,8 +252,8 @@ STAGE PLANS:
0 _col0 (type: string), _col1 (type: interval_day_time)
1 _col0 (type: string), _col1 (type: interval_day_time)
Map Join Vectorization:
- bigTableKeyExpressions: col 8:string, col 15:interval_day_time
- bigTableValueExpressions: col 8:string, col 15:interval_day_time
+ bigTableKeyExpressions: col 8:string, col 16:interval_day_time
+ bigTableValueExpressions: col 8:string, col 16:interval_day_time
className: VectorMapJoinOperator
native: false
nativeConditionsMet: hive.mapjoin.optimized.hashtable IS true, hive.vectorized.execution.mapjoin.native.enabled IS true, One MapJoin Condition IS true, No nullsafe IS true, Small table vectorizes IS true, Optimized Table and Supports Key Types IS true
diff --git ql/src/test/results/clientpositive/vector_varchar_mapjoin1.q.out ql/src/test/results/clientpositive/vector_varchar_mapjoin1.q.out
index 0d4107991c..a612f23394 100644
--- ql/src/test/results/clientpositive/vector_varchar_mapjoin1.q.out
+++ ql/src/test/results/clientpositive/vector_varchar_mapjoin1.q.out
@@ -407,10 +407,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: a
- filterExpr: c2 is not null (type: boolean)
+ filterExpr: CAST( c2 AS STRING) is not null (type: boolean)
Statistics: Num rows: 3 Data size: 276 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: c2 is not null (type: boolean)
+ predicate: CAST( c2 AS STRING) is not null (type: boolean)
Statistics: Num rows: 3 Data size: 276 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: c1 (type: int), c2 (type: varchar(10)), CAST( c2 AS STRING) (type: string)
diff --git ql/src/test/results/clientpositive/vectorization_5.q.out ql/src/test/results/clientpositive/vectorization_5.q.out
index 36eb6d53a8..c5cb6680e2 100644
--- ql/src/test/results/clientpositive/vectorization_5.q.out
+++ ql/src/test/results/clientpositive/vectorization_5.q.out
@@ -56,7 +56,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: ((cboolean2 is not null and (cstring1 like '%b%')) or ((UDFToDouble(ctinyint) = cdouble) and ctimestamp2 is not null and (cstring2 like 'a'))) (type: boolean)
+ filterExpr: (((cstring1 like '%b%') and cboolean2 is not null) or ((UDFToDouble(ctinyint) = cdouble) and (cstring2 like 'a') and ctimestamp2 is not null)) (type: boolean)
Statistics: Num rows: 12288 Data size: 2454862 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -65,8 +65,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: SelectColumnIsNotNull(col 11:boolean), FilterStringColLikeStringScalar(col 6:string, pattern %b%)), FilterExprAndExpr(children: FilterDoubleColEqualDoubleColumn(col 13:double, col 5:double)(children: CastLongToDouble(col 0:tinyint) -> 13:double), SelectColumnIsNotNull(col 9:timestamp), FilterStringColLikeStringScalar(col 7:string, pattern a)))
- predicate: (((UDFToDouble(ctinyint) = cdouble) and ctimestamp2 is not null and (cstring2 like 'a')) or (cboolean2 is not null and (cstring1 like '%b%'))) (type: boolean)
+ predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterStringColLikeStringScalar(col 6:string, pattern %b%), SelectColumnIsNotNull(col 11:boolean)), FilterExprAndExpr(children: FilterDoubleColEqualDoubleColumn(col 13:double, col 5:double)(children: CastLongToDouble(col 0:tinyint) -> 13:double), FilterStringColLikeStringScalar(col 7:string, pattern a), SelectColumnIsNotNull(col 9:timestamp)))
+ predicate: (((UDFToDouble(ctinyint) = cdouble) and (cstring2 like 'a') and ctimestamp2 is not null) or ((cstring1 like '%b%') and cboolean2 is not null)) (type: boolean)
Statistics: Num rows: 7658 Data size: 1529972 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: ctinyint (type: tinyint), csmallint (type: smallint), cint (type: int)
diff --git ql/src/test/results/clientpositive/vectorization_6.q.out ql/src/test/results/clientpositive/vectorization_6.q.out
index fbb6f5e3ca..b2e3625eb5 100644
--- ql/src/test/results/clientpositive/vectorization_6.q.out
+++ ql/src/test/results/clientpositive/vectorization_6.q.out
@@ -58,7 +58,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: ((ctinyint <> 0Y) and (((cboolean1 <= 0) and (cboolean2 >= cboolean1)) or (cbigint is not null and ((cstring2 like '%a') or (cfloat <= -257.0))))) (type: boolean)
+ filterExpr: ((ctinyint <> 0Y) and (((cboolean1 <= 0) and (cboolean2 >= cboolean1)) or (((cstring2 like '%a') or (cfloat <= -257.0)) and cbigint is not null))) (type: boolean)
Statistics: Num rows: 12288 Data size: 2110130 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -67,8 +67,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprAndExpr(children: FilterLongColNotEqualLongScalar(col 0:tinyint, val 0), FilterExprOrExpr(children: FilterExprAndExpr(children: FilterLongColLessEqualLongScalar(col 10:boolean, val 0), FilterLongColGreaterEqualLongColumn(col 11:boolean, col 10:boolean)), FilterExprAndExpr(children: SelectColumnIsNotNull(col 3:bigint), FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 7:string, pattern %a), FilterDoubleColLessEqualDoubleScalar(col 4:float, val -257.0)))))
- predicate: ((((cboolean1 <= 0) and (cboolean2 >= cboolean1)) or (cbigint is not null and ((cstring2 like '%a') or (cfloat <= -257.0)))) and (ctinyint <> 0Y)) (type: boolean)
+ predicateExpression: FilterExprAndExpr(children: FilterLongColNotEqualLongScalar(col 0:tinyint, val 0), FilterExprOrExpr(children: FilterExprAndExpr(children: FilterLongColLessEqualLongScalar(col 10:boolean, val 0), FilterLongColGreaterEqualLongColumn(col 11:boolean, col 10:boolean)), FilterExprAndExpr(children: FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 7:string, pattern %a), FilterDoubleColLessEqualDoubleScalar(col 4:float, val -257.0)), SelectColumnIsNotNull(col 3:bigint))))
+ predicate: ((((cboolean1 <= 0) and (cboolean2 >= cboolean1)) or (((cstring2 like '%a') or (cfloat <= -257.0)) and cbigint is not null)) and (ctinyint <> 0Y)) (type: boolean)
Statistics: Num rows: 5951 Data size: 1022000 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: cboolean1 (type: boolean), cfloat (type: float), cstring1 (type: string), (988888 * UDFToInteger(csmallint)) (type: int), (- csmallint) (type: smallint), (- cfloat) (type: float), (-26.28D / UDFToDouble(cfloat)) (type: double), (cfloat * 359.0) (type: float), (cint % UDFToInteger(ctinyint)) (type: int), (- cdouble) (type: double), (UDFToInteger(ctinyint) - -75) (type: int), (762 * (cint % UDFToInteger(ctinyint))) (type: int)
diff --git ql/src/test/results/clientpositive/vectorization_8.q.out ql/src/test/results/clientpositive/vectorization_8.q.out
index 6a52519eae..fb387e7dcd 100644
--- ql/src/test/results/clientpositive/vectorization_8.q.out
+++ ql/src/test/results/clientpositive/vectorization_8.q.out
@@ -66,7 +66,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: ((cstring2 is not null and (UDFToDouble(ctimestamp1) <= 10.0D) and (UDFToDouble(ctimestamp2) <> 16.0D)) or (cfloat < -6432.0) or (cboolean1 is not null and (cdouble = 988888.0D))) (type: boolean)
+ filterExpr: (((UDFToDouble(ctimestamp1) <= 10.0D) and (UDFToDouble(ctimestamp2) <> 16.0D) and cstring2 is not null) or (cfloat < -6432.0) or ((cdouble = 988888.0D) and cboolean1 is not null)) (type: boolean)
Statistics: Num rows: 12288 Data size: 2983078 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -75,8 +75,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: SelectColumnIsNotNull(col 7:string), FilterDoubleColLessEqualDoubleScalar(col 13:double, val 10.0)(children: CastTimestampToDouble(col 8:timestamp) -> 13:double), FilterDoubleColNotEqualDoubleScalar(col 14:double, val 16.0)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double)), FilterDoubleColLessDoubleScalar(col 4:float, val -6432.0), FilterExprAndExpr(children: SelectColumnIsNotNull(col 10:boolean), FilterDoubleColEqualDoubleScalar(col 5:double, val 988888.0)))
- predicate: ((cboolean1 is not null and (cdouble = 988888.0D)) or (cfloat < -6432.0) or (cstring2 is not null and (UDFToDouble(ctimestamp1) <= 10.0D) and (UDFToDouble(ctimestamp2) <> 16.0D))) (type: boolean)
+ predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterDoubleColLessEqualDoubleScalar(col 13:double, val 10.0)(children: CastTimestampToDouble(col 8:timestamp) -> 13:double), FilterDoubleColNotEqualDoubleScalar(col 14:double, val 16.0)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double), SelectColumnIsNotNull(col 7:string)), FilterDoubleColLessDoubleScalar(col 4:float, val -6432.0), FilterExprAndExpr(children: FilterDoubleColEqualDoubleScalar(col 5:double, val 988888.0), SelectColumnIsNotNull(col 10:boolean)))
+ predicate: (((UDFToDouble(ctimestamp1) <= 10.0D) and (UDFToDouble(ctimestamp2) <> 16.0D) and cstring2 is not null) or ((cdouble = 988888.0D) and cboolean1 is not null) or (cfloat < -6432.0)) (type: boolean)
Statistics: Num rows: 3059 Data size: 742850 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: ctimestamp1 (type: timestamp), cdouble (type: double), cboolean1 (type: boolean), cstring1 (type: string), cfloat (type: float), (- cdouble) (type: double), (-5638.15D - cdouble) (type: double), (cdouble * -257.0D) (type: double), (UDFToFloat(cint) + cfloat) (type: float), ((- cdouble) + UDFToDouble(cbigint)) (type: double), (- cdouble) (type: double), (-1.389 - cfloat) (type: float), (- cfloat) (type: float), ((-5638.15D - cdouble) + UDFToDouble((UDFToFloat(cint) + cfloat))) (type: double)
@@ -279,7 +279,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: ((cstring2 is not null and (UDFToDouble(ctimestamp1) <= 12.503D) and (UDFToDouble(ctimestamp2) <> 11.998D)) or (cfloat < -6432.0) or (cboolean1 is not null and (cdouble = 988888.0D))) (type: boolean)
+ filterExpr: (((UDFToDouble(ctimestamp1) <= 12.503D) and (UDFToDouble(ctimestamp2) <> 11.998D) and cstring2 is not null) or (cfloat < -6432.0) or ((cdouble = 988888.0D) and cboolean1 is not null)) (type: boolean)
Statistics: Num rows: 12288 Data size: 2983078 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -287,8 +287,8 @@ STAGE PLANS:
Filter Vectorization:
className: VectorFilterOperator
native: true
- predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: SelectColumnIsNotNull(col 7:string), FilterDoubleColLessEqualDoubleScalar(col 13:double, val 12.503)(children: CastTimestampToDouble(col 8:timestamp) -> 13:double), FilterDoubleColNotEqualDoubleScalar(col 14:double, val 11.998)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double)), FilterDoubleColLessDoubleScalar(col 4:float, val -6432.0), FilterExprAndExpr(children: SelectColumnIsNotNull(col 10:boolean), FilterDoubleColEqualDoubleScalar(col 5:double, val 988888.0)))
- predicate: ((cboolean1 is not null and (cdouble = 988888.0D)) or (cfloat < -6432.0) or (cstring2 is not null and (UDFToDouble(ctimestamp1) <= 12.503D) and (UDFToDouble(ctimestamp2) <> 11.998D))) (type: boolean)
+ predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterDoubleColLessEqualDoubleScalar(col 13:double, val 12.503)(children: CastTimestampToDouble(col 8:timestamp) -> 13:double), FilterDoubleColNotEqualDoubleScalar(col 14:double, val 11.998)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double), SelectColumnIsNotNull(col 7:string)), FilterDoubleColLessDoubleScalar(col 4:float, val -6432.0), FilterExprAndExpr(children: FilterDoubleColEqualDoubleScalar(col 5:double, val 988888.0), SelectColumnIsNotNull(col 10:boolean)))
+ predicate: (((UDFToDouble(ctimestamp1) <= 12.503D) and (UDFToDouble(ctimestamp2) <> 11.998D) and cstring2 is not null) or ((cdouble = 988888.0D) and cboolean1 is not null) or (cfloat < -6432.0)) (type: boolean)
Statistics: Num rows: 3059 Data size: 742850 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: ctimestamp1 (type: timestamp), cdouble (type: double), cboolean1 (type: boolean), cstring1 (type: string), cfloat (type: float), (- cdouble) (type: double), (-5638.15D - cdouble) (type: double), (cdouble * -257.0D) (type: double), (UDFToFloat(cint) + cfloat) (type: float), ((- cdouble) + UDFToDouble(cbigint)) (type: double), (- cdouble) (type: double), (-1.389 - cfloat) (type: float), (- cfloat) (type: float), ((-5638.15D - cdouble) + UDFToDouble((UDFToFloat(cint) + cfloat))) (type: double)
diff --git ql/src/test/results/clientpositive/vectorized_casts.q.out ql/src/test/results/clientpositive/vectorized_casts.q.out
index fd6277c4bb..4e991dd2a1 100644
--- ql/src/test/results/clientpositive/vectorized_casts.q.out
+++ ql/src/test/results/clientpositive/vectorized_casts.q.out
@@ -166,7 +166,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: ((cbigint % 250) = 0) (type: boolean)
+ filterExpr: ((cbigint % 250L) = 0L) (type: boolean)
Statistics: Num rows: 12288 Data size: 1684250 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -176,16 +176,16 @@ STAGE PLANS:
className: VectorFilterOperator
native: true
predicateExpression: FilterLongColEqualLongScalar(col 13:bigint, val 0)(children: LongColModuloLongScalar(col 3:bigint, val 250) -> 13:bigint)
- predicate: ((cbigint % 250) = 0) (type: boolean)
+ predicate: ((cbigint % 250L) = 0L) (type: boolean)
Statistics: Num rows: 6144 Data size: 842180 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
- expressions: UDFToBoolean(ctinyint) (type: boolean), UDFToBoolean(csmallint) (type: boolean), UDFToBoolean(cint) (type: boolean), UDFToBoolean(cbigint) (type: boolean), UDFToBoolean(cfloat) (type: boolean), UDFToBoolean(cdouble) (type: boolean), cboolean1 (type: boolean), UDFToBoolean((cbigint * 0L)) (type: boolean), UDFToBoolean(ctimestamp1) (type: boolean), UDFToBoolean(cstring1) (type: boolean), UDFToInteger(ctinyint) (type: int), UDFToInteger(csmallint) (type: int), cint (type: int), UDFToInteger(cbigint) (type: int), UDFToInteger(cfloat) (type: int), UDFToInteger(cdouble) (type: int), UDFToInteger(cboolean1) (type: int), UDFToInteger(ctimestamp1) (type: int), UDFToInteger(cstring1) (type: int), UDFToInteger(substr(cstring1, 1, 1)) (type: int), UDFToByte(cfloat) (type: tinyint), UDFToShort(cfloat) (type: smallint), UDFToLong(cfloat) (type: bigint), UDFToDouble(ctinyint) (type: double), UDFToDouble(csmallint) (type: double), UDFToDouble(cint) (type: double), UDFToDouble(cbigint) (type: double), UDFToDouble(cfloat) (type: double), cdouble (type: double), UDFToDouble(cboolean1) (type: double), UDFToDouble(ctimestamp1) (type: double), UDFToDouble(cstring1) (type: double), UDFToDouble(substr(cstring1, 1, 1)) (type: double), UDFToFloat(cint) (type: float), UDFToFloat(cdouble) (type: float), CAST( ctinyint AS TIMESTAMP) (type: timestamp), CAST( csmallint AS TIMESTAMP) (type: timestamp), CAST( cint AS TIMESTAMP) (type: timestamp), CAST( cbigint AS TIMESTAMP) (type: timestamp), CAST( cfloat AS TIMESTAMP) (type: timestamp), CAST( cdouble AS TIMESTAMP) (type: timestamp), CAST( cboolean1 AS TIMESTAMP) (type: timestamp), CAST( (cbigint * 0L) AS TIMESTAMP) (type: timestamp), CAST( CAST( ctimestamp1 AS DATE) AS TIMESTAMP) (type: timestamp), ctimestamp1 (type: timestamp), CAST( cstring1 AS TIMESTAMP) (type: timestamp), CAST( substr(cstring1, 1, 1) AS TIMESTAMP) (type: timestamp), CAST( ctinyint AS STRING) (type: string), CAST( csmallint AS STRING) (type: string), CAST( cint AS STRING) (type: string), CAST( cbigint AS STRING) (type: string), CAST( cfloat AS STRING) (type: string), CAST( cdouble AS STRING) (type: string), CAST( cboolean1 AS STRING) (type: string), CAST( (cbigint * 0L) AS STRING) (type: string), CAST( ctimestamp1 AS STRING) (type: string), cstring1 (type: string), CAST( CAST( cstring1 AS CHAR(10)) AS STRING) (type: string), CAST( CAST( cstring1 AS varchar(10)) AS STRING) (type: string), UDFToFloat(UDFToInteger(cfloat)) (type: float), UDFToDouble((cint * 2)) (type: double), CAST( sin(cfloat) AS STRING) (type: string), (UDFToDouble(UDFToFloat(cint)) + UDFToDouble(cboolean1)) (type: double)
+ expressions: UDFToBoolean(ctinyint) (type: boolean), UDFToBoolean(csmallint) (type: boolean), UDFToBoolean(cint) (type: boolean), UDFToBoolean(cbigint) (type: boolean), UDFToBoolean(cfloat) (type: boolean), UDFToBoolean(cdouble) (type: boolean), cboolean1 (type: boolean), ((cbigint * 0L) <> 0L) (type: boolean), UDFToBoolean(ctimestamp1) (type: boolean), UDFToBoolean(cstring1) (type: boolean), UDFToInteger(ctinyint) (type: int), UDFToInteger(csmallint) (type: int), cint (type: int), UDFToInteger(cbigint) (type: int), UDFToInteger(cfloat) (type: int), UDFToInteger(cdouble) (type: int), UDFToInteger(cboolean1) (type: int), UDFToInteger(ctimestamp1) (type: int), UDFToInteger(cstring1) (type: int), UDFToInteger(substr(cstring1, 1, 1)) (type: int), UDFToByte(cfloat) (type: tinyint), UDFToShort(cfloat) (type: smallint), UDFToLong(cfloat) (type: bigint), UDFToDouble(ctinyint) (type: double), UDFToDouble(csmallint) (type: double), UDFToDouble(cint) (type: double), UDFToDouble(cbigint) (type: double), UDFToDouble(cfloat) (type: double), cdouble (type: double), UDFToDouble(cboolean1) (type: double), UDFToDouble(ctimestamp1) (type: double), UDFToDouble(cstring1) (type: double), UDFToDouble(substr(cstring1, 1, 1)) (type: double), UDFToFloat(cint) (type: float), UDFToFloat(cdouble) (type: float), CAST( ctinyint AS TIMESTAMP) (type: timestamp), CAST( csmallint AS TIMESTAMP) (type: timestamp), CAST( cint AS TIMESTAMP) (type: timestamp), CAST( cbigint AS TIMESTAMP) (type: timestamp), CAST( cfloat AS TIMESTAMP) (type: timestamp), CAST( cdouble AS TIMESTAMP) (type: timestamp), CAST( cboolean1 AS TIMESTAMP) (type: timestamp), CAST( (cbigint * 0L) AS TIMESTAMP) (type: timestamp), CAST( CAST( ctimestamp1 AS DATE) AS TIMESTAMP) (type: timestamp), ctimestamp1 (type: timestamp), CAST( cstring1 AS TIMESTAMP) (type: timestamp), CAST( substr(cstring1, 1, 1) AS TIMESTAMP) (type: timestamp), CAST( ctinyint AS STRING) (type: string), CAST( csmallint AS STRING) (type: string), CAST( cint AS STRING) (type: string), CAST( cbigint AS STRING) (type: string), CAST( cfloat AS STRING) (type: string), CAST( cdouble AS STRING) (type: string), CAST( cboolean1 AS STRING) (type: string), CAST( (cbigint * 0L) AS STRING) (type: string), CAST( ctimestamp1 AS STRING) (type: string), cstring1 (type: string), CAST( CAST( cstring1 AS CHAR(10)) AS STRING) (type: string), CAST( CAST( cstring1 AS varchar(10)) AS STRING) (type: string), UDFToFloat(UDFToInteger(cfloat)) (type: float), UDFToDouble((cint * 2)) (type: double), CAST( sin(cfloat) AS STRING) (type: string), (UDFToDouble(UDFToFloat(cint)) + UDFToDouble(cboolean1)) (type: double)
outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26, _col27, _col28, _col29, _col30, _col31, _col32, _col33, _col34, _col35, _col36, _col37, _col38, _col39, _col40, _col41, _col42, _col43, _col44, _col45, _col46, _col47, _col48, _col49, _col50, _col51, _col52, _col53, _col54, _col55, _col56, _col57, _col58, _col59, _col60, _col61, _col62
Select Vectorization:
className: VectorSelectOperator
native: true
projectedOutputColumnNums: [14, 15, 16, 17, 18, 19, 10, 21, 22, 23, 0, 1, 2, 3, 24, 25, 10, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 4, 5, 37, 38, 39, 41, 42, 5, 44, 46, 48, 50, 51, 52, 54, 58, 60, 8, 61, 63, 64, 65, 66, 67, 68, 69, 70, 72, 73, 6, 74, 75, 77, 79, 81, 84]
- selectExpressions: CastLongToBooleanViaLongToLong(col 0:tinyint) -> 14:boolean, CastLongToBooleanViaLongToLong(col 1:smallint) -> 15:boolean, CastLongToBooleanViaLongToLong(col 2:int) -> 16:boolean, CastLongToBooleanViaLongToLong(col 3:bigint) -> 17:boolean, CastDoubleToBooleanViaDoubleToLong(col 4:float) -> 18:boolean, CastDoubleToBooleanViaDoubleToLong(col 5:double) -> 19:boolean, CastLongToBooleanViaLongToLong(col 20:bigint)(children: LongColMultiplyLongScalar(col 3:bigint, val 0) -> 20:bigint) -> 21:boolean, CastTimestampToBoolean(col 8:timestamp) -> 22:boolean, CastStringToBoolean(col 6) -> 23:boolean, CastDoubleToLong(col 4:float) -> 24:int, CastDoubleToLong(col 5:double) -> 25:int, CastTimestampToLong(col 8:timestamp) -> 26:int, CastStringToLong(col 6:string) -> 27:int, CastStringToLong(col 28:string)(children: StringSubstrColStartLen(col 6:string, start 0, length 1) -> 28:string) -> 29:int, CastDoubleToLong(col 4:float) -> 30:tinyint, CastDoubleToLong(col 4:float) -> 31:smallint, CastDoubleToLong(col 4:float) -> 32:bigint, CastLongToDouble(col 0:tinyint) -> 33:double, CastLongToDouble(col 1:smallint) -> 34:double, CastLongToDouble(col 2:int) -> 35:double, CastLongToDouble(col 3:bigint) -> 36:double, CastLongToDouble(col 10:boolean) -> 37:double, CastTimestampToDouble(col 8:timestamp) -> 38:double, CastStringToDouble(col 6:string) -> 39:double, CastStringToDouble(col 40:string)(children: StringSubstrColStartLen(col 6:string, start 0, length 1) -> 40:string) -> 41:double, CastLongToFloatViaLongToDouble(col 2:int) -> 42:float, CastMillisecondsLongToTimestamp(col 0:tinyint) -> 44:timestamp, CastMillisecondsLongToTimestamp(col 1:smallint) -> 46:timestamp, CastMillisecondsLongToTimestamp(col 2:int) -> 48:timestamp, CastMillisecondsLongToTimestamp(col 3:bigint) -> 50:timestamp, CastDoubleToTimestamp(col 4:float) -> 51:timestamp, CastDoubleToTimestamp(col 5:double) -> 52:timestamp, CastMillisecondsLongToTimestamp(col 10:boolean) -> 54:timestamp, CastMillisecondsLongToTimestamp(col 57:bigint)(children: LongColMultiplyLongScalar(col 3:bigint, val 0) -> 57:bigint) -> 58:timestamp, CastDateToTimestamp(col 59:date)(children: CastTimestampToDate(col 8:timestamp) -> 59:date) -> 60:timestamp, CastStringToTimestamp(col 6:string) -> 61:timestamp, CastStringToTimestamp(col 62:string)(children: StringSubstrColStartLen(col 6:string, start 0, length 1) -> 62:string) -> 63:timestamp, CastLongToString(col 0:tinyint) -> 64:string, CastLongToString(col 1:smallint) -> 65:string, CastLongToString(col 2:int) -> 66:string, CastLongToString(col 3:bigint) -> 67:string, CastFloatToString(col 4:float) -> 68:string, CastDoubleToString(col 5:double) -> 69:string, CastBooleanToStringViaLongToString(col 10:boolean) -> 70:string, CastLongToString(col 71:bigint)(children: LongColMultiplyLongScalar(col 3:bigint, val 0) -> 71:bigint) -> 72:string, CastTimestampToString(col 8:timestamp) -> 73:string, CastStringGroupToChar(col 6:string, maxLength 10) -> 74:char(10), CastStringGroupToVarChar(col 6:string, maxLength 10) -> 75:varchar(10), CastLongToFloatViaLongToDouble(col 76:int)(children: CastDoubleToLong(col 4:float) -> 76:int) -> 77:float, CastLongToDouble(col 78:int)(children: LongColMultiplyLongScalar(col 2:int, val 2) -> 78:int) -> 79:double, CastDoubleToString(col 80:double)(children: FuncSinDoubleToDouble(col 4:float) -> 80:double) -> 81:string, DoubleColAddDoubleColumn(col 82:double, col 83:double)(children: CastLongToFloatViaLongToDouble(col 2:int) -> 82:float, CastLongToDouble(col 10:boolean) -> 83:double) -> 84:double
+ selectExpressions: CastLongToBooleanViaLongToLong(col 0:tinyint) -> 14:boolean, CastLongToBooleanViaLongToLong(col 1:smallint) -> 15:boolean, CastLongToBooleanViaLongToLong(col 2:int) -> 16:boolean, CastLongToBooleanViaLongToLong(col 3:bigint) -> 17:boolean, CastDoubleToBooleanViaDoubleToLong(col 4:float) -> 18:boolean, CastDoubleToBooleanViaDoubleToLong(col 5:double) -> 19:boolean, LongColNotEqualLongScalar(col 20:bigint, val 0)(children: LongColMultiplyLongScalar(col 3:bigint, val 0) -> 20:bigint) -> 21:boolean, CastTimestampToBoolean(col 8:timestamp) -> 22:boolean, CastStringToBoolean(col 6) -> 23:boolean, CastDoubleToLong(col 4:float) -> 24:int, CastDoubleToLong(col 5:double) -> 25:int, CastTimestampToLong(col 8:timestamp) -> 26:int, CastStringToLong(col 6:string) -> 27:int, CastStringToLong(col 28:string)(children: StringSubstrColStartLen(col 6:string, start 0, length 1) -> 28:string) -> 29:int, CastDoubleToLong(col 4:float) -> 30:tinyint, CastDoubleToLong(col 4:float) -> 31:smallint, CastDoubleToLong(col 4:float) -> 32:bigint, CastLongToDouble(col 0:tinyint) -> 33:double, CastLongToDouble(col 1:smallint) -> 34:double, CastLongToDouble(col 2:int) -> 35:double, CastLongToDouble(col 3:bigint) -> 36:double, CastLongToDouble(col 10:boolean) -> 37:double, CastTimestampToDouble(col 8:timestamp) -> 38:double, CastStringToDouble(col 6:string) -> 39:double, CastStringToDouble(col 40:string)(children: StringSubstrColStartLen(col 6:string, start 0, length 1) -> 40:string) -> 41:double, CastLongToFloatViaLongToDouble(col 2:int) -> 42:float, CastMillisecondsLongToTimestamp(col 0:tinyint) -> 44:timestamp, CastMillisecondsLongToTimestamp(col 1:smallint) -> 46:timestamp, CastMillisecondsLongToTimestamp(col 2:int) -> 48:timestamp, CastMillisecondsLongToTimestamp(col 3:bigint) -> 50:timestamp, CastDoubleToTimestamp(col 4:float) -> 51:timestamp, CastDoubleToTimestamp(col 5:double) -> 52:timestamp, CastMillisecondsLongToTimestamp(col 10:boolean) -> 54:timestamp, CastMillisecondsLongToTimestamp(col 57:bigint)(children: LongColMultiplyLongScalar(col 3:bigint, val 0) -> 57:bigint) -> 58:timestamp, CastDateToTimestamp(col 59:date)(children: CastTimestampToDate(col 8:timestamp) -> 59:date) -> 60:timestamp, CastStringToTimestamp(col 6:string) -> 61:timestamp, CastStringToTimestamp(col 62:string)(children: StringSubstrColStartLen(col 6:string, start 0, length 1) -> 62:string) -> 63:timestamp, CastLongToString(col 0:tinyint) -> 64:string, CastLongToString(col 1:smallint) -> 65:string, CastLongToString(col 2:int) -> 66:string, CastLongToString(col 3:bigint) -> 67:string, CastFloatToString(col 4:float) -> 68:string, CastDoubleToString(col 5:double) -> 69:string, CastBooleanToStringViaLongToString(col 10:boolean) -> 70:string, CastLongToString(col 71:bigint)(children: LongColMultiplyLongScalar(col 3:bigint, val 0) -> 71:bigint) -> 72:string, CastTimestampToString(col 8:timestamp) -> 73:string, CastStringGroupToChar(col 6:string, maxLength 10) -> 74:char(10), CastStringGroupToVarChar(col 6:string, maxLength 10) -> 75:varchar(10), CastLongToFloatViaLongToDouble(col 76:int)(children: CastDoubleToLong(col 4:float) -> 76:int) -> 77:float, CastLongToDouble(col 78:int)(children: LongColMultiplyLongScalar(col 2:int, val 2) -> 78:int) -> 79:double, CastDoubleToString(col 80:double)(children: FuncSinDoubleToDouble(col 4:float) -> 80:double) -> 81:string, DoubleColAddDoubleColumn(col 82:double, col 83:double)(children: CastLongToFloatViaLongToDouble(col 2:int) -> 82:float, CastLongToDouble(col 10:boolean) -> 83:double) -> 84:double
Statistics: Num rows: 6144 Data size: 16362860 Basic stats: COMPLETE Column stats: COMPLETE
File Output Operator
compressed: false
diff --git ql/src/test/results/clientpositive/vectorized_math_funcs.q.out ql/src/test/results/clientpositive/vectorized_math_funcs.q.out
index 0b0aba6829..cc948db7f9 100644
--- ql/src/test/results/clientpositive/vectorized_math_funcs.q.out
+++ ql/src/test/results/clientpositive/vectorized_math_funcs.q.out
@@ -120,7 +120,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: (((cbigint % 500) = 0) and (sin(cfloat) >= -1.0D)) (type: boolean)
+ filterExpr: (((cbigint % 500L) = 0L) and (sin(cfloat) >= -1.0D)) (type: boolean)
Statistics: Num rows: 12288 Data size: 293580 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -129,7 +129,7 @@ STAGE PLANS:
className: VectorFilterOperator
native: true
predicateExpression: FilterExprAndExpr(children: FilterLongColEqualLongScalar(col 13:bigint, val 0)(children: LongColModuloLongScalar(col 3:bigint, val 500) -> 13:bigint), FilterDoubleColGreaterEqualDoubleScalar(col 14:double, val -1.0)(children: FuncSinDoubleToDouble(col 4:float) -> 14:double))
- predicate: (((cbigint % 500) = 0) and (sin(cfloat) >= -1.0D)) (type: boolean)
+ predicate: (((cbigint % 500L) = 0L) and (sin(cfloat) >= -1.0D)) (type: boolean)
Statistics: Num rows: 2048 Data size: 48960 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: cdouble (type: double), round(cdouble, 2) (type: double), floor(cdouble) (type: bigint), ceil(cdouble) (type: bigint), rand() (type: double), rand(98007) (type: double), exp(ln(cdouble)) (type: double), ln(cdouble) (type: double), ln(cfloat) (type: double), log10(cdouble) (type: double), log2(cdouble) (type: double), log2((cdouble - 15601.0D)) (type: double), log2(cfloat) (type: double), log2(cbigint) (type: double), log2(cint) (type: double), log2(csmallint) (type: double), log2(ctinyint) (type: double), log(2, cdouble) (type: double), power(log2(cdouble), 2) (type: double), power(log2(cdouble), 2) (type: double), sqrt(cdouble) (type: double), sqrt(cbigint) (type: double), bin(cbigint) (type: string), hex(cdouble) (type: string), conv(cbigint, 10, 16) (type: string), abs(cdouble) (type: double), abs(ctinyint) (type: int), (cint pmod 3) (type: int), sin(cdouble) (type: double), asin(cdouble) (type: double), cos(cdouble) (type: double), acos(cdouble) (type: double), atan(cdouble) (type: double), degrees(cdouble) (type: double), radians(cdouble) (type: double), cdouble (type: double), cbigint (type: bigint), (- cdouble) (type: double), sign(cdouble) (type: double), sign(cbigint) (type: double), cos(((- sin(log(cdouble))) + 3.14159D)) (type: double)
diff --git ql/src/test/results/clientpositive/vectorized_string_funcs.q.out ql/src/test/results/clientpositive/vectorized_string_funcs.q.out
index 64064c0e85..1797bd2afe 100644
--- ql/src/test/results/clientpositive/vectorized_string_funcs.q.out
+++ ql/src/test/results/clientpositive/vectorized_string_funcs.q.out
@@ -60,10 +60,10 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: (((cbigint % 237) = 0) and (length(substr(cstring1, 1, 2)) <= 2) and (cstring1 like '%')) (type: boolean)
+ filterExpr: (((cbigint % 237L) = 0L) and (length(substr(cstring1, 1, 2)) <= 2) and (cstring1 like '%')) (type: boolean)
Statistics: Num rows: 12288 Data size: 1816546 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (((cbigint % 237) = 0) and (cstring1 like '%') and (length(substr(cstring1, 1, 2)) <= 2)) (type: boolean)
+ predicate: (((cbigint % 237L) = 0L) and (cstring1 like '%') and (length(substr(cstring1, 1, 2)) <= 2)) (type: boolean)
Statistics: Num rows: 1024 Data size: 151470 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: substr(cstring1, 1, 2) (type: string), substr(cstring1, 2) (type: string), lower(cstring1) (type: string), upper(cstring1) (type: string), upper(cstring1) (type: string), length(cstring1) (type: int), trim(cstring1) (type: string), ltrim(cstring1) (type: string), rtrim(cstring1) (type: string), concat(cstring1, cstring2) (type: string), concat('>', cstring1) (type: string), concat(cstring1, '<') (type: string), concat(substr(cstring1, 1, 2), substr(cstring2, 1, 2)) (type: string)
diff --git ql/src/test/results/clientpositive/vectorized_timestamp_ints_casts.q.out ql/src/test/results/clientpositive/vectorized_timestamp_ints_casts.q.out
index bf66c03a5e..e9dbd881ef 100644
--- ql/src/test/results/clientpositive/vectorized_timestamp_ints_casts.q.out
+++ ql/src/test/results/clientpositive/vectorized_timestamp_ints_casts.q.out
@@ -52,7 +52,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: ((cbigint % 250) = 0) (type: boolean)
+ filterExpr: ((cbigint % 250L) = 0L) (type: boolean)
Statistics: Num rows: 12288 Data size: 1684250 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -61,7 +61,7 @@ STAGE PLANS:
className: VectorFilterOperator
native: true
predicateExpression: FilterLongColEqualLongScalar(col 13:bigint, val 0)(children: LongColModuloLongScalar(col 3:bigint, val 250) -> 13:bigint)
- predicate: ((cbigint % 250) = 0) (type: boolean)
+ predicate: ((cbigint % 250L) = 0L) (type: boolean)
Statistics: Num rows: 6144 Data size: 842180 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: CAST( ctinyint AS TIMESTAMP) (type: timestamp), CAST( csmallint AS TIMESTAMP) (type: timestamp), CAST( cint AS TIMESTAMP) (type: timestamp), CAST( cbigint AS TIMESTAMP) (type: timestamp), CAST( cfloat AS TIMESTAMP) (type: timestamp), CAST( cdouble AS TIMESTAMP) (type: timestamp), CAST( cboolean1 AS TIMESTAMP) (type: timestamp), CAST( (cbigint * 0L) AS TIMESTAMP) (type: timestamp), ctimestamp1 (type: timestamp), CAST( cstring1 AS TIMESTAMP) (type: timestamp), CAST( substr(cstring1, 1, 1) AS TIMESTAMP) (type: timestamp)
@@ -217,7 +217,7 @@ STAGE PLANS:
Map Operator Tree:
TableScan
alias: alltypesorc
- filterExpr: ((cbigint % 250) = 0) (type: boolean)
+ filterExpr: ((cbigint % 250L) = 0L) (type: boolean)
Statistics: Num rows: 12288 Data size: 1684250 Basic stats: COMPLETE Column stats: COMPLETE
TableScan Vectorization:
native: true
@@ -226,7 +226,7 @@ STAGE PLANS:
className: VectorFilterOperator
native: true
predicateExpression: FilterLongColEqualLongScalar(col 13:bigint, val 0)(children: LongColModuloLongScalar(col 3:bigint, val 250) -> 13:bigint)
- predicate: ((cbigint % 250) = 0) (type: boolean)
+ predicate: ((cbigint % 250L) = 0L) (type: boolean)
Statistics: Num rows: 6144 Data size: 842180 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: CAST( ctinyint AS TIMESTAMP) (type: timestamp), CAST( csmallint AS TIMESTAMP) (type: timestamp), CAST( cint AS TIMESTAMP) (type: timestamp), CAST( cbigint AS TIMESTAMP) (type: timestamp), CAST( cfloat AS TIMESTAMP) (type: timestamp), CAST( cdouble AS TIMESTAMP) (type: timestamp), CAST( cboolean1 AS TIMESTAMP) (type: timestamp), CAST( (cbigint * 0L) AS TIMESTAMP) (type: timestamp), ctimestamp1 (type: timestamp), CAST( cstring1 AS TIMESTAMP) (type: timestamp), CAST( substr(cstring1, 1, 1) AS TIMESTAMP) (type: timestamp)
diff --git ql/src/test/results/clientpositive/view_cbo.q.out ql/src/test/results/clientpositive/view_cbo.q.out
index c7d9c8a0ec..dae35a143b 100644
--- ql/src/test/results/clientpositive/view_cbo.q.out
+++ ql/src/test/results/clientpositive/view_cbo.q.out
@@ -766,7 +766,7 @@ STAGE PLANS:
outputColumnNames: _col0, _col1, _col2, _col3
Statistics: Num rows: 250 Data size: 48500 Basic stats: COMPLETE Column stats: COMPLETE
Filter Operator
- predicate: (((_col2 * 2) = _col3) and (_col2 > 0L)) (type: boolean)
+ predicate: (((_col2 * 2L) = _col3) and (_col2 > 0L)) (type: boolean)
Statistics: Num rows: 41 Data size: 7954 Basic stats: COMPLETE Column stats: COMPLETE
Select Operator
expressions: _col0 (type: string), _col1 (type: string)