diff --git a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java index 2cea1742d3..8e464cab8f 100644 --- a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java +++ b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java @@ -2348,6 +2348,9 @@ private static void populateLlapDaemonVarsSet(Set llapDaemonVarsSetLocal HIVE_OPTIMIZE_CONSTRAINTS_JOIN("hive.optimize.constraints.join", true, "Whether to use referential constraints\n" + "to optimize (remove or transform) join operators"), + HIVE_OPTIMIZE_SORT_PREDS_WITH_STATS("hive.optimize.filter.preds.sort", true, "Whether to sort conditions in filters\n" + + "based on estimated selectivity and compute cost"), + HIVE_OPTIMIZE_REDUCE_WITH_STATS("hive.optimize.filter.stats.reduction", false, "Whether to simplify comparison\n" + "expressions in filter operators using column stats"), diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/ExplainTask.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/ExplainTask.java index 8223d6b823..4a71a5b411 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/ExplainTask.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/ExplainTask.java @@ -957,14 +957,8 @@ public JSONObject outputPlan(Object work, PrintStream out, Object val = null; try { - if(postProcess(xpl_note)) { - val = m.invoke(work, inTest); - } - else{ - val = m.invoke(work); - } - } - catch (InvocationTargetException ex) { + val = m.invoke(work); + } catch (InvocationTargetException ex) { // Ignore the exception, this may be caused by external jars val = null; } @@ -1083,15 +1077,6 @@ public JSONObject outputPlan(Object work, PrintStream out, return null; } - /** - * use case: this is only use for testing purposes. For instance, we might - * want to sort the expressions in a filter so we get deterministic comparable - * golden files - */ - private boolean postProcess(Explain exp) { - return exp.postProcess(); - } - /** * use case: we want to print the object in explain only if it is true * how to do : print it unless the following 3 are all true: diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/RelOptHiveTable.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/RelOptHiveTable.java index 53eeb0ce3e..0c5140bd39 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/RelOptHiveTable.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/RelOptHiveTable.java @@ -682,7 +682,9 @@ private void updateColStats(Set projIndxLst, boolean allowMissingStats) Set projIndxSet = new HashSet(projIndxLst); if (projIndxLst != null) { for (Integer i : projIndxLst) { - if (hiveColStatsMap.get(i) != null) { + if (i >= noOfNonVirtualCols) { + projIndxSet.remove(i); + } else if (hiveColStatsMap.get(i) != null) { colStatsBldr.add(hiveColStatsMap.get(i)); projIndxSet.remove(i); } diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveFilterSortPredicates.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveFilterSortPredicates.java new file mode 100644 index 0000000000..847d87740c --- /dev/null +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveFilterSortPredicates.java @@ -0,0 +1,268 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to you under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.hadoop.hive.ql.optimizer.calcite.rules; + +import java.util.Comparator; +import java.util.List; +import java.util.stream.Collectors; +import org.apache.calcite.plan.RelOptRule; +import org.apache.calcite.plan.RelOptRuleCall; +import org.apache.calcite.rel.RelNode; +import org.apache.calcite.rel.core.Filter; +import org.apache.calcite.rel.metadata.RelMetadataQuery; +import org.apache.calcite.rex.RexCall; +import org.apache.calcite.rex.RexDynamicParam; +import org.apache.calcite.rex.RexFieldAccess; +import org.apache.calcite.rex.RexInputRef; +import org.apache.calcite.rex.RexLiteral; +import org.apache.calcite.rex.RexNode; +import org.apache.calcite.rex.RexShuttle; +import org.apache.calcite.rex.RexVisitorImpl; +import org.apache.calcite.util.Pair; +import org.apache.hadoop.hive.ql.optimizer.calcite.stats.FilterSelectivityEstimator; +import org.apache.hadoop.hive.ql.optimizer.calcite.stats.HiveRelMdSize; + + +/** + * Rule that sorts conditions in a filter predicate to accelerate query processing + * based on selectivity and compute cost. Currently it is not applied recursively, + * i.e., it is only applied to top predicates in the condition. + */ +public class HiveFilterSortPredicates extends RelOptRule { + + public static final HiveFilterSortPredicates INSTANCE = new HiveFilterSortPredicates(); + + + private HiveFilterSortPredicates() { + super( + operand(Filter.class, + operand(RelNode.class, any()))); + } + + @Override + public boolean matches(RelOptRuleCall call) { + final Filter filter = call.rel(0); + + HiveRulesRegistry registry = call.getPlanner().getContext().unwrap(HiveRulesRegistry.class); + + // If this operator has been visited already by the rule, + // we do not need to apply the optimization + if (registry != null && registry.getVisited(this).contains(filter)) { + return false; + } + + return true; + } + + @Override + public void onMatch(RelOptRuleCall call) { + final Filter filter = call.rel(0); + final RelNode input = call.rel(1); + + // Register that we have visited this operator in this rule + HiveRulesRegistry registry = call.getPlanner().getContext().unwrap(HiveRulesRegistry.class); + if (registry != null) { + registry.registerVisited(this, filter); + } + + final RexNode originalCond = filter.getCondition(); + RexSortPredicatesShuttle sortPredicatesShuttle = new RexSortPredicatesShuttle( + input, filter.getCluster().getMetadataQuery()); + final RexNode newCond = originalCond.accept(sortPredicatesShuttle); + if (!sortPredicatesShuttle.modified) { + // We are done, bail out + return; + } + + // We register the new filter so we do not fire the rule on it again + final Filter newFilter = filter.copy(filter.getTraitSet(), input, newCond); + if (registry != null) { + registry.registerVisited(this, newFilter); + } + + call.transformTo(newFilter); + } + + /** + * If the expression is an AND/OR, it will sort predicates accordingly + * to maximize performance. + * In particular, for AND clause: + * rank = (selectivity - 1) / cost per tuple + * Similarly, for OR clause: + * rank = (-selectivity) / cost per tuple + */ + private static class RexSortPredicatesShuttle extends RexShuttle { + + private FilterSelectivityEstimator selectivityEstimator; + private boolean modified; + + private RexSortPredicatesShuttle(RelNode inputRel, RelMetadataQuery mq) { + selectivityEstimator = new FilterSelectivityEstimator(inputRel, mq); + modified = false; + } + + @Override + public RexNode visitCall(final RexCall call) { + switch (call.getKind()) { + case AND: + List newAndOperands = call.getOperands() + .stream() + .map(pred -> new Pair<>(pred, rankingAnd(pred))) + .sorted(Comparator.comparing(Pair::getValue, Comparator.nullsLast(Double::compare))) + .map(Pair::getKey) + .collect(Collectors.toList()); + if (!call.getOperands().equals(newAndOperands)) { + modified = true; + return call.clone(call.getType(), newAndOperands); + } + break; + case OR: + List newOrOperands = call.getOperands() + .stream() + .map(pred -> new Pair<>(pred, rankingOr(pred))) + .sorted(Comparator.comparing(Pair::getValue, Comparator.nullsLast(Double::compare))) + .map(Pair::getKey) + .collect(Collectors.toList()); + if (!call.getOperands().equals(newOrOperands)) { + modified = true; + return call.clone(call.getType(), newOrOperands); + } + break; + } + return call; + } + + private Double rankingAnd(RexNode e) { + Double selectivity = selectivityEstimator.estimateSelectivity(e); + if (selectivity == null) { + return null; + } + Double costPerTuple = costPerTuple(e); + if (costPerTuple == null) { + return null; + } + return (selectivity - 1d) / costPerTuple; + } + + private Double rankingOr(RexNode e) { + Double selectivity = selectivityEstimator.estimateSelectivity(e); + if (selectivity == null) { + return null; + } + Double costPerTuple = costPerTuple(e); + if (costPerTuple == null) { + return null; + } + return -selectivity / costPerTuple; + } + + private Double costPerTuple(RexNode e) { + return e.accept(new RexFunctionCost()); + } + + } + + /** + * The cost of a call expression e is computed as: + * cost(e) = functionCost + sum_1..n(byteSize(o_i) + cost(o_i)) + * with the call having operands i in 1..n. + */ + private static class RexFunctionCost extends RexVisitorImpl { + + private RexFunctionCost() { + super(true); + } + + @Override + public Double visitCall(RexCall call) { + if (!deep) { + return null; + } + + Double cost = 0.d; + for (RexNode operand : call.operands) { + Double operandCost = operand.accept(this); + if (operandCost == null) { + return null; + } + cost += operandCost; + Double size = HiveRelMdSize.averageTypeSize(operand.getType()); + if (size == null) { + return null; + } + cost += size; + } + + return cost + functionCost(call); + } + + private static Double functionCost(RexCall call) { + switch (call.getKind()) { + case EQUALS: + case NOT_EQUALS: + case LESS_THAN: + case GREATER_THAN: + case LESS_THAN_OR_EQUAL: + case GREATER_THAN_OR_EQUAL: + case IS_NOT_NULL: + case IS_NULL: + case IS_TRUE: + case IS_NOT_TRUE: + case IS_FALSE: + case IS_NOT_FALSE: + return 1d; + + case BETWEEN: + return 3d; + + case IN: + return 2d * (call.getOperands().size() - 1); + + case AND: + case OR: + return 1d * call.getOperands().size(); + + case CAST: + return 8d; + + default: + return 32d; + } + } + + @Override + public Double visitInputRef(RexInputRef inputRef) { + return 0d; + } + + @Override + public Double visitFieldAccess(RexFieldAccess fieldAccess) { + return 0d; + } + + @Override + public Double visitLiteral(RexLiteral literal) { + return 0d; + } + + @Override + public Double visitDynamicParam(RexDynamicParam dynamicParam) { + return 0d; + } + + } +} diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/FilterSelectivityEstimator.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/FilterSelectivityEstimator.java index d362e9b17d..4a4840e869 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/FilterSelectivityEstimator.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/FilterSelectivityEstimator.java @@ -35,6 +35,7 @@ import org.apache.calcite.rex.RexVisitorImpl; import org.apache.calcite.sql.SqlKind; import org.apache.calcite.sql.SqlOperator; +import org.apache.calcite.sql.type.SqlTypeName; import org.apache.calcite.sql.type.SqlTypeUtil; import org.apache.calcite.util.ImmutableBitSet; import org.apache.hadoop.hive.ql.optimizer.calcite.HiveCalciteUtil; @@ -47,7 +48,7 @@ private final double childCardinality; private final RelMetadataQuery mq; - protected FilterSelectivityEstimator(RelNode childRel, RelMetadataQuery mq) { + public FilterSelectivityEstimator(RelNode childRel, RelMetadataQuery mq) { super(true); this.mq = mq; this.childRel = childRel; @@ -58,6 +59,16 @@ public Double estimateSelectivity(RexNode predicate) { return predicate.accept(this); } + @Override + public Double visitInputRef(RexInputRef inputRef) { + if (inputRef.getType().getSqlTypeName() == SqlTypeName.BOOLEAN) { + // If it is a boolean and we assume uniform distribution, + // it will filter half the rows + return 0.5; + } + return null; + } + @Override public Double visitCall(RexCall call) { if (!deep) { diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdSize.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdSize.java index c1cd34478d..893cb9975c 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdSize.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/stats/HiveRelMdSize.java @@ -121,6 +121,10 @@ private HiveRelMdSize() {} // supports all types @Override public Double averageTypeValueSize(RelDataType type) { + return averageTypeSize(type); + } + + public static Double averageTypeSize(RelDataType type) { switch (type.getSqlTypeName()) { case BOOLEAN: case TINYINT: @@ -163,7 +167,7 @@ public Double averageTypeValueSize(RelDataType type) { case ROW: Double average = 0.0; for (RelDataTypeField field : type.getFieldList()) { - average += averageTypeValueSize(field.getType()); + average += averageTypeSize(field.getType()); } return average; default: diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ppr/PartitionPruner.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ppr/PartitionPruner.java index aeb30e827f..7c8d7526a6 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ppr/PartitionPruner.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/ppr/PartitionPruner.java @@ -203,17 +203,17 @@ public static PrunedPartitionList prune(Table tab, ExprNodeDesc prunerExpr, prunerExpr = removeNonPartCols(prunerExpr, extractPartColNames(tab), partColsUsedInFilter); // Remove all parts that are not partition columns. See javadoc for details. ExprNodeDesc compactExpr = compactExpr(prunerExpr.clone()); - String oldFilter = prunerExpr.getExprString(); + String oldFilter = prunerExpr.getExprString(true); if (compactExpr == null || isBooleanExpr(compactExpr)) { if (isFalseExpr(compactExpr)) { - return new PrunedPartitionList(tab, key + compactExpr.getExprString(), + return new PrunedPartitionList(tab, key + compactExpr.getExprString(true), new LinkedHashSet(0), new ArrayList(0), false); } // For null and true values, return every partition return getAllPartsFromCacheOrServer(tab, key, true, prunedPartitionsMap); } - String compactExprString = compactExpr.getExprString(); + String compactExprString = compactExpr.getExprString(true); if (LOG.isDebugEnabled()) { LOG.debug("Filter w/ compacting: " + compactExprString + "; filter w/o compacting: " + oldFilter); @@ -224,8 +224,8 @@ public static PrunedPartitionList prune(Table tab, ExprNodeDesc prunerExpr, return ppList; } - ppList = getPartitionsFromServer(tab, key, (ExprNodeGenericFuncDesc)compactExpr, - conf, alias, partColsUsedInFilter, oldFilter.equals(compactExpr.getExprString())); + ppList = getPartitionsFromServer(tab, key, (ExprNodeGenericFuncDesc) compactExpr, + conf, alias, partColsUsedInFilter, oldFilter.equals(compactExprString)); prunedPartitionsMap.put(key, ppList); return ppList; } @@ -285,7 +285,7 @@ static ExprNodeDesc compactExpr(ExprNodeDesc expr) { } if (!isBooleanExpr(expr)) { throw new IllegalStateException("Unexpected non-boolean ExprNodeConstantDesc: " - + expr.getExprString()); + + expr.getExprString(true)); } return expr; } else if (expr instanceof ExprNodeColumnDesc) { @@ -363,7 +363,7 @@ static ExprNodeDesc compactExpr(ExprNodeDesc expr) { return expr; } else { - throw new IllegalStateException("Unexpected type of ExprNodeDesc: " + expr.getExprString()); + throw new IllegalStateException("Unexpected type of ExprNodeDesc: " + expr.getExprString(true)); } } diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java index e6d510c7fb..5e33266829 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java @@ -185,6 +185,7 @@ import org.apache.hadoop.hive.ql.optimizer.calcite.rules.HiveFilterProjectTSTransposeRule; import org.apache.hadoop.hive.ql.optimizer.calcite.rules.HiveFilterProjectTransposeRule; import org.apache.hadoop.hive.ql.optimizer.calcite.rules.HiveFilterSetOpTransposeRule; +import org.apache.hadoop.hive.ql.optimizer.calcite.rules.HiveFilterSortPredicates; import org.apache.hadoop.hive.ql.optimizer.calcite.rules.HiveFilterSortTransposeRule; import org.apache.hadoop.hive.ql.optimizer.calcite.rules.HiveInsertExchange4JoinRule; import org.apache.hadoop.hive.ql.optimizer.calcite.rules.HiveIntersectMergeRule; @@ -1179,7 +1180,22 @@ private void fixUpASTAggregateIncrementalRebuild(ASTNode newAST) throws Semantic throw new SemanticException("OR clause expected below TOK_WHERE in incremental rewriting"); } // We bypass the OR clause and select the first disjunct - ASTNode newCondInUpdate = (ASTNode) whereClauseInUpdate.getChild(0).getChild(0); + int indexUpdate; + int indexInsert; + if (whereClauseInUpdate.getChild(0).getChild(0).getType() == HiveParser.EQUAL || + (whereClauseInUpdate.getChild(0).getChild(0).getType() == HiveParser.KW_AND && + whereClauseInUpdate.getChild(0).getChild(0).getChild(0).getType() == HiveParser.EQUAL)) { + indexUpdate = 0; + indexInsert = 1; + } else if (whereClauseInUpdate.getChild(0).getChild(1).getType() == HiveParser.EQUAL || + (whereClauseInUpdate.getChild(0).getChild(1).getType() == HiveParser.KW_AND && + whereClauseInUpdate.getChild(0).getChild(1).getChild(0).getType() == HiveParser.EQUAL)) { + indexUpdate = 1; + indexInsert = 0; + } else { + throw new SemanticException("Unexpected condition in incremental rewriting"); + } + ASTNode newCondInUpdate = (ASTNode) whereClauseInUpdate.getChild(0).getChild(indexUpdate); ParseDriver.adaptor.setChild(whereClauseInUpdate, 0, newCondInUpdate); // 4.3) Finally, we add SORT clause, this is needed for the UPDATE. // TOK_SORTBY @@ -1216,7 +1232,7 @@ private void fixUpASTAggregateIncrementalRebuild(ASTNode newAST) throws Semantic throw new SemanticException("OR clause expected below TOK_WHERE in incremental rewriting"); } // We bypass the OR clause and select the second disjunct - ASTNode newCondInInsert = (ASTNode) whereClauseInInsert.getChild(0).getChild(1); + ASTNode newCondInInsert = (ASTNode) whereClauseInInsert.getChild(0).getChild(indexInsert); ParseDriver.adaptor.setChild(whereClauseInInsert, 0, newCondInInsert); // 6) Now we set some tree properties related to multi-insert // operation with INSERT/UPDATE @@ -1961,7 +1977,16 @@ public RelNode apply(RelOptCluster cluster, RelOptSchema relOptSchema, SchemaPlu perfLogger.PerfLogEnd(this.getClass().getName(), PerfLogger.OPTIMIZER, "Calcite: Window fixing rule"); } - // 10. Apply Druid transformation rules + // 10. Sort predicates in filter expressions + if (conf.getBoolVar(HiveConf.ConfVars.HIVE_OPTIMIZE_SORT_PREDS_WITH_STATS)) { + perfLogger.PerfLogBegin(this.getClass().getName(), PerfLogger.OPTIMIZER); + calciteOptimizedPlan = hepPlan(calciteOptimizedPlan, false, mdProvider.getMetadataProvider(), null, + HepMatchOrder.BOTTOM_UP, HiveFilterSortPredicates.INSTANCE); + perfLogger.PerfLogEnd(this.getClass().getName(), PerfLogger.OPTIMIZER, + "Calcite: Sort predicates within filter operators"); + } + + // 11. Apply Druid and JDBC transformation rules perfLogger.PerfLogBegin(this.getClass().getName(), PerfLogger.OPTIMIZER); calciteOptimizedPlan = hepPlan(calciteOptimizedPlan, false, mdProvider.getMetadataProvider(), null, HepMatchOrder.BOTTOM_UP, @@ -2005,7 +2030,7 @@ public RelNode apply(RelOptCluster cluster, RelOptSchema relOptSchema, SchemaPlu perfLogger.PerfLogEnd(this.getClass().getName(), PerfLogger.OPTIMIZER, "Calcite: JDBC transformation rules"); } - // 11. Run rules to aid in translation from Calcite tree to Hive tree + // 12. Run rules to aid in translation from Calcite tree to Hive tree if (HiveConf.getBoolVar(conf, ConfVars.HIVE_CBO_RETPATH_HIVEOP)) { perfLogger.PerfLogBegin(this.getClass().getName(), PerfLogger.OPTIMIZER); // 12.1. Merge join into multijoin operators (if possible) @@ -2026,7 +2051,7 @@ public RelNode apply(RelOptCluster cluster, RelOptSchema relOptSchema, SchemaPlu HiveFilterProjectTSTransposeRule.INSTANCE, HiveFilterProjectTSTransposeRule.INSTANCE_DRUID, HiveProjectFilterPullUpConstantsRule.INSTANCE); - // 11.2. Introduce exchange operators below join/multijoin operators + // 12.2. Introduce exchange operators below join/multijoin operators calciteOptimizedPlan = hepPlan(calciteOptimizedPlan, false, mdProvider.getMetadataProvider(), null, HepMatchOrder.BOTTOM_UP, HiveInsertExchange4JoinRule.EXCHANGE_BELOW_JOIN, HiveInsertExchange4JoinRule.EXCHANGE_BELOW_MULTIJOIN); @@ -2190,9 +2215,9 @@ private RelNode applyPreJoinOrderingTransforms(RelNode basePlan, RelMetadataProv perfLogger.PerfLogBegin(this.getClass().getName(), PerfLogger.OPTIMIZER); basePlan = hepPlan(basePlan, false, mdProvider, executorProvider, - HiveSortLimitRemoveRule.INSTANCE); + HiveSortLimitRemoveRule.INSTANCE); perfLogger.PerfLogEnd(this.getClass().getName(), PerfLogger.OPTIMIZER, - "Calcite: Trying to remove Limit and Order by"); + "Calcite: Trying to remove Limit and Order by"); // 6. Apply Partition Pruning perfLogger.PerfLogBegin(this.getClass().getName(), PerfLogger.OPTIMIZER); @@ -2203,8 +2228,7 @@ private RelNode applyPreJoinOrderingTransforms(RelNode basePlan, RelMetadataProv // 7. Projection Pruning (this introduces select above TS & hence needs to be run last due to PP) perfLogger.PerfLogBegin(this.getClass().getName(), PerfLogger.OPTIMIZER); HiveRelFieldTrimmer fieldTrimmer = new HiveRelFieldTrimmer(null, - HiveRelFactories.HIVE_BUILDER.create(cluster, null), - profilesCBO.contains(ExtendedCBOProfile.JOIN_REORDERING)); + HiveRelFactories.HIVE_BUILDER.create(cluster, null), true); basePlan = fieldTrimmer.trim(basePlan); perfLogger.PerfLogEnd(this.getClass().getName(), PerfLogger.OPTIMIZER, "Calcite: Prejoin ordering transformation, Projection Pruning"); diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/Explain.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/Explain.java index 030bb6152d..409b03f313 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/plan/Explain.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/Explain.java @@ -77,6 +77,4 @@ public boolean in(Level[] levels) { }; Vectorization vectorization() default Vectorization.NON_VECTORIZED; - boolean postProcess() default false; - } diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/FilterDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/FilterDesc.java index fc7327a80c..944fa4ff9b 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/plan/FilterDesc.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/FilterDesc.java @@ -111,24 +111,16 @@ public FilterDesc( } @Signature + @Explain(displayName = "predicate") public String getPredicateString() { return PlanUtils.getExprListString(Arrays.asList(predicate)); } + @Explain(displayName = "predicate", explainLevels = { Level.USER }) public String getUserLevelExplainPredicateString() { return PlanUtils.getExprListString(Arrays.asList(predicate), true); } - @Explain(displayName = "predicate", postProcess = true) - public String getPredicateString(boolean postProcess) { - return PlanUtils.getExprListString(Arrays.asList(predicate), false, postProcess); - } - - @Explain(displayName = "predicate", explainLevels = { Level.USER }, postProcess = true) - public String getUserLevelExplainPredicateString(boolean postProcess) { - return PlanUtils.getExprListString(Arrays.asList(predicate), true, postProcess); - } - public org.apache.hadoop.hive.ql.plan.ExprNodeDesc getPredicate() { return predicate; } diff --git a/ql/src/java/org/apache/hadoop/hive/ql/stats/StatsUtils.java b/ql/src/java/org/apache/hadoop/hive/ql/stats/StatsUtils.java index e184b9d0a4..4088f76279 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/stats/StatsUtils.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/stats/StatsUtils.java @@ -358,13 +358,13 @@ private static Statistics collectStatistics(HiveConf conf, PrunedPartitionList p if (colStats == null) { partitionColsToRetrieve.add(colName); if (LOG.isDebugEnabled()) { - LOG.debug("Stats for column " + colName + + LOG.debug("Stats for partition column " + colName + " in table " + table.getCompleteName() + " could not be retrieved from cache"); } } else { columnStats.add(colStats); if (LOG.isDebugEnabled()) { - LOG.debug("Stats for column " + colName + + LOG.debug("Stats for partition column " + colName + " in table " + table.getCompleteName() + " retrieved from cache"); } } diff --git a/ql/src/test/results/clientpositive/auto_join14.q.out b/ql/src/test/results/clientpositive/auto_join14.q.out index 176f2f2fc8..9ddc3c7977 100644 --- a/ql/src/test/results/clientpositive/auto_join14.q.out +++ b/ql/src/test/results/clientpositive/auto_join14.q.out @@ -61,7 +61,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: srcpart - filterExpr: ((ds = '2008-04-08') and (UDFToDouble(key) > 100.0D)) (type: boolean) + filterExpr: ((UDFToDouble(key) > 100.0D) and (ds = '2008-04-08')) (type: boolean) Statistics: Num rows: 1000 Data size: 178000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: (UDFToDouble(key) > 100.0D) (type: boolean) diff --git a/ql/src/test/results/clientpositive/bucket_map_join_spark1.q.out b/ql/src/test/results/clientpositive/bucket_map_join_spark1.q.out index 22c653171c..2ed991ac0b 100644 --- a/ql/src/test/results/clientpositive/bucket_map_join_spark1.q.out +++ b/ql/src/test/results/clientpositive/bucket_map_join_spark1.q.out @@ -132,7 +132,7 @@ FROM `default`.`srcbucket_mapjoin_part_n19` WHERE `key` IS NOT NULL) AS `t0` INNER JOIN (SELECT `key`, `value` FROM `default`.`srcbucket_mapjoin_part_2_n16` -WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t2` ON `t0`.`key` = `t2`.`key` +WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key` STAGE DEPENDENCIES: Stage-6 is a root stage Stage-5 depends on stages: Stage-6 @@ -222,7 +222,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: b - filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean) + filterExpr: (key is not null and (ds = '2008-04-08')) (type: boolean) Statistics: Num rows: 149 Data size: 85004 Basic stats: PARTIAL Column stats: NONE GatherStats: false Filter Operator @@ -594,7 +594,7 @@ FROM `default`.`srcbucket_mapjoin_part_n19` WHERE `key` IS NOT NULL) AS `t0` INNER JOIN (SELECT `key`, `value` FROM `default`.`srcbucket_mapjoin_part_2_n16` -WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t2` ON `t0`.`key` = `t2`.`key` +WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key` STAGE DEPENDENCIES: Stage-6 is a root stage Stage-5 depends on stages: Stage-6 @@ -684,7 +684,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: b - filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean) + filterExpr: (key is not null and (ds = '2008-04-08')) (type: boolean) Statistics: Num rows: 149 Data size: 85004 Basic stats: PARTIAL Column stats: NONE GatherStats: false Filter Operator diff --git a/ql/src/test/results/clientpositive/bucket_map_join_spark2.q.out b/ql/src/test/results/clientpositive/bucket_map_join_spark2.q.out index 38ed1237c8..d7e231a12e 100644 --- a/ql/src/test/results/clientpositive/bucket_map_join_spark2.q.out +++ b/ql/src/test/results/clientpositive/bucket_map_join_spark2.q.out @@ -116,7 +116,7 @@ FROM `default`.`srcbucket_mapjoin_part_n12` WHERE `key` IS NOT NULL) AS `t0` INNER JOIN (SELECT `key`, `value` FROM `default`.`srcbucket_mapjoin_part_2_n10` -WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t2` ON `t0`.`key` = `t2`.`key` +WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key` STAGE DEPENDENCIES: Stage-6 is a root stage Stage-5 depends on stages: Stage-6 @@ -184,7 +184,7 @@ STAGE PLANS: $hdt$_1:b TableScan alias: b - filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean) + filterExpr: (key is not null and (ds = '2008-04-08')) (type: boolean) Statistics: Num rows: 78 Data size: 44908 Basic stats: PARTIAL Column stats: NONE GatherStats: false Filter Operator @@ -578,7 +578,7 @@ FROM `default`.`srcbucket_mapjoin_part_n12` WHERE `key` IS NOT NULL) AS `t0` INNER JOIN (SELECT `key`, `value` FROM `default`.`srcbucket_mapjoin_part_2_n10` -WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t2` ON `t0`.`key` = `t2`.`key` +WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key` STAGE DEPENDENCIES: Stage-6 is a root stage Stage-5 depends on stages: Stage-6 @@ -646,7 +646,7 @@ STAGE PLANS: $hdt$_1:b TableScan alias: b - filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean) + filterExpr: (key is not null and (ds = '2008-04-08')) (type: boolean) Statistics: Num rows: 78 Data size: 44908 Basic stats: PARTIAL Column stats: NONE GatherStats: false Filter Operator diff --git a/ql/src/test/results/clientpositive/bucket_map_join_spark3.q.out b/ql/src/test/results/clientpositive/bucket_map_join_spark3.q.out index 1795b891d4..f7e811ba70 100644 --- a/ql/src/test/results/clientpositive/bucket_map_join_spark3.q.out +++ b/ql/src/test/results/clientpositive/bucket_map_join_spark3.q.out @@ -116,7 +116,7 @@ FROM `default`.`srcbucket_mapjoin_part_n4` WHERE `key` IS NOT NULL) AS `t0` INNER JOIN (SELECT `key`, `value` FROM `default`.`srcbucket_mapjoin_part_2_n3` -WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t2` ON `t0`.`key` = `t2`.`key` +WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key` STAGE DEPENDENCIES: Stage-6 is a root stage Stage-5 depends on stages: Stage-6 @@ -206,7 +206,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: b - filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean) + filterExpr: (key is not null and (ds = '2008-04-08')) (type: boolean) Statistics: Num rows: 149 Data size: 85004 Basic stats: PARTIAL Column stats: NONE GatherStats: false Filter Operator @@ -578,7 +578,7 @@ FROM `default`.`srcbucket_mapjoin_part_n4` WHERE `key` IS NOT NULL) AS `t0` INNER JOIN (SELECT `key`, `value` FROM `default`.`srcbucket_mapjoin_part_2_n3` -WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t2` ON `t0`.`key` = `t2`.`key` +WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key` STAGE DEPENDENCIES: Stage-6 is a root stage Stage-5 depends on stages: Stage-6 @@ -668,7 +668,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: b - filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean) + filterExpr: (key is not null and (ds = '2008-04-08')) (type: boolean) Statistics: Num rows: 149 Data size: 85004 Basic stats: PARTIAL Column stats: NONE GatherStats: false Filter Operator diff --git a/ql/src/test/results/clientpositive/cbo_rp_outer_join_ppr.q.out b/ql/src/test/results/clientpositive/cbo_rp_outer_join_ppr.q.out index 684155fcf2..605f1aec22 100644 --- a/ql/src/test/results/clientpositive/cbo_rp_outer_join_ppr.q.out +++ b/ql/src/test/results/clientpositive/cbo_rp_outer_join_ppr.q.out @@ -63,7 +63,7 @@ STAGE PLANS: GatherStats: false Filter Operator isSamplingPred: false - predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean) + predicate: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean) Statistics: Num rows: 111 Data size: 19758 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) @@ -377,7 +377,7 @@ STAGE PLANS: GatherStats: false Filter Operator isSamplingPred: false - predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean) + predicate: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean) Statistics: Num rows: 111 Data size: 19758 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) diff --git a/ql/src/test/results/clientpositive/cbo_union_view.q.out b/ql/src/test/results/clientpositive/cbo_union_view.q.out index 71fb4e650d..88eef95074 100644 --- a/ql/src/test/results/clientpositive/cbo_union_view.q.out +++ b/ql/src/test/results/clientpositive/cbo_union_view.q.out @@ -188,7 +188,7 @@ STAGE PLANS: insideView TRUE Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL Filter Operator - predicate: ((ds = '1') and (key = 86)) (type: boolean) + predicate: ((key = 86) and (ds = '1')) (type: boolean) Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL Select Operator expressions: value (type: string) @@ -214,7 +214,7 @@ STAGE PLANS: insideView TRUE Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL Filter Operator - predicate: ((ds = '1') and (key = 86)) (type: boolean) + predicate: ((key = 86) and (ds = '1')) (type: boolean) Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL Select Operator expressions: value (type: string) @@ -240,7 +240,7 @@ STAGE PLANS: insideView TRUE Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL Filter Operator - predicate: ((ds = '1') and (key = 86)) (type: boolean) + predicate: ((key = 86) and (ds = '1')) (type: boolean) Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL Select Operator expressions: value (type: string) diff --git a/ql/src/test/results/clientpositive/constprog_partitioner.q.out b/ql/src/test/results/clientpositive/constprog_partitioner.q.out index 4e497d2e92..e42287c807 100644 --- a/ql/src/test/results/clientpositive/constprog_partitioner.q.out +++ b/ql/src/test/results/clientpositive/constprog_partitioner.q.out @@ -116,7 +116,7 @@ STAGE PLANS: value expressions: _col1 (type: int), _col2 (type: int) TableScan alias: lineitem - filterExpr: ((l_shipmode = 'AIR') and (l_linenumber = 1) and l_orderkey is not null) (type: boolean) + filterExpr: ((l_linenumber = 1) and (l_shipmode = 'AIR') and l_orderkey is not null) (type: boolean) Statistics: Num rows: 100 Data size: 9600 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: ((l_linenumber = 1) and (l_shipmode = 'AIR') and l_orderkey is not null) (type: boolean) diff --git a/ql/src/test/results/clientpositive/correlated_join_keys.q.out b/ql/src/test/results/clientpositive/correlated_join_keys.q.out index 34aa35d081..c766e84c69 100644 --- a/ql/src/test/results/clientpositive/correlated_join_keys.q.out +++ b/ql/src/test/results/clientpositive/correlated_join_keys.q.out @@ -90,7 +90,7 @@ STAGE PLANS: filterExpr: (ca_zip is not null and ca_state is not null) (type: boolean) Statistics: Num rows: 20 Data size: 3500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (ca_state is not null and ca_zip is not null) (type: boolean) + predicate: (ca_zip is not null and ca_state is not null) (type: boolean) Statistics: Num rows: 20 Data size: 3500 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ca_state (type: string), ca_zip (type: string) @@ -106,7 +106,7 @@ STAGE PLANS: filterExpr: (ca_zip is not null and ca_state is not null) (type: boolean) Statistics: Num rows: 20 Data size: 3500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (ca_state is not null and ca_zip is not null) (type: boolean) + predicate: (ca_zip is not null and ca_state is not null) (type: boolean) Statistics: Num rows: 20 Data size: 3500 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ca_state (type: string), ca_zip (type: string) @@ -189,7 +189,7 @@ STAGE PLANS: filterExpr: (ca_zip is not null and ca_state is not null) (type: boolean) Statistics: Num rows: 20 Data size: 3500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (ca_state is not null and ca_zip is not null) (type: boolean) + predicate: (ca_zip is not null and ca_state is not null) (type: boolean) Statistics: Num rows: 20 Data size: 3500 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ca_state (type: string), ca_zip (type: string) @@ -205,7 +205,7 @@ STAGE PLANS: filterExpr: (ca_zip is not null and ca_state is not null) (type: boolean) Statistics: Num rows: 20 Data size: 3500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (ca_state is not null and ca_zip is not null) (type: boolean) + predicate: (ca_zip is not null and ca_state is not null) (type: boolean) Statistics: Num rows: 20 Data size: 3500 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ca_state (type: string), ca_zip (type: string) diff --git a/ql/src/test/results/clientpositive/correlationoptimizer8.q.out b/ql/src/test/results/clientpositive/correlationoptimizer8.q.out index 37a6c44be2..9751a965c6 100644 --- a/ql/src/test/results/clientpositive/correlationoptimizer8.q.out +++ b/ql/src/test/results/clientpositive/correlationoptimizer8.q.out @@ -34,10 +34,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: x - filterExpr: ((UDFToDouble(key) < 20.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean) + filterExpr: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) < 20.0D)) (type: boolean) Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((UDFToDouble(key) < 20.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean) + predicate: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) < 20.0D)) (type: boolean) Statistics: Num rows: 148 Data size: 12876 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator aggregations: count() @@ -131,10 +131,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: x1 - filterExpr: ((UDFToDouble(key) > 100.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean) + filterExpr: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) > 100.0D)) (type: boolean) Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((UDFToDouble(key) > 100.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean) + predicate: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) > 100.0D)) (type: boolean) Statistics: Num rows: 148 Data size: 12876 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator aggregations: count() @@ -239,10 +239,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: x - filterExpr: ((UDFToDouble(key) < 20.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean) + filterExpr: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) < 20.0D)) (type: boolean) Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((UDFToDouble(key) < 20.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean) + predicate: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) < 20.0D)) (type: boolean) Statistics: Num rows: 148 Data size: 12876 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator aggregations: count() @@ -259,10 +259,10 @@ STAGE PLANS: value expressions: _col1 (type: bigint) TableScan alias: x1 - filterExpr: ((UDFToDouble(key) > 100.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean) + filterExpr: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) > 100.0D)) (type: boolean) Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((UDFToDouble(key) > 100.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean) + predicate: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) > 100.0D)) (type: boolean) Statistics: Num rows: 148 Data size: 12876 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator aggregations: count() @@ -906,10 +906,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: x - filterExpr: ((UDFToDouble(key) < 20.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean) + filterExpr: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) < 20.0D)) (type: boolean) Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((UDFToDouble(key) < 20.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean) + predicate: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) < 20.0D)) (type: boolean) Statistics: Num rows: 148 Data size: 12876 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator aggregations: count() @@ -1003,10 +1003,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: x1 - filterExpr: ((UDFToDouble(key) > 100.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean) + filterExpr: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) > 100.0D)) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((UDFToDouble(key) > 100.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean) + predicate: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) > 100.0D)) (type: boolean) Statistics: Num rows: 148 Data size: 26344 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator aggregations: count() diff --git a/ql/src/test/results/clientpositive/except_all.q.out b/ql/src/test/results/clientpositive/except_all.q.out index da862bcb2e..6aa7f8e311 100644 --- a/ql/src/test/results/clientpositive/except_all.q.out +++ b/ql/src/test/results/clientpositive/except_all.q.out @@ -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 * 2L) = _col3) and (_col2 > 0L)) (type: boolean) + predicate: ((_col2 > 0L) and ((_col2 * 2L) = _col3)) (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 * 2L) = _col3) and (_col2 > 0L)) (type: boolean) + predicate: ((_col2 > 0L) and ((_col2 * 2L) = _col3)) (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 * 2L) = _col2) and (_col1 > 0L)) (type: boolean) + predicate: ((_col1 > 0L) and ((_col1 * 2L) = _col2)) (type: boolean) Statistics: Num rows: 1 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: int) diff --git a/ql/src/test/results/clientpositive/filter_join_breaktask.q.out b/ql/src/test/results/clientpositive/filter_join_breaktask.q.out index 259696da91..9fb11d6236 100644 --- a/ql/src/test/results/clientpositive/filter_join_breaktask.q.out +++ b/ql/src/test/results/clientpositive/filter_join_breaktask.q.out @@ -37,13 +37,13 @@ POSTHOOK: Input: default@filter_join_breaktask@ds=2008-04-08 OPTIMIZED SQL: SELECT `t2`.`key`, `t0`.`value` FROM (SELECT `value` FROM `default`.`filter_join_breaktask` -WHERE `ds` = '2008-04-08' AND `value` <> '') AS `t0` +WHERE `value` <> '' AND `ds` = '2008-04-08') AS `t0` INNER JOIN ((SELECT `key` FROM `default`.`filter_join_breaktask` -WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t2` +WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t2` INNER JOIN (SELECT `key`, `value` FROM `default`.`filter_join_breaktask` -WHERE `ds` = '2008-04-08' AND `value` <> '' AND `key` IS NOT NULL) AS `t4` ON `t2`.`key` = `t4`.`key`) ON `t0`.`value` = `t4`.`value` +WHERE `key` IS NOT NULL AND `value` <> '' AND `ds` = '2008-04-08') AS `t4` ON `t2`.`key` = `t4`.`key`) ON `t0`.`value` = `t4`.`value` STAGE DEPENDENCIES: Stage-1 is a root stage Stage-2 depends on stages: Stage-1 @@ -55,7 +55,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: f - filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean) + filterExpr: (key is not null and (ds = '2008-04-08')) (type: boolean) Statistics: Num rows: 25 Data size: 64 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator @@ -76,12 +76,12 @@ STAGE PLANS: auto parallelism: false TableScan alias: m - filterExpr: ((value <> '') and key is not null) (type: boolean) + filterExpr: (key is not null and (value <> '')) (type: boolean) Statistics: Num rows: 25 Data size: 2289 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false - predicate: ((value <> '') and key is not null) (type: boolean) + predicate: (key is not null and (value <> '')) (type: boolean) Statistics: Num rows: 15 Data size: 1375 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), value (type: string) @@ -158,7 +158,7 @@ STAGE PLANS: 0 _col0 (type: int) 1 _col0 (type: int) outputColumnNames: _col0, _col2 - Statistics: Num rows: 25 Data size: 2305 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 15 Data size: 1375 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 @@ -188,13 +188,13 @@ STAGE PLANS: null sort order: a sort order: + Map-reduce partition columns: _col2 (type: string) - Statistics: Num rows: 25 Data size: 2305 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 15 Data size: 1375 Basic stats: COMPLETE Column stats: COMPLETE tag: 0 value expressions: _col0 (type: int) auto parallelism: false TableScan alias: g - filterExpr: ((ds = '2008-04-08') and (value <> '')) (type: boolean) + filterExpr: ((value <> '') and (ds = '2008-04-08')) (type: boolean) Statistics: Num rows: 25 Data size: 2225 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator @@ -298,17 +298,17 @@ STAGE PLANS: 0 _col2 (type: string) 1 _col0 (type: string) outputColumnNames: _col0, _col3 - Statistics: Num rows: 32 Data size: 2956 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 19 Data size: 1747 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: int), _col3 (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 32 Data size: 2956 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 19 Data size: 1747 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 32 Data size: 2956 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 19 Data size: 1747 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat diff --git a/ql/src/test/results/clientpositive/fold_eq_with_case_when.q.out b/ql/src/test/results/clientpositive/fold_eq_with_case_when.q.out index 2b87d3b26f..006b51e2f9 100644 --- a/ql/src/test/results/clientpositive/fold_eq_with_case_when.q.out +++ b/ql/src/test/results/clientpositive/fold_eq_with_case_when.q.out @@ -44,10 +44,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: lineitem - filterExpr: ((DATE'1996-03-30' = to_date(CAST( l_shipdate AS TIMESTAMP))) and (l_shipmode = 'RAIL')) (type: boolean) + filterExpr: ((l_shipmode = 'RAIL') and (DATE'1996-03-30' = to_date(CAST( l_shipdate AS TIMESTAMP)))) (type: boolean) Statistics: Num rows: 100 Data size: 19000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((DATE'1996-03-30' = to_date(CAST( l_shipdate AS TIMESTAMP))) and (l_shipmode = 'RAIL')) (type: boolean) + predicate: ((l_shipmode = 'RAIL') and (DATE'1996-03-30' = to_date(CAST( l_shipdate AS TIMESTAMP)))) (type: boolean) Statistics: Num rows: 7 Data size: 1330 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: l_orderkey (type: int), (UDFToDouble(l_partkey) / 1000000.0D) (type: double) diff --git a/ql/src/test/results/clientpositive/folder_predicate.q.out b/ql/src/test/results/clientpositive/folder_predicate.q.out index 92e7f799ae..5fe3341ef9 100644 --- a/ql/src/test/results/clientpositive/folder_predicate.q.out +++ b/ql/src/test/results/clientpositive/folder_predicate.q.out @@ -39,7 +39,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: predicate_fold_tb - filterExpr: (value is null or (value <> 3)) (type: boolean) + filterExpr: ((value <> 3) or value is null) (type: boolean) Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: ((value <> 3) or value is null) (type: boolean) @@ -99,7 +99,7 @@ STAGE PLANS: filterExpr: (value is null or (value < 3)) (type: boolean) Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((value < 3) or value is null) (type: boolean) + predicate: (value is null or (value < 3)) (type: boolean) Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: value (type: int) @@ -154,7 +154,7 @@ STAGE PLANS: filterExpr: (value is null or (value > 3)) (type: boolean) Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((value > 3) or value is null) (type: boolean) + predicate: (value is null or (value > 3)) (type: boolean) Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: value (type: int) @@ -209,7 +209,7 @@ STAGE PLANS: filterExpr: (value is null or (value <= 3)) (type: boolean) Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((value <= 3) or value is null) (type: boolean) + predicate: (value is null or (value <= 3)) (type: boolean) Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: value (type: int) @@ -265,7 +265,7 @@ STAGE PLANS: filterExpr: (value is null or (value >= 3)) (type: boolean) Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((value >= 3) or value is null) (type: boolean) + predicate: (value is null or (value >= 3)) (type: boolean) Statistics: Num rows: 3 Data size: 12 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: value (type: int) @@ -321,7 +321,7 @@ STAGE PLANS: filterExpr: (value is null or (value = 3)) (type: boolean) Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((value = 3) or value is null) (type: boolean) + predicate: (value is null or (value = 3)) (type: boolean) Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: value (type: int) @@ -375,7 +375,7 @@ STAGE PLANS: filterExpr: (value is null or (value <= 1) or (value > 3)) (type: boolean) Statistics: Num rows: 6 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((value <= 1) or (value > 3) or value is null) (type: boolean) + predicate: (value is null or (value <= 1) or (value > 3)) (type: boolean) Statistics: Num rows: 5 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: value (type: int) diff --git a/ql/src/test/results/clientpositive/having2.q.out b/ql/src/test/results/clientpositive/having2.q.out index 967fb44164..95084571e3 100644 --- a/ql/src/test/results/clientpositive/having2.q.out +++ b/ql/src/test/results/clientpositive/having2.q.out @@ -161,7 +161,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 1 Data size: 208 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: ((_col1 <= 4074689.000000041D) and (_col3 <= 822L)) (type: boolean) + predicate: ((_col3 <= 822L) and (_col1 <= 4074689.000000041D)) (type: boolean) Statistics: Num rows: 1 Data size: 208 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: _col0 (type: string), _col1 (type: double), _col2 (type: double) @@ -331,7 +331,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2, _col4 Statistics: Num rows: 550 Data size: 97900 Basic stats: COMPLETE Column stats: NONE Group By Operator - aggregations: sum(_col2), sum(_col0), count(_col0), count(_col4) + aggregations: sum(_col2), count(_col4), sum(_col0), count(_col0) keys: _col1 (type: string) minReductionHashAggr: 0.99 mode: hash @@ -353,17 +353,17 @@ STAGE PLANS: sort order: + Map-reduce partition columns: _col0 (type: string) Statistics: Num rows: 550 Data size: 97900 Basic stats: COMPLETE Column stats: NONE - value expressions: _col1 (type: double), _col2 (type: double), _col3 (type: bigint), _col4 (type: bigint) + value expressions: _col1 (type: double), _col2 (type: bigint), _col3 (type: double), _col4 (type: bigint) Execution mode: vectorized Reduce Operator Tree: Group By Operator - aggregations: sum(VALUE._col0), sum(VALUE._col1), count(VALUE._col2), count(VALUE._col3) + aggregations: sum(VALUE._col0), count(VALUE._col1), sum(VALUE._col2), count(VALUE._col3) keys: KEY._col0 (type: string) mode: mergepartial outputColumnNames: _col0, _col1, _col2, _col3, _col4 Statistics: Num rows: 275 Data size: 48950 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (((_col2 / _col3) <= 822.0D) and (_col1 <= 4074689.000000041D) and (_col4 > 4L)) (type: boolean) + predicate: ((_col1 <= 4074689.000000041D) and (_col2 > 4L) and ((_col3 / _col4) <= 822.0D)) (type: boolean) Statistics: Num rows: 10 Data size: 1780 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: _col0 (type: string) @@ -496,7 +496,7 @@ STAGE PLANS: outputColumnNames: _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 275 Data size: 48950 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (((_col3 / _col4) <= 822.0D) and (_col2 <= 4074689.000000041D) and (_col5 > 4L)) (type: boolean) + predicate: ((_col2 <= 4074689.000000041D) and (_col5 > 4L) and ((_col3 / _col4) <= 822.0D)) (type: boolean) Statistics: Num rows: 10 Data size: 1780 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: _col1 (type: string) @@ -629,7 +629,7 @@ STAGE PLANS: outputColumnNames: _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 275 Data size: 48950 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (((_col3 / _col4) <= 822.0D) and (_col2 <= 4074689.000000041D) and (_col5 > 4L)) (type: boolean) + predicate: ((_col2 <= 4074689.000000041D) and (_col5 > 4L) and ((_col3 / _col4) <= 822.0D)) (type: boolean) Statistics: Num rows: 10 Data size: 1780 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: _col1 (type: string), _col1 (type: string) diff --git a/ql/src/test/results/clientpositive/infer_const_type.q.out b/ql/src/test/results/clientpositive/infer_const_type.q.out index bbdb5be8ca..9e48dbe40a 100644 --- a/ql/src/test/results/clientpositive/infer_const_type.q.out +++ b/ql/src/test/results/clientpositive/infer_const_type.q.out @@ -64,7 +64,7 @@ STAGE PLANS: filterExpr: ((ti = 127Y) and (si = 32767S) and (i = 12345) and (bi = -12345L) and (fl = 906.0) and (db = -307.0D) and (UDFToDouble(str) = 1234.0D)) (type: boolean) Statistics: Num rows: 1 Data size: 216 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: ((UDFToDouble(str) = 1234.0D) and (bi = -12345L) and (db = -307.0D) and (fl = 906.0) and (i = 12345) and (si = 32767S) and (ti = 127Y)) (type: boolean) + predicate: ((ti = 127Y) and (si = 32767S) and (i = 12345) and (bi = -12345L) and (fl = 906.0) and (db = -307.0D) and (UDFToDouble(str) = 1234.0D)) (type: boolean) Statistics: Num rows: 1 Data size: 216 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: 127Y (type: tinyint), 32767S (type: smallint), 12345 (type: int), -12345L (type: bigint), 906.0 (type: float), -307.0D (type: double), str (type: string) @@ -205,10 +205,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: infertypes - filterExpr: ((ti = 127Y) or (CAST( si AS decimal(5,0)) = 327) or (i = -100)) (type: boolean) + filterExpr: ((ti = 127Y) or (i = -100) or (CAST( si AS decimal(5,0)) = 327)) (type: boolean) Statistics: Num rows: 1 Data size: 216 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: ((CAST( si AS decimal(5,0)) = 327) or (i = -100) or (ti = 127Y)) (type: boolean) + predicate: ((ti = 127Y) or (i = -100) or (CAST( si AS decimal(5,0)) = 327)) (type: boolean) Statistics: Num rows: 1 Data size: 216 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: ti (type: tinyint), si (type: smallint), i (type: int), bi (type: bigint), fl (type: float), db (type: double), str (type: string) @@ -271,7 +271,7 @@ STAGE PLANS: filterExpr: ((ti < 127Y) and (i > 100) and (UDFToDouble(str) = 1.57D)) (type: boolean) Statistics: Num rows: 1 Data size: 216 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: ((UDFToDouble(str) = 1.57D) and (i > 100) and (ti < 127Y)) (type: boolean) + predicate: ((ti < 127Y) and (i > 100) and (UDFToDouble(str) = 1.57D)) (type: boolean) Statistics: Num rows: 1 Data size: 216 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: ti (type: tinyint), si (type: smallint), i (type: int), bi (type: bigint), fl (type: float), db (type: double), str (type: string) diff --git a/ql/src/test/results/clientpositive/input42.q.out b/ql/src/test/results/clientpositive/input42.q.out index 27917f77f8..9b17445f55 100644 --- a/ql/src/test/results/clientpositive/input42.q.out +++ b/ql/src/test/results/clientpositive/input42.q.out @@ -1157,7 +1157,7 @@ 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 `default`.`srcpart` -WHERE `ds` = '2008-04-08' AND `key` < 200 +WHERE `key` < 200 AND `ds` = '2008-04-08' STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -1168,7 +1168,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: a - filterExpr: ((ds = '2008-04-08') and (UDFToDouble(key) < 200.0D)) (type: boolean) + filterExpr: ((UDFToDouble(key) < 200.0D) and (ds = '2008-04-08')) (type: boolean) Statistics: Num rows: 1000 Data size: 362000 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator diff --git a/ql/src/test/results/clientpositive/input_part5.q.out b/ql/src/test/results/clientpositive/input_part5.q.out index 2265a630e3..f8fb93c032 100644 --- a/ql/src/test/results/clientpositive/input_part5.q.out +++ b/ql/src/test/results/clientpositive/input_part5.q.out @@ -38,7 +38,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: x - filterExpr: ((ds = '2008-04-08') and (UDFToDouble(key) < 100.0D)) (type: boolean) + filterExpr: ((UDFToDouble(key) < 100.0D) and (ds = '2008-04-08')) (type: boolean) Statistics: Num rows: 1000 Data size: 362000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: (UDFToDouble(key) < 100.0D) (type: boolean) diff --git a/ql/src/test/results/clientpositive/join14.q.out b/ql/src/test/results/clientpositive/join14.q.out index 64c0441e17..dfe54f182a 100644 --- a/ql/src/test/results/clientpositive/join14.q.out +++ b/ql/src/test/results/clientpositive/join14.q.out @@ -52,7 +52,7 @@ STAGE PLANS: Statistics: Num rows: 166 Data size: 14442 Basic stats: COMPLETE Column stats: COMPLETE TableScan alias: srcpart - filterExpr: ((ds = '2008-04-08') and (UDFToDouble(key) > 100.0D)) (type: boolean) + filterExpr: ((UDFToDouble(key) > 100.0D) and (ds = '2008-04-08')) (type: boolean) Statistics: Num rows: 1000 Data size: 178000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: (UDFToDouble(key) > 100.0D) (type: boolean) diff --git a/ql/src/test/results/clientpositive/join34.q.out b/ql/src/test/results/clientpositive/join34.q.out index 40c22d5ccb..b8fd984b83 100644 --- a/ql/src/test/results/clientpositive/join34.q.out +++ b/ql/src/test/results/clientpositive/join34.q.out @@ -35,11 +35,11 @@ POSTHOOK: Output: default@dest_j1_n1 OPTIMIZED SQL: SELECT `t5`.`key`, `t5`.`value`, `t3`.`value` AS `value1` FROM (SELECT `key`, `value` FROM `default`.`src` -WHERE `key` < 20 AND CAST(`key` AS DOUBLE) BETWEEN 20 AND 100 +WHERE CAST(`key` AS DOUBLE) BETWEEN 20 AND 100 AND `key` < 20 UNION ALL SELECT `key`, `value` FROM `default`.`src` -WHERE `key` > 100 AND CAST(`key` AS DOUBLE) BETWEEN 20 AND 100) AS `t3` +WHERE CAST(`key` AS DOUBLE) BETWEEN 20 AND 100 AND `key` > 100) AS `t3` INNER JOIN (SELECT `key`, `value` FROM `default`.`src1` WHERE CAST(`key` AS DOUBLE) BETWEEN 20 AND 100 AND `key` IS NOT NULL) AS `t5` ON `t3`.`key` = `t5`.`key` @@ -83,12 +83,12 @@ STAGE PLANS: Map Operator Tree: TableScan alias: x - filterExpr: ((UDFToDouble(key) < 20.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean) + filterExpr: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) < 20.0D)) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false - predicate: ((UDFToDouble(key) < 20.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean) + predicate: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) < 20.0D)) (type: boolean) Statistics: Num rows: 148 Data size: 26344 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) @@ -172,12 +172,12 @@ STAGE PLANS: MultiFileSpray: false TableScan alias: x1 - filterExpr: ((UDFToDouble(key) > 100.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean) + filterExpr: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) > 100.0D)) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false - predicate: ((UDFToDouble(key) > 100.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean) + predicate: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) > 100.0D)) (type: boolean) Statistics: Num rows: 148 Data size: 26344 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) diff --git a/ql/src/test/results/clientpositive/join35.q.out b/ql/src/test/results/clientpositive/join35.q.out index f9485b307a..5f91f28ad6 100644 --- a/ql/src/test/results/clientpositive/join35.q.out +++ b/ql/src/test/results/clientpositive/join35.q.out @@ -35,12 +35,12 @@ POSTHOOK: Output: default@dest_j1_n24 OPTIMIZED SQL: SELECT `t5`.`key`, `t5`.`value`, `t3`.`$f1` AS `cnt` FROM (SELECT `key`, COUNT(*) AS `$f1` FROM `default`.`src` -WHERE `key` < 20 AND CAST(`key` AS DOUBLE) BETWEEN 20 AND 100 +WHERE CAST(`key` AS DOUBLE) BETWEEN 20 AND 100 AND `key` < 20 GROUP BY `key` UNION ALL SELECT `key`, COUNT(*) AS `$f1` FROM `default`.`src` -WHERE `key` > 100 AND CAST(`key` AS DOUBLE) BETWEEN 20 AND 100 +WHERE CAST(`key` AS DOUBLE) BETWEEN 20 AND 100 AND `key` > 100 GROUP BY `key`) AS `t3` INNER JOIN (SELECT `key`, `value` FROM `default`.`src1` @@ -60,12 +60,12 @@ STAGE PLANS: Map Operator Tree: TableScan alias: x - filterExpr: ((UDFToDouble(key) < 20.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean) + filterExpr: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) < 20.0D)) (type: boolean) Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false - predicate: ((UDFToDouble(key) < 20.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean) + predicate: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) < 20.0D)) (type: boolean) Statistics: Num rows: 148 Data size: 12876 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator aggregations: count() @@ -564,12 +564,12 @@ STAGE PLANS: Map Operator Tree: TableScan alias: x1 - filterExpr: ((UDFToDouble(key) > 100.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean) + filterExpr: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) > 100.0D)) (type: boolean) Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false - predicate: ((UDFToDouble(key) > 100.0D) and UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D) (type: boolean) + predicate: (UDFToDouble(key) NOT BETWEEN 20.0D AND 100.0D and (UDFToDouble(key) > 100.0D)) (type: boolean) Statistics: Num rows: 148 Data size: 12876 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator aggregations: count() diff --git a/ql/src/test/results/clientpositive/join46.q.out b/ql/src/test/results/clientpositive/join46.q.out index 3649968328..c7ae1eb11e 100644 --- a/ql/src/test/results/clientpositive/join46.q.out +++ b/ql/src/test/results/clientpositive/join46.q.out @@ -182,10 +182,10 @@ STAGE PLANS: value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: boolean) TableScan alias: test2_n0 - filterExpr: (key BETWEEN 100 AND 102 and value is not null) (type: boolean) + filterExpr: (value is not null and key BETWEEN 100 AND 102) (type: boolean) Statistics: Num rows: 4 Data size: 380 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (key BETWEEN 100 AND 102 and value is not null) (type: boolean) + predicate: (value is not null and key BETWEEN 100 AND 102) (type: boolean) Statistics: Num rows: 1 Data size: 95 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), value (type: int), col_2 (type: string) diff --git a/ql/src/test/results/clientpositive/join_parse.q.out b/ql/src/test/results/clientpositive/join_parse.q.out index 99ad9015ee..aba4cb5056 100644 --- a/ql/src/test/results/clientpositive/join_parse.q.out +++ b/ql/src/test/results/clientpositive/join_parse.q.out @@ -533,7 +533,7 @@ STAGE PLANS: filterExpr: (value is not null and 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 and value is not null) (type: boolean) + predicate: (value is not null and 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) diff --git a/ql/src/test/results/clientpositive/list_bucket_dml_1.q.out b/ql/src/test/results/clientpositive/list_bucket_dml_1.q.out index 00212385ed..3e05a866ea 100644 --- a/ql/src/test/results/clientpositive/list_bucket_dml_1.q.out +++ b/ql/src/test/results/clientpositive/list_bucket_dml_1.q.out @@ -421,7 +421,7 @@ POSTHOOK: Input: default@list_bucketing_dynamic_part_n0@ds=2008-04-08/hr=11 #### A masked pattern was here #### OPTIMIZED SQL: SELECT CAST('484' AS STRING) AS `key`, `value` FROM `default`.`list_bucketing_dynamic_part_n0` -WHERE `ds` = '2008-04-08' AND `hr` = '11' AND `key` = '484' +WHERE `key` = '484' AND `ds` = '2008-04-08' AND `hr` = '11' STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -432,7 +432,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: list_bucketing_dynamic_part_n0 - filterExpr: ((ds = '2008-04-08') and (hr = '11') and (key = '484')) (type: boolean) + filterExpr: ((key = '484') and (ds = '2008-04-08') and (hr = '11')) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator diff --git a/ql/src/test/results/clientpositive/list_bucket_dml_11.q.out b/ql/src/test/results/clientpositive/list_bucket_dml_11.q.out index f7d2368438..a5ffb418a2 100644 --- a/ql/src/test/results/clientpositive/list_bucket_dml_11.q.out +++ b/ql/src/test/results/clientpositive/list_bucket_dml_11.q.out @@ -299,7 +299,7 @@ POSTHOOK: Input: default@list_bucketing_static_part_n3@ds=2008-04-08/hr=11 #### A masked pattern was here #### OPTIMIZED SQL: SELECT `key`, CAST('val_466' AS STRING) AS `value` FROM `default`.`list_bucketing_static_part_n3` -WHERE `ds` = '2008-04-08' AND `hr` = '11' AND `value` = 'val_466' +WHERE `value` = 'val_466' AND `ds` = '2008-04-08' AND `hr` = '11' STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -310,7 +310,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: list_bucketing_static_part_n3 - filterExpr: ((ds = '2008-04-08') and (hr = '11') and (value = 'val_466')) (type: boolean) + filterExpr: ((value = 'val_466') and (ds = '2008-04-08') and (hr = '11')) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator diff --git a/ql/src/test/results/clientpositive/list_bucket_dml_12.q.out b/ql/src/test/results/clientpositive/list_bucket_dml_12.q.out index eea4ccbd92..045b81db71 100644 --- a/ql/src/test/results/clientpositive/list_bucket_dml_12.q.out +++ b/ql/src/test/results/clientpositive/list_bucket_dml_12.q.out @@ -307,7 +307,7 @@ POSTHOOK: Input: default@list_bucketing_mul_col_n0@ds=2008-04-08/hr=11 #### A masked pattern was here #### OPTIMIZED SQL: SELECT `col1`, CAST('466' AS STRING) AS `col2`, `col3`, CAST('val_466' AS STRING) AS `col4`, `col5`, CAST('2008-04-08' AS STRING) AS `ds`, CAST('11' AS STRING) AS `hr` FROM `default`.`list_bucketing_mul_col_n0` -WHERE `ds` = '2008-04-08' AND `hr` = '11' AND `col2` = '466' AND `col4` = 'val_466' +WHERE `col2` = '466' AND `col4` = 'val_466' AND `ds` = '2008-04-08' AND `hr` = '11' STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -444,7 +444,7 @@ POSTHOOK: Input: default@list_bucketing_mul_col_n0@ds=2008-04-08/hr=11 #### A masked pattern was here #### OPTIMIZED SQL: SELECT `col1`, CAST('382' AS STRING) AS `col2`, `col3`, CAST('val_382' AS STRING) AS `col4`, `col5`, CAST('2008-04-08' AS STRING) AS `ds`, CAST('11' AS STRING) AS `hr` FROM `default`.`list_bucketing_mul_col_n0` -WHERE `ds` = '2008-04-08' AND `hr` = '11' AND `col2` = '382' AND `col4` = 'val_382' +WHERE `col2` = '382' AND `col4` = 'val_382' AND `ds` = '2008-04-08' AND `hr` = '11' STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 diff --git a/ql/src/test/results/clientpositive/list_bucket_dml_13.q.out b/ql/src/test/results/clientpositive/list_bucket_dml_13.q.out index 9371b0044d..6d1ae67339 100644 --- a/ql/src/test/results/clientpositive/list_bucket_dml_13.q.out +++ b/ql/src/test/results/clientpositive/list_bucket_dml_13.q.out @@ -307,7 +307,7 @@ POSTHOOK: Input: default@list_bucketing_mul_col@ds=2008-04-08/hr=2013-01-23+18%3 #### A masked pattern was here #### OPTIMIZED SQL: SELECT `col1`, CAST('466' AS STRING) AS `col2`, `col3`, CAST('val_466' AS STRING) AS `col4`, `col5`, CAST('2008-04-08' AS STRING) AS `ds`, CAST('2013-01-23+18:00:99' AS STRING) AS `hr` FROM `default`.`list_bucketing_mul_col` -WHERE `ds` = '2008-04-08' AND `hr` = '2013-01-23+18:00:99' AND `col2` = '466' AND `col4` = 'val_466' +WHERE `col2` = '466' AND `col4` = 'val_466' AND `ds` = '2008-04-08' AND `hr` = '2013-01-23+18:00:99' STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 diff --git a/ql/src/test/results/clientpositive/list_bucket_dml_2.q.out b/ql/src/test/results/clientpositive/list_bucket_dml_2.q.out index 3ccc584436..a8d414b371 100644 --- a/ql/src/test/results/clientpositive/list_bucket_dml_2.q.out +++ b/ql/src/test/results/clientpositive/list_bucket_dml_2.q.out @@ -378,7 +378,7 @@ POSTHOOK: Input: default@list_bucketing_static_part_n4@ds=2008-04-08/hr=11 #### A masked pattern was here #### OPTIMIZED SQL: SELECT CAST('484' AS STRING) AS `$f0`, CAST('val_484' AS STRING) AS `$f1`, CAST('2008-04-08' AS STRING) AS `$f2`, CAST('11' AS STRING) AS `$f3` FROM `default`.`list_bucketing_static_part_n4` -WHERE `ds` = '2008-04-08' AND `hr` = '11' AND `key` = '484' AND `value` = 'val_484' +WHERE `key` = '484' AND `value` = 'val_484' AND `ds` = '2008-04-08' AND `hr` = '11' STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 diff --git a/ql/src/test/results/clientpositive/list_bucket_dml_3.q.out b/ql/src/test/results/clientpositive/list_bucket_dml_3.q.out index 642158a779..be21d65844 100644 --- a/ql/src/test/results/clientpositive/list_bucket_dml_3.q.out +++ b/ql/src/test/results/clientpositive/list_bucket_dml_3.q.out @@ -370,7 +370,7 @@ POSTHOOK: Input: default@list_bucketing_static_part_n1@ds=2008-04-08/hr=11 #### A masked pattern was here #### OPTIMIZED SQL: SELECT CAST('484' AS STRING) AS `key`, `value` FROM `default`.`list_bucketing_static_part_n1` -WHERE `ds` = '2008-04-08' AND `hr` = '11' AND `key` = '484' +WHERE `key` = '484' AND `ds` = '2008-04-08' AND `hr` = '11' STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -381,7 +381,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: list_bucketing_static_part_n1 - filterExpr: ((ds = '2008-04-08') and (hr = '11') and (key = '484')) (type: boolean) + filterExpr: ((key = '484') and (ds = '2008-04-08') and (hr = '11')) (type: boolean) Statistics: Num rows: 1000 Data size: 178000 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator diff --git a/ql/src/test/results/clientpositive/list_bucket_dml_4.q.out b/ql/src/test/results/clientpositive/list_bucket_dml_4.q.out index 38b5a0730d..f9e1c29ea5 100644 --- a/ql/src/test/results/clientpositive/list_bucket_dml_4.q.out +++ b/ql/src/test/results/clientpositive/list_bucket_dml_4.q.out @@ -830,7 +830,7 @@ POSTHOOK: Input: default@list_bucketing_static_part_n2@ds=2008-04-08/hr=11 #### A masked pattern was here #### OPTIMIZED SQL: SELECT CAST('484' AS STRING) AS `$f0`, CAST('val_484' AS STRING) AS `$f1`, CAST('2008-04-08' AS STRING) AS `$f2`, CAST('11' AS STRING) AS `$f3` FROM `default`.`list_bucketing_static_part_n2` -WHERE `ds` = '2008-04-08' AND `hr` = '11' AND `key` = '484' AND `value` = 'val_484' +WHERE `key` = '484' AND `value` = 'val_484' AND `ds` = '2008-04-08' AND `hr` = '11' STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 diff --git a/ql/src/test/results/clientpositive/list_bucket_dml_5.q.out b/ql/src/test/results/clientpositive/list_bucket_dml_5.q.out index bc6a3a30b2..43db28e8c4 100644 --- a/ql/src/test/results/clientpositive/list_bucket_dml_5.q.out +++ b/ql/src/test/results/clientpositive/list_bucket_dml_5.q.out @@ -428,7 +428,7 @@ POSTHOOK: Input: default@list_bucketing_dynamic_part_n1@ds=2008-04-08/hr=12 #### A masked pattern was here #### OPTIMIZED SQL: SELECT CAST('103' AS STRING) AS `key`, CAST('val_103' AS STRING) AS `value`, CAST('2008-04-08' AS STRING) AS `ds`, `hr` FROM `default`.`list_bucketing_dynamic_part_n1` -WHERE `ds` = '2008-04-08' AND `key` = '103' AND `value` = 'val_103' +WHERE `key` = '103' AND `value` = 'val_103' AND `ds` = '2008-04-08' STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 diff --git a/ql/src/test/results/clientpositive/list_bucket_dml_9.q.out b/ql/src/test/results/clientpositive/list_bucket_dml_9.q.out index 2446e4605c..a95245fd2b 100644 --- a/ql/src/test/results/clientpositive/list_bucket_dml_9.q.out +++ b/ql/src/test/results/clientpositive/list_bucket_dml_9.q.out @@ -830,7 +830,7 @@ POSTHOOK: Input: default@list_bucketing_static_part_n0@ds=2008-04-08/hr=11 #### A masked pattern was here #### OPTIMIZED SQL: SELECT CAST('484' AS STRING) AS `$f0`, CAST('val_484' AS STRING) AS `$f1`, CAST('2008-04-08' AS STRING) AS `$f2`, CAST('11' AS STRING) AS `$f3` FROM `default`.`list_bucketing_static_part_n0` -WHERE `ds` = '2008-04-08' AND `hr` = '11' AND `key` = '484' AND `value` = 'val_484' +WHERE `key` = '484' AND `value` = 'val_484' AND `ds` = '2008-04-08' AND `hr` = '11' STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 diff --git a/ql/src/test/results/clientpositive/list_bucket_query_multiskew_1.q.out b/ql/src/test/results/clientpositive/list_bucket_query_multiskew_1.q.out index 32e4201ab0..9eab039907 100644 --- a/ql/src/test/results/clientpositive/list_bucket_query_multiskew_1.q.out +++ b/ql/src/test/results/clientpositive/list_bucket_query_multiskew_1.q.out @@ -88,7 +88,7 @@ POSTHOOK: Input: default@fact_daily@ds=1/hr=4 #### A masked pattern was here #### OPTIMIZED SQL: SELECT CAST('484' AS STRING) AS `$f0` FROM `default`.`fact_daily` -WHERE `ds` = '1' AND `hr` = '4' AND `key` = '484' AND `value` = 'val_484' +WHERE `key` = '484' AND `value` = 'val_484' AND `ds` = '1' AND `hr` = '4' STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -217,7 +217,7 @@ POSTHOOK: Input: default@fact_daily@ds=1/hr=4 #### A masked pattern was here #### OPTIMIZED SQL: SELECT CAST('238' AS STRING) AS `$f0`, CAST('val_238' AS STRING) AS `$f1` FROM `default`.`fact_daily` -WHERE `ds` = '1' AND `hr` = '4' AND `key` = '238' AND `value` = 'val_238' +WHERE `key` = '238' AND `value` = 'val_238' AND `ds` = '1' AND `hr` = '4' STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -347,7 +347,7 @@ POSTHOOK: Input: default@fact_daily@ds=1/hr=4 #### A masked pattern was here #### OPTIMIZED SQL: SELECT `key` FROM `default`.`fact_daily` -WHERE `ds` = '1' AND `hr` = '4' AND `value` = '3' +WHERE `value` = '3' AND `ds` = '1' AND `hr` = '4' STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -358,7 +358,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: fact_daily - filterExpr: ((ds = '1') and (hr = '4') and (value = '3')) (type: boolean) + filterExpr: ((value = '3') and (ds = '1') and (hr = '4')) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator @@ -475,7 +475,7 @@ POSTHOOK: Input: default@fact_daily@ds=1/hr=4 #### A masked pattern was here #### OPTIMIZED SQL: SELECT CAST('495' AS STRING) AS `key`, `value` FROM `default`.`fact_daily` -WHERE `ds` = '1' AND `hr` = '4' AND `key` = '495' +WHERE `key` = '495' AND `ds` = '1' AND `hr` = '4' STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -486,7 +486,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: fact_daily - filterExpr: ((ds = '1') and (hr = '4') and (key = '495')) (type: boolean) + filterExpr: ((key = '495') and (ds = '1') and (hr = '4')) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator diff --git a/ql/src/test/results/clientpositive/list_bucket_query_multiskew_2.q.out b/ql/src/test/results/clientpositive/list_bucket_query_multiskew_2.q.out index 04ddcfef71..cd0cead404 100644 --- a/ql/src/test/results/clientpositive/list_bucket_query_multiskew_2.q.out +++ b/ql/src/test/results/clientpositive/list_bucket_query_multiskew_2.q.out @@ -88,7 +88,7 @@ POSTHOOK: Input: default@fact_daily_n2@ds=1/hr=4 #### A masked pattern was here #### OPTIMIZED SQL: SELECT `key`, CAST('val_484' AS STRING) AS `value` FROM `default`.`fact_daily_n2` -WHERE `ds` = '1' AND `hr` = '4' AND `value` = 'val_484' +WHERE `value` = 'val_484' AND `ds` = '1' AND `hr` = '4' STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -99,7 +99,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: fact_daily_n2 - filterExpr: ((ds = '1') and (hr = '4') and (value = 'val_484')) (type: boolean) + filterExpr: ((value = 'val_484') and (ds = '1') and (hr = '4')) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator @@ -267,7 +267,7 @@ POSTHOOK: Input: default@fact_daily_n2@ds=1/hr=4 #### A masked pattern was here #### OPTIMIZED SQL: SELECT CAST('406' AS STRING) AS `$f0` FROM `default`.`fact_daily_n2` -WHERE `ds` = '1' AND `hr` = '4' AND `key` = '406' +WHERE `key` = '406' AND `ds` = '1' AND `hr` = '4' STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -278,7 +278,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: fact_daily_n2 - filterExpr: ((ds = '1') and (hr = '4') and (key = '406')) (type: boolean) + filterExpr: ((key = '406') and (ds = '1') and (hr = '4')) (type: boolean) Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator diff --git a/ql/src/test/results/clientpositive/list_bucket_query_multiskew_3.q.out b/ql/src/test/results/clientpositive/list_bucket_query_multiskew_3.q.out index a533726387..6bc392db6e 100644 --- a/ql/src/test/results/clientpositive/list_bucket_query_multiskew_3.q.out +++ b/ql/src/test/results/clientpositive/list_bucket_query_multiskew_3.q.out @@ -198,7 +198,7 @@ POSTHOOK: Input: default@fact_daily_n3@ds=1/hr=1 #### A masked pattern was here #### OPTIMIZED SQL: SELECT CAST('145' AS STRING) AS `key`, `value`, CAST('1' AS STRING) AS `ds`, CAST('1' AS STRING) AS `hr` FROM `default`.`fact_daily_n3` -WHERE `ds` = '1' AND `hr` = '1' AND `key` = '145' +WHERE `key` = '145' AND `ds` = '1' AND `hr` = '1' STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -209,7 +209,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: fact_daily_n3 - filterExpr: ((ds = '1') and (hr = '1') and (key = '145')) (type: boolean) + filterExpr: ((key = '145') and (ds = '1') and (hr = '1')) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator @@ -361,7 +361,7 @@ POSTHOOK: Input: default@fact_daily_n3@ds=1/hr=2 #### A masked pattern was here #### OPTIMIZED SQL: SELECT CAST('484' AS STRING) AS `$f0`, CAST('val_484' AS STRING) AS `$f1`, CAST('1' AS STRING) AS `$f2`, CAST('2' AS STRING) AS `$f3` FROM `default`.`fact_daily_n3` -WHERE `ds` = '1' AND `hr` = '2' AND `key` = '484' AND `value` = 'val_484' +WHERE `key` = '484' AND `value` = 'val_484' AND `ds` = '1' AND `hr` = '2' STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -492,7 +492,7 @@ POSTHOOK: Input: default@fact_daily_n3@ds=1/hr=3 #### A masked pattern was here #### OPTIMIZED SQL: SELECT CAST('327' AS STRING) AS `$f0`, CAST('val_327' AS STRING) AS `$f1`, CAST('1' AS STRING) AS `$f2`, CAST('3' AS STRING) AS `$f3` FROM `default`.`fact_daily_n3` -WHERE `ds` = '1' AND `hr` = '3' AND `key` = '327' AND `value` = 'val_327' +WHERE `key` = '327' AND `value` = 'val_327' AND `ds` = '1' AND `hr` = '3' STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 diff --git a/ql/src/test/results/clientpositive/list_bucket_query_oneskew_1.q.out b/ql/src/test/results/clientpositive/list_bucket_query_oneskew_1.q.out index 9ad2eb7510..6953948969 100644 --- a/ql/src/test/results/clientpositive/list_bucket_query_oneskew_1.q.out +++ b/ql/src/test/results/clientpositive/list_bucket_query_oneskew_1.q.out @@ -139,7 +139,7 @@ POSTHOOK: Input: default@fact_daily_n4@ds=1 #### A masked pattern was here #### OPTIMIZED SQL: SELECT CAST(484 AS INTEGER) AS `$f0` FROM `default`.`fact_daily_n4` -WHERE `ds` = '1' AND `x` = 484 +WHERE `x` = 484 AND `ds` = '1' STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -150,7 +150,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: fact_daily_n4 - filterExpr: ((ds = '1') and (x = 484)) (type: boolean) + filterExpr: ((x = 484) and (ds = '1')) (type: boolean) Statistics: Num rows: 1 Data size: 84 Basic stats: PARTIAL Column stats: NONE GatherStats: false Filter Operator @@ -265,7 +265,7 @@ POSTHOOK: Input: default@fact_daily_n4@ds=1 #### A masked pattern was here #### OPTIMIZED SQL: SELECT CAST(495 AS INTEGER) AS `$f0` FROM `default`.`fact_daily_n4` -WHERE `ds` = '1' AND `x` = 495 +WHERE `x` = 495 AND `ds` = '1' STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -276,7 +276,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: fact_daily_n4 - filterExpr: ((ds = '1') and (x = 495)) (type: boolean) + filterExpr: ((x = 495) and (ds = '1')) (type: boolean) Statistics: Num rows: 1 Data size: 84 Basic stats: PARTIAL Column stats: NONE GatherStats: false Filter Operator @@ -391,7 +391,7 @@ POSTHOOK: Input: default@fact_daily_n4@ds=1 #### A masked pattern was here #### OPTIMIZED SQL: SELECT CAST(1 AS INTEGER) AS `$f0` FROM `default`.`fact_daily_n4` -WHERE `ds` = '1' AND `x` = 1 +WHERE `x` = 1 AND `ds` = '1' STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -402,7 +402,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: fact_daily_n4 - filterExpr: ((ds = '1') and (x = 1)) (type: boolean) + filterExpr: ((x = 1) and (ds = '1')) (type: boolean) Statistics: Num rows: 1 Data size: 84 Basic stats: PARTIAL Column stats: NONE GatherStats: false Filter Operator diff --git a/ql/src/test/results/clientpositive/llap/acid_vectorization_original.q.out b/ql/src/test/results/clientpositive/llap/acid_vectorization_original.q.out index d5e852fe16..c9f74aa4fc 100644 --- a/ql/src/test/results/clientpositive/llap/acid_vectorization_original.q.out +++ b/ql/src/test/results/clientpositive/llap/acid_vectorization_original.q.out @@ -432,19 +432,19 @@ STAGE PLANS: Map Operator Tree: TableScan alias: over10k_orc_bucketed - filterExpr: ((b = 4294967363L) and (t < 100Y)) (type: boolean) + filterExpr: ((t < 100Y) and (b = 4294967363L)) (type: boolean) Statistics: Num rows: 2098 Data size: 41920 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((b = 4294967363L) and (t < 100Y)) (type: boolean) - Statistics: Num rows: 2 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE + predicate: ((t < 100Y) and (b = 4294967363L)) (type: boolean) + Statistics: Num rows: 3 Data size: 60 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: t (type: tinyint), si (type: smallint), i (type: int) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 2 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 3 Data size: 36 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col0 (type: tinyint), _col1 (type: smallint), _col2 (type: int) sort order: +++ - Statistics: Num rows: 2 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 3 Data size: 36 Basic stats: COMPLETE Column stats: COMPLETE Execution mode: vectorized, llap LLAP IO: may be used (ACID table) Reducer 2 @@ -453,10 +453,10 @@ STAGE PLANS: Select Operator expressions: KEY.reducesinkkey0 (type: tinyint), KEY.reducesinkkey1 (type: smallint), KEY.reducesinkkey2 (type: int) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 2 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 3 Data size: 36 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false - Statistics: Num rows: 2 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 3 Data size: 36 Basic stats: COMPLETE Column stats: COMPLETE table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat @@ -506,19 +506,19 @@ STAGE PLANS: Map Operator Tree: TableScan alias: over10k_orc_bucketed - filterExpr: ((b = 4294967363L) and (t < 100Y)) (type: boolean) + filterExpr: ((t < 100Y) and (b = 4294967363L)) (type: boolean) Statistics: Num rows: 2098 Data size: 41920 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((b = 4294967363L) and (t < 100Y)) (type: boolean) - Statistics: Num rows: 2 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE + predicate: ((t < 100Y) and (b = 4294967363L)) (type: boolean) + Statistics: Num rows: 3 Data size: 60 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ROW__ID (type: struct), t (type: tinyint), si (type: smallint), i (type: int) outputColumnNames: _col0, _col1, _col2, _col3 - Statistics: Num rows: 2 Data size: 176 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 3 Data size: 264 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col0 (type: struct) sort order: + - Statistics: Num rows: 2 Data size: 176 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 3 Data size: 264 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col1 (type: tinyint), _col2 (type: smallint), _col3 (type: int) Execution mode: vectorized, llap LLAP IO: may be used (ACID table) @@ -528,10 +528,10 @@ STAGE PLANS: Select Operator expressions: KEY.reducesinkkey0 (type: struct), VALUE._col0 (type: tinyint), VALUE._col1 (type: smallint), VALUE._col2 (type: int) outputColumnNames: _col0, _col1, _col2, _col3 - Statistics: Num rows: 2 Data size: 176 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 3 Data size: 264 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false - Statistics: Num rows: 2 Data size: 176 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 3 Data size: 264 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 a/ql/src/test/results/clientpositive/llap/bucket_map_join_tez2.q.out b/ql/src/test/results/clientpositive/llap/bucket_map_join_tez2.q.out index 91f29de701..aadd8e2868 100644 --- a/ql/src/test/results/clientpositive/llap/bucket_map_join_tez2.q.out +++ b/ql/src/test/results/clientpositive/llap/bucket_map_join_tez2.q.out @@ -1947,14 +1947,14 @@ STAGE PLANS: TableScan alias: big filterExpr: i is not null (type: boolean) - Statistics: Num rows: 10 Data size: 80 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE Filter Operator predicate: i is not null (type: boolean) - Statistics: Num rows: 10 Data size: 80 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: i (type: int) outputColumnNames: _col0 - Statistics: Num rows: 10 Data size: 80 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 10 Data size: 40 Basic stats: COMPLETE Column stats: NONE Map Join Operator condition map: Inner Join 0 to 1 @@ -1964,10 +1964,10 @@ STAGE PLANS: outputColumnNames: _col0, _col1 input vertices: 0 Map 1 - Statistics: Num rows: 11 Data size: 88 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false - Statistics: Num rows: 11 Data size: 88 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 11 Data size: 44 Basic stats: COMPLETE Column stats: NONE table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat @@ -2390,22 +2390,22 @@ STAGE PLANS: TableScan alias: my_fact filterExpr: ((fiscal_year = '2015') and (UDFToDouble(accounting_period) = 10.0D) and join_col is not null) (type: boolean) - Statistics: Num rows: 1 Data size: 736 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 536 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false - predicate: ((UDFToDouble(accounting_period) = 10.0D) and (fiscal_year = '2015') and join_col is not null) (type: boolean) - Statistics: Num rows: 1 Data size: 736 Basic stats: COMPLETE Column stats: PARTIAL + predicate: ((fiscal_year = '2015') and (UDFToDouble(accounting_period) = 10.0D) and join_col is not null) (type: boolean) + Statistics: Num rows: 1 Data size: 536 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: bucket_col (type: string), join_col (type: string), accounting_period (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1 Data size: 552 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 352 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col1 (type: string) null sort order: a sort order: + Map-reduce partition columns: _col1 (type: string) - Statistics: Num rows: 1 Data size: 552 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 352 Basic stats: COMPLETE Column stats: COMPLETE tag: 0 value expressions: _col0 (type: string), _col2 (type: string) auto parallelism: true diff --git a/ql/src/test/results/clientpositive/llap/bucketmapjoin1.q.out b/ql/src/test/results/clientpositive/llap/bucketmapjoin1.q.out index 4309f21867..9cf6a462f8 100644 --- a/ql/src/test/results/clientpositive/llap/bucketmapjoin1.q.out +++ b/ql/src/test/results/clientpositive/llap/bucketmapjoin1.q.out @@ -62,22 +62,22 @@ STAGE PLANS: TableScan alias: a filterExpr: key is not null (type: boolean) - Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false predicate: key is not null (type: boolean) - Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), value (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col0 (type: int) null sort order: a sort order: + Map-reduce partition columns: _col0 (type: int) - Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE tag: 0 value expressions: _col1 (type: string) auto parallelism: true @@ -88,22 +88,22 @@ STAGE PLANS: TableScan alias: b filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false predicate: ((ds = '2008-04-08') and key is not null) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), value (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col0 (type: int) null sort order: a sort order: + Map-reduce partition columns: _col0 (type: int) - Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE tag: 1 value expressions: _col1 (type: string) auto parallelism: true @@ -121,17 +121,17 @@ STAGE PLANS: 1 _col0 (type: int) outputColumnNames: _col0, _col1, _col3 Position of Big Table: 0 - Statistics: Num rows: 1 Data size: 206 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: int), _col1 (type: string), _col3 (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1 Data size: 206 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 1 Data size: 206 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat @@ -209,22 +209,22 @@ STAGE PLANS: TableScan alias: a filterExpr: key is not null (type: boolean) - Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false predicate: key is not null (type: boolean) - Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), value (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col0 (type: int) null sort order: a sort order: + Map-reduce partition columns: _col0 (type: int) - Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE tag: 0 value expressions: _col1 (type: string) auto parallelism: true @@ -235,22 +235,22 @@ STAGE PLANS: TableScan alias: b filterExpr: ((ds = '2008-04-08') and key is not null) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false predicate: ((ds = '2008-04-08') and key is not null) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), value (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col0 (type: int) null sort order: a sort order: + Map-reduce partition columns: _col0 (type: int) - Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE tag: 1 value expressions: _col1 (type: string) auto parallelism: true @@ -268,17 +268,17 @@ STAGE PLANS: 1 _col0 (type: int) outputColumnNames: _col0, _col1, _col3 Position of Big Table: 0 - Statistics: Num rows: 1 Data size: 206 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: int), _col1 (type: string), _col3 (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1 Data size: 206 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 1 Data size: 206 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat @@ -432,7 +432,7 @@ FROM `default`.`srcbucket_mapjoin_n1` WHERE `key` IS NOT NULL) AS `t0` INNER JOIN (SELECT `key`, `value` FROM `default`.`srcbucket_mapjoin_part_n1` -WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t2` ON `t0`.`key` = `t2`.`key` +WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key` STAGE DEPENDENCIES: Stage-1 is a root stage Stage-2 depends on stages: Stage-1 @@ -532,22 +532,22 @@ STAGE PLANS: TableScan alias: b filterExpr: key is not null (type: boolean) - Statistics: Num rows: 149 Data size: 85004 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 149 Data size: 23124 Basic stats: PARTIAL Column stats: NONE GatherStats: false Filter Operator isSamplingPred: false predicate: key is not null (type: boolean) - Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE Select Operator expressions: key (type: int), value (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE Reduce Output Operator key expressions: _col0 (type: int) null sort order: a sort order: + Map-reduce partition columns: _col0 (type: int) - Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE tag: 1 value expressions: _col1 (type: string) auto parallelism: true @@ -619,17 +619,17 @@ STAGE PLANS: 1 _col0 (type: int) outputColumnNames: _col0, _col1, _col3 Position of Big Table: 1 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE Select Operator expressions: CAST( _col0 AS STRING) (type: string), _col1 (type: string), _col3 (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE File Output Operator compressed: false GlobalTableId: 1 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.TextInputFormat @@ -660,7 +660,7 @@ STAGE PLANS: Select Operator expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string) outputColumnNames: key, value1, value2 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE Group By Operator aggregations: compute_stats(key, 'hll'), compute_stats(value1, 'hll'), compute_stats(value2, 'hll') minReductionHashAggr: 0.99 @@ -875,7 +875,7 @@ FROM `default`.`srcbucket_mapjoin_n1` WHERE `key` IS NOT NULL) AS `t0` INNER JOIN (SELECT `key`, `value` FROM `default`.`srcbucket_mapjoin_part_n1` -WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t2` ON `t0`.`key` = `t2`.`key` +WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key` STAGE DEPENDENCIES: Stage-1 is a root stage Stage-2 depends on stages: Stage-1 @@ -975,22 +975,22 @@ STAGE PLANS: TableScan alias: b filterExpr: key is not null (type: boolean) - Statistics: Num rows: 149 Data size: 85004 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 149 Data size: 23124 Basic stats: PARTIAL Column stats: NONE GatherStats: false Filter Operator isSamplingPred: false predicate: key is not null (type: boolean) - Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE Select Operator expressions: key (type: int), value (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE Reduce Output Operator key expressions: _col0 (type: int) null sort order: a sort order: + Map-reduce partition columns: _col0 (type: int) - Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE tag: 1 value expressions: _col1 (type: string) auto parallelism: true @@ -1062,17 +1062,17 @@ STAGE PLANS: 1 _col0 (type: int) outputColumnNames: _col0, _col1, _col3 Position of Big Table: 1 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE Select Operator expressions: CAST( _col0 AS STRING) (type: string), _col1 (type: string), _col3 (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE File Output Operator compressed: false GlobalTableId: 1 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.TextInputFormat @@ -1103,7 +1103,7 @@ STAGE PLANS: Select Operator expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string) outputColumnNames: key, value1, value2 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE Group By Operator aggregations: compute_stats(key, 'hll'), compute_stats(value1, 'hll'), compute_stats(value2, 'hll') minReductionHashAggr: 0.99 diff --git a/ql/src/test/results/clientpositive/llap/bucketmapjoin2.q.out b/ql/src/test/results/clientpositive/llap/bucketmapjoin2.q.out index d5484a9e13..2747cfdab2 100644 --- a/ql/src/test/results/clientpositive/llap/bucketmapjoin2.q.out +++ b/ql/src/test/results/clientpositive/llap/bucketmapjoin2.q.out @@ -116,7 +116,7 @@ FROM `default`.`srcbucket_mapjoin_part_n6` WHERE `key` IS NOT NULL) AS `t0` INNER JOIN (SELECT `key`, `value` FROM `default`.`srcbucket_mapjoin_part_2_n5` -WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t2` ON `t0`.`key` = `t2`.`key` +WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key` STAGE DEPENDENCIES: Stage-1 is a root stage Stage-2 depends on stages: Stage-1 @@ -137,22 +137,22 @@ STAGE PLANS: TableScan alias: a filterExpr: key is not null (type: boolean) - Statistics: Num rows: 149 Data size: 85004 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 149 Data size: 23124 Basic stats: PARTIAL Column stats: NONE GatherStats: false Filter Operator isSamplingPred: false predicate: key is not null (type: boolean) - Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE Select Operator expressions: key (type: int), value (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE Reduce Output Operator key expressions: _col0 (type: int) null sort order: a sort order: + Map-reduce partition columns: _col0 (type: int) - Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE tag: 0 value expressions: _col1 (type: string) auto parallelism: true @@ -217,22 +217,22 @@ STAGE PLANS: TableScan alias: b filterExpr: key is not null (type: boolean) - Statistics: Num rows: 78 Data size: 44908 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 78 Data size: 12220 Basic stats: PARTIAL Column stats: NONE GatherStats: false Filter Operator isSamplingPred: false predicate: key is not null (type: boolean) - Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE Select Operator expressions: key (type: int), value (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE Reduce Output Operator key expressions: _col0 (type: int) null sort order: a sort order: + Map-reduce partition columns: _col0 (type: int) - Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE tag: 1 value expressions: _col1 (type: string) auto parallelism: true @@ -304,17 +304,17 @@ STAGE PLANS: 1 _col0 (type: int) outputColumnNames: _col0, _col1, _col3 Position of Big Table: 0 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE Select Operator expressions: CAST( _col0 AS STRING) (type: string), _col1 (type: string), _col3 (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE File Output Operator compressed: false GlobalTableId: 1 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.TextInputFormat @@ -345,7 +345,7 @@ STAGE PLANS: Select Operator expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string) outputColumnNames: key, value1, value2 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE Group By Operator aggregations: compute_stats(key, 'hll'), compute_stats(value1, 'hll'), compute_stats(value2, 'hll') minReductionHashAggr: 0.99 @@ -566,7 +566,7 @@ FROM `default`.`srcbucket_mapjoin_part_n6` WHERE `key` IS NOT NULL) AS `t0` INNER JOIN (SELECT `key`, `value` FROM `default`.`srcbucket_mapjoin_part_2_n5` -WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t2` ON `t0`.`key` = `t2`.`key` +WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key` STAGE DEPENDENCIES: Stage-1 is a root stage Stage-2 depends on stages: Stage-1 @@ -587,22 +587,22 @@ STAGE PLANS: TableScan alias: a filterExpr: key is not null (type: boolean) - Statistics: Num rows: 149 Data size: 85004 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 149 Data size: 23124 Basic stats: PARTIAL Column stats: NONE GatherStats: false Filter Operator isSamplingPred: false predicate: key is not null (type: boolean) - Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE Select Operator expressions: key (type: int), value (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE Reduce Output Operator key expressions: _col0 (type: int) null sort order: a sort order: + Map-reduce partition columns: _col0 (type: int) - Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE tag: 0 value expressions: _col1 (type: string) auto parallelism: true @@ -667,22 +667,22 @@ STAGE PLANS: TableScan alias: b filterExpr: key is not null (type: boolean) - Statistics: Num rows: 78 Data size: 44908 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 78 Data size: 12220 Basic stats: PARTIAL Column stats: NONE GatherStats: false Filter Operator isSamplingPred: false predicate: key is not null (type: boolean) - Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE Select Operator expressions: key (type: int), value (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE Reduce Output Operator key expressions: _col0 (type: int) null sort order: a sort order: + Map-reduce partition columns: _col0 (type: int) - Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE tag: 1 value expressions: _col1 (type: string) auto parallelism: true @@ -754,17 +754,17 @@ STAGE PLANS: 1 _col0 (type: int) outputColumnNames: _col0, _col1, _col3 Position of Big Table: 0 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE Select Operator expressions: CAST( _col0 AS STRING) (type: string), _col1 (type: string), _col3 (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE File Output Operator compressed: false GlobalTableId: 1 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.TextInputFormat @@ -795,7 +795,7 @@ STAGE PLANS: Select Operator expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string) outputColumnNames: key, value1, value2 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE Group By Operator aggregations: compute_stats(key, 'hll'), compute_stats(value1, 'hll'), compute_stats(value2, 'hll') minReductionHashAggr: 0.99 @@ -1056,22 +1056,22 @@ STAGE PLANS: TableScan alias: a filterExpr: key is not null (type: boolean) - Statistics: Num rows: 149 Data size: 85004 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 149 Data size: 23124 Basic stats: PARTIAL Column stats: NONE GatherStats: false Filter Operator isSamplingPred: false predicate: key is not null (type: boolean) - Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE Select Operator expressions: key (type: int), value (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE Reduce Output Operator key expressions: _col0 (type: int) null sort order: a sort order: + Map-reduce partition columns: _col0 (type: int) - Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE tag: 0 value expressions: _col1 (type: string) auto parallelism: true @@ -1136,22 +1136,22 @@ STAGE PLANS: TableScan alias: b filterExpr: key is not null (type: boolean) - Statistics: Num rows: 156 Data size: 89440 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 156 Data size: 24064 Basic stats: PARTIAL Column stats: NONE GatherStats: false Filter Operator isSamplingPred: false predicate: key is not null (type: boolean) - Statistics: Num rows: 149 Data size: 85426 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 127 Data size: 19590 Basic stats: PARTIAL Column stats: NONE Select Operator expressions: key (type: int), value (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 149 Data size: 85426 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 127 Data size: 19590 Basic stats: PARTIAL Column stats: NONE Reduce Output Operator key expressions: _col0 (type: int) null sort order: a sort order: + Map-reduce partition columns: _col0 (type: int) - Statistics: Num rows: 149 Data size: 85426 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 127 Data size: 19590 Basic stats: PARTIAL Column stats: NONE tag: 1 value expressions: _col1 (type: string) auto parallelism: true @@ -1273,17 +1273,17 @@ STAGE PLANS: 1 _col0 (type: int) outputColumnNames: _col0, _col1, _col3 Position of Big Table: 1 - Statistics: Num rows: 163 Data size: 93968 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 139 Data size: 21549 Basic stats: PARTIAL Column stats: NONE Select Operator expressions: CAST( _col0 AS STRING) (type: string), _col1 (type: string), _col3 (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 163 Data size: 93968 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 139 Data size: 21549 Basic stats: PARTIAL Column stats: NONE File Output Operator compressed: false GlobalTableId: 1 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 163 Data size: 93968 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 139 Data size: 21549 Basic stats: PARTIAL Column stats: NONE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.TextInputFormat @@ -1314,7 +1314,7 @@ STAGE PLANS: Select Operator expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string) outputColumnNames: key, value1, value2 - Statistics: Num rows: 163 Data size: 93968 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 139 Data size: 21549 Basic stats: PARTIAL Column stats: NONE Group By Operator aggregations: compute_stats(key, 'hll'), compute_stats(value1, 'hll'), compute_stats(value2, 'hll') minReductionHashAggr: 0.99 diff --git a/ql/src/test/results/clientpositive/llap/bucketmapjoin3.q.out b/ql/src/test/results/clientpositive/llap/bucketmapjoin3.q.out index a0fca8debb..cc3d33b3f7 100644 --- a/ql/src/test/results/clientpositive/llap/bucketmapjoin3.q.out +++ b/ql/src/test/results/clientpositive/llap/bucketmapjoin3.q.out @@ -137,10 +137,10 @@ POSTHOOK: Output: default@bucketmapjoin_tmp_result_n6 OPTIMIZED SQL: SELECT `t0`.`key`, `t0`.`value`, `t2`.`value` AS `value1` FROM (SELECT `key`, `value` FROM `default`.`srcbucket_mapjoin_part_2_n11` -WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t0` +WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t0` INNER JOIN (SELECT `key`, `value` FROM `default`.`srcbucket_mapjoin_part_n13` -WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t2` ON `t0`.`key` = `t2`.`key` +WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key` STAGE DEPENDENCIES: Stage-1 is a root stage Stage-2 depends on stages: Stage-1 @@ -161,22 +161,22 @@ STAGE PLANS: TableScan alias: a filterExpr: key is not null (type: boolean) - Statistics: Num rows: 78 Data size: 44908 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 78 Data size: 12220 Basic stats: PARTIAL Column stats: NONE GatherStats: false Filter Operator isSamplingPred: false predicate: key is not null (type: boolean) - Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE Select Operator expressions: key (type: int), value (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE Reduce Output Operator key expressions: _col0 (type: int) null sort order: a sort order: + Map-reduce partition columns: _col0 (type: int) - Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE tag: 0 value expressions: _col1 (type: string) auto parallelism: true @@ -241,22 +241,22 @@ STAGE PLANS: TableScan alias: b filterExpr: key is not null (type: boolean) - Statistics: Num rows: 149 Data size: 85004 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 149 Data size: 23124 Basic stats: PARTIAL Column stats: NONE GatherStats: false Filter Operator isSamplingPred: false predicate: key is not null (type: boolean) - Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE Select Operator expressions: key (type: int), value (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE Reduce Output Operator key expressions: _col0 (type: int) null sort order: a sort order: + Map-reduce partition columns: _col0 (type: int) - Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE tag: 1 value expressions: _col1 (type: string) auto parallelism: true @@ -328,17 +328,17 @@ STAGE PLANS: 1 _col0 (type: int) outputColumnNames: _col0, _col1, _col3 Position of Big Table: 1 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE Select Operator expressions: CAST( _col0 AS STRING) (type: string), _col1 (type: string), _col3 (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE File Output Operator compressed: false GlobalTableId: 1 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.TextInputFormat @@ -369,7 +369,7 @@ STAGE PLANS: Select Operator expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string) outputColumnNames: key, value1, value2 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE Group By Operator aggregations: compute_stats(key, 'hll'), compute_stats(value1, 'hll'), compute_stats(value2, 'hll') minReductionHashAggr: 0.99 @@ -587,10 +587,10 @@ POSTHOOK: Output: default@bucketmapjoin_tmp_result_n6 OPTIMIZED SQL: SELECT `t0`.`key`, `t0`.`value`, `t2`.`value` AS `value1` FROM (SELECT `key`, `value` FROM `default`.`srcbucket_mapjoin_part_2_n11` -WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t0` +WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t0` INNER JOIN (SELECT `key`, `value` FROM `default`.`srcbucket_mapjoin_part_n13` -WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t2` ON `t0`.`key` = `t2`.`key` +WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key` STAGE DEPENDENCIES: Stage-1 is a root stage Stage-2 depends on stages: Stage-1 @@ -611,22 +611,22 @@ STAGE PLANS: TableScan alias: a filterExpr: key is not null (type: boolean) - Statistics: Num rows: 78 Data size: 44908 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 78 Data size: 12220 Basic stats: PARTIAL Column stats: NONE GatherStats: false Filter Operator isSamplingPred: false predicate: key is not null (type: boolean) - Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE Select Operator expressions: key (type: int), value (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE Reduce Output Operator key expressions: _col0 (type: int) null sort order: a sort order: + Map-reduce partition columns: _col0 (type: int) - Statistics: Num rows: 75 Data size: 43180 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 64 Data size: 10026 Basic stats: PARTIAL Column stats: NONE tag: 0 value expressions: _col1 (type: string) auto parallelism: true @@ -691,22 +691,22 @@ STAGE PLANS: TableScan alias: b filterExpr: key is not null (type: boolean) - Statistics: Num rows: 149 Data size: 85004 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 149 Data size: 23124 Basic stats: PARTIAL Column stats: NONE GatherStats: false Filter Operator isSamplingPred: false predicate: key is not null (type: boolean) - Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE Select Operator expressions: key (type: int), value (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE Reduce Output Operator key expressions: _col0 (type: int) null sort order: a sort order: + Map-reduce partition columns: _col0 (type: int) - Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE tag: 1 value expressions: _col1 (type: string) auto parallelism: true @@ -778,17 +778,17 @@ STAGE PLANS: 1 _col0 (type: int) outputColumnNames: _col0, _col1, _col3 Position of Big Table: 1 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE Select Operator expressions: CAST( _col0 AS STRING) (type: string), _col1 (type: string), _col3 (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE File Output Operator compressed: false GlobalTableId: 1 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.TextInputFormat @@ -819,7 +819,7 @@ STAGE PLANS: Select Operator expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string) outputColumnNames: key, value1, value2 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE Group By Operator aggregations: compute_stats(key, 'hll'), compute_stats(value1, 'hll'), compute_stats(value2, 'hll') minReductionHashAggr: 0.99 diff --git a/ql/src/test/results/clientpositive/llap/bucketpruning1.q.out b/ql/src/test/results/clientpositive/llap/bucketpruning1.q.out index 3772157662..d4f89bbb33 100644 --- a/ql/src/test/results/clientpositive/llap/bucketpruning1.q.out +++ b/ql/src/test/results/clientpositive/llap/bucketpruning1.q.out @@ -42,22 +42,22 @@ STAGE PLANS: alias: srcbucket_pruned filterExpr: (key = 1) (type: boolean) buckets included: [13,] of 16 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false predicate: (key = 1) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: 1 (type: int), value (type: string), ds (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 272 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 272 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat @@ -111,22 +111,22 @@ STAGE PLANS: alias: srcbucket_pruned filterExpr: (key = 16) (type: boolean) buckets included: [3,] of 16 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false predicate: (key = 16) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: 16 (type: int), value (type: string), ds (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 272 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 272 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat @@ -180,22 +180,22 @@ STAGE PLANS: alias: srcbucket_pruned filterExpr: (key = 17) (type: boolean) buckets included: [12,] of 16 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false predicate: (key = 17) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: 17 (type: int), value (type: string), ds (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 272 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 272 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat @@ -249,22 +249,22 @@ STAGE PLANS: alias: srcbucket_pruned filterExpr: (key = 17) (type: boolean) buckets included: [12,] of 16 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false predicate: (key = 17) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: 17 (type: int), value (type: string), ds (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 272 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 272 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat @@ -318,22 +318,22 @@ STAGE PLANS: alias: srcbucket_pruned filterExpr: (key = 11) (type: boolean) buckets included: [5,] of 16 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false predicate: (key = 11) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: 11 (type: int), value (type: string), ds (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 272 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 272 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat @@ -387,22 +387,22 @@ STAGE PLANS: alias: srcbucket_pruned filterExpr: ((key = 1) and (ds = '2008-04-08')) (type: boolean) buckets included: [13,] of 16 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false - predicate: ((ds = '2008-04-08') and (key = 1)) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + predicate: ((key = 1) and (ds = '2008-04-08')) (type: boolean) + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: 1 (type: int), value (type: string), '2008-04-08' (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1 Data size: 282 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 182 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 1 Data size: 282 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 182 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat @@ -456,22 +456,22 @@ STAGE PLANS: alias: srcbucket_pruned filterExpr: ((key = 1) and (ds = '2008-04-08') and (value = 'One')) (type: boolean) buckets included: [13,] of 16 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false - predicate: ((ds = '2008-04-08') and (key = 1) and (value = 'One')) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + predicate: ((key = 1) and (ds = '2008-04-08') and (value = 'One')) (type: boolean) + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: 1 (type: int), 'One' (type: string), '2008-04-08' (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat @@ -525,22 +525,22 @@ STAGE PLANS: alias: srcbucket_pruned filterExpr: ((value = 'One') and (key = 1) and (ds = '2008-04-08')) (type: boolean) buckets included: [13,] of 16 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false - predicate: ((ds = '2008-04-08') and (key = 1) and (value = 'One')) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + predicate: ((value = 'One') and (key = 1) and (ds = '2008-04-08')) (type: boolean) + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: 1 (type: int), 'One' (type: string), '2008-04-08' (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat @@ -594,22 +594,22 @@ STAGE PLANS: alias: srcbucket_pruned filterExpr: (key) IN (2, 3) (type: boolean) buckets included: [4,6,] of 16 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false predicate: (key) IN (2, 3) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), value (type: string), ds (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat @@ -663,22 +663,22 @@ STAGE PLANS: alias: srcbucket_pruned filterExpr: ((key) IN (2, 3) and (ds = '2008-04-08')) (type: boolean) buckets included: [4,6,] of 16 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false - predicate: ((ds = '2008-04-08') and (key) IN (2, 3)) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + predicate: ((key) IN (2, 3) and (ds = '2008-04-08')) (type: boolean) + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), value (type: string), '2008-04-08' (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1 Data size: 282 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 178 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 1 Data size: 282 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 178 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat @@ -732,22 +732,22 @@ STAGE PLANS: alias: srcbucket_pruned filterExpr: ((key) IN (2, 3) and (ds = '2008-04-08') and (value = 'One')) (type: boolean) buckets included: [4,6,] of 16 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false - predicate: ((ds = '2008-04-08') and (key) IN (2, 3) and (value = 'One')) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + predicate: ((key) IN (2, 3) and (ds = '2008-04-08') and (value = 'One')) (type: boolean) + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), 'One' (type: string), '2008-04-08' (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 181 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 181 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat @@ -801,22 +801,22 @@ STAGE PLANS: alias: srcbucket_pruned filterExpr: ((key) IN (2, 3) and (value = 'One') and (ds = '2008-04-08')) (type: boolean) buckets included: [4,6,] of 16 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false - predicate: ((ds = '2008-04-08') and (key) IN (2, 3) and (value = 'One')) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + predicate: ((key) IN (2, 3) and (value = 'One') and (ds = '2008-04-08')) (type: boolean) + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), 'One' (type: string), '2008-04-08' (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 181 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 181 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat @@ -870,22 +870,22 @@ STAGE PLANS: alias: srcbucket_pruned filterExpr: ((key) IN (1, 2) and (ds = '2008-04-08')) (type: boolean) buckets included: [4,13,] of 16 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false - predicate: ((ds = '2008-04-08') and (key) IN (1, 2)) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + predicate: ((key) IN (1, 2) and (ds = '2008-04-08')) (type: boolean) + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), value (type: string), '2008-04-08' (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1 Data size: 282 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 178 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 1 Data size: 282 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 178 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat @@ -939,22 +939,22 @@ STAGE PLANS: alias: srcbucket_pruned filterExpr: ((key) IN (1, 2) and (value = 'One') and (ds = '2008-04-08')) (type: boolean) buckets included: [4,13,] of 16 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false - predicate: ((ds = '2008-04-08') and (key) IN (1, 2) and (value = 'One')) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + predicate: ((key) IN (1, 2) and (value = 'One') and (ds = '2008-04-08')) (type: boolean) + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), 'One' (type: string), '2008-04-08' (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 181 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 181 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat @@ -1008,22 +1008,22 @@ STAGE PLANS: alias: srcbucket_pruned filterExpr: (key = -15) (type: boolean) buckets included: [6,] of 16 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false predicate: (key = -15) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: -15 (type: int), value (type: string), ds (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 272 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 272 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat @@ -1077,22 +1077,22 @@ STAGE PLANS: alias: srcbucket_pruned filterExpr: (key) IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17) (type: boolean) buckets included: [1,3,4,5,6,8,11,12,13,15,] of 16 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false predicate: (key) IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), value (type: string), ds (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat @@ -1146,22 +1146,22 @@ STAGE PLANS: alias: srcbucket_pruned filterExpr: ((key) IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17) and (ds = '2008-04-08')) (type: boolean) buckets included: [1,3,4,5,6,8,11,12,13,15,] of 16 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false - predicate: ((ds = '2008-04-08') and (key) IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + predicate: ((key) IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17) and (ds = '2008-04-08')) (type: boolean) + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), value (type: string), '2008-04-08' (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1 Data size: 282 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 178 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 1 Data size: 282 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 178 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat @@ -1215,22 +1215,22 @@ STAGE PLANS: alias: srcbucket_pruned filterExpr: ((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')) (type: boolean) buckets included: [1,3,4,5,6,8,11,12,13,15,] of 16 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false - predicate: ((ds = '2008-04-08') and (key) IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17) and (value = 'One')) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + predicate: ((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')) (type: boolean) + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), 'One' (type: string), '2008-04-08' (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 181 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 181 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat @@ -1284,22 +1284,22 @@ STAGE PLANS: alias: srcbucket_pruned filterExpr: ((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')) (type: boolean) buckets included: [1,3,4,5,6,8,11,12,13,15,] of 16 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false - predicate: ((ds = '2008-04-08') and (key) IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17) and (value = 'One')) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + predicate: ((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')) (type: boolean) + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), 'One' (type: string), '2008-04-08' (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 181 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 1 Data size: 185 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 181 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat @@ -1337,7 +1337,7 @@ POSTHOOK: Input: default@srcbucket_pruned #### A masked pattern was here #### OPTIMIZED SQL: SELECT `key`, `value`, `ds` FROM `default`.`srcbucket_pruned` -WHERE `key` = 1 AND `ds` = '2008-04-08' OR `key` = 2 +WHERE `key` = 2 OR `key` = 1 AND `ds` = '2008-04-08' STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -1351,23 +1351,23 @@ STAGE PLANS: Map Operator Tree: TableScan alias: srcbucket_pruned - filterExpr: (((key = 1) and (ds = '2008-04-08')) or (key = 2)) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + filterExpr: ((key = 2) or ((key = 1) and (ds = '2008-04-08'))) (type: boolean) + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false - predicate: (((key = 1) and (ds = '2008-04-08')) or (key = 2)) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + predicate: ((key = 2) or ((key = 1) and (ds = '2008-04-08'))) (type: boolean) + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), value (type: string), ds (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat @@ -1421,22 +1421,22 @@ STAGE PLANS: alias: srcbucket_pruned filterExpr: ((value) IN ('One', 'Two') and (key = 1) and (ds = '2008-04-08')) (type: boolean) buckets included: [13,] of 16 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false - predicate: ((ds = '2008-04-08') and (key = 1) and (value) IN ('One', 'Two')) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + predicate: ((value) IN ('One', 'Two') and (key = 1) and (ds = '2008-04-08')) (type: boolean) + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: 1 (type: int), value (type: string), '2008-04-08' (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1 Data size: 282 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 182 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 1 Data size: 282 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 182 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat @@ -1489,22 +1489,22 @@ STAGE PLANS: TableScan alias: srcbucket_pruned filterExpr: ((key = 1) or (value = 'One') or ((key = 2) and (value = 'Two'))) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false - predicate: (((key = 2) and (value = 'Two')) or (key = 1) or (value = 'One')) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + predicate: ((key = 1) or (value = 'One') or ((key = 2) and (value = 'Two'))) (type: boolean) + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), value (type: string), ds (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat @@ -1624,22 +1624,22 @@ STAGE PLANS: TableScan alias: srcbucket_pruned filterExpr: ((key = 1) or (value = 'One')) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false predicate: ((key = 1) or (value = 'One')) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), value (type: string), ds (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat @@ -1692,22 +1692,22 @@ STAGE PLANS: TableScan alias: srcbucket_pruned filterExpr: ((key) IN (1, 2) or (value = 'One')) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false predicate: ((key) IN (1, 2) or (value = 'One')) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), value (type: string), ds (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat @@ -1760,22 +1760,22 @@ STAGE PLANS: TableScan alias: srcbucket_unpruned filterExpr: (key) IN (3, 5) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false predicate: (key) IN (3, 5) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), value (type: string), ds (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat @@ -1828,22 +1828,22 @@ STAGE PLANS: TableScan alias: srcbucket_unpruned filterExpr: (key = 1) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false predicate: (key = 1) (type: boolean) - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: 1 (type: int), value (type: string), ds (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 272 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 272 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat diff --git a/ql/src/test/results/clientpositive/llap/bucketsortoptimize_insert_7.q.out b/ql/src/test/results/clientpositive/llap/bucketsortoptimize_insert_7.q.out index 82554822b9..07b0b63d3e 100644 --- a/ql/src/test/results/clientpositive/llap/bucketsortoptimize_insert_7.q.out +++ b/ql/src/test/results/clientpositive/llap/bucketsortoptimize_insert_7.q.out @@ -551,27 +551,27 @@ STAGE PLANS: Map Operator Tree: TableScan alias: test_table2_n19 - filterExpr: ((key) IN (0, 5) and (key < 8)) (type: boolean) + filterExpr: ((key < 8) and (key) IN (0, 5)) (type: boolean) Statistics: Num rows: 84 Data size: 7896 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: ((key < 8) and (key) IN (0, 5)) (type: boolean) - Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 3 Data size: 282 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), value (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 1 Data size: 94 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 3 Data size: 282 Basic stats: COMPLETE Column stats: COMPLETE Map Operator Tree: TableScan alias: test_table1_n20 - filterExpr: ((key) IN (0, 5) and (key < 8)) (type: boolean) + filterExpr: ((key < 8) and (key) IN (0, 5)) (type: boolean) Statistics: Num rows: 10 Data size: 930 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: ((key < 8) and (key) IN (0, 5)) (type: boolean) - Statistics: Num rows: 1 Data size: 93 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 3 Data size: 279 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), value (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 1 Data size: 93 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 3 Data size: 279 Basic stats: COMPLETE Column stats: COMPLETE Merge Join Operator condition map: Inner Join 0 to 1 @@ -579,16 +579,16 @@ STAGE PLANS: 0 _col0 (type: int) 1 _col0 (type: int) outputColumnNames: _col0, _col1, _col3 - Statistics: Num rows: 1 Data size: 183 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 3 Data size: 549 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: int), concat(_col1, _col3) (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 3 Data size: 564 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: 1 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 3 Data size: 564 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col1 (type: string) Execution mode: llap Reducer 2 @@ -597,10 +597,10 @@ STAGE PLANS: Select Operator expressions: KEY.reducesinkkey0 (type: int), VALUE._col0 (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 3 Data size: 564 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false - Statistics: Num rows: 1 Data size: 188 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 3 Data size: 564 Basic stats: COMPLETE Column stats: COMPLETE table: input format: org.apache.hadoop.mapred.TextInputFormat output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat @@ -609,11 +609,11 @@ STAGE PLANS: Select Operator expressions: _col0 (type: int), _col1 (type: string), '1' (type: string) outputColumnNames: key, value, ds - Statistics: Num rows: 1 Data size: 273 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 3 Data size: 819 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator aggregations: compute_stats(key, 'hll'), compute_stats(value, 'hll') keys: ds (type: string) - minReductionHashAggr: 0.0 + minReductionHashAggr: 0.6666666 mode: hash outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 1 Data size: 949 Basic stats: COMPLETE Column stats: COMPLETE diff --git a/ql/src/test/results/clientpositive/llap/dynamic_partition_pruning.q.out b/ql/src/test/results/clientpositive/llap/dynamic_partition_pruning.q.out index 88bc0be9e0..52540a7eb6 100644 --- a/ql/src/test/results/clientpositive/llap/dynamic_partition_pruning.q.out +++ b/ql/src/test/results/clientpositive/llap/dynamic_partition_pruning.q.out @@ -1260,7 +1260,7 @@ STAGE PLANS: filterExpr: ((date = '2008-04-08') and (UDFToDouble(hour) = 11.0D) and ds is not null and 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 = '2008-04-08') and ds is not null and hr is not null) (type: boolean) + predicate: ((date = '2008-04-08') and (UDFToDouble(hour) = 11.0D) and ds is not null and hr is not null) (type: boolean) Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ds (type: string), hr (type: string) @@ -1421,7 +1421,7 @@ STAGE PLANS: filterExpr: ((date = '2008-04-08') and (UDFToDouble(hour) = 11.0D) and ds is not null and 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 = '2008-04-08') and ds is not null and hr is not null) (type: boolean) + predicate: ((date = '2008-04-08') and (UDFToDouble(hour) = 11.0D) and ds is not null and hr is not null) (type: boolean) Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ds (type: string), hr (type: string) @@ -2710,7 +2710,7 @@ STAGE PLANS: filterExpr: ((date = '2008-04-08') and (UDFToDouble(hour) = 11.0D)) (type: boolean) Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((UDFToDouble(hour) = 11.0D) and (date = '2008-04-08')) (type: boolean) + predicate: ((date = '2008-04-08') and (UDFToDouble(hour) = 11.0D)) (type: boolean) Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ds (type: string), hr (type: string) @@ -2842,7 +2842,7 @@ STAGE PLANS: filterExpr: ((date = '2008-04-08') and (UDFToDouble(hour) = 11.0D) and ds is not null and 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 = '2008-04-08') and ds is not null and hr is not null) (type: boolean) + predicate: ((date = '2008-04-08') and (UDFToDouble(hour) = 11.0D) and ds is not null and hr is not null) (type: boolean) Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ds (type: string), hr (type: string) @@ -5003,7 +5003,7 @@ STAGE PLANS: filterExpr: ((date = '2008-04-08') and (UDFToDouble(hour) = 11.0D) and ds is not null and 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 = '2008-04-08') and ds is not null and hr is not null) (type: boolean) + predicate: ((date = '2008-04-08') and (UDFToDouble(hour) = 11.0D) and ds is not null and hr is not null) (type: boolean) Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ds (type: string), hr (type: string) @@ -6658,10 +6658,10 @@ STAGE PLANS: 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 UDFToDouble(hr) is not null) (type: boolean) + filterExpr: ((UDFToDouble(hour) = 11.0D) and (date) IN ('2008-04-08', '2008-04-09') 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 UDFToDouble(hr) is not null and ds is not null) (type: boolean) + predicate: ((UDFToDouble(hour) = 11.0D) and (date) IN ('2008-04-08', '2008-04-09') and ds is not null and UDFToDouble(hr) 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 a/ql/src/test/results/clientpositive/llap/dynamic_semijoin_reduction.q.out b/ql/src/test/results/clientpositive/llap/dynamic_semijoin_reduction.q.out index 0143e62c7f..f87e315a98 100644 --- a/ql/src/test/results/clientpositive/llap/dynamic_semijoin_reduction.q.out +++ b/ql/src/test/results/clientpositive/llap/dynamic_semijoin_reduction.q.out @@ -320,7 +320,7 @@ STAGE PLANS: filterExpr: (key is not null and (key BETWEEN DynamicValue(RS_7_srcpart_small_n3_key1_min) AND DynamicValue(RS_7_srcpart_small_n3_key1_max) and in_bloom_filter(key, DynamicValue(RS_7_srcpart_small_n3_key1_bloom_filter)))) (type: boolean) Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((key BETWEEN DynamicValue(RS_7_srcpart_small_n3_key1_min) AND DynamicValue(RS_7_srcpart_small_n3_key1_max) and in_bloom_filter(key, DynamicValue(RS_7_srcpart_small_n3_key1_bloom_filter))) and key is not null) (type: boolean) + predicate: (key is not null and (key BETWEEN DynamicValue(RS_7_srcpart_small_n3_key1_min) AND DynamicValue(RS_7_srcpart_small_n3_key1_max) and in_bloom_filter(key, DynamicValue(RS_7_srcpart_small_n3_key1_bloom_filter)))) (type: boolean) Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string) @@ -802,7 +802,7 @@ STAGE PLANS: filterExpr: (key is not null and (key BETWEEN DynamicValue(RS_10_srcpart_small_n3_key1_min) AND DynamicValue(RS_10_srcpart_small_n3_key1_max) and in_bloom_filter(key, DynamicValue(RS_10_srcpart_small_n3_key1_bloom_filter)))) (type: boolean) Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((key BETWEEN DynamicValue(RS_10_srcpart_small_n3_key1_min) AND DynamicValue(RS_10_srcpart_small_n3_key1_max) and in_bloom_filter(key, DynamicValue(RS_10_srcpart_small_n3_key1_bloom_filter))) and key is not null) (type: boolean) + predicate: (key is not null and (key BETWEEN DynamicValue(RS_10_srcpart_small_n3_key1_min) AND DynamicValue(RS_10_srcpart_small_n3_key1_max) and in_bloom_filter(key, DynamicValue(RS_10_srcpart_small_n3_key1_bloom_filter)))) (type: boolean) Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string) @@ -856,7 +856,7 @@ STAGE PLANS: filterExpr: (cstring is not null and (cstring BETWEEN DynamicValue(RS_10_srcpart_small_n3_key1_min) AND DynamicValue(RS_10_srcpart_small_n3_key1_max) and in_bloom_filter(cstring, DynamicValue(RS_10_srcpart_small_n3_key1_bloom_filter)))) (type: boolean) Statistics: Num rows: 12288 Data size: 862450 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((cstring BETWEEN DynamicValue(RS_10_srcpart_small_n3_key1_min) AND DynamicValue(RS_10_srcpart_small_n3_key1_max) and in_bloom_filter(cstring, DynamicValue(RS_10_srcpart_small_n3_key1_bloom_filter))) and cstring is not null) (type: boolean) + predicate: (cstring is not null and (cstring BETWEEN DynamicValue(RS_10_srcpart_small_n3_key1_min) AND DynamicValue(RS_10_srcpart_small_n3_key1_max) and in_bloom_filter(cstring, DynamicValue(RS_10_srcpart_small_n3_key1_bloom_filter)))) (type: boolean) Statistics: Num rows: 9174 Data size: 643900 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cstring (type: string) @@ -1136,7 +1136,7 @@ STAGE PLANS: filterExpr: (key is not null and value is not null and (key BETWEEN DynamicValue(RS_7_srcpart_small_n3_key1_min) AND DynamicValue(RS_7_srcpart_small_n3_key1_max) and in_bloom_filter(key, DynamicValue(RS_7_srcpart_small_n3_key1_bloom_filter)))) (type: boolean) Statistics: Num rows: 2000 Data size: 356000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((key BETWEEN DynamicValue(RS_7_srcpart_small_n3_key1_min) AND DynamicValue(RS_7_srcpart_small_n3_key1_max) and in_bloom_filter(key, DynamicValue(RS_7_srcpart_small_n3_key1_bloom_filter))) and key is not null and value is not null) (type: boolean) + predicate: (key is not null and value is not null and (key BETWEEN DynamicValue(RS_7_srcpart_small_n3_key1_min) AND DynamicValue(RS_7_srcpart_small_n3_key1_max) and in_bloom_filter(key, DynamicValue(RS_7_srcpart_small_n3_key1_bloom_filter)))) (type: boolean) Statistics: Num rows: 2000 Data size: 356000 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) @@ -1475,7 +1475,7 @@ STAGE PLANS: filterExpr: (key is not null and value is not null and (key BETWEEN DynamicValue(RS_10_srcpart_small_n3_key1_min) AND DynamicValue(RS_10_srcpart_small_n3_key1_max) and in_bloom_filter(key, DynamicValue(RS_10_srcpart_small_n3_key1_bloom_filter)))) (type: boolean) Statistics: Num rows: 2000 Data size: 356000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((key BETWEEN DynamicValue(RS_10_srcpart_small_n3_key1_min) AND DynamicValue(RS_10_srcpart_small_n3_key1_max) and in_bloom_filter(key, DynamicValue(RS_10_srcpart_small_n3_key1_bloom_filter))) and key is not null and value is not null) (type: boolean) + predicate: (key is not null and value is not null and (key BETWEEN DynamicValue(RS_10_srcpart_small_n3_key1_min) AND DynamicValue(RS_10_srcpart_small_n3_key1_max) and in_bloom_filter(key, DynamicValue(RS_10_srcpart_small_n3_key1_bloom_filter)))) (type: boolean) Statistics: Num rows: 2000 Data size: 356000 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) @@ -1530,7 +1530,7 @@ STAGE PLANS: filterExpr: (cstring is not null and (cstring BETWEEN DynamicValue(RS_12_srcpart_date_n7_value_min) AND DynamicValue(RS_12_srcpart_date_n7_value_max) and in_bloom_filter(cstring, DynamicValue(RS_12_srcpart_date_n7_value_bloom_filter)))) (type: boolean) Statistics: Num rows: 12288 Data size: 862450 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((cstring BETWEEN DynamicValue(RS_12_srcpart_date_n7_value_min) AND DynamicValue(RS_12_srcpart_date_n7_value_max) and in_bloom_filter(cstring, DynamicValue(RS_12_srcpart_date_n7_value_bloom_filter))) and cstring is not null) (type: boolean) + predicate: (cstring is not null and (cstring BETWEEN DynamicValue(RS_12_srcpart_date_n7_value_min) AND DynamicValue(RS_12_srcpart_date_n7_value_max) and in_bloom_filter(cstring, DynamicValue(RS_12_srcpart_date_n7_value_bloom_filter)))) (type: boolean) Statistics: Num rows: 9174 Data size: 643900 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cstring (type: string) @@ -1709,7 +1709,7 @@ STAGE PLANS: GatherStats: false Filter Operator isSamplingPred: false - predicate: ((key BETWEEN DynamicValue(RS_7_srcpart_small_n3_key1_min) AND DynamicValue(RS_7_srcpart_small_n3_key1_max) and in_bloom_filter(key, DynamicValue(RS_7_srcpart_small_n3_key1_bloom_filter))) and key is not null) (type: boolean) + predicate: (key is not null and (key BETWEEN DynamicValue(RS_7_srcpart_small_n3_key1_min) AND DynamicValue(RS_7_srcpart_small_n3_key1_max) and in_bloom_filter(key, DynamicValue(RS_7_srcpart_small_n3_key1_bloom_filter)))) (type: boolean) Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string) @@ -2326,7 +2326,7 @@ STAGE PLANS: filterExpr: (key is not null and (key BETWEEN DynamicValue(RS_7_srcpart_small_n3_key1_min) AND DynamicValue(RS_7_srcpart_small_n3_key1_max) and in_bloom_filter(key, DynamicValue(RS_7_srcpart_small_n3_key1_bloom_filter)))) (type: boolean) Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((key BETWEEN DynamicValue(RS_7_srcpart_small_n3_key1_min) AND DynamicValue(RS_7_srcpart_small_n3_key1_max) and in_bloom_filter(key, DynamicValue(RS_7_srcpart_small_n3_key1_bloom_filter))) and key is not null) (type: boolean) + predicate: (key is not null and (key BETWEEN DynamicValue(RS_7_srcpart_small_n3_key1_min) AND DynamicValue(RS_7_srcpart_small_n3_key1_max) and in_bloom_filter(key, DynamicValue(RS_7_srcpart_small_n3_key1_bloom_filter)))) (type: boolean) Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string) @@ -2805,7 +2805,7 @@ STAGE PLANS: filterExpr: (key is not null and value is not null and (key BETWEEN DynamicValue(RS_10_srcpart_small_n3_key1_min) AND DynamicValue(RS_10_srcpart_small_n3_key1_max) and in_bloom_filter(key, DynamicValue(RS_10_srcpart_small_n3_key1_bloom_filter)))) (type: boolean) Statistics: Num rows: 2000 Data size: 356000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((key BETWEEN DynamicValue(RS_10_srcpart_small_n3_key1_min) AND DynamicValue(RS_10_srcpart_small_n3_key1_max) and in_bloom_filter(key, DynamicValue(RS_10_srcpart_small_n3_key1_bloom_filter))) and key is not null and value is not null) (type: boolean) + predicate: (key is not null and value is not null and (key BETWEEN DynamicValue(RS_10_srcpart_small_n3_key1_min) AND DynamicValue(RS_10_srcpart_small_n3_key1_max) and in_bloom_filter(key, DynamicValue(RS_10_srcpart_small_n3_key1_bloom_filter)))) (type: boolean) Statistics: Num rows: 2000 Data size: 356000 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) @@ -2883,7 +2883,7 @@ STAGE PLANS: filterExpr: (cstring is not null and (cstring BETWEEN DynamicValue(RS_12_srcpart_date_n7_value_min) AND DynamicValue(RS_12_srcpart_date_n7_value_max) and in_bloom_filter(cstring, DynamicValue(RS_12_srcpart_date_n7_value_bloom_filter)))) (type: boolean) Statistics: Num rows: 12288 Data size: 862450 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((cstring BETWEEN DynamicValue(RS_12_srcpart_date_n7_value_min) AND DynamicValue(RS_12_srcpart_date_n7_value_max) and in_bloom_filter(cstring, DynamicValue(RS_12_srcpart_date_n7_value_bloom_filter))) and cstring is not null) (type: boolean) + predicate: (cstring is not null and (cstring BETWEEN DynamicValue(RS_12_srcpart_date_n7_value_min) AND DynamicValue(RS_12_srcpart_date_n7_value_max) and in_bloom_filter(cstring, DynamicValue(RS_12_srcpart_date_n7_value_bloom_filter)))) (type: boolean) Statistics: Num rows: 9174 Data size: 643900 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cstring (type: string) @@ -3578,7 +3578,7 @@ STAGE PLANS: filterExpr: (key1 is not null and (key1 BETWEEN DynamicValue(RS_10_srcpart_small10_key1_min) AND DynamicValue(RS_10_srcpart_small10_key1_max) and in_bloom_filter(key1, DynamicValue(RS_10_srcpart_small10_key1_bloom_filter)))) (type: boolean) Statistics: Num rows: 20 Data size: 5420 Basic stats: PARTIAL Column stats: PARTIAL Filter Operator - predicate: ((key1 BETWEEN DynamicValue(RS_10_srcpart_small10_key1_min) AND DynamicValue(RS_10_srcpart_small10_key1_max) and in_bloom_filter(key1, DynamicValue(RS_10_srcpart_small10_key1_bloom_filter))) and key1 is not null) (type: boolean) + predicate: (key1 is not null and (key1 BETWEEN DynamicValue(RS_10_srcpart_small10_key1_min) AND DynamicValue(RS_10_srcpart_small10_key1_max) and in_bloom_filter(key1, DynamicValue(RS_10_srcpart_small10_key1_bloom_filter)))) (type: boolean) Statistics: Num rows: 20 Data size: 5420 Basic stats: PARTIAL Column stats: PARTIAL Select Operator expressions: key1 (type: string), ds (type: string) @@ -3779,7 +3779,7 @@ STAGE PLANS: filterExpr: (key1 is not null and (key1 BETWEEN DynamicValue(RS_10_srcpart_small10_key1_min) AND DynamicValue(RS_10_srcpart_small10_key1_max) and in_bloom_filter(key1, DynamicValue(RS_10_srcpart_small10_key1_bloom_filter)))) (type: boolean) Statistics: Num rows: 20 Data size: 5420 Basic stats: PARTIAL Column stats: PARTIAL Filter Operator - predicate: ((key1 BETWEEN DynamicValue(RS_10_srcpart_small10_key1_min) AND DynamicValue(RS_10_srcpart_small10_key1_max) and in_bloom_filter(key1, DynamicValue(RS_10_srcpart_small10_key1_bloom_filter))) and key1 is not null) (type: boolean) + predicate: (key1 is not null and (key1 BETWEEN DynamicValue(RS_10_srcpart_small10_key1_min) AND DynamicValue(RS_10_srcpart_small10_key1_max) and in_bloom_filter(key1, DynamicValue(RS_10_srcpart_small10_key1_bloom_filter)))) (type: boolean) Statistics: Num rows: 20 Data size: 5420 Basic stats: PARTIAL Column stats: PARTIAL Select Operator expressions: key1 (type: string), ds (type: string) diff --git a/ql/src/test/results/clientpositive/llap/dynpart_sort_optimization.q.out b/ql/src/test/results/clientpositive/llap/dynpart_sort_optimization.q.out index 37a3652ee9..68794d2d7e 100644 --- a/ql/src/test/results/clientpositive/llap/dynpart_sort_optimization.q.out +++ b/ql/src/test/results/clientpositive/llap/dynpart_sort_optimization.q.out @@ -137,7 +137,7 @@ STAGE PLANS: filterExpr: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: ((t = 27Y) or t is null) (type: boolean) + predicate: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: si (type: smallint), i (type: int), b (type: bigint), f (type: float), t (type: tinyint) @@ -257,7 +257,7 @@ STAGE PLANS: filterExpr: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: ((t = 27Y) or t is null) (type: boolean) + predicate: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: si (type: smallint), i (type: int), b (type: bigint), f (type: float), t (type: tinyint) @@ -393,7 +393,7 @@ STAGE PLANS: filterExpr: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: ((t = 27Y) or t is null) (type: boolean) + predicate: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: si (type: smallint), i (type: int), b (type: bigint), f (type: float), t (type: tinyint) @@ -473,7 +473,7 @@ STAGE PLANS: filterExpr: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: ((t = 27Y) or t is null) (type: boolean) + predicate: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: si (type: smallint), i (type: int), b (type: bigint), f (type: float), t (type: tinyint) @@ -622,7 +622,7 @@ STAGE PLANS: filterExpr: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: ((t = 27Y) or t is null) (type: boolean) + predicate: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: si (type: smallint), i (type: int), b (type: bigint), f (type: float), t (type: tinyint) @@ -742,7 +742,7 @@ STAGE PLANS: filterExpr: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: ((t = 27Y) or t is null) (type: boolean) + predicate: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: si (type: smallint), i (type: int), b (type: bigint), f (type: float), t (type: tinyint) @@ -878,7 +878,7 @@ STAGE PLANS: filterExpr: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: ((t = 27Y) or t is null) (type: boolean) + predicate: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: si (type: smallint), i (type: int), b (type: bigint), f (type: float), t (type: tinyint) @@ -958,7 +958,7 @@ STAGE PLANS: filterExpr: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: ((t = 27Y) or t is null) (type: boolean) + predicate: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: si (type: smallint), i (type: int), b (type: bigint), f (type: float), t (type: tinyint) @@ -1493,7 +1493,7 @@ STAGE PLANS: filterExpr: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: ((t = 27Y) or t is null) (type: boolean) + predicate: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: si (type: smallint), i (type: int), b (type: bigint), f (type: float), t (type: tinyint) @@ -1613,7 +1613,7 @@ STAGE PLANS: filterExpr: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: ((t = 27Y) or t is null) (type: boolean) + predicate: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: si (type: smallint), i (type: int), b (type: bigint), f (type: float), t (type: tinyint) @@ -1766,7 +1766,7 @@ STAGE PLANS: Number of rows: 10 Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: ((_col0 = 27Y) or _col0 is null) (type: boolean) + predicate: (_col0 is null or (_col0 = 27Y)) (type: boolean) Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: _col1 (type: smallint), _col2 (type: int), _col3 (type: bigint), _col4 (type: float), _col0 (type: tinyint) @@ -1883,7 +1883,7 @@ STAGE PLANS: filterExpr: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: ((t = 27Y) or t is null) (type: boolean) + predicate: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE Group By Operator keys: t (type: tinyint), si (type: smallint), i (type: int), b (type: bigint), f (type: float) @@ -2009,7 +2009,7 @@ STAGE PLANS: filterExpr: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: ((t = 27Y) or t is null) (type: boolean) + predicate: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE Group By Operator keys: t (type: tinyint), si (type: smallint), i (type: int), b (type: bigint), f (type: float) @@ -2443,7 +2443,7 @@ STAGE PLANS: filterExpr: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: ((t = 27Y) or t is null) (type: boolean) + predicate: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: si (type: smallint), i (type: int), b (type: bigint), f (type: float), t (type: tinyint) @@ -2561,7 +2561,7 @@ STAGE PLANS: filterExpr: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: ((t = 27Y) or t is null) (type: boolean) + predicate: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: si (type: smallint), i (type: int), b (type: bigint), f (type: float), t (type: tinyint) @@ -3536,7 +3536,7 @@ STAGE PLANS: filterExpr: ((t = 27Y) and (s = 'foo')) (type: boolean) Statistics: Num rows: 1 Data size: 208 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: ((s = 'foo') and (t = 27Y)) (type: boolean) + predicate: ((t = 27Y) and (s = 'foo')) (type: boolean) Statistics: Num rows: 1 Data size: 208 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: si (type: smallint), b (type: bigint), f (type: float), 'foo' (type: string), 27Y (type: tinyint), i (type: int) @@ -3655,7 +3655,7 @@ STAGE PLANS: filterExpr: ((i = 100) and (t = 27Y) and (s = 'foo')) (type: boolean) Statistics: Num rows: 1 Data size: 208 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: ((i = 100) and (s = 'foo') and (t = 27Y)) (type: boolean) + predicate: ((i = 100) and (t = 27Y) and (s = 'foo')) (type: boolean) Statistics: Num rows: 1 Data size: 208 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: si (type: smallint), b (type: bigint), f (type: float), 'foo' (type: string), 27Y (type: tinyint), 100 (type: int) @@ -4152,7 +4152,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: over1k_n3 - filterExpr: (t is null or (t > 27Y)) (type: boolean) + filterExpr: ((t > 27Y) or t is null) (type: boolean) Statistics: Num rows: 1049 Data size: 25160 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: ((t > 27Y) or t is null) (type: boolean) @@ -4275,7 +4275,7 @@ STAGE PLANS: filterExpr: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 1049 Data size: 25160 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((t = 27Y) or t is null) (type: boolean) + predicate: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 11 Data size: 264 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: si (type: smallint), i (type: int), b (type: bigint), f (type: float), t (type: tinyint) @@ -4408,7 +4408,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: over1k_n3 - filterExpr: (t is null or (t > 27Y)) (type: boolean) + filterExpr: ((t > 27Y) or t is null) (type: boolean) Statistics: Num rows: 1049 Data size: 25160 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: ((t > 27Y) or t is null) (type: boolean) @@ -4519,7 +4519,7 @@ STAGE PLANS: filterExpr: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 1049 Data size: 25160 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((t = 27Y) or t is null) (type: boolean) + predicate: (t is null or (t = 27Y)) (type: boolean) Statistics: Num rows: 11 Data size: 264 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: si (type: smallint), i (type: int), b (type: bigint), f (type: float), t (type: tinyint) @@ -4694,7 +4694,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: over1k_n3 - filterExpr: ((s like 'bob%') and (i > 1)) (type: boolean) + filterExpr: ((i > 1) and (s like 'bob%')) (type: boolean) Statistics: Num rows: 1049 Data size: 105949 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: ((i > 1) and (s like 'bob%')) (type: boolean) diff --git a/ql/src/test/results/clientpositive/llap/explainuser_1.q.out b/ql/src/test/results/clientpositive/llap/explainuser_1.q.out index b760dbf850..d598d14097 100644 --- a/ql/src/test/results/clientpositive/llap/explainuser_1.q.out +++ b/ql/src/test/results/clientpositive/llap/explainuser_1.q.out @@ -489,7 +489,7 @@ Stage-0 Group By Operator [GBY_6] (rows=2 width=101) Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, c_int, c_float Filter Operator [FIL_38] (rows=5 width=93) - predicate:(((c_int + 1) >= 0) and ((c_int > 0) or (c_float >= 0.0)) and key is not null) + predicate:(((c_int > 0) or (c_float >= 0.0)) and ((c_int + 1) >= 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 @@ -505,7 +505,7 @@ Stage-0 Group By Operator [GBY_13] (rows=2 width=93) Output:["_col0","_col1","_col2"],keys:key, c_int, c_float Filter Operator [FIL_39] (rows=5 width=93) - predicate:(((c_int + 1) >= 0) and ((c_int > 0) or (c_float >= 0.0)) and key is not null) + predicate:(((c_int > 0) or (c_float >= 0.0)) and ((c_int + 1) >= 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"] @@ -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.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:((c_float > 0.0) and ((c_int >= 1) or (c_float >= 1.0)) and ((c_int + 1) >= 0) and ((UDFToFloat(c_int) + c_float) >= 0.0) and ((c_int > 0) or c_float is not null) 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.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:((c_float > 0.0) and ((c_int >= 1) or (c_float >= 1.0)) and ((c_int + 1) >= 0) and ((UDFToFloat(c_int) + c_float) >= 0.0) and ((c_int > 0) or c_float is not null) 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.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:((c_float > 0.0) and ((c_int >= 1) or (c_float >= 1.0)) and ((c_int + 1) >= 0) and ((UDFToFloat(c_int) + c_float) >= 0.0) and ((c_int > 0) or c_float is not null) 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.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:((c_float > 0.0) and ((c_int >= 1) or (c_float >= 1.0)) and ((c_int + 1) >= 0) and ((UDFToFloat(c_int) + c_float) >= 0.0) and ((c_int > 0) or c_float is not null) 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"] @@ -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.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:((c_float > 0.0) and ((c_int >= 1) or (c_float >= 1.0)) and ((c_int + 1) >= 0) and ((UDFToFloat(c_int) + c_float) >= 0.0) and ((c_int > 0) or c_float is not null) 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.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:((c_float > 0.0) and ((c_int >= 1) or (c_float >= 1.0)) and ((c_int + 1) >= 0) and ((UDFToFloat(c_int) + c_float) >= 0.0) and ((c_int > 0) or c_float is not null) 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.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:((c_float > 0.0) and ((c_int >= 1) or (c_float >= 1.0)) and ((c_int + 1) >= 0) and ((UDFToFloat(c_int) + c_float) >= 0.0) and ((c_int > 0) or c_float is not null) 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.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:((c_float > 0.0) and ((c_int >= 1) or (c_float >= 1.0)) and ((c_int + 1) >= 0) and ((UDFToFloat(c_int) + c_float) >= 0.0) and ((c_int > 0) or c_float is not null) 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"] @@ -1373,7 +1373,7 @@ Stage-0 Select Operator [SEL_2] (rows=9 width=93) Output:["_col0","_col1","_col2"] Filter Operator [FIL_22] (rows=9 width=93) - predicate:(((c_int + 1) = 2) and ((c_int > 0) or (c_float >= 0.0)) and key is not null) + predicate:(((c_int > 0) or (c_float >= 0.0)) and key is not null and ((c_int + 1) = 2)) TableScan [TS_0] (rows=20 width=88) default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"] <-Map 4 [SIMPLE_EDGE] llap @@ -1382,7 +1382,7 @@ Stage-0 Select Operator [SEL_5] (rows=9 width=89) Output:["_col0","_col1"] Filter Operator [FIL_23] (rows=9 width=93) - predicate:(((c_int + 1) = 2) and ((c_int > 0) or (c_float >= 0.0)) and key is not null) + predicate:(((c_int > 0) or (c_float >= 0.0)) and ((c_int + 1) = 2) and key is not null) TableScan [TS_3] (rows=20 width=88) default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"] @@ -1438,7 +1438,7 @@ Stage-0 Select Operator [SEL_2] (rows=9 width=93) Output:["_col0","_col1","_col2"] Filter Operator [FIL_22] (rows=9 width=93) - predicate:(((c_int + 1) = 2) and ((c_int > 0) or (c_float >= 0.0)) and key is not null) + predicate:(((c_int > 0) or (c_float >= 0.0)) and key is not null and ((c_int + 1) = 2)) TableScan [TS_0] (rows=20 width=88) default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"] <-Map 4 [SIMPLE_EDGE] llap @@ -1447,7 +1447,7 @@ Stage-0 Select Operator [SEL_5] (rows=9 width=89) Output:["_col0","_col1"] Filter Operator [FIL_23] (rows=9 width=93) - predicate:(((c_int + 1) = 2) and ((c_int > 0) or (c_float >= 0.0)) and key is not null) + predicate:(((c_int > 0) or (c_float >= 0.0)) and ((c_int + 1) = 2) and key is not null) TableScan [TS_3] (rows=20 width=88) default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"] @@ -1705,7 +1705,7 @@ Stage-0 Top N Key Operator [TNK_55] (rows=6 width=93) keys:key, c_int, c_float,sort order:+++,top n:5 Filter Operator [FIL_53] (rows=6 width=93) - predicate:(((c_int + 1) >= 0) and ((c_int > 0) or (c_float >= 0.0))) + predicate:(((c_int > 0) or (c_float >= 0.0)) and ((c_int + 1) >= 0)) TableScan [TS_13] (rows=20 width=88) default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"] <-Reducer 3 [SIMPLE_EDGE] llap @@ -1729,7 +1729,7 @@ Stage-0 Group By Operator [GBY_3] (rows=3 width=101) Output:["_col0","_col1","_col2","_col3"],aggregations:["sum(c_int)"],keys:key, c_int, c_float Filter Operator [FIL_51] (rows=6 width=93) - predicate:(((c_int + 1) >= 0) and ((c_int > 0) or (c_float >= 0.0))) + predicate:(((c_int > 0) or (c_float >= 0.0)) and ((c_int + 1) >= 0)) TableScan [TS_0] (rows=20 width=88) default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"] @@ -1768,7 +1768,7 @@ Stage-0 Select Operator [SEL_2] (rows=9 width=93) Output:["_col0","_col1"] Filter Operator [FIL_15] (rows=9 width=93) - predicate:(((c_int + 1) = 2) and ((c_int > 0) or (c_float >= 0.0)) and key is not null) + predicate:(((c_int > 0) or (c_float >= 0.0)) and key is not null and ((c_int + 1) = 2)) TableScan [TS_0] (rows=20 width=88) default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"] <-Map 3 [SIMPLE_EDGE] llap @@ -1837,7 +1837,7 @@ Stage-0 Select Operator [SEL_2] (rows=9 width=93) Output:["_col0","_col1","_col2"] Filter Operator [FIL_26] (rows=9 width=93) - predicate:(((c_int + 1) = 2) and ((c_int > 0) or (c_float >= 0.0)) and key is not null) + predicate:(((c_int > 0) or (c_float >= 0.0)) and key is not null and ((c_int + 1) = 2)) TableScan [TS_0] (rows=20 width=88) default@cbo_t1,cbo_t1,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"] <-Map 4 [SIMPLE_EDGE] llap @@ -1848,7 +1848,7 @@ Stage-0 Select Operator [SEL_5] (rows=9 width=85) Output:["_col0"] Filter Operator [FIL_27] (rows=9 width=93) - predicate:(((c_int + 1) = 2) and ((c_int > 0) or (c_float >= 0.0)) and key is not null) + predicate:(((c_int > 0) or (c_float >= 0.0)) and ((c_int + 1) = 2) and key is not null) TableScan [TS_3] (rows=20 width=88) default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"] @@ -1932,7 +1932,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) 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)) + predicate:((c_float > 0.0) and ((c_int >= 1) or (c_float >= 1.0)) and ((c_int + 1) >= 0) and ((UDFToFloat(c_int) + c_float) >= 0.0) and (((c_int + 1) + 1) >= 0) and (UDFToDouble(key) > 0.0D) and ((c_int > 0) or c_float is not null) and (((c_int + 1) > 0) or UDFToDouble(key) is not null)) 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 @@ -1950,7 +1950,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.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_float > 0.0) and ((c_int >= 1) or (c_float >= 1.0)) and ((c_int + 1) >= 0) and ((UDFToFloat(c_int) + c_float) >= 0.0) and (UDFToDouble(key) > 0.0D) and ((c_int > 0) or c_float is not null)) TableScan [TS_9] (rows=20 width=88) default@cbo_t2,cbo_t2,Tbl:COMPLETE,Col:COMPLETE,Output:["key","c_int","c_float"] @@ -2413,7 +2413,7 @@ Stage-0 Select Operator [SEL_2] (rows=14 width=16) Output:["_col0","_col1","_col2","_col3"] Filter Operator [FIL_27] (rows=14 width=16) - predicate:((l_linenumber = 1) and l_orderkey is not null and l_partkey is not null) + predicate:((l_linenumber = 1) and l_partkey is not null and l_orderkey is not null) TableScan [TS_0] (rows=100 width=16) default@lineitem,li,Tbl:COMPLETE,Col:COMPLETE,Output:["l_orderkey","l_partkey","l_suppkey","l_linenumber"] <-Map 4 [SIMPLE_EDGE] llap @@ -2626,7 +2626,7 @@ Stage-0 Select Operator [SEL_24] (rows=631 width=178) Output:["_col0","_col1"] Filter Operator [FIL_23] (rows=631 width=194) - 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))) + predicate:((_col5 is null or (_col2 = 0L)) and ((_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)) Select Operator [SEL_22] (rows=631 width=194) Output:["_col0","_col1","_col2","_col3","_col5"] Merge Join Operator [MERGEJOIN_37] (rows=631 width=194) @@ -2707,7 +2707,7 @@ Stage-0 Select Operator [SEL_23] (rows=38 width=223) Output:["_col0","_col1","_col2"] 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)) + predicate:((_col8 is null or (_col4 = 0L) or _col4 is null) and ((_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)) 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 @@ -2796,7 +2796,7 @@ Stage-0 Select Operator [SEL_31] (rows=27 width=125) Output:["_col0","_col1"] Filter Operator [FIL_30] (rows=27 width=141) - 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))) + predicate:((_col5 is null or (_col2 = 0L)) and ((_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)) Select Operator [SEL_29] (rows=27 width=141) Output:["_col0","_col1","_col2","_col3","_col5"] Merge Join Operator [MERGEJOIN_40] (rows=27 width=141) @@ -2827,7 +2827,7 @@ Stage-0 Select Operator [SEL_10] (rows=1 width=12) Output:["_col0","_col1"] Filter Operator [FIL_9] (rows=1 width=16) - predicate:(UDFToDouble(_col0) is not null and _col1 is not null) + predicate:(_col1 is not null and UDFToDouble(_col0) is not null) Please refer to the previous Group By Operator [GBY_7] <-Map 1 [SIMPLE_EDGE] llap SHUFFLE [RS_23] @@ -2885,7 +2885,7 @@ Stage-0 Select Operator [SEL_33] (rows=7 width=106) Output:["_col0","_col1"] 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)) + predicate:((_col7 is null or (_col3 = 0L) or _col3 is null) and (_col0 is not null or (_col3 = 0L) or _col3 is null or _col7 is not null) and ((_col4 < _col3) is not true or (_col3 = 0L) or _col3 is null or _col7 is not null or _col0 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 @@ -4587,13 +4587,13 @@ Stage-0 <-Map 3 [SIMPLE_EDGE] llap SHUFFLE [RS_9] PartitionCols:_col0 - Group By Operator [GBY_7] (rows=1 width=124) + Group By Operator [GBY_7] (rows=1 width=4) Output:["_col0"],keys:_col0 - Select Operator [SEL_5] (rows=1 width=124) + Select Operator [SEL_5] (rows=1 width=4) Output:["_col0"] - Filter Operator [FIL_16] (rows=1 width=124) + Filter Operator [FIL_16] (rows=1 width=4) predicate:id is not null - TableScan [TS_3] (rows=1 width=124) + TableScan [TS_3] (rows=1 width=4) default@things_n0,things_n0,Tbl:PARTIAL,Col:NONE,Output:["id"] PREHOOK: query: drop table sales_n0 diff --git a/ql/src/test/results/clientpositive/llap/external_jdbc_table2.q.out b/ql/src/test/results/clientpositive/llap/external_jdbc_table2.q.out index ef68c7a924..aaa8a52a2a 100644 --- a/ql/src/test/results/clientpositive/llap/external_jdbc_table2.q.out +++ b/ql/src/test/results/clientpositive/llap/external_jdbc_table2.q.out @@ -708,17 +708,13 @@ STAGE PLANS: Processor Tree: TableScan alias: p - properties: - hive.sql.query SELECT "ikey" -FROM "EXTERNAL_JDBC_SIMPLE_DERBY2_TABLE1" -WHERE "bkey" IN (10, 20) AND "dkey" IN (15.15, 25.25) AND ("bkey" = 10 AND "dkey" = 15.15 OR "bkey" = 20 AND "dkey" = 25.25) AND "ikey" IS NOT NULL - hive.sql.query.fieldNames ikey - hive.sql.query.fieldTypes int - hive.sql.query.split true - Select Operator - expressions: ikey (type: int) - outputColumnNames: _col0 - ListSink + filterExpr: (ikey is not null and (((bkey = 10L) and (dkey = 15.15D)) or ((bkey = 20L) and (dkey = 25.25D)))) (type: boolean) + Filter Operator + predicate: (ikey is not null and (((bkey = 10L) and (dkey = 15.15D)) or ((bkey = 20L) and (dkey = 25.25D)))) (type: boolean) + Select Operator + expressions: ikey (type: int) + outputColumnNames: _col0 + ListSink PREHOOK: query: SELECT P.ikey FROM diff --git a/ql/src/test/results/clientpositive/llap/filter_join_breaktask.q.out b/ql/src/test/results/clientpositive/llap/filter_join_breaktask.q.out index 78ef416b76..c9133d3e8a 100644 --- a/ql/src/test/results/clientpositive/llap/filter_join_breaktask.q.out +++ b/ql/src/test/results/clientpositive/llap/filter_join_breaktask.q.out @@ -37,13 +37,13 @@ POSTHOOK: Input: default@filter_join_breaktask@ds=2008-04-08 OPTIMIZED SQL: SELECT `t2`.`key`, `t0`.`value` FROM (SELECT `value` FROM `default`.`filter_join_breaktask` -WHERE `ds` = '2008-04-08' AND `value` <> '') AS `t0` +WHERE `value` <> '' AND `ds` = '2008-04-08') AS `t0` INNER JOIN ((SELECT `key` FROM `default`.`filter_join_breaktask` -WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t2` +WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t2` INNER JOIN (SELECT `key`, `value` FROM `default`.`filter_join_breaktask` -WHERE `ds` = '2008-04-08' AND `value` <> '' AND `key` IS NOT NULL) AS `t4` ON `t2`.`key` = `t4`.`key`) ON `t0`.`value` = `t4`.`value` +WHERE `key` IS NOT NULL AND `value` <> '' AND `ds` = '2008-04-08') AS `t4` ON `t2`.`key` = `t4`.`key`) ON `t0`.`value` = `t4`.`value` STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -139,12 +139,12 @@ STAGE PLANS: Map Operator Tree: TableScan alias: m - filterExpr: ((value <> '') and key is not null) (type: boolean) + filterExpr: (key is not null and (value <> '')) (type: boolean) Statistics: Num rows: 25 Data size: 2289 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false - predicate: ((value <> '') and key is not null) (type: boolean) + predicate: (key is not null and (value <> '')) (type: boolean) Statistics: Num rows: 15 Data size: 1375 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), value (type: string) diff --git a/ql/src/test/results/clientpositive/llap/join32_lessSize.q.out b/ql/src/test/results/clientpositive/llap/join32_lessSize.q.out index ef1699287d..4a078b8242 100644 --- a/ql/src/test/results/clientpositive/llap/join32_lessSize.q.out +++ b/ql/src/test/results/clientpositive/llap/join32_lessSize.q.out @@ -618,7 +618,7 @@ STAGE PLANS: GatherStats: false Filter Operator isSamplingPred: false - predicate: (key is not null and value is not null) (type: boolean) + predicate: (value is not null and key is not null) (type: boolean) Statistics: Num rows: 25 Data size: 4375 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) diff --git a/ql/src/test/results/clientpositive/llap/join46.q.out b/ql/src/test/results/clientpositive/llap/join46.q.out index 0267f2da78..85fd4c5656 100644 --- a/ql/src/test/results/clientpositive/llap/join46.q.out +++ b/ql/src/test/results/clientpositive/llap/join46.q.out @@ -206,10 +206,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: test2_n0 - filterExpr: (key BETWEEN 100 AND 102 and value is not null) (type: boolean) + filterExpr: (value is not null and key BETWEEN 100 AND 102) (type: boolean) Statistics: Num rows: 4 Data size: 380 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (key BETWEEN 100 AND 102 and value is not null) (type: boolean) + predicate: (value is not null and key BETWEEN 100 AND 102) (type: boolean) Statistics: Num rows: 1 Data size: 95 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), value (type: int), col_2 (type: string) diff --git a/ql/src/test/results/clientpositive/llap/lineage2.q.out b/ql/src/test/results/clientpositive/llap/lineage2.q.out index c0cd91f53d..26db2165f4 100644 --- a/ql/src/test/results/clientpositive/llap/lineage2.q.out +++ b/ql/src/test/results/clientpositive/llap/lineage2.q.out @@ -18,7 +18,7 @@ PREHOOK: query: select * from src1 where key > 10 and value > 'val' order by key PREHOOK: type: QUERY PREHOOK: Input: default@src1 #### A masked pattern was here #### -{"version":"1.0","engine":"tez","database":"default","hash":"e07e602503383cf2b8477d43c5043f35","queryText":"select * from src1 where key > 10 and value > 'val' order by key limit 5","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[2,3],"targets":[0,1],"expression":"((UDFToDouble(src1.key) > 10.0D) and (src1.value > 'val'))","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"src1.key"},{"id":1,"vertexType":"COLUMN","vertexId":"src1.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":"e07e602503383cf2b8477d43c5043f35","queryText":"select * from src1 where key > 10 and value > 'val' order by key limit 5","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[3,2],"targets":[0,1],"expression":"((src1.value > 'val') and (UDFToDouble(src1.key) > 10.0D))","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"src1.key"},{"id":1,"vertexType":"COLUMN","vertexId":"src1.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"}]} 146 val_146 150 val_150 213 val_213 @@ -503,7 +503,7 @@ PREHOOK: query: select * from src1 where length(key) > 2 and value > 'a' PREHOOK: type: QUERY PREHOOK: Input: default@src1 #### A masked pattern was here #### -{"version":"1.0","engine":"tez","database":"default","hash":"f4a6b14cf6ce3c1313d70720cea4e8b3","queryText":"select * from src1 where length(key) > 2 and value > 'a'","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[2,3],"targets":[0,1],"expression":"((length(src1.key) > 2) and (src1.value > 'a'))","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"src1.key"},{"id":1,"vertexType":"COLUMN","vertexId":"src1.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":"f4a6b14cf6ce3c1313d70720cea4e8b3","queryText":"select * from src1 where length(key) > 2 and value > 'a'","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[3,2],"targets":[0,1],"expression":"((src1.value > 'a') and (length(src1.key) > 2))","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"src1.key"},{"id":1,"vertexType":"COLUMN","vertexId":"src1.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"}]} 238 val_238 311 val_311 255 val_255 @@ -659,7 +659,7 @@ PREHOOK: Input: default@dest_l2 PREHOOK: Input: default@dest_l3 PREHOOK: Output: database:default PREHOOK: Output: default@t_n10 -{"version":"1.0","engine":"tez","database":"default","hash":"1a18373814a0ccf82ee1409db6a912b5","queryText":"create table t_n10 as\nselect distinct a.c2, a.c3 from dest_l2 a\ninner join dest_l3 b on (a.id = b.id)\nwhere a.id > 0 and b.c3 = 15","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[4],"targets":[0,1],"expression":"(a.id > 0)","edgeType":"PREDICATE"},{"sources":[4,5],"targets":[0,1],"expression":"(a.id = b.id)","edgeType":"PREDICATE"},{"sources":[6,5],"targets":[0,1],"expression":"((b.c3 = 15) and (b.id > 0))","edgeType":"PREDICATE"},{"sources":[2],"targets":[0],"expression":"compute_stats(default.dest_l2.c2, 'hll')","edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"expression":"compute_stats(default.dest_l2.c3, 'hll')","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.t_n10.c2"},{"id":1,"vertexType":"COLUMN","vertexId":"default.t_n10.c3"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest_l2.c2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest_l2.c3"},{"id":4,"vertexType":"COLUMN","vertexId":"default.dest_l2.id"},{"id":5,"vertexType":"COLUMN","vertexId":"default.dest_l3.id"},{"id":6,"vertexType":"COLUMN","vertexId":"default.dest_l3.c3"}]} +{"version":"1.0","engine":"tez","database":"default","hash":"1a18373814a0ccf82ee1409db6a912b5","queryText":"create table t_n10 as\nselect distinct a.c2, a.c3 from dest_l2 a\ninner join dest_l3 b on (a.id = b.id)\nwhere a.id > 0 and b.c3 = 15","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[4],"targets":[0,1],"expression":"(a.id > 0)","edgeType":"PREDICATE"},{"sources":[4,5],"targets":[0,1],"expression":"(a.id = b.id)","edgeType":"PREDICATE"},{"sources":[5,6],"targets":[0,1],"expression":"((b.id > 0) and (b.c3 = 15))","edgeType":"PREDICATE"},{"sources":[2],"targets":[0],"expression":"compute_stats(default.dest_l2.c2, 'hll')","edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"expression":"compute_stats(default.dest_l2.c3, 'hll')","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.t_n10.c2"},{"id":1,"vertexType":"COLUMN","vertexId":"default.t_n10.c3"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest_l2.c2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest_l2.c3"},{"id":4,"vertexType":"COLUMN","vertexId":"default.dest_l2.id"},{"id":5,"vertexType":"COLUMN","vertexId":"default.dest_l3.id"},{"id":6,"vertexType":"COLUMN","vertexId":"default.dest_l3.c3"}]} PREHOOK: query: SELECT substr(src1.key,1,1), count(DISTINCT substr(src1.value,5)), concat(substr(src1.key,1,1),sum(substr(src1.value,5))) from src1 diff --git a/ql/src/test/results/clientpositive/llap/lineage3.q.out b/ql/src/test/results/clientpositive/llap/lineage3.q.out index 783dfa7c13..c14b32a2c9 100644 --- a/ql/src/test/results/clientpositive/llap/lineage3.q.out +++ b/ql/src/test/results/clientpositive/llap/lineage3.q.out @@ -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 - 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"}]} +{"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,8,5],"targets":[0,1,2,3],"expression":"((a.ctinyint > 10Y) and (not a.cboolean1) and UDFToLong(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"}]} 11 -654374827 857266369 OEfPnHnIYueoup PREHOOK: query: select c1, x2, x3 from ( @@ -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":[2],"targets":[0,1],"expression":"UDFToDouble(src1.key) is not null","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"}]} +{"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":[2],"targets":[0,1],"expression":"UDFToDouble(src1.key) is not null","edgeType":"PREDICATE"},{"sources":[4,2],"targets":[0,1],"expression":"((true is null or (count(*) = 0L)) and ((count((UDFToDouble(src1.key) + 18.0D)) >= count(*)) or (count(*) = 0L) or true is not null or src1.key is null) and (src1.key is not null or (count(*) = 0L) or true is not 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 @@ -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 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"}]} +{"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":[7,11],"targets":[0,1,3,2,4,5,6],"expression":"(c.cbigint is not null and (c.cstring1 < '7'))","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":[9,10],"targets":[0,1,3,2,4,5,6],"expression":"((b.cint = 11) and (b.cfloat > 4.5))","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 a/ql/src/test/results/clientpositive/llap/mapjoin46.q.out b/ql/src/test/results/clientpositive/llap/mapjoin46.q.out index fe648f6226..3715be62a8 100644 --- a/ql/src/test/results/clientpositive/llap/mapjoin46.q.out +++ b/ql/src/test/results/clientpositive/llap/mapjoin46.q.out @@ -217,10 +217,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: test2_n2 - filterExpr: (key BETWEEN 100 AND 102 and value is not null) (type: boolean) + filterExpr: (value is not null and key BETWEEN 100 AND 102) (type: boolean) Statistics: Num rows: 4 Data size: 380 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (key BETWEEN 100 AND 102 and value is not null) (type: boolean) + predicate: (value is not null and key BETWEEN 100 AND 102) (type: boolean) Statistics: Num rows: 1 Data size: 95 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), value (type: int), col_2 (type: string) diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_3.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_3.q.out index 215809fb9a..d050706a37 100644 --- a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_3.q.out +++ b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_3.q.out @@ -526,7 +526,7 @@ STAGE PLANS: 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 > 1L) and (c > 10) and a is not null) (type: boolean) + predicate: ((c > 10) and (ROW__ID.writeid > 1L) 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 a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_4.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_4.q.out index ce8105f6ba..13d59193d8 100644 --- a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_4.q.out +++ b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_4.q.out @@ -756,7 +756,7 @@ STAGE PLANS: 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 > 1L) and (c > 10) and a is not null) (type: boolean) + predicate: ((c > 10) and (ROW__ID.writeid > 1L) 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) @@ -1727,7 +1727,7 @@ STAGE PLANS: 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 > 4L) and (c > 10) and a is not null) (type: boolean) + predicate: ((c > 10) and (ROW__ID.writeid > 4L) 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 a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_5.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_5.q.out index 9044c4dcdf..fdf277240a 100644 --- a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_5.q.out +++ b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_5.q.out @@ -253,7 +253,7 @@ STAGE PLANS: 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 > 1L) and (c > 10) and a is not null) (type: boolean) + predicate: ((c > 10) and (ROW__ID.writeid > 1L) 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)) @@ -979,7 +979,7 @@ STAGE PLANS: 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 > 4L) and (c > 10) and a is not null) (type: boolean) + predicate: ((c > 10) and (ROW__ID.writeid > 4L) 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 a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_rebuild_dummy.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_rebuild_dummy.q.out index 7f2849a233..eb4ccd044b 100644 --- a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_rebuild_dummy.q.out +++ b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_rebuild_dummy.q.out @@ -526,7 +526,7 @@ STAGE PLANS: 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 > 1L) and (c > 10) and a is not null) (type: boolean) + predicate: ((c > 10) and (ROW__ID.writeid > 1L) 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 a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_time_window.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_time_window.q.out index c90dde16ac..4bcacfeb2f 100644 --- a/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_time_window.q.out +++ b/ql/src/test/results/clientpositive/llap/materialized_view_create_rewrite_time_window.q.out @@ -645,7 +645,7 @@ STAGE PLANS: 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 > 1L) and (c > 10) and a is not null) (type: boolean) + predicate: ((c > 10) and (ROW__ID.writeid > 1L) 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 a/ql/src/test/results/clientpositive/llap/materialized_view_partitioned.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_partitioned.q.out index 531cd68791..d77a5ee66a 100644 --- a/ql/src/test/results/clientpositive/llap/materialized_view_partitioned.q.out +++ b/ql/src/test/results/clientpositive/llap/materialized_view_partitioned.q.out @@ -50,7 +50,7 @@ STAGE PLANS: filterExpr: ((UDFToDouble(key) > 200.0D) and (UDFToDouble(key) < 250.0D)) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((UDFToDouble(key) < 250.0D) and (UDFToDouble(key) > 200.0D)) (type: boolean) + predicate: ((UDFToDouble(key) > 200.0D) and (UDFToDouble(key) < 250.0D)) (type: boolean) Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: value (type: string), key (type: string) @@ -623,7 +623,7 @@ STAGE PLANS: filterExpr: ((ROW__ID.writeid > 1L) and (UDFToDouble(key) > 200.0D) and (UDFToDouble(key) < 250.0D)) (type: boolean) Statistics: Num rows: 501 Data size: 90180 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((ROW__ID.writeid > 1L) and (UDFToDouble(key) < 250.0D) and (UDFToDouble(key) > 200.0D)) (type: boolean) + predicate: ((ROW__ID.writeid > 1L) and (UDFToDouble(key) > 200.0D) and (UDFToDouble(key) < 250.0D)) (type: boolean) Statistics: Num rows: 18 Data size: 3240 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: value (type: string), key (type: string) @@ -937,10 +937,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: src_txn - filterExpr: ((UDFToDouble(key) > 200.0D) and (UDFToDouble(key) < 250.0D) and (ROW__ID.writeid > 2L)) (type: boolean) + filterExpr: ((ROW__ID.writeid > 2L) and (UDFToDouble(key) > 200.0D) and (UDFToDouble(key) < 250.0D)) (type: boolean) Statistics: Num rows: 502 Data size: 90862 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((ROW__ID.writeid > 2L) and (UDFToDouble(key) < 250.0D) and (UDFToDouble(key) > 200.0D)) (type: boolean) + predicate: ((ROW__ID.writeid > 2L) and (UDFToDouble(key) > 200.0D) and (UDFToDouble(key) < 250.0D)) (type: boolean) Statistics: Num rows: 18 Data size: 3258 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) @@ -961,7 +961,7 @@ STAGE PLANS: filterExpr: ((UDFToDouble(key) > 200.0D) and (UDFToDouble(key) < 250.0D)) (type: boolean) Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((UDFToDouble(key) < 250.0D) and (UDFToDouble(key) > 200.0D)) (type: boolean) + predicate: ((UDFToDouble(key) > 200.0D) and (UDFToDouble(key) < 250.0D)) (type: boolean) Statistics: Num rows: 55 Data size: 4785 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string) diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_2.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_2.q.out index 91ba0cafa0..0266051d40 100644 --- a/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_2.q.out +++ b/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_2.q.out @@ -670,7 +670,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: default.mv1_n0 - filterExpr: ((name = name2) and (deptno = deptno2)) (type: boolean) + filterExpr: ((deptno = deptno2) and (name = name2)) (type: boolean) Statistics: Num rows: 8 Data size: 1536 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: ((deptno = deptno2) and (name = name2)) (type: boolean) diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_part_2.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_part_2.q.out index 85b61ec01a..1ddc449352 100644 --- a/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_part_2.q.out +++ b/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_part_2.q.out @@ -745,7 +745,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: default.mv1_part_n0 - filterExpr: ((name = name2) and (deptno = deptno2)) (type: boolean) + filterExpr: ((deptno = deptno2) and (name = name2)) (type: boolean) Statistics: Num rows: 8 Data size: 1560 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: ((deptno = deptno2) and (name = name2)) (type: boolean) diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_ssb.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_ssb.q.out index 10bee53bb9..e3d3b2b339 100644 --- a/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_ssb.q.out +++ b/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_ssb.q.out @@ -646,10 +646,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: default.ssb_mv_n0 - filterExpr: ((d_year = 1993) and (lo_quantity < 25.0D) and lo_discount BETWEEN 1.0D AND 3.0D) (type: boolean) + filterExpr: ((lo_quantity < 25.0D) and (d_year = 1993) and lo_discount BETWEEN 1.0D AND 3.0D) (type: boolean) Statistics: Num rows: 1 Data size: 28 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((d_year = 1993) and (lo_quantity < 25.0D) and lo_discount BETWEEN 1.0D AND 3.0D) (type: boolean) + predicate: ((lo_quantity < 25.0D) and (d_year = 1993) and lo_discount BETWEEN 1.0D AND 3.0D) (type: boolean) Statistics: Num rows: 1 Data size: 28 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: discounted_price (type: double) @@ -829,7 +829,7 @@ STAGE PLANS: filterExpr: ((d_year = 1994) and (d_weeknuminyear = 6) and lo_discount BETWEEN 5.0D AND 7.0D and lo_quantity BETWEEN 26.0D AND 35.0D) (type: boolean) Statistics: Num rows: 1 Data size: 32 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((d_weeknuminyear = 6) and (d_year = 1994) and lo_discount BETWEEN 5.0D AND 7.0D and lo_quantity BETWEEN 26.0D AND 35.0D) (type: boolean) + predicate: ((d_year = 1994) and (d_weeknuminyear = 6) and lo_discount BETWEEN 5.0D AND 7.0D and lo_quantity BETWEEN 26.0D AND 35.0D) (type: boolean) Statistics: Num rows: 1 Data size: 32 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: discounted_price (type: double) @@ -1683,7 +1683,7 @@ STAGE PLANS: filterExpr: ((c_city) IN ('UNITED KI1', 'UNITED KI5') and (s_city) IN ('UNITED KI1', 'UNITED KI5') and (d_yearmonth = 'Dec1997')) (type: boolean) Statistics: Num rows: 1 Data size: 264 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((c_city) IN ('UNITED KI1', 'UNITED KI5') and (d_yearmonth = 'Dec1997') and (s_city) IN ('UNITED KI1', 'UNITED KI5')) (type: boolean) + predicate: ((c_city) IN ('UNITED KI1', 'UNITED KI5') and (s_city) IN ('UNITED KI1', 'UNITED KI5') and (d_yearmonth = 'Dec1997')) (type: boolean) Statistics: Num rows: 1 Data size: 264 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: c_city (type: string), d_year (type: int), s_city (type: string), lo_revenue (type: double) @@ -1815,7 +1815,7 @@ STAGE PLANS: filterExpr: ((p_mfgr) IN ('MFGR#1', 'MFGR#2') and (c_region = 'AMERICA') and (s_region = 'AMERICA')) (type: boolean) Statistics: Num rows: 1 Data size: 348 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((c_region = 'AMERICA') and (p_mfgr) IN ('MFGR#1', 'MFGR#2') and (s_region = 'AMERICA')) (type: boolean) + predicate: ((p_mfgr) IN ('MFGR#1', 'MFGR#2') and (c_region = 'AMERICA') and (s_region = 'AMERICA')) (type: boolean) Statistics: Num rows: 1 Data size: 348 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: c_nation (type: string), d_year (type: int), net_revenue (type: double) @@ -1945,7 +1945,7 @@ STAGE PLANS: filterExpr: ((d_year) IN (1997, 1998) and (p_mfgr) IN ('MFGR#1', 'MFGR#2') and (c_region = 'AMERICA') and (s_region = 'AMERICA')) (type: boolean) Statistics: Num rows: 1 Data size: 432 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((c_region = 'AMERICA') and (d_year) IN (1997, 1998) and (p_mfgr) IN ('MFGR#1', 'MFGR#2') and (s_region = 'AMERICA')) (type: boolean) + predicate: ((d_year) IN (1997, 1998) and (p_mfgr) IN ('MFGR#1', 'MFGR#2') and (c_region = 'AMERICA') and (s_region = 'AMERICA')) (type: boolean) Statistics: Num rows: 1 Data size: 432 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: d_year (type: int), p_category (type: string), s_nation (type: string), net_revenue (type: double) @@ -2075,7 +2075,7 @@ STAGE PLANS: filterExpr: ((d_year) IN (1997, 1998) and (c_region = 'AMERICA') and (p_category = 'MFGR#14') and (s_nation = 'UNITED STATES')) (type: boolean) Statistics: Num rows: 1 Data size: 432 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((c_region = 'AMERICA') and (d_year) IN (1997, 1998) and (p_category = 'MFGR#14') and (s_nation = 'UNITED STATES')) (type: boolean) + predicate: ((d_year) IN (1997, 1998) and (c_region = 'AMERICA') and (p_category = 'MFGR#14') and (s_nation = 'UNITED STATES')) (type: boolean) Statistics: Num rows: 1 Data size: 432 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: d_year (type: int), p_brand1 (type: string), s_city (type: string), net_revenue (type: double) diff --git a/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_ssb_2.q.out b/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_ssb_2.q.out index 64f534ad83..cafe83cf42 100644 --- a/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_ssb_2.q.out +++ b/ql/src/test/results/clientpositive/llap/materialized_view_rewrite_ssb_2.q.out @@ -648,7 +648,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: default.ssb_mv - filterExpr: ((UDFToInteger(d_year) = 1993) and (UDFToDouble(lo_quantity) < 25.0D) and UDFToDouble(lo_discount) BETWEEN 1.0D AND 3.0D) (type: boolean) + filterExpr: ((UDFToDouble(lo_quantity) < 25.0D) and (UDFToInteger(d_year) = 1993) and UDFToDouble(lo_discount) BETWEEN 1.0D AND 3.0D) (type: boolean) Statistics: Num rows: 1 Data size: 260 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: ((UDFToDouble(lo_quantity) < 25.0D) and (UDFToInteger(d_year) = 1993) and UDFToDouble(lo_discount) BETWEEN 1.0D AND 3.0D) (type: boolean) @@ -831,7 +831,7 @@ STAGE PLANS: filterExpr: ((UDFToInteger(d_year) = 1994) and (UDFToInteger(d_weeknuminyear) = 6) and UDFToDouble(lo_discount) BETWEEN 5.0D AND 7.0D and UDFToDouble(lo_quantity) BETWEEN 26.0D AND 35.0D) (type: boolean) Statistics: Num rows: 1 Data size: 344 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((UDFToInteger(d_weeknuminyear) = 6) and (UDFToInteger(d_year) = 1994) and UDFToDouble(lo_discount) BETWEEN 5.0D AND 7.0D and UDFToDouble(lo_quantity) BETWEEN 26.0D AND 35.0D) (type: boolean) + predicate: ((UDFToInteger(d_year) = 1994) and (UDFToInteger(d_weeknuminyear) = 6) and UDFToDouble(lo_discount) BETWEEN 5.0D AND 7.0D and UDFToDouble(lo_quantity) BETWEEN 26.0D AND 35.0D) (type: boolean) Statistics: Num rows: 1 Data size: 344 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: discounted_price (type: double) @@ -1689,7 +1689,7 @@ STAGE PLANS: filterExpr: ((c_city) IN ('UNITED KI1', 'UNITED KI5') and (s_city) IN ('UNITED KI1', 'UNITED KI5') and (d_yearmonth = 'Dec1997')) (type: boolean) Statistics: Num rows: 1 Data size: 344 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((c_city) IN ('UNITED KI1', 'UNITED KI5') and (d_yearmonth = 'Dec1997') and (s_city) IN ('UNITED KI1', 'UNITED KI5')) (type: boolean) + predicate: ((c_city) IN ('UNITED KI1', 'UNITED KI5') and (s_city) IN ('UNITED KI1', 'UNITED KI5') and (d_yearmonth = 'Dec1997')) (type: boolean) Statistics: Num rows: 1 Data size: 344 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: c_city (type: string), s_city (type: string), UDFToInteger(d_year) (type: int), lo_revenue (type: double) @@ -1821,7 +1821,7 @@ STAGE PLANS: filterExpr: ((p_mfgr) IN ('MFGR#1', 'MFGR#2') and (c_region = 'AMERICA') and (s_region = 'AMERICA')) (type: boolean) Statistics: Num rows: 1 Data size: 428 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((c_region = 'AMERICA') and (p_mfgr) IN ('MFGR#1', 'MFGR#2') and (s_region = 'AMERICA')) (type: boolean) + predicate: ((p_mfgr) IN ('MFGR#1', 'MFGR#2') and (c_region = 'AMERICA') and (s_region = 'AMERICA')) (type: boolean) Statistics: Num rows: 1 Data size: 428 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: UDFToInteger(d_year) (type: int), c_nation (type: string), net_revenue (type: double) @@ -1951,7 +1951,7 @@ STAGE PLANS: filterExpr: ((UDFToInteger(d_year)) IN (1997, 1998) and (p_mfgr) IN ('MFGR#1', 'MFGR#2') and (c_region = 'AMERICA') and (s_region = 'AMERICA')) (type: boolean) Statistics: Num rows: 1 Data size: 512 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((UDFToInteger(d_year)) IN (1997, 1998) and (c_region = 'AMERICA') and (p_mfgr) IN ('MFGR#1', 'MFGR#2') and (s_region = 'AMERICA')) (type: boolean) + predicate: ((UDFToInteger(d_year)) IN (1997, 1998) and (p_mfgr) IN ('MFGR#1', 'MFGR#2') and (c_region = 'AMERICA') and (s_region = 'AMERICA')) (type: boolean) Statistics: Num rows: 1 Data size: 512 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: UDFToInteger(d_year) (type: int), s_nation (type: string), p_category (type: string), net_revenue (type: double) diff --git a/ql/src/test/results/clientpositive/llap/multi_column_in.q.out b/ql/src/test/results/clientpositive/llap/multi_column_in.q.out index 015d78764a..7618dc7074 100644 --- a/ql/src/test/results/clientpositive/llap/multi_column_in.q.out +++ b/ql/src/test/results/clientpositive/llap/multi_column_in.q.out @@ -121,9 +121,9 @@ STAGE PLANS: Processor Tree: TableScan alias: emps_n1 - filterExpr: (((empno + 1)) IN (1, 3) and (deptno = 2)) (type: boolean) + filterExpr: ((deptno = 2) and ((empno + 1)) IN (1, 3)) (type: boolean) Filter Operator - predicate: (((empno + 1)) IN (1, 3) and (deptno = 2)) (type: boolean) + predicate: ((deptno = 2) and ((empno + 1)) IN (1, 3)) (type: boolean) Select Operator expressions: empno (type: int), 2 (type: int), empname (type: string) outputColumnNames: _col0, _col1, _col2 @@ -223,7 +223,7 @@ STAGE PLANS: alias: emps_n1 filterExpr: ((deptno = 2) and ((((empno * 2) | 1) = (empno + 1)) or (((empno * 2) | 1) = (empno + 2)))) (type: boolean) Filter Operator - predicate: (((((empno * 2) | 1) = (empno + 1)) or (((empno * 2) | 1) = (empno + 2))) and (deptno = 2)) (type: boolean) + predicate: ((deptno = 2) and ((((empno * 2) | 1) = (empno + 1)) or (((empno * 2) | 1) = (empno + 2)))) (type: boolean) Select Operator expressions: empno (type: int), 2 (type: int), empname (type: string) outputColumnNames: _col0, _col1, _col2 diff --git a/ql/src/test/results/clientpositive/llap/multi_column_in_single.q.out b/ql/src/test/results/clientpositive/llap/multi_column_in_single.q.out index ec3232e829..f5d6bbd7f6 100644 --- a/ql/src/test/results/clientpositive/llap/multi_column_in_single.q.out +++ b/ql/src/test/results/clientpositive/llap/multi_column_in_single.q.out @@ -133,7 +133,7 @@ STAGE PLANS: alias: emps_n7 filterExpr: ((deptno = 2) and ((empno + 1) = 3)) (type: boolean) Filter Operator - predicate: (((empno + 1) = 3) and (deptno = 2)) (type: boolean) + predicate: ((deptno = 2) and ((empno + 1) = 3)) (type: boolean) Select Operator expressions: empno (type: int), 2 (type: int), empname (type: string) outputColumnNames: _col0, _col1, _col2 @@ -159,9 +159,9 @@ STAGE PLANS: Processor Tree: TableScan alias: emps_n7 - filterExpr: (((empno + 1) <> 3) or (deptno <> 2)) (type: boolean) + filterExpr: ((deptno <> 2) or ((empno + 1) <> 3)) (type: boolean) Filter Operator - predicate: (((empno + 1) <> 3) or (deptno <> 2)) (type: boolean) + predicate: ((deptno <> 2) or ((empno + 1) <> 3)) (type: boolean) Select Operator expressions: empno (type: int), deptno (type: int), empname (type: string) outputColumnNames: _col0, _col1, _col2 @@ -187,7 +187,7 @@ STAGE PLANS: alias: emps_n7 filterExpr: ((deptno = 2) and (((empno * 2) | 1) = (empno + 2))) (type: boolean) Filter Operator - predicate: ((((empno * 2) | 1) = (empno + 2)) and (deptno = 2)) (type: boolean) + predicate: ((deptno = 2) and (((empno * 2) | 1) = (empno + 2))) (type: boolean) Select Operator expressions: empno (type: int), 2 (type: int), empname (type: string) outputColumnNames: _col0, _col1, _col2 diff --git a/ql/src/test/results/clientpositive/llap/orc_predicate_pushdown.q.out b/ql/src/test/results/clientpositive/llap/orc_predicate_pushdown.q.out index f4c56dd740..b210c09ace 100644 --- a/ql/src/test/results/clientpositive/llap/orc_predicate_pushdown.q.out +++ b/ql/src/test/results/clientpositive/llap/orc_predicate_pushdown.q.out @@ -337,7 +337,7 @@ STAGE PLANS: alias: orc_pred Statistics: Num rows: 1049 Data size: 4188 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((UDFToInteger(t) > -2) and (t < 0Y)) (type: boolean) + predicate: ((t < 0Y) and (UDFToInteger(t) > -2)) (type: boolean) Statistics: Num rows: 116 Data size: 464 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: hash(t) (type: int) @@ -410,7 +410,7 @@ STAGE PLANS: filterExpr: ((t < 0Y) and (UDFToInteger(t) > -2)) (type: boolean) Statistics: Num rows: 1049 Data size: 4188 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((UDFToInteger(t) > -2) and (t < 0Y)) (type: boolean) + predicate: ((t < 0Y) and (UDFToInteger(t) > -2)) (type: boolean) Statistics: Num rows: 116 Data size: 464 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: hash(t) (type: int) @@ -507,7 +507,7 @@ STAGE PLANS: TableScan alias: orc_pred Filter Operator - predicate: ((s like 'bob%') and (t IS NOT DISTINCT FROM -1) and s is not null) (type: boolean) + predicate: ((t IS NOT DISTINCT FROM -1) and s is not null and (s like 'bob%')) (type: boolean) Select Operator expressions: -1Y (type: tinyint), s (type: string) outputColumnNames: _col0, _col1 @@ -539,7 +539,7 @@ STAGE PLANS: alias: orc_pred filterExpr: ((t IS NOT DISTINCT FROM -1) and s is not null and (s like 'bob%')) (type: boolean) Filter Operator - predicate: ((s like 'bob%') and (t IS NOT DISTINCT FROM -1) and s is not null) (type: boolean) + predicate: ((t IS NOT DISTINCT FROM -1) and s is not null and (s like 'bob%')) (type: boolean) Select Operator expressions: -1Y (type: tinyint), s (type: string) outputColumnNames: _col0, _col1 @@ -623,7 +623,7 @@ STAGE PLANS: alias: orc_pred Statistics: Num rows: 1049 Data size: 105941 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((s like 'bob%') and (t <> -1) and (t <> -2) and (t <> -3) and s is not null and t BETWEEN 25 AND 30) (type: boolean) + predicate: (s is not null and (s like 'bob%') and (t <> -1) and (t <> -2) and (t <> -3) and t BETWEEN 25 AND 30) (type: boolean) Statistics: Num rows: 25 Data size: 2525 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: t (type: tinyint), s (type: string) @@ -693,7 +693,7 @@ STAGE PLANS: filterExpr: (s is not null and (s like 'bob%') and (t <> -1) and (t <> -2) and (t <> -3) and t BETWEEN 25 AND 30) (type: boolean) Statistics: Num rows: 1049 Data size: 105941 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((s like 'bob%') and (t <> -1) and (t <> -2) and (t <> -3) and s is not null and t BETWEEN 25 AND 30) (type: boolean) + predicate: (s is not null and (s like 'bob%') and (t <> -1) and (t <> -2) and (t <> -3) and t BETWEEN 25 AND 30) (type: boolean) Statistics: Num rows: 25 Data size: 2525 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: t (type: tinyint), s (type: string) @@ -828,7 +828,7 @@ STAGE PLANS: alias: orc_pred Statistics: Num rows: 1049 Data size: 118521 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((d < 12.0D) and (d >= 10.0D) and (not (s like '%car%')) and (s like '%son') and (t > 0Y) and UDFToInteger(si) BETWEEN 300 AND 400) (type: boolean) + predicate: ((t > 0Y) and (d >= 10.0D) and (d < 12.0D) and UDFToInteger(si) BETWEEN 300 AND 400 and (s like '%son') and (not (s like '%car%'))) (type: boolean) Statistics: Num rows: 5 Data size: 565 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: t (type: tinyint), si (type: smallint), d (type: double), s (type: string) @@ -908,10 +908,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: orc_pred - filterExpr: ((d >= 10.0D) and (d < 12.0D) and (s like '%son') and (t > 0Y) and UDFToInteger(si) BETWEEN 300 AND 400 and (not (s like '%car%'))) (type: boolean) + filterExpr: ((t > 0Y) and (d >= 10.0D) and (d < 12.0D) and UDFToInteger(si) BETWEEN 300 AND 400 and (s like '%son') and (not (s like '%car%'))) (type: boolean) Statistics: Num rows: 1049 Data size: 118521 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((d < 12.0D) and (d >= 10.0D) and (not (s like '%car%')) and (s like '%son') and (t > 0Y) and UDFToInteger(si) BETWEEN 300 AND 400) (type: boolean) + predicate: ((t > 0Y) and (d >= 10.0D) and (d < 12.0D) and UDFToInteger(si) BETWEEN 300 AND 400 and (s like '%son') and (not (s like '%car%'))) (type: boolean) Statistics: Num rows: 5 Data size: 565 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: t (type: tinyint), si (type: smallint), d (type: double), s (type: string) @@ -1060,7 +1060,7 @@ STAGE PLANS: alias: orc_pred Statistics: Num rows: 1049 Data size: 118521 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((d < 12.0D) and (d >= 10) and (not (s like '%car%')) and (s like '%son') and (t <> 101Y) and (t > 0Y) and (t > 10Y) and si BETWEEN 300 AND 400) (type: boolean) + predicate: ((t > 10Y) and (t <> 101Y) and (d >= 10) and (d < 12.0D) and (s like '%son') and (not (s like '%car%')) and (t > 0Y) and si BETWEEN 300 AND 400) (type: boolean) Statistics: Num rows: 3 Data size: 339 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: t (type: tinyint), si (type: smallint), d (type: double), s (type: string) @@ -1164,7 +1164,7 @@ STAGE PLANS: filterExpr: ((t > 10Y) and (t <> 101Y) and (d >= 10) and (d < 12.0D) and (s like '%son') and (not (s like '%car%')) and (t > 0Y) and si BETWEEN 300 AND 400) (type: boolean) Statistics: Num rows: 1049 Data size: 118521 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((d < 12.0D) and (d >= 10) and (not (s like '%car%')) and (s like '%son') and (t <> 101Y) and (t > 0Y) and (t > 10Y) and si BETWEEN 300 AND 400) (type: boolean) + predicate: ((t > 10Y) and (t <> 101Y) and (d >= 10) and (d < 12.0D) and (s like '%son') and (not (s like '%car%')) and (t > 0Y) and si BETWEEN 300 AND 400) (type: boolean) Statistics: Num rows: 3 Data size: 339 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: t (type: tinyint), si (type: smallint), d (type: double), s (type: string) diff --git a/ql/src/test/results/clientpositive/llap/parquet_predicate_pushdown.q.out b/ql/src/test/results/clientpositive/llap/parquet_predicate_pushdown.q.out index 700be27235..eff0fd6b95 100644 --- a/ql/src/test/results/clientpositive/llap/parquet_predicate_pushdown.q.out +++ b/ql/src/test/results/clientpositive/llap/parquet_predicate_pushdown.q.out @@ -342,7 +342,7 @@ STAGE PLANS: TableScan alias: tbl_pred Filter Operator - predicate: ((UDFToInteger(t) > -2) and (t < 0Y)) (type: boolean) + predicate: ((t < 0Y) and (UDFToInteger(t) > -2)) (type: boolean) Select Operator expressions: t (type: tinyint), si (type: smallint), i (type: int), b (type: bigint), f (type: float), d (type: double), bo (type: boolean), s (type: string), ts (type: timestamp), dec (type: decimal(4,2)), bin (type: binary) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10 @@ -378,7 +378,7 @@ STAGE PLANS: alias: tbl_pred filterExpr: ((t < 0Y) and (UDFToInteger(t) > -2)) (type: boolean) Filter Operator - predicate: ((UDFToInteger(t) > -2) and (t < 0Y)) (type: boolean) + predicate: ((t < 0Y) and (UDFToInteger(t) > -2)) (type: boolean) Select Operator expressions: t (type: tinyint), si (type: smallint), i (type: int), b (type: bigint), f (type: float), d (type: double), bo (type: boolean), s (type: string), ts (type: timestamp), dec (type: decimal(4,2)), bin (type: binary) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10 @@ -443,7 +443,7 @@ STAGE PLANS: TableScan alias: tbl_pred Filter Operator - predicate: ((s like 'bob%') and (t IS NOT DISTINCT FROM -1) and s is not null) (type: boolean) + predicate: ((t IS NOT DISTINCT FROM -1) and s is not null and (s like 'bob%')) (type: boolean) Select Operator expressions: -1Y (type: tinyint), s (type: string) outputColumnNames: _col0, _col1 @@ -475,7 +475,7 @@ STAGE PLANS: alias: tbl_pred filterExpr: ((t IS NOT DISTINCT FROM -1) and s is not null and (s like 'bob%')) (type: boolean) Filter Operator - predicate: ((s like 'bob%') and (t IS NOT DISTINCT FROM -1) and s is not null) (type: boolean) + predicate: ((t IS NOT DISTINCT FROM -1) and s is not null and (s like 'bob%')) (type: boolean) Select Operator expressions: -1Y (type: tinyint), s (type: string) outputColumnNames: _col0, _col1 @@ -559,7 +559,7 @@ STAGE PLANS: alias: tbl_pred Statistics: Num rows: 1049 Data size: 105941 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((s like 'bob%') and (t <> -1) and (t <> -2) and (t <> -3) and s is not null and t BETWEEN 25 AND 30) (type: boolean) + predicate: (s is not null and (s like 'bob%') and (t <> -1) and (t <> -2) and (t <> -3) and t BETWEEN 25 AND 30) (type: boolean) Statistics: Num rows: 25 Data size: 2525 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: t (type: tinyint), s (type: string) @@ -629,7 +629,7 @@ STAGE PLANS: filterExpr: (s is not null and (s like 'bob%') and (t <> -1) and (t <> -2) and (t <> -3) and t BETWEEN 25 AND 30) (type: boolean) Statistics: Num rows: 1049 Data size: 105941 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((s like 'bob%') and (t <> -1) and (t <> -2) and (t <> -3) and s is not null and t BETWEEN 25 AND 30) (type: boolean) + predicate: (s is not null and (s like 'bob%') and (t <> -1) and (t <> -2) and (t <> -3) and t BETWEEN 25 AND 30) (type: boolean) Statistics: Num rows: 25 Data size: 2525 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: t (type: tinyint), s (type: string) @@ -764,7 +764,7 @@ STAGE PLANS: alias: tbl_pred Statistics: Num rows: 1049 Data size: 118521 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((d < 12.0D) and (d >= 10.0D) and (not (s like '%car%')) and (s like '%son') and (t > 0Y) and UDFToInteger(si) BETWEEN 300 AND 400) (type: boolean) + predicate: ((t > 0Y) and (d >= 10.0D) and (d < 12.0D) and UDFToInteger(si) BETWEEN 300 AND 400 and (s like '%son') and (not (s like '%car%'))) (type: boolean) Statistics: Num rows: 5 Data size: 565 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: t (type: tinyint), si (type: smallint), d (type: double), s (type: string) @@ -844,10 +844,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: tbl_pred - filterExpr: ((d >= 10.0D) and (d < 12.0D) and (s like '%son') and (t > 0Y) and UDFToInteger(si) BETWEEN 300 AND 400 and (not (s like '%car%'))) (type: boolean) + filterExpr: ((t > 0Y) and (d >= 10.0D) and (d < 12.0D) and UDFToInteger(si) BETWEEN 300 AND 400 and (s like '%son') and (not (s like '%car%'))) (type: boolean) Statistics: Num rows: 1049 Data size: 118521 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((d < 12.0D) and (d >= 10.0D) and (not (s like '%car%')) and (s like '%son') and (t > 0Y) and UDFToInteger(si) BETWEEN 300 AND 400) (type: boolean) + predicate: ((t > 0Y) and (d >= 10.0D) and (d < 12.0D) and UDFToInteger(si) BETWEEN 300 AND 400 and (s like '%son') and (not (s like '%car%'))) (type: boolean) Statistics: Num rows: 5 Data size: 565 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: t (type: tinyint), si (type: smallint), d (type: double), s (type: string) @@ -1041,7 +1041,7 @@ STAGE PLANS: alias: tbl_pred Statistics: Num rows: 1049 Data size: 118521 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((d < 12.0D) and (d >= 10) and (not (s like '%car%')) and (s like '%son') and (t <> 101Y) and (t > 0Y) and (t > 10Y) and si BETWEEN 300 AND 400) (type: boolean) + predicate: ((t > 10Y) and (t <> 101Y) and (d >= 10) and (d < 12.0D) and (s like '%son') and (not (s like '%car%')) and (t > 0Y) and si BETWEEN 300 AND 400) (type: boolean) Statistics: Num rows: 3 Data size: 339 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: t (type: tinyint), si (type: smallint), d (type: double), s (type: string) @@ -1145,7 +1145,7 @@ STAGE PLANS: filterExpr: ((t > 10Y) and (t <> 101Y) and (d >= 10) and (d < 12.0D) and (s like '%son') and (not (s like '%car%')) and (t > 0Y) and si BETWEEN 300 AND 400) (type: boolean) Statistics: Num rows: 1049 Data size: 118521 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((d < 12.0D) and (d >= 10) and (not (s like '%car%')) and (s like '%son') and (t <> 101Y) and (t > 0Y) and (t > 10Y) and si BETWEEN 300 AND 400) (type: boolean) + predicate: ((t > 10Y) and (t <> 101Y) and (d >= 10) and (d < 12.0D) and (s like '%son') and (not (s like '%car%')) and (t > 0Y) and si BETWEEN 300 AND 400) (type: boolean) Statistics: Num rows: 3 Data size: 339 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: t (type: tinyint), si (type: smallint), d (type: double), s (type: string) @@ -1261,7 +1261,7 @@ STAGE PLANS: filterExpr: ((f < 123.2) and (f > 1.92) and (f >= 9.99) and f BETWEEN 1.92 AND 123.2 and (i < 67627) and (i > 60627) and (i >= 60626) and i BETWEEN 60626 AND 67627 and (b < 4294967861L) and (b > 4294967261L) and (b >= 4294967260L) and b BETWEEN 4294967261L AND 4294967861L) (type: boolean) Statistics: Num rows: 1049 Data size: 16784 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((b < 4294967861L) and (b > 4294967261L) and (b >= 4294967260L) and (f < 123.2) and (f > 1.92) and (f >= 9.99) and (i < 67627) and (i > 60627) and (i >= 60626) and b BETWEEN 4294967261L AND 4294967861L and f BETWEEN 1.92 AND 123.2 and i BETWEEN 60626 AND 67627) (type: boolean) + predicate: ((f < 123.2) and (f > 1.92) and (f >= 9.99) and f BETWEEN 1.92 AND 123.2 and (i < 67627) and (i > 60627) and (i >= 60626) and i BETWEEN 60626 AND 67627 and (b < 4294967861L) and (b > 4294967261L) and (b >= 4294967260L) and b BETWEEN 4294967261L AND 4294967861L) (type: boolean) Statistics: Num rows: 38 Data size: 608 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: f (type: float), i (type: int), b (type: bigint) diff --git a/ql/src/test/results/clientpositive/llap/ppd_union_view.q.out b/ql/src/test/results/clientpositive/llap/ppd_union_view.q.out index cba24342f8..535d6585a7 100644 --- a/ql/src/test/results/clientpositive/llap/ppd_union_view.q.out +++ b/ql/src/test/results/clientpositive/llap/ppd_union_view.q.out @@ -180,26 +180,26 @@ STAGE PLANS: TableScan alias: t1_new_n0 filterExpr: (ds = '2011-10-13') (type: boolean) - Statistics: Num rows: 1 Data size: 552 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 352 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false predicate: (ds = '2011-10-13') (type: boolean) - Statistics: Num rows: 1 Data size: 552 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 352 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: string), _col1 (type: string), '2011-10-13' (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 2 Data size: 924 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 2 Data size: 544 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 2 Data size: 924 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 2 Data size: 544 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat @@ -404,13 +404,13 @@ STAGE PLANS: Select Operator expressions: _col0 (type: string), _col1 (type: string), '2011-10-13' (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 2 Data size: 924 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 2 Data size: 544 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 2 Data size: 924 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 2 Data size: 544 Basic stats: COMPLETE Column stats: COMPLETE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat @@ -531,13 +531,13 @@ STAGE PLANS: Select Operator expressions: _col0 (type: string), _col1 (type: string), '2011-10-15' (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 2 Data size: 924 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 2 Data size: 736 Basic stats: COMPLETE Column stats: PARTIAL File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 2 Data size: 924 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 2 Data size: 736 Basic stats: COMPLETE Column stats: PARTIAL #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat @@ -618,22 +618,22 @@ STAGE PLANS: filterExpr: ((ds = '2011-10-15') and keymap is not null) (type: boolean) properties: insideView TRUE - Statistics: Num rows: 1 Data size: 552 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 352 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false predicate: ((ds = '2011-10-15') and keymap is not null) (type: boolean) - Statistics: Num rows: 1 Data size: 552 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 352 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: keymap (type: string), value (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col0 (type: string) null sort order: a sort order: + Map-reduce partition columns: _col0 (type: string) - Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 168 Basic stats: COMPLETE Column stats: COMPLETE tag: 0 value expressions: _col1 (type: string) auto parallelism: true @@ -678,22 +678,22 @@ STAGE PLANS: 0 _col0 (type: string) 1 _col1 (type: string) outputColumnNames: _col1, _col2 - Position of Big Table: 0 - Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL + Position of Big Table: 1 + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: PARTIAL Select Operator expressions: _col2 (type: string), _col1 (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 1 Data size: 368 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 1 Data size: 268 Basic stats: COMPLETE Column stats: PARTIAL Select Operator expressions: _col0 (type: string), _col1 (type: string), '2011-10-15' (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 2 Data size: 924 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 2 Data size: 736 Basic stats: COMPLETE Column stats: PARTIAL File Output Operator compressed: false GlobalTableId: 0 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 2 Data size: 924 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 2 Data size: 736 Basic stats: COMPLETE Column stats: PARTIAL #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat diff --git a/ql/src/test/results/clientpositive/llap/q93_with_constraints.q.out b/ql/src/test/results/clientpositive/llap/q93_with_constraints.q.out index 32fac181e9..89b71eac49 100644 --- a/ql/src/test/results/clientpositive/llap/q93_with_constraints.q.out +++ b/ql/src/test/results/clientpositive/llap/q93_with_constraints.q.out @@ -260,20 +260,20 @@ STAGE PLANS: Map Operator Tree: TableScan alias: reason - filterExpr: ((r_reason_desc = 'Did not like the warranty') and r_reason_sk is not null) (type: boolean) + filterExpr: (r_reason_sk is not null and (r_reason_desc = 'Did not like the warranty')) (type: boolean) Statistics: Num rows: 72 Data size: 13160 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: ((r_reason_desc = 'Did not like the warranty') and r_reason_sk is not null) (type: boolean) - Statistics: Num rows: 2 Data size: 365 Basic stats: COMPLETE Column stats: NONE + predicate: (r_reason_sk is not null and (r_reason_desc = 'Did not like the warranty')) (type: boolean) + Statistics: Num rows: 5 Data size: 913 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: r_reason_sk (type: int) outputColumnNames: _col0 - Statistics: Num rows: 2 Data size: 365 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 5 Data size: 913 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: 2 Data size: 365 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 5 Data size: 913 Basic stats: COMPLETE Column stats: NONE Execution mode: vectorized, llap LLAP IO: all inputs Map 7 diff --git a/ql/src/test/results/clientpositive/llap/results_cache_with_masking.q.out b/ql/src/test/results/clientpositive/llap/results_cache_with_masking.q.out index 312f456cd5..6b36584cfe 100644 --- a/ql/src/test/results/clientpositive/llap/results_cache_with_masking.q.out +++ b/ql/src/test/results/clientpositive/llap/results_cache_with_masking.q.out @@ -36,10 +36,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: masking_test_n7 - filterExpr: (((key % 2) = 0) and (key < 10)) (type: boolean) + filterExpr: ((key < 10) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (((key % 2) = 0) and (key < 10)) (type: boolean) + predicate: ((key < 10) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 83 Data size: 332 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator aggregations: count() @@ -117,10 +117,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: masking_test_n7 - filterExpr: (((key % 2) = 0) and (key < 10)) (type: boolean) + filterExpr: ((key < 10) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (((key % 2) = 0) and (key < 10)) (type: boolean) + predicate: ((key < 10) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 83 Data size: 332 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator aggregations: count() diff --git a/ql/src/test/results/clientpositive/llap/semijoin_hint.q.out b/ql/src/test/results/clientpositive/llap/semijoin_hint.q.out index 4001abbb5e..e56067f43d 100644 --- a/ql/src/test/results/clientpositive/llap/semijoin_hint.q.out +++ b/ql/src/test/results/clientpositive/llap/semijoin_hint.q.out @@ -200,7 +200,7 @@ STAGE PLANS: filterExpr: (str is not null and (str BETWEEN DynamicValue(RS_7_v_key1_min) AND DynamicValue(RS_7_v_key1_max) and in_bloom_filter(str, DynamicValue(RS_7_v_key1_bloom_filter)))) (type: boolean) Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((str BETWEEN DynamicValue(RS_7_v_key1_min) AND DynamicValue(RS_7_v_key1_max) and in_bloom_filter(str, DynamicValue(RS_7_v_key1_bloom_filter))) and str is not null) (type: boolean) + predicate: (str is not null and (str BETWEEN DynamicValue(RS_7_v_key1_min) AND DynamicValue(RS_7_v_key1_max) and in_bloom_filter(str, DynamicValue(RS_7_v_key1_bloom_filter)))) (type: boolean) Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: str (type: string) @@ -502,7 +502,7 @@ STAGE PLANS: filterExpr: (key1 is not null and (key1 BETWEEN DynamicValue(RS_9_srcpart_date_str_min) AND DynamicValue(RS_9_srcpart_date_str_max) and in_bloom_filter(key1, DynamicValue(RS_9_srcpart_date_str_bloom_filter)))) (type: boolean) Statistics: Num rows: 1000 Data size: 87000 Basic stats: PARTIAL Column stats: PARTIAL Filter Operator - predicate: ((key1 BETWEEN DynamicValue(RS_9_srcpart_date_str_min) AND DynamicValue(RS_9_srcpart_date_str_max) and in_bloom_filter(key1, DynamicValue(RS_9_srcpart_date_str_bloom_filter))) and key1 is not null) (type: boolean) + predicate: (key1 is not null and (key1 BETWEEN DynamicValue(RS_9_srcpart_date_str_min) AND DynamicValue(RS_9_srcpart_date_str_max) and in_bloom_filter(key1, DynamicValue(RS_9_srcpart_date_str_bloom_filter)))) (type: boolean) Statistics: Num rows: 1000 Data size: 87000 Basic stats: PARTIAL Column stats: PARTIAL Select Operator expressions: key1 (type: string) @@ -677,7 +677,7 @@ STAGE PLANS: filterExpr: (key1 is not null and (key1 BETWEEN DynamicValue(RS_3_i_cstring_min) AND DynamicValue(RS_3_i_cstring_max) and in_bloom_filter(key1, DynamicValue(RS_3_i_cstring_bloom_filter)))) (type: boolean) Statistics: Num rows: 1000 Data size: 87000 Basic stats: PARTIAL Column stats: PARTIAL Filter Operator - predicate: ((key1 BETWEEN DynamicValue(RS_3_i_cstring_min) AND DynamicValue(RS_3_i_cstring_max) and in_bloom_filter(key1, DynamicValue(RS_3_i_cstring_bloom_filter))) and key1 is not null) (type: boolean) + predicate: (key1 is not null and (key1 BETWEEN DynamicValue(RS_3_i_cstring_min) AND DynamicValue(RS_3_i_cstring_max) and in_bloom_filter(key1, DynamicValue(RS_3_i_cstring_bloom_filter)))) (type: boolean) Statistics: Num rows: 1000 Data size: 87000 Basic stats: PARTIAL Column stats: PARTIAL Select Operator expressions: key1 (type: string) @@ -842,7 +842,7 @@ STAGE PLANS: filterExpr: (key1 is not null and (key1 BETWEEN DynamicValue(RS_3_k_str_min) AND DynamicValue(RS_3_k_str_max) and in_bloom_filter(key1, DynamicValue(RS_3_k_str_bloom_filter)))) (type: boolean) Statistics: Num rows: 1000 Data size: 87000 Basic stats: PARTIAL Column stats: PARTIAL Filter Operator - predicate: ((key1 BETWEEN DynamicValue(RS_3_k_str_min) AND DynamicValue(RS_3_k_str_max) and in_bloom_filter(key1, DynamicValue(RS_3_k_str_bloom_filter))) and key1 is not null) (type: boolean) + predicate: (key1 is not null and (key1 BETWEEN DynamicValue(RS_3_k_str_min) AND DynamicValue(RS_3_k_str_max) and in_bloom_filter(key1, DynamicValue(RS_3_k_str_bloom_filter)))) (type: boolean) Statistics: Num rows: 1000 Data size: 87000 Basic stats: PARTIAL Column stats: PARTIAL Select Operator expressions: key1 (type: string) @@ -1142,7 +1142,7 @@ STAGE PLANS: filterExpr: (key1 is not null and (key1 BETWEEN DynamicValue(RS_6_k_str_min) AND DynamicValue(RS_6_k_str_max) and in_bloom_filter(key1, DynamicValue(RS_6_k_str_bloom_filter)))) (type: boolean) Statistics: Num rows: 1000 Data size: 87000 Basic stats: PARTIAL Column stats: PARTIAL Filter Operator - predicate: ((key1 BETWEEN DynamicValue(RS_6_k_str_min) AND DynamicValue(RS_6_k_str_max) and in_bloom_filter(key1, DynamicValue(RS_6_k_str_bloom_filter))) and key1 is not null) (type: boolean) + predicate: (key1 is not null and (key1 BETWEEN DynamicValue(RS_6_k_str_min) AND DynamicValue(RS_6_k_str_max) and in_bloom_filter(key1, DynamicValue(RS_6_k_str_bloom_filter)))) (type: boolean) Statistics: Num rows: 1000 Data size: 87000 Basic stats: PARTIAL Column stats: PARTIAL Select Operator expressions: key1 (type: string) @@ -1162,7 +1162,7 @@ STAGE PLANS: filterExpr: (str is not null and (str BETWEEN DynamicValue(RS_21_v_key1_min) AND DynamicValue(RS_21_v_key1_max) and in_bloom_filter(str, DynamicValue(RS_21_v_key1_bloom_filter)))) (type: boolean) Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((str BETWEEN DynamicValue(RS_21_v_key1_min) AND DynamicValue(RS_21_v_key1_max) and in_bloom_filter(str, DynamicValue(RS_21_v_key1_bloom_filter))) and str is not null) (type: boolean) + predicate: (str is not null and (str BETWEEN DynamicValue(RS_21_v_key1_min) AND DynamicValue(RS_21_v_key1_max) and in_bloom_filter(str, DynamicValue(RS_21_v_key1_bloom_filter)))) (type: boolean) Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: str (type: string) @@ -1318,7 +1318,7 @@ STAGE PLANS: filterExpr: (str is not null and (str BETWEEN DynamicValue(RS_7_v_key1_min) AND DynamicValue(RS_7_v_key1_max) and in_bloom_filter(str, DynamicValue(RS_7_v_key1_bloom_filter)))) (type: boolean) Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((str BETWEEN DynamicValue(RS_7_v_key1_min) AND DynamicValue(RS_7_v_key1_max) and in_bloom_filter(str, DynamicValue(RS_7_v_key1_bloom_filter))) and str is not null) (type: boolean) + predicate: (str is not null and (str BETWEEN DynamicValue(RS_7_v_key1_min) AND DynamicValue(RS_7_v_key1_max) and in_bloom_filter(str, DynamicValue(RS_7_v_key1_bloom_filter)))) (type: boolean) Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: str (type: string) @@ -1616,7 +1616,7 @@ STAGE PLANS: filterExpr: (key1 is not null and (key1 BETWEEN DynamicValue(RS_12_srcpart_date_str_min) AND DynamicValue(RS_12_srcpart_date_str_max) and in_bloom_filter(key1, DynamicValue(RS_12_srcpart_date_str_bloom_filter)))) (type: boolean) Statistics: Num rows: 1000 Data size: 87000 Basic stats: PARTIAL Column stats: PARTIAL Filter Operator - predicate: ((key1 BETWEEN DynamicValue(RS_12_srcpart_date_str_min) AND DynamicValue(RS_12_srcpart_date_str_max) and in_bloom_filter(key1, DynamicValue(RS_12_srcpart_date_str_bloom_filter))) and key1 is not null) (type: boolean) + predicate: (key1 is not null and (key1 BETWEEN DynamicValue(RS_12_srcpart_date_str_min) AND DynamicValue(RS_12_srcpart_date_str_max) and in_bloom_filter(key1, DynamicValue(RS_12_srcpart_date_str_bloom_filter)))) (type: boolean) Statistics: Num rows: 1000 Data size: 87000 Basic stats: PARTIAL Column stats: PARTIAL Select Operator expressions: key1 (type: string) @@ -1790,7 +1790,7 @@ STAGE PLANS: filterExpr: (key1 is not null and (key1 BETWEEN DynamicValue(RS_9_i_cstring_min) AND DynamicValue(RS_9_i_cstring_max) and in_bloom_filter(key1, DynamicValue(RS_9_i_cstring_bloom_filter)))) (type: boolean) Statistics: Num rows: 1000 Data size: 87000 Basic stats: PARTIAL Column stats: PARTIAL Filter Operator - predicate: ((key1 BETWEEN DynamicValue(RS_9_i_cstring_min) AND DynamicValue(RS_9_i_cstring_max) and in_bloom_filter(key1, DynamicValue(RS_9_i_cstring_bloom_filter))) and key1 is not null) (type: boolean) + predicate: (key1 is not null and (key1 BETWEEN DynamicValue(RS_9_i_cstring_min) AND DynamicValue(RS_9_i_cstring_max) and in_bloom_filter(key1, DynamicValue(RS_9_i_cstring_bloom_filter)))) (type: boolean) Statistics: Num rows: 1000 Data size: 87000 Basic stats: PARTIAL Column stats: PARTIAL Select Operator expressions: key1 (type: string) @@ -1967,7 +1967,7 @@ STAGE PLANS: filterExpr: (key1 is not null and (key1 BETWEEN DynamicValue(RS_6_k_str_min) AND DynamicValue(RS_6_k_str_max) and in_bloom_filter(key1, DynamicValue(RS_6_k_str_bloom_filter)))) (type: boolean) Statistics: Num rows: 1000 Data size: 87000 Basic stats: PARTIAL Column stats: PARTIAL Filter Operator - predicate: ((key1 BETWEEN DynamicValue(RS_6_k_str_min) AND DynamicValue(RS_6_k_str_max) and in_bloom_filter(key1, DynamicValue(RS_6_k_str_bloom_filter))) and key1 is not null) (type: boolean) + predicate: (key1 is not null and (key1 BETWEEN DynamicValue(RS_6_k_str_min) AND DynamicValue(RS_6_k_str_max) and in_bloom_filter(key1, DynamicValue(RS_6_k_str_bloom_filter)))) (type: boolean) Statistics: Num rows: 1000 Data size: 87000 Basic stats: PARTIAL Column stats: PARTIAL Select Operator expressions: key1 (type: string) @@ -2255,7 +2255,7 @@ STAGE PLANS: filterExpr: (key1 is not null and (key1 BETWEEN DynamicValue(RS_3_k_str_min) AND DynamicValue(RS_3_k_str_max) and in_bloom_filter(key1, DynamicValue(RS_3_k_str_bloom_filter)))) (type: boolean) Statistics: Num rows: 1000 Data size: 87000 Basic stats: PARTIAL Column stats: PARTIAL Filter Operator - predicate: ((key1 BETWEEN DynamicValue(RS_3_k_str_min) AND DynamicValue(RS_3_k_str_max) and in_bloom_filter(key1, DynamicValue(RS_3_k_str_bloom_filter))) and key1 is not null) (type: boolean) + predicate: (key1 is not null and (key1 BETWEEN DynamicValue(RS_3_k_str_min) AND DynamicValue(RS_3_k_str_max) and in_bloom_filter(key1, DynamicValue(RS_3_k_str_bloom_filter)))) (type: boolean) Statistics: Num rows: 1000 Data size: 87000 Basic stats: PARTIAL Column stats: PARTIAL Reduce Output Operator key expressions: key1 (type: string) @@ -2271,7 +2271,7 @@ STAGE PLANS: filterExpr: (str is not null and (str BETWEEN DynamicValue(RS_17_v_key1_min) AND DynamicValue(RS_17_v_key1_max) and in_bloom_filter(str, DynamicValue(RS_17_v_key1_bloom_filter)))) (type: boolean) Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((str BETWEEN DynamicValue(RS_17_v_key1_min) AND DynamicValue(RS_17_v_key1_max) and in_bloom_filter(str, DynamicValue(RS_17_v_key1_bloom_filter))) and str is not null) (type: boolean) + predicate: (str is not null and (str BETWEEN DynamicValue(RS_17_v_key1_min) AND DynamicValue(RS_17_v_key1_max) and in_bloom_filter(str, DynamicValue(RS_17_v_key1_bloom_filter)))) (type: boolean) Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: str (type: string) @@ -2423,7 +2423,7 @@ STAGE PLANS: filterExpr: (str is not null and (str BETWEEN DynamicValue(RS_5_v_key1_min) AND DynamicValue(RS_5_v_key1_max) and in_bloom_filter(str, DynamicValue(RS_5_v_key1_bloom_filter)))) (type: boolean) Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((str BETWEEN DynamicValue(RS_5_v_key1_min) AND DynamicValue(RS_5_v_key1_max) and in_bloom_filter(str, DynamicValue(RS_5_v_key1_bloom_filter))) and str is not null) (type: boolean) + predicate: (str is not null and (str BETWEEN DynamicValue(RS_5_v_key1_min) AND DynamicValue(RS_5_v_key1_max) and in_bloom_filter(str, DynamicValue(RS_5_v_key1_bloom_filter)))) (type: boolean) Statistics: Num rows: 2000 Data size: 174000 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: str (type: string) @@ -2695,7 +2695,7 @@ STAGE PLANS: filterExpr: (key1 is not null and (key1 BETWEEN DynamicValue(RS_4_srcpart_date_str_min) AND DynamicValue(RS_4_srcpart_date_str_max) and in_bloom_filter(key1, DynamicValue(RS_4_srcpart_date_str_bloom_filter)))) (type: boolean) Statistics: Num rows: 1000 Data size: 87000 Basic stats: PARTIAL Column stats: PARTIAL Filter Operator - predicate: ((key1 BETWEEN DynamicValue(RS_4_srcpart_date_str_min) AND DynamicValue(RS_4_srcpart_date_str_max) and in_bloom_filter(key1, DynamicValue(RS_4_srcpart_date_str_bloom_filter))) and key1 is not null) (type: boolean) + predicate: (key1 is not null and (key1 BETWEEN DynamicValue(RS_4_srcpart_date_str_min) AND DynamicValue(RS_4_srcpart_date_str_max) and in_bloom_filter(key1, DynamicValue(RS_4_srcpart_date_str_bloom_filter)))) (type: boolean) Statistics: Num rows: 1000 Data size: 87000 Basic stats: PARTIAL Column stats: PARTIAL Reduce Output Operator key expressions: key1 (type: string) @@ -2849,7 +2849,7 @@ STAGE PLANS: filterExpr: (key1 is not null and (key1 BETWEEN DynamicValue(RS_11_i_cstring_min) AND DynamicValue(RS_11_i_cstring_max) and in_bloom_filter(key1, DynamicValue(RS_11_i_cstring_bloom_filter)))) (type: boolean) Statistics: Num rows: 1000 Data size: 87000 Basic stats: PARTIAL Column stats: PARTIAL Filter Operator - predicate: ((key1 BETWEEN DynamicValue(RS_11_i_cstring_min) AND DynamicValue(RS_11_i_cstring_max) and in_bloom_filter(key1, DynamicValue(RS_11_i_cstring_bloom_filter))) and key1 is not null) (type: boolean) + predicate: (key1 is not null and (key1 BETWEEN DynamicValue(RS_11_i_cstring_min) AND DynamicValue(RS_11_i_cstring_max) and in_bloom_filter(key1, DynamicValue(RS_11_i_cstring_bloom_filter)))) (type: boolean) Statistics: Num rows: 1000 Data size: 87000 Basic stats: PARTIAL Column stats: PARTIAL Reduce Output Operator key expressions: key1 (type: string) @@ -3028,7 +3028,7 @@ STAGE PLANS: filterExpr: (key1 is not null and (key1 BETWEEN DynamicValue(RS_3_k_str_min) AND DynamicValue(RS_3_k_str_max) and in_bloom_filter(key1, DynamicValue(RS_3_k_str_bloom_filter)))) (type: boolean) Statistics: Num rows: 1000 Data size: 87000 Basic stats: PARTIAL Column stats: PARTIAL Filter Operator - predicate: ((key1 BETWEEN DynamicValue(RS_3_k_str_min) AND DynamicValue(RS_3_k_str_max) and in_bloom_filter(key1, DynamicValue(RS_3_k_str_bloom_filter))) and key1 is not null) (type: boolean) + predicate: (key1 is not null and (key1 BETWEEN DynamicValue(RS_3_k_str_min) AND DynamicValue(RS_3_k_str_max) and in_bloom_filter(key1, DynamicValue(RS_3_k_str_bloom_filter)))) (type: boolean) Statistics: Num rows: 1000 Data size: 87000 Basic stats: PARTIAL Column stats: PARTIAL Reduce Output Operator key expressions: key1 (type: string) @@ -3316,7 +3316,7 @@ STAGE PLANS: outputColumnNames: _col0, _col4, _col5, _col6 Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: ((_col0 = _col5) and (_col5 > 8)) (type: boolean) + predicate: ((_col5 > 8) and (_col0 = _col5)) (type: boolean) Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: _col4 (type: struct) @@ -3328,7 +3328,7 @@ STAGE PLANS: Map-reduce partition columns: UDFToInteger(_col0) (type: int) Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: ((_col0 = _col5) and (_col5 <= 8)) (type: boolean) + predicate: ((_col5 <= 8) and (_col0 = _col5)) (type: boolean) Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: _col4 (type: struct), _col0 (type: int) @@ -3656,7 +3656,7 @@ STAGE PLANS: outputColumnNames: _col0, _col4, _col5, _col6 Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: ((_col0 = _col5) and (_col5 > 8)) (type: boolean) + predicate: ((_col5 > 8) and (_col0 = _col5)) (type: boolean) Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: _col4 (type: struct) @@ -3668,7 +3668,7 @@ STAGE PLANS: Map-reduce partition columns: UDFToInteger(_col0) (type: int) Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: ((_col0 = _col5) and (_col5 <= 8)) (type: boolean) + predicate: ((_col5 <= 8) and (_col0 = _col5)) (type: boolean) Statistics: Num rows: 1 Data size: 4 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: _col4 (type: struct), _col0 (type: int) diff --git a/ql/src/test/results/clientpositive/llap/sharedwork.q.out b/ql/src/test/results/clientpositive/llap/sharedwork.q.out index a3ba5a5f55..0cc878740e 100644 --- a/ql/src/test/results/clientpositive/llap/sharedwork.q.out +++ b/ql/src/test/results/clientpositive/llap/sharedwork.q.out @@ -103,7 +103,7 @@ POSTHOOK: Input: default@my_table_0003 OPTIMIZED SQL: SELECT `t0`.`col_7`, `t0`.`CAST` AS `col_3`, `t0`.`col_20`, `t2`.`col_21` AS `col_21_1232`, `t0`.`col_1`, `t4`.`col_22`, `t6`.`col_21` AS `col_21_879`, `t4`.`col_23` FROM (SELECT `col_1`, `col_7`, `col_20`, CAST(`col_3` AS DATE) AS `CAST` FROM `default`.`my_table_0001` -WHERE `col_20` IN ('part1', 'part2', 'part3') AND (CAST(`col_7` AS DOUBLE) IS NOT NULL OR `col_7` IS NULL) AND CAST(`col_3` AS DATE) BETWEEN DATE '2018-07-01' AND DATE '2019-01-23') AS `t0` +WHERE (CAST(`col_7` AS DOUBLE) 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') AS `t0` LEFT JOIN (SELECT `col_24`, `col_21` FROM `default`.`my_table_0003` WHERE `col_24` IN ('part1', 'part2', 'part3')) AS `t2` ON `t0`.`col_20` = `t2`.`col_24` @@ -135,7 +135,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: table__323 - 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) + filterExpr: ((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 GatherStats: false Filter Operator @@ -654,7 +654,7 @@ INNER JOIN (SELECT `p_size` + 1 AS `$f0` FROM `default`.`part` WHERE `p_size` IS NOT NULL GROUP BY `p_size` + 1) AS `t11` ON `t8`.`$f1` = `t11`.`$f0`) AS `t12` ON `part`.`p_type` = `t12`.`p_type` AND `part`.`p_size` + 1 = `t12`.`size`) AS `t13` -WHERE (`t13`.`$f2` IS NULL OR `t13`.`c` = 0 OR `t13`.`c` IS NULL) AND (`t13`.`p_type` IS NOT NULL OR `t13`.`c` = 0 OR `t13`.`c` IS NULL OR `t13`.`$f2` IS NOT NULL) AND (`t13`.`ck` < (`t13`.`c` IS NOT TRUE) OR `t13`.`c` = 0 OR `t13`.`c` IS NULL OR `t13`.`$f2` IS NOT NULL OR `t13`.`p_type` IS NULL) +WHERE (`t13`.`$f2` IS NULL OR `t13`.`c` = 0 OR `t13`.`c` IS NULL) AND (`t13`.`ck` < (`t13`.`c` IS NOT TRUE) OR `t13`.`c` = 0 OR `t13`.`c` IS NULL OR `t13`.`$f2` IS NOT NULL OR `t13`.`p_type` IS NULL) AND (`t13`.`p_type` IS NOT NULL OR `t13`.`c` = 0 OR `t13`.`c` IS NULL OR `t13`.`$f2` IS NOT NULL) STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -1022,7 +1022,7 @@ STAGE PLANS: Statistics: Num rows: 39 Data size: 9387 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator isSamplingPred: false - 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) + predicate: ((_col8 is null or (_col4 = 0L) or _col4 is null) and ((_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)) (type: boolean) Statistics: Num rows: 39 Data size: 9387 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: string) diff --git a/ql/src/test/results/clientpositive/llap/smb_mapjoin_18.q.out b/ql/src/test/results/clientpositive/llap/smb_mapjoin_18.q.out index 184e8de3b2..b9386ec490 100644 --- a/ql/src/test/results/clientpositive/llap/smb_mapjoin_18.q.out +++ b/ql/src/test/results/clientpositive/llap/smb_mapjoin_18.q.out @@ -252,7 +252,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: a - filterExpr: ((ds = '1') and (key = 238)) (type: boolean) + filterExpr: ((key = 238) and (ds = '1')) (type: boolean) Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: (key = 238) (type: boolean) diff --git a/ql/src/test/results/clientpositive/llap/stats11.q.out b/ql/src/test/results/clientpositive/llap/stats11.q.out index 9b930b53db..634a287714 100644 --- a/ql/src/test/results/clientpositive/llap/stats11.q.out +++ b/ql/src/test/results/clientpositive/llap/stats11.q.out @@ -313,7 +313,7 @@ FROM `default`.`srcbucket_mapjoin_n15` WHERE `key` IS NOT NULL) AS `t0` INNER JOIN (SELECT `key`, `value` FROM `default`.`srcbucket_mapjoin_part_n16` -WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t2` ON `t0`.`key` = `t2`.`key` +WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key` STAGE DEPENDENCIES: Stage-1 is a root stage Stage-2 depends on stages: Stage-1 @@ -413,22 +413,22 @@ STAGE PLANS: TableScan alias: b filterExpr: key is not null (type: boolean) - Statistics: Num rows: 149 Data size: 85004 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 149 Data size: 23124 Basic stats: PARTIAL Column stats: NONE GatherStats: false Filter Operator isSamplingPred: false predicate: key is not null (type: boolean) - Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE Select Operator expressions: key (type: int), value (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE Reduce Output Operator key expressions: _col0 (type: int) null sort order: a sort order: + Map-reduce partition columns: _col0 (type: int) - Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE tag: 1 value expressions: _col1 (type: string) auto parallelism: true @@ -500,17 +500,17 @@ STAGE PLANS: 1 _col0 (type: int) outputColumnNames: _col0, _col1, _col3 Position of Big Table: 1 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE Select Operator expressions: CAST( _col0 AS STRING) (type: string), _col1 (type: string), _col3 (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE File Output Operator compressed: false GlobalTableId: 1 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.TextInputFormat @@ -541,7 +541,7 @@ STAGE PLANS: Select Operator expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string) outputColumnNames: key, value1, value2 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE Group By Operator aggregations: compute_stats(key, 'hll'), compute_stats(value1, 'hll'), compute_stats(value2, 'hll') minReductionHashAggr: 0.99 @@ -756,7 +756,7 @@ FROM `default`.`srcbucket_mapjoin_n15` WHERE `key` IS NOT NULL) AS `t0` INNER JOIN (SELECT `key`, `value` FROM `default`.`srcbucket_mapjoin_part_n16` -WHERE `ds` = '2008-04-08' AND `key` IS NOT NULL) AS `t2` ON `t0`.`key` = `t2`.`key` +WHERE `key` IS NOT NULL AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key` STAGE DEPENDENCIES: Stage-1 is a root stage Stage-2 depends on stages: Stage-1 @@ -856,22 +856,22 @@ STAGE PLANS: TableScan alias: b filterExpr: key is not null (type: boolean) - Statistics: Num rows: 149 Data size: 85004 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 149 Data size: 23124 Basic stats: PARTIAL Column stats: NONE GatherStats: false Filter Operator isSamplingPred: false predicate: key is not null (type: boolean) - Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE Select Operator expressions: key (type: int), value (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE Reduce Output Operator key expressions: _col0 (type: int) null sort order: a sort order: + Map-reduce partition columns: _col0 (type: int) - Statistics: Num rows: 142 Data size: 81010 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 122 Data size: 18933 Basic stats: PARTIAL Column stats: NONE tag: 1 value expressions: _col1 (type: string) auto parallelism: true @@ -943,17 +943,17 @@ STAGE PLANS: 1 _col0 (type: int) outputColumnNames: _col0, _col1, _col3 Position of Big Table: 1 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE Select Operator expressions: CAST( _col0 AS STRING) (type: string), _col1 (type: string), _col3 (type: string) outputColumnNames: _col0, _col1, _col2 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE File Output Operator compressed: false GlobalTableId: 1 #### A masked pattern was here #### NumFilesPerFileSink: 1 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE #### A masked pattern was here #### table: input format: org.apache.hadoop.mapred.TextInputFormat @@ -984,7 +984,7 @@ STAGE PLANS: Select Operator expressions: _col0 (type: string), _col1 (type: string), _col2 (type: string) outputColumnNames: key, value1, value2 - Statistics: Num rows: 156 Data size: 89111 Basic stats: PARTIAL Column stats: NONE + Statistics: Num rows: 134 Data size: 20826 Basic stats: PARTIAL Column stats: NONE Group By Operator aggregations: compute_stats(key, 'hll'), compute_stats(value1, 'hll'), compute_stats(value2, 'hll') minReductionHashAggr: 0.99 diff --git a/ql/src/test/results/clientpositive/llap/subquery_corr.q.out b/ql/src/test/results/clientpositive/llap/subquery_corr.q.out index 6c140ab171..607384b8d3 100644 --- a/ql/src/test/results/clientpositive/llap/subquery_corr.q.out +++ b/ql/src/test/results/clientpositive/llap/subquery_corr.q.out @@ -46,7 +46,7 @@ STAGE PLANS: filterExpr: (value is not null and 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 and value is not null) (type: boolean) + predicate: (value is not null and 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) @@ -152,7 +152,7 @@ STAGE PLANS: filterExpr: (value is not null and 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 and value is not null) (type: boolean) + predicate: (value is not null and 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) @@ -758,7 +758,7 @@ STAGE PLANS: filterExpr: (value is not null and 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 and value is not null) (type: boolean) + predicate: (value is not null and 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), key (type: string), value (type: string) diff --git a/ql/src/test/results/clientpositive/llap/subquery_exists.q.out b/ql/src/test/results/clientpositive/llap/subquery_exists.q.out index 30bae8aad5..0735c0a707 100644 --- a/ql/src/test/results/clientpositive/llap/subquery_exists.q.out +++ b/ql/src/test/results/clientpositive/llap/subquery_exists.q.out @@ -1350,7 +1350,7 @@ STAGE PLANS: filterExpr: (j is not null and i is not null) (type: boolean) Statistics: Num rows: 3 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (i is not null and j is not null) (type: boolean) + predicate: (j is not null and i is not null) (type: boolean) Statistics: Num rows: 3 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: i (type: int), j (type: int) diff --git a/ql/src/test/results/clientpositive/llap/subquery_in.q.out b/ql/src/test/results/clientpositive/llap/subquery_in.q.out index d773bbc560..98bb91f629 100644 --- a/ql/src/test/results/clientpositive/llap/subquery_in.q.out +++ b/ql/src/test/results/clientpositive/llap/subquery_in.q.out @@ -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: (UDFToDouble(_col0) is not null and _col1 is not null) (type: boolean) + predicate: (_col1 is not null and UDFToDouble(_col0) 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) @@ -1100,7 +1100,7 @@ STAGE PLANS: filterExpr: ((l_linenumber = 1) and l_partkey is not null and l_orderkey is not null) (type: boolean) Statistics: Num rows: 100 Data size: 1600 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((l_linenumber = 1) and l_orderkey is not null and l_partkey is not null) (type: boolean) + predicate: ((l_linenumber = 1) and l_partkey is not null and l_orderkey is not null) (type: boolean) Statistics: Num rows: 14 Data size: 224 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: l_orderkey (type: int), l_partkey (type: int), l_suppkey (type: int) @@ -1474,10 +1474,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: part - filterExpr: ((p_brand <> 'Brand#14') and (p_size <> 340) and p_type is not null) (type: boolean) + filterExpr: ((p_size <> 340) and (p_brand <> 'Brand#14') and p_type is not null) (type: boolean) Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((p_brand <> 'Brand#14') and (p_size <> 340) and p_type is not null) (type: boolean) + predicate: ((p_size <> 340) and (p_brand <> 'Brand#14') 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) @@ -2160,7 +2160,7 @@ STAGE PLANS: filterExpr: (p_size is not null and p_name is not null) (type: boolean) Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (p_name is not null and p_size is not null) (type: boolean) + predicate: (p_size is not null and p_name 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) @@ -2181,7 +2181,7 @@ STAGE PLANS: 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_size + 121150) = p_partkey) and p_name is not null and p_size is not null) (type: boolean) + predicate: (((p_size + 121150) = p_partkey) and p_size is not null and p_name is not null) (type: boolean) Statistics: Num rows: 13 Data size: 1677 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: p_name (type: string), p_size (type: int) @@ -2262,7 +2262,7 @@ STAGE PLANS: filterExpr: (p_partkey is not null and p_size is not null and p_name is not null) (type: boolean) Statistics: Num rows: 26 Data size: 16094 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) + predicate: (p_partkey is not null and p_size is not null and p_name 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) @@ -2283,7 +2283,7 @@ STAGE PLANS: filterExpr: (p_size is not null and p_partkey 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) + predicate: (p_size is not null and p_partkey is not null and p_name is not null) (type: boolean) Statistics: Num rows: 26 Data size: 3354 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: p_partkey (type: int), p_name (type: string), p_size (type: int) @@ -3735,7 +3735,7 @@ STAGE PLANS: filterExpr: (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_size is not null) (type: boolean) + predicate: (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 Select Operator expressions: p_partkey (type: int), p_name (type: string), p_size (type: int) @@ -3756,7 +3756,7 @@ STAGE PLANS: filterExpr: (p_type is not null and p_name is not null) (type: boolean) Statistics: Num rows: 26 Data size: 5850 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (p_name is not null and p_type is not null) (type: boolean) + predicate: (p_type is not null and p_name is not null) (type: boolean) Statistics: Num rows: 26 Data size: 5850 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: p_name (type: string), p_type (type: string) @@ -3906,7 +3906,7 @@ STAGE PLANS: filterExpr: (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_size is not null) (type: boolean) + predicate: (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 Select Operator expressions: p_partkey (type: int), p_name (type: string), p_size (type: int) @@ -3927,7 +3927,7 @@ STAGE PLANS: filterExpr: (p_size is not null and p_type is not null and p_name is not null) (type: boolean) Statistics: Num rows: 26 Data size: 5954 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (p_name is not null and p_size is not null and p_type is not null) (type: boolean) + predicate: (p_size is not null and p_type is not null and p_name is not null) (type: boolean) Statistics: Num rows: 26 Data size: 5954 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: p_name (type: string), p_type (type: string) @@ -4079,7 +4079,7 @@ STAGE PLANS: filterExpr: (p_type is not null and p_size is not null and p_name is not null) (type: boolean) Statistics: Num rows: 26 Data size: 6058 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (p_name is not null and p_size is not null and p_type is not null) (type: boolean) + predicate: (p_type is not null and p_size is not null and p_name is not null) (type: boolean) Statistics: Num rows: 26 Data size: 6058 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: p_partkey (type: int), p_name (type: string), p_type (type: string), p_size (type: int) @@ -4100,7 +4100,7 @@ STAGE PLANS: filterExpr: (p_type is not null and p_name is not null) (type: boolean) Statistics: Num rows: 26 Data size: 5850 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (p_name is not null and p_type is not null) (type: boolean) + predicate: (p_type is not null and p_name is not null) (type: boolean) Statistics: Num rows: 26 Data size: 5850 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: p_name (type: string), p_type (type: string) @@ -4216,7 +4216,7 @@ STAGE PLANS: filterExpr: (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_size is not null) (type: boolean) + predicate: (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 Select Operator expressions: p_partkey (type: int), p_name (type: string), p_size (type: int) @@ -4237,7 +4237,7 @@ STAGE PLANS: filterExpr: (p_type is not null and p_name is not null) (type: boolean) Statistics: Num rows: 26 Data size: 5850 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (p_name is not null and p_type is not null) (type: boolean) + predicate: (p_type is not null and p_name is not null) (type: boolean) Statistics: Num rows: 26 Data size: 5850 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: p_name (type: string), p_type (type: string) @@ -4389,7 +4389,7 @@ STAGE PLANS: 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: (UDFToLong(p_size) is not null and p_type is not null) (type: boolean) + predicate: (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 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) @@ -4569,7 +4569,7 @@ STAGE PLANS: 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: (UDFToDouble(p_size) is not null and p_partkey is not null) (type: boolean) + predicate: (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 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) @@ -4635,7 +4635,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 13 Data size: 260 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (UDFToDouble(_col1) is not null and _col2 is not null) (type: boolean) + predicate: (_col2 is not null and UDFToDouble(_col1) 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) @@ -5023,7 +5023,7 @@ 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: (((_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) + predicate: ((_col14 is null or (_col10 = 0L) or _col10 is null) and ((_col11 < _col10) is not true or (_col10 = 0L) or _col10 is null or _col14 is not null or _col5 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) @@ -5277,7 +5277,7 @@ 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: (((_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) + predicate: ((_col14 is null or (_col10 = 0L) or _col10 is null) and ((_col11 < _col10) is not true or (_col10 = 0L) or _col10 is null or _col14 is not null or _col5 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) @@ -5336,7 +5336,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: (UDFToDouble(_col1) is not null and _col2 is not null) (type: boolean) + predicate: (_col2 is not null and UDFToDouble(_col1) 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) @@ -5649,7 +5649,7 @@ STAGE PLANS: 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: (UDFToLong(i) is not null and j is not null) (type: boolean) + predicate: (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 Select Operator expressions: i (type: int), j (type: int) @@ -5977,7 +5977,7 @@ STAGE PLANS: filterExpr: (p_type is not null and 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: (p_type is not null and p_size 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) @@ -6019,7 +6019,7 @@ STAGE PLANS: filterExpr: (p_type is not null and p_size is not null) (type: boolean) Statistics: Num rows: 26 Data size: 2808 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (p_size is not null and p_type is not null) (type: boolean) + predicate: (p_type is not null and p_size is not null) (type: boolean) Statistics: Num rows: 26 Data size: 2808 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: p_type (type: string), p_size (type: int) diff --git a/ql/src/test/results/clientpositive/llap/subquery_multi.q.out b/ql/src/test/results/clientpositive/llap/subquery_multi.q.out index c78898cba6..c964baad47 100644 --- a/ql/src/test/results/clientpositive/llap/subquery_multi.q.out +++ b/ql/src/test/results/clientpositive/llap/subquery_multi.q.out @@ -108,7 +108,7 @@ STAGE PLANS: filterExpr: (p_size is not null and p_brand is not null) (type: boolean) Statistics: Num rows: 1 Data size: 1120 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (p_brand is not null and p_size is not null) (type: boolean) + predicate: (p_size is not null and p_brand is not null) (type: boolean) Statistics: Num rows: 1 Data size: 1120 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) @@ -389,7 +389,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: (((_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) + predicate: ((_col13 is null or (_col10 = 0L)) and (_col3 is not null or (_col10 = 0L) or _col13 is not null) and ((_col11 >= _col10) or (_col10 = 0L) or _col13 is not null or _col3 is 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) @@ -614,7 +614,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: (((_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) + predicate: ((_col13 is null or (_col10 = 0L)) and (_col3 is not null or (_col10 = 0L) or _col13 is not null) and ((_col11 >= _col10) or (_col10 = 0L) or _col13 is not null or _col3 is 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) @@ -865,7 +865,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: (((_col11 >= _col10) or (_col10 = 0L) or _col13 is not null or _col3 is null) and (_col13 is null or (_col10 = 0L))) (type: boolean) + predicate: ((_col13 is null or (_col10 = 0L)) and ((_col11 >= _col10) or (_col10 = 0L) or _col13 is not null or _col3 is 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) @@ -1093,7 +1093,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: (((_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) + predicate: ((_col12 is null or (_col9 = 0L)) and (_col1 is not null or (_col9 = 0L) or _col12 is not null) and ((_col10 >= _col9) or (_col9 = 0L) or _col12 is not null or _col1 is null)) (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) @@ -1833,7 +1833,7 @@ STAGE PLANS: filterExpr: (p_type is not null and p_name is not null) (type: boolean) Statistics: Num rows: 1 Data size: 1120 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (p_name is not null and p_type is not null) (type: boolean) + predicate: (p_type is not null and p_name is not null) (type: boolean) Statistics: Num rows: 1 Data size: 1120 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) @@ -1854,7 +1854,7 @@ STAGE PLANS: filterExpr: (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 Filter Operator - predicate: (p_brand is not null and p_type is not null) (type: boolean) + predicate: (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: p_type (type: string), p_brand (type: string) @@ -1885,7 +1885,7 @@ STAGE PLANS: filterExpr: (p_type is not null and p_name is not null) (type: boolean) Statistics: Num rows: 26 Data size: 5850 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (p_name is not null and p_type is not null) (type: boolean) + predicate: (p_type is not null and p_name is not null) (type: boolean) Statistics: Num rows: 26 Data size: 5850 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: p_type (type: string), p_name (type: string) @@ -1911,7 +1911,7 @@ STAGE PLANS: filterExpr: ((p_type is not null and p_brand is not null) or (p_type is not null and p_brand is not null and p_container is not null)) (type: boolean) Statistics: Num rows: 26 Data size: 7488 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (p_brand is not null and p_type is not null) (type: boolean) + predicate: (p_type is not null and p_brand is not null) (type: boolean) Statistics: Num rows: 26 Data size: 7488 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: p_brand (type: string), p_type (type: string), p_container (type: string) @@ -1924,7 +1924,7 @@ STAGE PLANS: Statistics: Num rows: 26 Data size: 7488 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col2 (type: string) Filter Operator - predicate: (p_brand is not null and p_container is not null and p_type is not null) (type: boolean) + predicate: (p_type is not null and p_brand is not null and p_container is not null) (type: boolean) Statistics: Num rows: 26 Data size: 7488 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: p_brand (type: string), p_type (type: string), p_container (type: string) @@ -2002,7 +2002,7 @@ 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: (((_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) + predicate: ((_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) and ((_col11 < _col10) is not true or (_col10 = 0L) or _col10 is null or _col14 is not null or _col3 is 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) @@ -2154,7 +2154,7 @@ STAGE PLANS: filterExpr: (p_name is not null and p_type is not null and p_brand is not null) (type: boolean) Statistics: Num rows: 1 Data size: 1120 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (p_brand is not null and p_name is not null and p_type is not null) (type: boolean) + predicate: (p_name is not null and p_type is not null and p_brand is not null) (type: boolean) Statistics: Num rows: 1 Data size: 1120 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) @@ -2197,7 +2197,7 @@ STAGE PLANS: filterExpr: (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 Filter Operator - predicate: (p_brand is not null and p_type is not null) (type: boolean) + predicate: (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: p_brand (type: string), p_type (type: string) @@ -2342,7 +2342,7 @@ STAGE PLANS: filterExpr: (p_type is not null and p_container is not null and p_name is not null) (type: boolean) Statistics: Num rows: 1 Data size: 1120 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (p_container is not null and p_name is not null and p_type is not null) (type: boolean) + predicate: (p_type is not null and p_container is not null and p_name is not null) (type: boolean) Statistics: Num rows: 1 Data size: 1120 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) @@ -2363,7 +2363,7 @@ STAGE PLANS: filterExpr: (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 Filter Operator - predicate: (p_brand is not null and p_type is not null) (type: boolean) + predicate: (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: p_type (type: string), p_brand (type: string) @@ -2394,7 +2394,7 @@ STAGE PLANS: filterExpr: (p_type is not null and p_container is not null and p_name is not null) (type: boolean) Statistics: Num rows: 26 Data size: 8242 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (p_container is not null and p_name is not null and p_type is not null) (type: boolean) + predicate: (p_type is not null and p_container is not null and p_name is not null) (type: boolean) Statistics: Num rows: 26 Data size: 8242 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: p_type (type: string), p_name (type: string), p_container (type: string) @@ -2420,7 +2420,7 @@ STAGE PLANS: filterExpr: ((p_type is not null and p_brand is not null) or (p_type is not null and p_brand is not null and p_container is not null)) (type: boolean) Statistics: Num rows: 26 Data size: 7488 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (p_brand is not null and p_type is not null) (type: boolean) + predicate: (p_type is not null and p_brand is not null) (type: boolean) Statistics: Num rows: 26 Data size: 7488 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: p_brand (type: string), p_type (type: string), p_container (type: string) @@ -2433,7 +2433,7 @@ STAGE PLANS: Statistics: Num rows: 26 Data size: 7488 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col2 (type: string) Filter Operator - predicate: (p_brand is not null and p_container is not null and p_type is not null) (type: boolean) + predicate: (p_type is not null and p_brand is not null and p_container is not null) (type: boolean) Statistics: Num rows: 26 Data size: 7488 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: p_brand (type: string), p_type (type: string), p_container (type: string) @@ -2511,7 +2511,7 @@ 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: (((_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) + predicate: ((_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) and ((_col11 < _col10) is not true or (_col10 = 0L) or _col10 is null or _col14 is not null or _col3 is 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) @@ -2661,7 +2661,7 @@ STAGE PLANS: filterExpr: (p_type is not null and p_name is not null) (type: boolean) Statistics: Num rows: 1 Data size: 1120 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (p_name is not null and p_type is not null) (type: boolean) + predicate: (p_type is not null and p_name is not null) (type: boolean) Statistics: Num rows: 1 Data size: 1120 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) @@ -2682,7 +2682,7 @@ STAGE PLANS: filterExpr: (p_type is not null and p_name is not null) (type: boolean) Statistics: Num rows: 26 Data size: 5850 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (p_name is not null and p_type is not null) (type: boolean) + predicate: (p_type is not null and p_name is not null) (type: boolean) Statistics: Num rows: 26 Data size: 5850 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: p_name (type: string), p_type (type: string) @@ -2785,7 +2785,7 @@ 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: (((_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) + predicate: ((_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) and ((_col11 < _col10) is not true or (_col10 = 0L) or _col10 is null or _col14 is not null or _col3 is 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) @@ -2904,7 +2904,7 @@ STAGE PLANS: filterExpr: (p_type is not null and p_name is not null) (type: boolean) Statistics: Num rows: 1 Data size: 1120 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (p_name is not null and p_type is not null) (type: boolean) + predicate: (p_type is not null and p_name is not null) (type: boolean) Statistics: Num rows: 1 Data size: 1120 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) @@ -2925,7 +2925,7 @@ STAGE PLANS: filterExpr: (p_type is not null and p_brand is not null and p_name is not null) (type: boolean) Statistics: Num rows: 26 Data size: 8242 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (p_brand is not null and p_name is not null and p_type is not null) (type: boolean) + predicate: (p_type is not null and p_brand is not null and p_name is not null) (type: boolean) Statistics: Num rows: 26 Data size: 8242 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: p_name (type: string), p_brand (type: string), p_type (type: string) @@ -2946,7 +2946,7 @@ STAGE PLANS: filterExpr: (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 Filter Operator - predicate: (p_brand is not null and p_type is not null) (type: boolean) + predicate: (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: p_type (type: string), p_brand (type: string) @@ -3090,7 +3090,7 @@ STAGE PLANS: filterExpr: ((l_linenumber = 1) and l_partkey is not null and l_orderkey is not null) (type: boolean) Statistics: Num rows: 100 Data size: 1600 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((l_linenumber = 1) and l_orderkey is not null and l_partkey is not null) (type: boolean) + predicate: ((l_linenumber = 1) and l_partkey is not null and l_orderkey is not null) (type: boolean) Statistics: Num rows: 14 Data size: 224 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: l_orderkey (type: int), l_partkey (type: int), l_suppkey (type: int), 1 (type: int) @@ -3134,7 +3134,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: lineitem - filterExpr: ((l_shipmode = 'AIR') and (l_linenumber = 1) and l_orderkey is not null) (type: boolean) + filterExpr: ((l_linenumber = 1) and (l_shipmode = 'AIR') and l_orderkey is not null) (type: boolean) Statistics: Num rows: 100 Data size: 10400 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: ((l_linenumber = 1) and (l_shipmode = 'AIR') and l_orderkey is not null) (type: boolean) @@ -3246,7 +3246,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: (((_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) + predicate: ((_col7 is null or (_col4 = 0L)) and (_col2 is not null or (_col4 = 0L) or _col7 is not null) and ((_col5 >= _col4) or (_col4 = 0L) or _col7 is not null or _col2 is null)) (type: boolean) Statistics: Num rows: 2 Data size: 64 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: int), 1 (type: int) @@ -3362,7 +3362,7 @@ STAGE PLANS: filterExpr: ((value is not null and key is not null) or ((key > '9') and value 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 and value is not null) (type: boolean) + predicate: (value is not null and 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) @@ -3395,7 +3395,7 @@ STAGE PLANS: filterExpr: (value is not null and 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 and value is not null) (type: boolean) + predicate: (value is not null and 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) @@ -4175,7 +4175,7 @@ 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: (((_col9 <> 0L) and _col12 is null and (_col10 >= _col9) and _col5 is not null) or (_col0 = 3) or (_col9 = 0L)) (type: boolean) + predicate: ((_col9 = 0L) or (_col0 = 3) or ((_col9 <> 0L) and _col12 is null and (_col10 >= _col9) and _col5 is not null)) (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) @@ -4398,7 +4398,7 @@ STAGE PLANS: outputColumnNames: _col1, _col2, _col4, _col5 Statistics: Num rows: 631 Data size: 65521 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (((_col2 <> 0L) and _col4 is not null) or _col1 is not null or _col5 is not null) (type: boolean) + predicate: (_col5 is not null or ((_col2 <> 0L) and _col4 is not null) or _col1 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 @@ -4539,7 +4539,7 @@ STAGE PLANS: filterExpr: (p_type is not null and p_retailprice is not null) (type: boolean) Statistics: Num rows: 26 Data size: 2912 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (p_retailprice is not null and p_type is not null) (type: boolean) + predicate: (p_type is not null and p_retailprice is not null) (type: boolean) Statistics: Num rows: 26 Data size: 2912 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: p_type (type: string), p_retailprice (type: double) diff --git a/ql/src/test/results/clientpositive/llap/subquery_notin.q.out b/ql/src/test/results/clientpositive/llap/subquery_notin.q.out index 9a5b1496b9..1a7e5987dd 100644 --- a/ql/src/test/results/clientpositive/llap/subquery_notin.q.out +++ b/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: (((_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) + predicate: ((_col5 is null or (_col2 = 0L)) and ((_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)) (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,7 +406,7 @@ 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: (((_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) + predicate: ((_col8 is null or (_col4 = 0L) or _col4 is null) and ((_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)) (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) @@ -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: (((_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) + predicate: ((_col5 is null or (_col2 = 0L)) and ((_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)) (type: boolean) Statistics: Num rows: 27 Data size: 3815 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: string), _col1 (type: int) @@ -796,7 +796,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (UDFToDouble(_col0) is not null and _col1 is not null) (type: boolean) + predicate: (_col1 is not null and UDFToDouble(_col0) 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), true (type: boolean) @@ -1008,7 +1008,7 @@ 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: (((_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) + predicate: ((_col8 is null or (_col4 = 0L) or _col4 is null) and ((_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)) (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) @@ -1488,7 +1488,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: src - filterExpr: ((key < '11') or ((key < '11') and (key > '104') is not true)) (type: boolean) + filterExpr: ((key < '11') or ((key > '104') is not true and (key < '11'))) (type: boolean) properties: insideView TRUE Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE @@ -1505,7 +1505,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 (key > '104') is not true) (type: boolean) + predicate: ((key > '104') is not true and (key < '11')) (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) @@ -1572,7 +1572,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2, _col4 Statistics: Num rows: 230 Data size: 23950 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - 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) + predicate: ((_col4 is null or (_col1 = 0L)) and ((_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)) (type: boolean) Statistics: Num rows: 230 Data size: 23950 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: string) @@ -1664,10 +1664,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: part - filterExpr: ((p_brand <> 'Brand#14') and (p_size <> 340)) (type: boolean) + filterExpr: ((p_size <> 340) and (p_brand <> 'Brand#14')) (type: boolean) Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((p_brand <> 'Brand#14') and (p_size <> 340)) (type: boolean) + predicate: ((p_size <> 340) and (p_brand <> 'Brand#14')) (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) @@ -1708,7 +1708,7 @@ STAGE PLANS: Statistics: Num rows: 13 Data size: 1560 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col1 (type: bigint), _col2 (type: bigint) Filter Operator - predicate: (((p_size * p_size) <> 340) and p_size is not null and p_type is not null) (type: boolean) + predicate: (((p_size * p_size) <> 340) and p_type is not null and p_size is not null) (type: boolean) Statistics: Num rows: 26 Data size: 2808 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: (p_size * p_size) (type: int), p_type (type: string) @@ -1756,7 +1756,7 @@ 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: (((_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) + predicate: ((_col14 is null or (_col10 = 0L) or _col10 is null) and ((_col11 < _col10) is not true or (_col10 = 0L) or _col10 is null or _col14 is not null or _col5 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) @@ -1938,7 +1938,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: (((_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) + predicate: ((_col12 is null or (_col9 = 0L)) and ((_col10 >= _col9) or (_col9 = 0L) or _col12 is not null or _col5 is null) 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) @@ -2159,7 +2159,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: (((_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) + predicate: ((_col12 is null or (_col9 = 0L)) and ((_col10 >= _col9) or (_col9 = 0L) or _col12 is not null or _col0 is null or _col5 is null) and ((_col0 is not null and _col5 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) @@ -2426,7 +2426,7 @@ STAGE PLANS: outputColumnNames: _col1, _col3, _col4, _col7 Statistics: Num rows: 48 Data size: 660 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - 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) + predicate: ((_col7 is null or (_col3 = 0L) or _col3 is null) and ((_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)) (type: boolean) Statistics: Num rows: 48 Data size: 660 Basic stats: COMPLETE Column stats: COMPLETE Select Operator Statistics: Num rows: 48 Data size: 660 Basic stats: COMPLETE Column stats: COMPLETE @@ -2618,7 +2618,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: (((_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) + predicate: ((_col12 is null or (_col9 = 0L)) and ((_col10 >= _col9) or (_col9 = 0L) or _col12 is not null or _col7 is null) 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) @@ -2790,7 +2790,7 @@ STAGE PLANS: 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_size + 121150) = p_partkey) and p_name is not null and p_size is not null) (type: boolean) + predicate: (((p_size + 121150) = p_partkey) and p_size is not null and p_name is not null) (type: boolean) Statistics: Num rows: 13 Data size: 1677 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: p_name (type: string), p_size (type: int) @@ -2838,7 +2838,7 @@ 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: (((_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) + predicate: ((_col14 is null or (_col10 = 0L) or _col10 is null) and ((_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)) (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) @@ -2970,7 +2970,7 @@ STAGE PLANS: 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) 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) + predicate: (p_size is not null and p_partkey is not null) (type: boolean) Statistics: Num rows: 26 Data size: 3354 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator aggregations: count(), count(p_name) @@ -2986,7 +2986,7 @@ STAGE PLANS: Statistics: Num rows: 13 Data size: 312 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col2 (type: bigint), _col3 (type: bigint) Filter Operator - predicate: (p_name is not null and p_partkey is not null and p_size is not null) (type: boolean) + predicate: (p_size is not null and p_partkey is not null and p_name is not null) (type: boolean) Statistics: Num rows: 26 Data size: 3354 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator keys: p_partkey (type: int), p_name (type: string), p_size (type: int) @@ -3030,7 +3030,7 @@ 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: (((_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) + predicate: ((_col16 is null or (_col11 = 0L) or _col11 is null) and ((_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)) (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) @@ -3158,7 +3158,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: (UDFToDouble(p_type) is not null and p_brand is not null) (type: boolean) + predicate: (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 Select Operator expressions: (UDFToDouble(p_type) + 2.0D) (type: double), p_brand (type: string) @@ -3206,7 +3206,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col4, _col5, _col8 Statistics: Num rows: 58 Data size: 13682 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - 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) + predicate: ((_col8 is null or (_col4 = 0L) or _col4 is null) and ((_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)) (type: boolean) Statistics: Num rows: 58 Data size: 13682 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: string) @@ -3444,7 +3444,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col4, _col5, _col8 Statistics: Num rows: 46 Data size: 10734 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - 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) + predicate: ((_col8 is null or (_col4 = 0L) or _col4 is null) and ((_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)) (type: boolean) Statistics: Num rows: 46 Data size: 10734 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: string) @@ -3705,7 +3705,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: (((_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) + predicate: ((_col5 is null or (_col2 = 0L)) and ((_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)) (type: boolean) Statistics: Num rows: 907 Data size: 177590 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: string) @@ -3930,7 +3930,7 @@ STAGE PLANS: Statistics: Num rows: 250 Data size: 25750 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col1 (type: bigint), _col2 (type: bigint) Filter Operator - predicate: (concat('v', value) is not null and key is not null) (type: boolean) + predicate: (key is not null and concat('v', value) is not null) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: concat('v', value) (type: string), key (type: string) @@ -4004,7 +4004,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col3, _col4, _col7 Statistics: Num rows: 1623 Data size: 309794 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - 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) + predicate: ((_col7 is null or (_col3 = 0L) or _col3 is null) and ((_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)) (type: boolean) Statistics: Num rows: 1401 Data size: 267414 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: string) @@ -4267,7 +4267,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: (((_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) + predicate: ((_col12 is null or (_col9 = 0L)) and ((_col10 >= _col9) or (_col9 = 0L) or _col12 is not null or _col5 is null) 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) @@ -4489,7 +4489,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: (((_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) + predicate: ((_col12 is null or (_col9 = 0L)) and ((_col10 >= _col9) or (_col9 = 0L) or _col12 is not null or _col5 is null) 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) @@ -4789,7 +4789,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: (((_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) + predicate: ((_col5 is null or (_col2 = 0L)) and ((_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)) (type: boolean) Statistics: Num rows: 539 Data size: 104726 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: string), _col1 (type: string) @@ -5408,7 +5408,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: (UDFToDouble(p_type) is not null and p_brand is not null) (type: boolean) + predicate: (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 Group By Operator keys: p_brand (type: string), p_type (type: string) @@ -5488,7 +5488,7 @@ STAGE PLANS: outputColumnNames: _col1, _col3, _col4, _col7 Statistics: Num rows: 53 Data size: 780 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - 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) + predicate: ((_col7 is null or (_col3 = 0L) or _col3 is null) and ((_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)) (type: boolean) Statistics: Num rows: 53 Data size: 780 Basic stats: COMPLETE Column stats: COMPLETE Select Operator Statistics: Num rows: 53 Data size: 780 Basic stats: COMPLETE Column stats: COMPLETE @@ -5726,7 +5726,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2, _col4 Statistics: Num rows: 5 Data size: 108 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - 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) + predicate: ((_col4 is null or (_col1 = 0L)) and (_col0 is not null or (_col1 = 0L) or _col4 is not null) and ((_col2 >= _col1) or (_col1 = 0L) or _col4 is not null or _col0 is null)) (type: boolean) Statistics: Num rows: 5 Data size: 108 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: int) @@ -5836,7 +5836,7 @@ STAGE PLANS: 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) + filterExpr: (UDFToDouble(c1) is not null or (c1 is not null and UDFToDouble(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) @@ -5852,7 +5852,7 @@ STAGE PLANS: 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) + predicate: (c1 is not null and UDFToDouble(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) @@ -5870,10 +5870,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: t1_n0 - filterExpr: (UDFToDouble(c2) is not null and c2 is not null) (type: boolean) + filterExpr: (c2 is not null and UDFToDouble(c2) is not null) (type: boolean) Statistics: Num rows: 4 Data size: 352 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (UDFToDouble(c2) is not null and c2 is not null) (type: boolean) + predicate: (c2 is not null and UDFToDouble(c2) is not null) (type: boolean) Statistics: Num rows: 2 Data size: 176 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator keys: c2 (type: char(100)) @@ -5917,7 +5917,7 @@ STAGE PLANS: outputColumnNames: _col0, _col3, _col4, _col7 Statistics: Num rows: 6 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - 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) + predicate: ((_col7 is null or (_col3 = 0L) or _col3 is null) and (_col0 is not null or (_col3 = 0L) or _col3 is null or _col7 is not null) and ((_col4 < _col3) is not true or (_col3 = 0L) or _col3 is null or _col7 is not null or _col0 is null)) (type: boolean) Statistics: Num rows: 6 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: int) @@ -6152,7 +6152,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: t2_n0 - filterExpr: (b is not null or (b is not null and a is not null)) (type: boolean) + filterExpr: (b is not null or (a is not null and b is not null)) (type: boolean) Statistics: Num rows: 3 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: b is not null (type: boolean) @@ -6215,7 +6215,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col3, _col4, _col7 Statistics: Num rows: 3 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - 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) + predicate: ((_col7 is null or (_col3 = 0L) or _col3 is null) and (_col1 is not null or (_col3 = 0L) or _col3 is null or _col7 is not null) and ((_col4 < _col3) is not true or (_col3 = 0L) or _col3 is null or _col7 is not null or _col1 is null)) (type: boolean) Statistics: Num rows: 3 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: int) @@ -6378,7 +6378,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: t7 - filterExpr: (j is not null or (j is not null and i is not null)) (type: boolean) + filterExpr: (j is not null or (i is not null and j is not null)) (type: boolean) Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: j is not null (type: boolean) @@ -6463,7 +6463,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col3, _col4, _col6 Statistics: Num rows: 2 Data size: 56 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - 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) + predicate: ((_col6 is null or (_col3 = 0L) or _col3 is null) and (_col1 is not null or (_col3 = 0L) or _col3 is null or _col6 is not null) and ((_col4 < _col3) is not true or (_col3 = 0L) or _col3 is null or _col6 is not null or _col1 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) @@ -6648,7 +6648,7 @@ STAGE PLANS: Statistics: Num rows: 1 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col1 (type: bigint), _col2 (type: bigint) Filter Operator - predicate: (i is not null and j is not null) (type: boolean) + predicate: (j is not null and i is not null) (type: boolean) Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator keys: i (type: int), j (type: int) @@ -6714,7 +6714,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col3, _col4, _col6 Statistics: Num rows: 3 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - 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) + predicate: ((_col6 is null or (_col3 = 0L) or _col3 is null) and (_col1 is not null or (_col3 = 0L) or _col3 is null or _col6 is not null) and ((_col4 < _col3) is not true or (_col3 = 0L) or _col3 is null or _col6 is not null or _col1 is null)) (type: boolean) Statistics: Num rows: 3 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: int) @@ -6863,7 +6863,7 @@ STAGE PLANS: Statistics: Num rows: 1 Data size: 20 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col1 (type: bigint), _col2 (type: bigint) Filter Operator - predicate: (i is not null and j is not null) (type: boolean) + predicate: (j is not null and i is not null) (type: boolean) Statistics: Num rows: 2 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator keys: i (type: int), j (type: int) @@ -6907,7 +6907,7 @@ STAGE PLANS: outputColumnNames: _col0, _col3, _col4, _col7 Statistics: Num rows: 4 Data size: 88 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - 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) + predicate: ((_col7 is null or (_col3 = 0L) or _col3 is null) and (_col0 is not null or (_col3 = 0L) or _col3 is null or _col7 is not null) and ((_col4 < _col3) is not true or (_col3 = 0L) or _col3 is null or _col7 is not null or _col0 is null)) (type: boolean) Statistics: Num rows: 4 Data size: 88 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: int) @@ -7076,7 +7076,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: (((_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) + predicate: ((_col5 is null or (_col2 = 0L)) and (_col1 is not null or (_col2 = 0L) or _col5 is not null) and ((_col3 >= _col2) or (_col2 = 0L) or _col5 is not null or _col1 is null)) (type: boolean) Statistics: Num rows: 3 Data size: 84 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: int) @@ -7254,7 +7254,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2, _col4 Statistics: Num rows: 4 Data size: 88 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - 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) + predicate: ((_col4 is null or (_col1 = 0L)) and (_col0 is not null or (_col1 = 0L) or _col4 is not null) and ((_col2 >= _col1) or (_col1 = 0L) or _col4 is not null or _col0 is null)) (type: boolean) Statistics: Num rows: 4 Data size: 88 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: int) @@ -7431,7 +7431,7 @@ STAGE PLANS: residual filter predicates: {(_col1 > _col6)} Statistics: Num rows: 1145 Data size: 236851 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - 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) + predicate: ((_col7 is null or (_col3 = 0L) or _col3 is null) and ((_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)) (type: boolean) Statistics: Num rows: 1145 Data size: 236851 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: string), _col1 (type: string) diff --git a/ql/src/test/results/clientpositive/llap/subquery_scalar.q.out b/ql/src/test/results/clientpositive/llap/subquery_scalar.q.out index ed4453cde1..cddbe791b3 100644 --- a/ql/src/test/results/clientpositive/llap/subquery_scalar.q.out +++ b/ql/src/test/results/clientpositive/llap/subquery_scalar.q.out @@ -925,7 +925,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (UDFToDouble(_col0) is not null and _col1 is not null) (type: boolean) + predicate: (_col1 is not null and UDFToDouble(_col0) 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) @@ -1593,7 +1593,7 @@ STAGE PLANS: filterExpr: (p_type 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: (UDFToDouble(p_size) is not null and p_type is not null) (type: boolean) + predicate: (p_type 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 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), UDFToDouble(p_size) (type: double) @@ -1727,7 +1727,7 @@ STAGE PLANS: filterExpr: (p_type is not null and 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: (p_type is not null and p_size 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) @@ -1939,7 +1939,7 @@ STAGE PLANS: filterExpr: (p_type is not null and p_size is not null and p_retailprice is not null) (type: boolean) Statistics: Num rows: 26 Data size: 16094 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (p_retailprice is not null and p_size is not null and p_type is not null) (type: boolean) + predicate: (p_type is not null and p_size is not null and p_retailprice 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) @@ -2339,7 +2339,7 @@ STAGE PLANS: filterExpr: (p_size is not null and p_partkey 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) + predicate: (p_size is not null and p_partkey is not null) (type: boolean) Statistics: Num rows: 26 Data size: 3354 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator aggregations: count(p_name) @@ -3455,7 +3455,7 @@ 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: (((_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) + predicate: ((_col13 is null or (_col10 = 0L)) and (_col3 is not null or (_col10 = 0L) or _col13 is not null) and ((_col11 >= _col10) or (_col10 = 0L) or _col13 is not null or _col3 is 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) @@ -3708,7 +3708,7 @@ 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: (((_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) + predicate: ((_col12 is null or (_col9 = 0L)) and (_col3 is not null or (_col9 = 0L) or _col12 is not null) and ((_col10 >= _col9) or (_col9 = 0L) or _col12 is not null or _col3 is 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) @@ -3870,7 +3870,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: lineitem - filterExpr: ((l_shipmode = 'AIR') and (l_linenumber = 1)) (type: boolean) + filterExpr: ((l_linenumber = 1) and (l_shipmode = 'AIR')) (type: boolean) Statistics: Num rows: 100 Data size: 9600 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: ((l_linenumber = 1) and (l_shipmode = 'AIR')) (type: boolean) @@ -4086,7 +4086,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: lineitem - filterExpr: ((l_shipmode = 'AIR') and (l_linenumber = 1)) (type: boolean) + filterExpr: ((l_linenumber = 1) and (l_shipmode = 'AIR')) (type: boolean) Statistics: Num rows: 100 Data size: 9600 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: ((l_linenumber = 1) and (l_shipmode = 'AIR')) (type: boolean) @@ -4444,7 +4444,7 @@ STAGE PLANS: filterExpr: (p_type is not null and p_name is not null) (type: boolean) Statistics: Num rows: 1 Data size: 1120 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (p_name is not null and p_type is not null) (type: boolean) + predicate: (p_type is not null and p_name is not null) (type: boolean) Statistics: Num rows: 1 Data size: 1120 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_n11 (type: string) @@ -4465,7 +4465,7 @@ STAGE PLANS: filterExpr: (p_type is not null and p_name is not null) (type: boolean) Statistics: Num rows: 26 Data size: 8242 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (p_name is not null and p_type is not null) (type: boolean) + predicate: (p_type is not null and p_name is not null) (type: boolean) Statistics: Num rows: 26 Data size: 8242 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: p_name (type: string), p_brand (type: string), p_type (type: string) @@ -5230,7 +5230,7 @@ STAGE PLANS: filterExpr: (name is not null and UDFToLong(empno) is not null) (type: boolean) Statistics: Num rows: 5 Data size: 1650 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (UDFToLong(empno) is not null and name is not null) (type: boolean) + predicate: (name is not null and UDFToLong(empno) is not null) (type: boolean) Statistics: Num rows: 5 Data size: 1650 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: empno (type: int), name (type: string), deptno (type: int), gender (type: string), city (type: string), empid (type: int), age (type: int), slacker (type: boolean), manager (type: boolean), joinedat (type: date), UDFToLong(deptno) (type: bigint) @@ -5991,7 +5991,7 @@ STAGE PLANS: filterExpr: (p_type is not null and 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: (p_type is not null and p_size 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) @@ -6466,7 +6466,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 2 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((_col2 = 0L) or _col3 is null) (type: boolean) + predicate: (_col3 is null or (_col2 = 0L)) (type: boolean) Statistics: Num rows: 2 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: int), _col1 (type: int) @@ -6810,7 +6810,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 2 Data size: 17 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: ((_col2 = 0L) or _col3 is null) (type: boolean) + predicate: (_col3 is null or (_col2 = 0L)) (type: boolean) Statistics: Num rows: 2 Data size: 17 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: _col0 (type: int), _col1 (type: int) diff --git a/ql/src/test/results/clientpositive/llap/subquery_select.q.out b/ql/src/test/results/clientpositive/llap/subquery_select.q.out index 8b4af96f5d..1f451b1b29 100644 --- a/ql/src/test/results/clientpositive/llap/subquery_select.q.out +++ b/ql/src/test/results/clientpositive/llap/subquery_select.q.out @@ -1903,7 +1903,7 @@ STAGE PLANS: filterExpr: ((value is not null and key is not null) or ((key > '9') and value 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 and value is not null) (type: boolean) + predicate: (value is not null and 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) @@ -2076,7 +2076,7 @@ STAGE PLANS: filterExpr: ((value is not null and key is not null) or value is not null or ((key > '9') and value 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 and value is not null) (type: boolean) + predicate: (value is not null and 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) @@ -4402,7 +4402,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (UDFToDouble(_col0) is not null and _col1 is not null) (type: boolean) + predicate: (_col1 is not null and UDFToDouble(_col0) 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) @@ -5010,7 +5010,7 @@ STAGE PLANS: filterExpr: (p_size is not null and p_type is not null and p_partkey is not null) (type: boolean) Statistics: Num rows: 26 Data size: 2912 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (p_partkey is not null and p_size is not null and p_type is not null) (type: boolean) + predicate: (p_size is not null and p_type is not null and p_partkey is not null) (type: boolean) Statistics: Num rows: 26 Data size: 2912 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: p_partkey (type: int), p_type (type: string), p_size (type: int) @@ -5311,7 +5311,7 @@ STAGE PLANS: filterExpr: (p_size is not null and p_type is not null and p_partkey is not null) (type: boolean) Statistics: Num rows: 26 Data size: 2912 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (p_partkey is not null and p_size is not null and p_type is not null) (type: boolean) + predicate: (p_size is not null and p_type is not null and p_partkey is not null) (type: boolean) Statistics: Num rows: 26 Data size: 2912 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: p_partkey (type: int), p_type (type: string), p_size (type: int) diff --git a/ql/src/test/results/clientpositive/llap/subquery_views.q.out b/ql/src/test/results/clientpositive/llap/subquery_views.q.out index f5cc52aa2e..ccc913a0fe 100644 --- a/ql/src/test/results/clientpositive/llap/subquery_views.q.out +++ b/ql/src/test/results/clientpositive/llap/subquery_views.q.out @@ -124,7 +124,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: b - filterExpr: ((key < '11') or ((value > 'val_11') and (key < '11')) or ((value > 'val_11') and (key < '11'))) (type: boolean) + filterExpr: ((key < '11') or ((key < '11') and (value > 'val_11')) or ((key < '11') and (value > 'val_11'))) (type: boolean) properties: insideView TRUE Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE @@ -281,7 +281,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col4, _col5, _col8 Statistics: Num rows: 386 Data size: 73020 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - 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) + predicate: ((_col8 is null or (_col4 = 0L) or _col4 is null) and ((_col5 < _col4) is not true or (_col4 = 0L) or _col4 is null or _col8 is not null or _col0 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) @@ -379,7 +379,7 @@ STAGE PLANS: outputColumnNames: _col0, _col4, _col5, _col8 Statistics: Num rows: 319 Data size: 30993 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - 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) + predicate: ((_col8 is null or (_col4 = 0L) or _col4 is null) and ((_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)) (type: boolean) Statistics: Num rows: 304 Data size: 29540 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: string) diff --git a/ql/src/test/results/clientpositive/llap/vector_date_1.q.out b/ql/src/test/results/clientpositive/llap/vector_date_1.q.out index 399d566fdf..57d1ff3faf 100644 --- a/ql/src/test/results/clientpositive/llap/vector_date_1.q.out +++ b/ql/src/test/results/clientpositive/llap/vector_date_1.q.out @@ -788,7 +788,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: vector_date_1 - filterExpr: ((dt1 <> dt2) and (dt1 < dt2) and (dt1 <= dt2) and (dt2 > dt1) and (dt2 >= dt1)) (type: boolean) + filterExpr: ((dt1 < dt2) and (dt1 <= dt2) and (dt2 > dt1) and (dt2 >= dt1) and (dt1 <> dt2)) (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: 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) + predicateExpression: FilterExprAndExpr(children: 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), FilterLongColNotEqualLongColumn(col 0:date, col 1:date)) + predicate: ((dt1 < dt2) and (dt1 <= dt2) and (dt2 > dt1) and (dt2 >= dt1) and (dt1 <> dt2)) (type: boolean) Statistics: Num rows: 1 Data size: 112 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: dt1 (type: date), dt2 (type: date) @@ -970,7 +970,7 @@ STAGE PLANS: className: VectorFilterOperator native: true predicateExpression: FilterExprAndExpr(children: FilterDateColEqualDateScalar(col 0:date, val 11323), FilterDateColNotEqualDateScalar(col 0:date, val 0)) - predicate: ((dt1 <> DATE'1970-01-01') and (dt1 = DATE'2001-01-01')) (type: boolean) + predicate: ((dt1 = DATE'2001-01-01') and (dt1 <> DATE'1970-01-01')) (type: boolean) Statistics: Num rows: 1 Data size: 112 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: DATE'2001-01-01' (type: date), dt2 (type: date) diff --git a/ql/src/test/results/clientpositive/llap/vector_decimal_cast.q.out b/ql/src/test/results/clientpositive/llap/vector_decimal_cast.q.out index fb5fd32c02..f558cfc120 100644 --- a/ql/src/test/results/clientpositive/llap/vector_decimal_cast.q.out +++ b/ql/src/test/results/clientpositive/llap/vector_decimal_cast.q.out @@ -23,7 +23,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: (cdouble is not null and cint is not null and cboolean1 is not null and ctimestamp1 is not null) (type: boolean) + filterExpr: (cboolean1 is not null and cint is not null and cdouble is not null and ctimestamp1 is not null) (type: boolean) Statistics: Num rows: 12288 Data size: 638316 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -32,8 +32,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprAndExpr(children: SelectColumnIsNotNull(col 5:double), SelectColumnIsNotNull(col 2:int), SelectColumnIsNotNull(col 10:boolean), SelectColumnIsNotNull(col 8:timestamp)) - predicate: (cboolean1 is not null and cdouble is not null and cint is not null and ctimestamp1 is not null) (type: boolean) + predicateExpression: FilterExprAndExpr(children: SelectColumnIsNotNull(col 10:boolean), SelectColumnIsNotNull(col 2:int), SelectColumnIsNotNull(col 5:double), SelectColumnIsNotNull(col 8:timestamp)) + predicate: (cboolean1 is not null and cint is not null and cdouble is not null and ctimestamp1 is not null) (type: boolean) Statistics: Num rows: 5112 Data size: 265564 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cdouble (type: double), cint (type: int), cboolean1 (type: boolean), ctimestamp1 (type: timestamp), CAST( cdouble AS decimal(20,10)) (type: decimal(20,10)), CAST( cint AS decimal(23,14)) (type: decimal(23,14)), CAST( cboolean1 AS decimal(5,2)) (type: decimal(5,2)), CAST( ctimestamp1 AS decimal(15,0)) (type: decimal(15,0)) @@ -151,7 +151,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypes_small - filterExpr: (cdouble is not null and cint is not null and cboolean1 is not null and ctimestamp1 is not null) (type: boolean) + filterExpr: (cboolean1 is not null and cint is not null and cdouble is not null and ctimestamp1 is not null) (type: boolean) Statistics: Num rows: 12288 Data size: 638316 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -160,8 +160,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprAndExpr(children: SelectColumnIsNotNull(col 5:double), SelectColumnIsNotNull(col 2:int), SelectColumnIsNotNull(col 10:boolean), SelectColumnIsNotNull(col 8:timestamp)) - predicate: (cboolean1 is not null and cdouble is not null and cint is not null and ctimestamp1 is not null) (type: boolean) + predicateExpression: FilterExprAndExpr(children: SelectColumnIsNotNull(col 10:boolean), SelectColumnIsNotNull(col 2:int), SelectColumnIsNotNull(col 5:double), SelectColumnIsNotNull(col 8:timestamp)) + predicate: (cboolean1 is not null and cint is not null and cdouble is not null and ctimestamp1 is not null) (type: boolean) Statistics: Num rows: 5112 Data size: 265564 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cdouble (type: double), cint (type: int), cboolean1 (type: boolean), ctimestamp1 (type: timestamp), CAST( cdouble AS decimal(20,10)) (type: decimal(20,10)), CAST( cint AS decimal(23,14)) (type: decimal(23,14)), CAST( cboolean1 AS decimal(5,2)) (type: decimal(5,2)), CAST( ctimestamp1 AS decimal(15,0)) (type: decimal(15,0)) diff --git a/ql/src/test/results/clientpositive/llap/vector_decimal_expressions.q.out b/ql/src/test/results/clientpositive/llap/vector_decimal_expressions.q.out index c1a02432fb..b4fb00f31c 100644 --- a/ql/src/test/results/clientpositive/llap/vector_decimal_expressions.q.out +++ b/ql/src/test/results/clientpositive/llap/vector_decimal_expressions.q.out @@ -62,7 +62,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: decimal_test_n1 - filterExpr: ((cdecimal1 > 0) and (cdecimal1 < 12345.5678) and (cdecimal2 <> 0) and (cdecimal2 > 1000) and cdouble is not null) (type: boolean) + filterExpr: ((cdecimal1 > 0) and (cdecimal1 < 12345.5678) and (cdecimal2 > 1000) and cdouble is not null and (cdecimal2 <> 0)) (type: boolean) Statistics: Num rows: 12289 Data size: 2708832 Basic stats: COMPLETE Column stats: NONE TableScan Vectorization: native: true @@ -71,8 +71,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprAndExpr(children: FilterDecimalColGreaterDecimalScalar(col 1:decimal(20,10), val 0), FilterDecimalColLessDecimalScalar(col 1:decimal(20,10), val 12345.5678), FilterDecimalColNotEqualDecimalScalar(col 2:decimal(23,14), val 0), FilterDecimalColGreaterDecimalScalar(col 2:decimal(23,14), val 1000), SelectColumnIsNotNull(col 0:double)) - predicate: ((cdecimal1 < 12345.5678) and (cdecimal1 > 0) and (cdecimal2 <> 0) and (cdecimal2 > 1000) and cdouble is not null) (type: boolean) + predicateExpression: FilterExprAndExpr(children: FilterDecimalColGreaterDecimalScalar(col 1:decimal(20,10), val 0), FilterDecimalColLessDecimalScalar(col 1:decimal(20,10), val 12345.5678), FilterDecimalColGreaterDecimalScalar(col 2:decimal(23,14), val 1000), SelectColumnIsNotNull(col 0:double), FilterDecimalColNotEqualDecimalScalar(col 2:decimal(23,14), val 0)) + predicate: ((cdecimal1 > 0) and (cdecimal1 < 12345.5678) and (cdecimal2 > 1000) and cdouble is not null and (cdecimal2 <> 0)) (type: boolean) Statistics: Num rows: 751 Data size: 165540 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: (cdecimal1 + cdecimal2) (type: decimal(25,14)), (cdecimal1 - (2 * cdecimal2)) (type: decimal(26,14)), ((cdecimal1 + 2.34) / cdecimal2) (type: decimal(38,13)), (cdecimal1 * (cdecimal2 / 3.4)) (type: decimal(38,17)), (cdecimal1 % 10) (type: decimal(12,10)), UDFToInteger(cdecimal1) (type: int), UDFToShort(cdecimal2) (type: smallint), UDFToByte(cdecimal2) (type: tinyint), UDFToLong(cdecimal1) (type: bigint), UDFToBoolean(cdecimal1) (type: boolean), UDFToDouble(cdecimal2) (type: double), UDFToFloat(cdecimal1) (type: float), CAST( cdecimal2 AS STRING) (type: string), CAST( cdecimal1 AS TIMESTAMP) (type: timestamp) @@ -239,7 +239,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: decimal_test_small_n0 - filterExpr: ((cdecimal1 > 0) and (cdecimal1 < 12345.5678) and (cdecimal2 <> 0) and (cdecimal2 > 1000) and cdouble is not null) (type: boolean) + filterExpr: ((cdecimal1 > 0) and (cdecimal1 < 12345.5678) and (cdecimal2 > 1000) and cdouble is not null and (cdecimal2 <> 0)) (type: boolean) Statistics: Num rows: 12288 Data size: 2708600 Basic stats: COMPLETE Column stats: NONE TableScan Vectorization: native: true @@ -248,8 +248,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprAndExpr(children: FilterDecimal64ColGreaterDecimal64Scalar(col 1:decimal(10,3)/DECIMAL_64, val 0), FilterDecimalColLessDecimalScalar(col 4:decimal(10,3), val 12345.5678)(children: ConvertDecimal64ToDecimal(col 1:decimal(10,3)/DECIMAL_64) -> 4:decimal(10,3)), FilterDecimal64ColNotEqualDecimal64Scalar(col 2:decimal(7,2)/DECIMAL_64, val 0), FilterDecimal64ColGreaterDecimal64Scalar(col 2:decimal(7,2)/DECIMAL_64, val 100000), SelectColumnIsNotNull(col 0:double)) - predicate: ((cdecimal1 < 12345.5678) and (cdecimal1 > 0) and (cdecimal2 <> 0) and (cdecimal2 > 1000) and cdouble is not null) (type: boolean) + predicateExpression: FilterExprAndExpr(children: FilterDecimal64ColGreaterDecimal64Scalar(col 1:decimal(10,3)/DECIMAL_64, val 0), FilterDecimalColLessDecimalScalar(col 4:decimal(10,3), val 12345.5678)(children: ConvertDecimal64ToDecimal(col 1:decimal(10,3)/DECIMAL_64) -> 4:decimal(10,3)), FilterDecimal64ColGreaterDecimal64Scalar(col 2:decimal(7,2)/DECIMAL_64, val 100000), SelectColumnIsNotNull(col 0:double), FilterDecimal64ColNotEqualDecimal64Scalar(col 2:decimal(7,2)/DECIMAL_64, val 0)) + predicate: ((cdecimal1 > 0) and (cdecimal1 < 12345.5678) and (cdecimal2 > 1000) and cdouble is not null and (cdecimal2 <> 0)) (type: boolean) Statistics: Num rows: 751 Data size: 165540 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: (cdecimal1 + cdecimal2) (type: decimal(11,3)), (cdecimal1 - (2 * cdecimal2)) (type: decimal(11,3)), ((cdecimal1 + 2.34) / cdecimal2) (type: decimal(21,11)), (cdecimal1 * (cdecimal2 / 3.4)) (type: decimal(23,9)), (cdecimal1 % 10) (type: decimal(5,3)), UDFToInteger(cdecimal1) (type: int), UDFToShort(cdecimal2) (type: smallint), UDFToByte(cdecimal2) (type: tinyint), UDFToLong(cdecimal1) (type: bigint), UDFToBoolean(cdecimal1) (type: boolean), UDFToDouble(cdecimal2) (type: double), UDFToFloat(cdecimal1) (type: float), CAST( cdecimal2 AS STRING) (type: string), CAST( cdecimal1 AS TIMESTAMP) (type: timestamp) diff --git a/ql/src/test/results/clientpositive/llap/vector_groupby_mapjoin.q.out b/ql/src/test/results/clientpositive/llap/vector_groupby_mapjoin.q.out index e3ea4ccc75..3c05e1d901 100644 --- a/ql/src/test/results/clientpositive/llap/vector_groupby_mapjoin.q.out +++ b/ql/src/test/results/clientpositive/llap/vector_groupby_mapjoin.q.out @@ -93,8 +93,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - 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) + predicateExpression: FilterExprAndExpr(children: FilterExprOrExpr(children: SelectColumnIsNull(col 3:boolean), FilterLongColEqualLongScalar(col 4:bigint, val 0)), FilterExprOrExpr(children: FilterLongColGreaterEqualLongColumn(col 5:bigint, col 4:bigint), FilterLongColEqualLongScalar(col 4:bigint, val 0), SelectColumnIsNotNull(col 3:boolean), SelectColumnIsNull(col 0:string)), FilterExprOrExpr(children: SelectColumnIsNotNull(col 0:string), FilterLongColEqualLongScalar(col 4:bigint, val 0), SelectColumnIsNotNull(col 3:boolean))) + predicate: ((_col5 is null or (_col2 = 0L)) and ((_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)) (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 a/ql/src/test/results/clientpositive/llap/vector_interval_2.q.out b/ql/src/test/results/clientpositive/llap/vector_interval_2.q.out index 4ba67196a1..5836daede3 100644 --- a/ql/src/test/results/clientpositive/llap/vector_interval_2.q.out +++ b/ql/src/test/results/clientpositive/llap/vector_interval_2.q.out @@ -956,7 +956,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: vector_interval_2 - 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) + filterExpr: ((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( 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)) 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) <> CAST( str2 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 (INTERVAL'1-2' = CAST( str1 AS INTERVAL YEAR TO MONTH)) and (INTERVAL'1-2' <> CAST( str2 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: 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) + predicateExpression: FilterExprAndExpr(children: FilterIntervalYearMonthColLessEqualIntervalYearMonthScalar(col 7:interval_year_month, val 15)(children: CastStringToIntervalYearMonth(col 2:string) -> 7:interval_year_month), FilterIntervalYearMonthColLessIntervalYearMonthScalar(col 8:interval_year_month, val 15)(children: CastStringToIntervalYearMonth(col 2:string) -> 8:interval_year_month), FilterIntervalYearMonthColGreaterEqualIntervalYearMonthScalar(col 9:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 3:string) -> 9:interval_year_month), FilterIntervalYearMonthColGreaterIntervalYearMonthScalar(col 10:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 3:string) -> 10:interval_year_month), FilterIntervalYearMonthScalarLessEqualIntervalYearMonthColumn(val 14, col 11:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 11:interval_year_month), FilterIntervalYearMonthScalarLessIntervalYearMonthColumn(val 14, col 12:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 12:interval_year_month), FilterIntervalYearMonthScalarGreaterEqualIntervalYearMonthColumn(val 15, col 13:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 13:interval_year_month), FilterIntervalYearMonthScalarGreaterIntervalYearMonthColumn(val 15, col 14:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 14:interval_year_month), FilterLongColLessEqualLongColumn(col 15:interval_year_month, col 16:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 15:interval_year_month, CastStringToIntervalYearMonth(col 3:string) -> 16:interval_year_month), FilterLongColLessLongColumn(col 17:interval_year_month, col 18:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 17:interval_year_month, CastStringToIntervalYearMonth(col 3:string) -> 18:interval_year_month), FilterLongColGreaterEqualLongColumn(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), FilterLongColGreaterLongColumn(col 21:interval_year_month, col 22:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 21:interval_year_month, CastStringToIntervalYearMonth(col 2:string) -> 22:interval_year_month), FilterLongColNotEqualLongColumn(col 23:interval_year_month, col 24:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 23:interval_year_month, CastStringToIntervalYearMonth(col 3:string) -> 24:interval_year_month), FilterIntervalYearMonthColEqualIntervalYearMonthScalar(col 25:interval_year_month, val 14)(children: CastStringToIntervalYearMonth(col 2:string) -> 25:interval_year_month), FilterIntervalYearMonthColNotEqualIntervalYearMonthScalar(col 26:interval_year_month, val 15)(children: CastStringToIntervalYearMonth(col 2:string) -> 26:interval_year_month), FilterIntervalYearMonthScalarEqualIntervalYearMonthColumn(val 14, col 27:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 27:interval_year_month), FilterIntervalYearMonthScalarNotEqualIntervalYearMonthColumn(val 14, col 28:interval_year_month)(children: CastStringToIntervalYearMonth(col 3:string) -> 28:interval_year_month)) + predicate: ((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( 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)) 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) <> CAST( str2 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 (INTERVAL'1-2' = CAST( str1 AS INTERVAL YEAR TO MONTH)) and (INTERVAL'1-2' <> CAST( str2 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( 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) <= 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( 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)) 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) <> CAST( str4 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 (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))) (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: 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) + predicateExpression: FilterExprAndExpr(children: FilterIntervalDayTimeColLessEqualIntervalDayTimeScalar(col 7:interval_day_time, val 1 02:03:05.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 7:interval_day_time), FilterIntervalDayTimeColLessIntervalDayTimeScalar(col 8:interval_day_time, val 1 02:03:05.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 8:interval_day_time), FilterIntervalDayTimeColGreaterEqualIntervalDayTimeScalar(col 9:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 5:string) -> 9:interval_day_time), FilterIntervalDayTimeColGreaterIntervalDayTimeScalar(col 10:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 5:string) -> 10:interval_day_time), FilterIntervalDayTimeScalarLessEqualIntervalDayTimeColumn(val 1 02:03:04.000000000, col 11:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 11:interval_day_time), FilterIntervalDayTimeScalarLessIntervalDayTimeColumn(val 1 02:03:04.000000000, col 12:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 12:interval_day_time), FilterIntervalDayTimeScalarGreaterEqualIntervalDayTimeColumn(val 1 02:03:05.000000000, col 13:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 13:interval_day_time), FilterIntervalDayTimeScalarGreaterIntervalDayTimeColumn(val 1 02:03:05.000000000, col 14:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 14:interval_day_time), FilterIntervalDayTimeColLessEqualIntervalDayTimeColumn(col 15:interval_day_time, col 16:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 15:interval_day_time, CastStringToIntervalDayTime(col 5:string) -> 16:interval_day_time), FilterIntervalDayTimeColLessIntervalDayTimeColumn(col 17:interval_day_time, col 18:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 17:interval_day_time, CastStringToIntervalDayTime(col 5:string) -> 18:interval_day_time), FilterIntervalDayTimeColGreaterEqualIntervalDayTimeColumn(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), FilterIntervalDayTimeColGreaterIntervalDayTimeColumn(col 21:interval_day_time, col 22:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 21:interval_day_time, CastStringToIntervalDayTime(col 4:string) -> 22:interval_day_time), FilterIntervalDayTimeColNotEqualIntervalDayTimeColumn(col 23:interval_day_time, col 24:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 23:interval_day_time, CastStringToIntervalDayTime(col 5:string) -> 24:interval_day_time), FilterIntervalDayTimeColEqualIntervalDayTimeScalar(col 25:interval_day_time, val 1 02:03:04.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 25:interval_day_time), FilterIntervalDayTimeColNotEqualIntervalDayTimeScalar(col 26:interval_day_time, val 1 02:03:05.000000000)(children: CastStringToIntervalDayTime(col 4:string) -> 26:interval_day_time), FilterIntervalDayTimeScalarEqualIntervalDayTimeColumn(val 1 02:03:04.000000000, col 27:interval_day_time)(children: CastStringToIntervalDayTime(col 4:string) -> 27:interval_day_time), FilterIntervalDayTimeScalarNotEqualIntervalDayTimeColumn(val 1 02:03:04.000000000, col 28:interval_day_time)(children: CastStringToIntervalDayTime(col 5:string) -> 28:interval_day_time)) + predicate: ((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( 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)) 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) <> CAST( str4 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 (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))) (type: boolean) Statistics: Num rows: 1 Data size: 222 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ts (type: timestamp) @@ -1353,7 +1353,7 @@ STAGE PLANS: className: VectorFilterOperator native: true predicateExpression: FilterExprAndExpr(children: FilterDateScalarEqualDateColumn(val 11747, col 8:date)(children: DateColAddIntervalYearMonthColumn(col 1:date, col 7:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 7:interval_year_month) -> 8:date), SelectColumnIsTrue(col 13:boolean)(children: VectorUDFAdaptor(DATE'2002-03-01' BETWEEN (dt + CAST( str1 AS INTERVAL YEAR TO MONTH)) AND (dt + CAST( str1 AS INTERVAL YEAR TO MONTH)))(children: DateColAddIntervalYearMonthColumn(col 1:date, col 9:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 9:interval_year_month) -> 10:date, DateColAddIntervalYearMonthColumn(col 1:date, col 11:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 11:interval_year_month) -> 12:date) -> 13:boolean), FilterDateColEqualDateScalar(col 15:date, val 11747)(children: DateColAddIntervalYearMonthColumn(col 1:date, col 14:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 14:interval_year_month) -> 15:date), FilterLongColumnBetween(col 17:date, left 11747, right 11747)(children: DateColAddIntervalYearMonthColumn(col 1:date, col 16:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 16:interval_year_month) -> 17:date), FilterLongColNotEqualLongColumn(col 1:date, col 19:date)(children: DateColAddIntervalYearMonthColumn(col 1:date, col 18:interval_year_month)(children: CastStringToIntervalYearMonth(col 2:string) -> 18:interval_year_month) -> 19:date), FilterDateScalarEqualDateColumn(val 11747, col 20:date)(children: DateColAddIntervalYearMonthScalar(col 1:date, val 1-2) -> 20:date), FilterLongColumnBetween(col 21:date, left 11747, right 11747)(children: DateColAddIntervalYearMonthScalar(col 1:date, val 1-2) -> 21:date), FilterDateColEqualDateScalar(col 22:date, val 11747)(children: DateColAddIntervalYearMonthScalar(col 1:date, val 1-2) -> 22:date), FilterLongColNotEqualLongColumn(col 1:date, col 23:date)(children: DateColAddIntervalYearMonthScalar(col 1:date, val 1-2) -> 23:date)) - predicate: (((dt + CAST( str1 AS INTERVAL YEAR TO MONTH)) = DATE'2002-03-01') and ((dt + INTERVAL'1-2') = DATE'2002-03-01') and (DATE'2002-03-01' = (dt + CAST( str1 AS INTERVAL YEAR TO MONTH))) and (DATE'2002-03-01' = (dt + INTERVAL'1-2')) and (dt + CAST( str1 AS INTERVAL YEAR TO MONTH)) BETWEEN DATE'2002-03-01' AND DATE'2002-03-01' and (dt + INTERVAL'1-2') BETWEEN DATE'2002-03-01' AND DATE'2002-03-01' and (dt <> (dt + CAST( str1 AS INTERVAL YEAR TO MONTH))) and (dt <> (dt + INTERVAL'1-2')) and DATE'2002-03-01' BETWEEN (dt + CAST( str1 AS INTERVAL YEAR TO MONTH)) AND (dt + CAST( str1 AS INTERVAL YEAR TO MONTH))) (type: boolean) + predicate: ((DATE'2002-03-01' = (dt + CAST( str1 AS INTERVAL YEAR TO MONTH))) and DATE'2002-03-01' BETWEEN (dt + CAST( str1 AS INTERVAL YEAR TO MONTH)) AND (dt + CAST( str1 AS INTERVAL YEAR TO MONTH)) and ((dt + CAST( str1 AS INTERVAL YEAR TO MONTH)) = DATE'2002-03-01') and (dt + CAST( str1 AS INTERVAL YEAR TO MONTH)) BETWEEN DATE'2002-03-01' AND DATE'2002-03-01' and (dt <> (dt + CAST( str1 AS INTERVAL YEAR TO MONTH))) and (DATE'2002-03-01' = (dt + INTERVAL'1-2')) and (dt + INTERVAL'1-2') BETWEEN DATE'2002-03-01' AND DATE'2002-03-01' and ((dt + INTERVAL'1-2') = DATE'2002-03-01') and (dt <> (dt + INTERVAL'1-2'))) (type: boolean) Statistics: Num rows: 1 Data size: 183 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ts (type: timestamp) @@ -1533,7 +1533,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: vector_interval_2 - filterExpr: ((TIMESTAMP'2002-03-01 01:02:03' = (ts + INTERVAL'1-2')) and TIMESTAMP'2002-03-01 01:02:03' BETWEEN (ts + INTERVAL'1-2') AND (ts + INTERVAL'1-2') and (TIMESTAMP'2002-04-01 01:02:03' <> (ts + INTERVAL'1-2')) and (TIMESTAMP'2002-02-01 01:02:03' < (ts + INTERVAL'1-2')) and (TIMESTAMP'2002-04-01 01:02:03' > (ts + INTERVAL'1-2')) and ((ts + INTERVAL'1-2') = TIMESTAMP'2002-03-01 01:02:03') and (ts + INTERVAL'1-2') BETWEEN TIMESTAMP'2002-03-01 01:02:03' AND TIMESTAMP'2002-03-01 01:02:03' and ((ts + INTERVAL'1-2') <> TIMESTAMP'2002-04-01 01:02:03') and ((ts + INTERVAL'1-2') > TIMESTAMP'2002-02-01 01:02:03') and ((ts + INTERVAL'1-2') < TIMESTAMP'2002-04-01 01:02:03') and (ts = (ts + INTERVAL'0-0')) and (ts <> (ts + INTERVAL'1-0')) and ts BETWEEN (ts - INTERVAL'1-0') AND (ts + INTERVAL'1-0') and (ts < (ts + INTERVAL'1-0')) and (ts > (ts - INTERVAL'1-0'))) (type: boolean) + filterExpr: ((TIMESTAMP'2002-02-01 01:02:03' < (ts + INTERVAL'1-2')) and (TIMESTAMP'2002-04-01 01:02:03' > (ts + INTERVAL'1-2')) and ((ts + INTERVAL'1-2') > TIMESTAMP'2002-02-01 01:02:03') and ((ts + INTERVAL'1-2') < TIMESTAMP'2002-04-01 01:02:03') and (ts < (ts + INTERVAL'1-0')) and (ts > (ts - INTERVAL'1-0')) and (TIMESTAMP'2002-03-01 01:02:03' = (ts + INTERVAL'1-2')) and TIMESTAMP'2002-03-01 01:02:03' BETWEEN (ts + INTERVAL'1-2') AND (ts + INTERVAL'1-2') and (TIMESTAMP'2002-04-01 01:02:03' <> (ts + INTERVAL'1-2')) and ((ts + INTERVAL'1-2') = TIMESTAMP'2002-03-01 01:02:03') and (ts + INTERVAL'1-2') BETWEEN TIMESTAMP'2002-03-01 01:02:03' AND TIMESTAMP'2002-03-01 01:02:03' and ((ts + INTERVAL'1-2') <> TIMESTAMP'2002-04-01 01:02:03') and (ts = (ts + INTERVAL'0-0')) and (ts <> (ts + INTERVAL'1-0')) and ts BETWEEN (ts - INTERVAL'1-0') AND (ts + INTERVAL'1-0')) (type: boolean) Statistics: Num rows: 2 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -1541,8 +1541,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprAndExpr(children: FilterTimestampScalarEqualTimestampColumn(val 2002-03-01 01:02:03, col 7:timestamp)(children: TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-2) -> 7:timestamp), SelectColumnIsTrue(col 10:boolean)(children: VectorUDFAdaptor(TIMESTAMP'2002-03-01 01:02:03' BETWEEN (ts + INTERVAL'1-2') AND (ts + INTERVAL'1-2'))(children: TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-2) -> 8:timestamp, TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-2) -> 9:timestamp) -> 10:boolean), FilterTimestampScalarNotEqualTimestampColumn(val 2002-04-01 01:02:03, col 11:timestamp)(children: TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-2) -> 11:timestamp), FilterTimestampScalarLessTimestampColumn(val 2002-02-01 01:02:03, col 12:timestamp)(children: TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-2) -> 12:timestamp), FilterTimestampScalarGreaterTimestampColumn(val 2002-04-01 01:02:03, col 13:timestamp)(children: TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-2) -> 13:timestamp), FilterTimestampColEqualTimestampScalar(col 14:timestamp, val 2002-03-01 01:02:03)(children: TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-2) -> 14:timestamp), FilterTimestampColumnBetween(col 15:timestamp, left 2002-02-28 17:02:03.0, right 2002-02-28 17:02:03.0)(children: TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-2) -> 15:timestamp), FilterTimestampColNotEqualTimestampScalar(col 16:timestamp, val 2002-04-01 01:02:03)(children: TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-2) -> 16:timestamp), FilterTimestampColGreaterTimestampScalar(col 17:timestamp, val 2002-02-01 01:02:03)(children: TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-2) -> 17:timestamp), FilterTimestampColLessTimestampScalar(col 18:timestamp, val 2002-04-01 01:02:03)(children: TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-2) -> 18:timestamp), FilterTimestampColEqualTimestampColumn(col 0:timestamp, col 19:timestamp)(children: TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 0-0) -> 19:timestamp), FilterTimestampColNotEqualTimestampColumn(col 0:timestamp, col 20:timestamp)(children: TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-0) -> 20:timestamp), SelectColumnIsTrue(col 23:boolean)(children: VectorUDFAdaptor(ts BETWEEN (ts - INTERVAL'1-0') AND (ts + INTERVAL'1-0'))(children: TimestampColSubtractIntervalYearMonthScalar(col 0:timestamp, val 1-0) -> 21:timestamp, TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-0) -> 22:timestamp) -> 23:boolean), FilterTimestampColLessTimestampColumn(col 0:timestamp, col 24:timestamp)(children: TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-0) -> 24:timestamp), FilterTimestampColGreaterTimestampColumn(col 0:timestamp, col 25:timestamp)(children: TimestampColSubtractIntervalYearMonthScalar(col 0:timestamp, val 1-0) -> 25:timestamp)) - predicate: (((ts + INTERVAL'1-2') < TIMESTAMP'2002-04-01 01:02:03') and ((ts + INTERVAL'1-2') <> TIMESTAMP'2002-04-01 01:02:03') and ((ts + INTERVAL'1-2') = TIMESTAMP'2002-03-01 01:02:03') and ((ts + INTERVAL'1-2') > TIMESTAMP'2002-02-01 01:02:03') and (TIMESTAMP'2002-02-01 01:02:03' < (ts + INTERVAL'1-2')) and (TIMESTAMP'2002-03-01 01:02:03' = (ts + INTERVAL'1-2')) and (TIMESTAMP'2002-04-01 01:02:03' <> (ts + INTERVAL'1-2')) and (TIMESTAMP'2002-04-01 01:02:03' > (ts + INTERVAL'1-2')) and (ts + INTERVAL'1-2') BETWEEN TIMESTAMP'2002-03-01 01:02:03' AND TIMESTAMP'2002-03-01 01:02:03' and (ts < (ts + INTERVAL'1-0')) and (ts <> (ts + INTERVAL'1-0')) and (ts = (ts + INTERVAL'0-0')) and (ts > (ts - INTERVAL'1-0')) and TIMESTAMP'2002-03-01 01:02:03' BETWEEN (ts + INTERVAL'1-2') AND (ts + INTERVAL'1-2') and ts BETWEEN (ts - INTERVAL'1-0') AND (ts + INTERVAL'1-0')) (type: boolean) + predicateExpression: FilterExprAndExpr(children: FilterTimestampScalarLessTimestampColumn(val 2002-02-01 01:02:03, col 7:timestamp)(children: TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-2) -> 7:timestamp), FilterTimestampScalarGreaterTimestampColumn(val 2002-04-01 01:02:03, col 8:timestamp)(children: TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-2) -> 8:timestamp), FilterTimestampColGreaterTimestampScalar(col 9:timestamp, val 2002-02-01 01:02:03)(children: TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-2) -> 9:timestamp), FilterTimestampColLessTimestampScalar(col 10:timestamp, val 2002-04-01 01:02:03)(children: TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-2) -> 10:timestamp), FilterTimestampColLessTimestampColumn(col 0:timestamp, col 11:timestamp)(children: TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-0) -> 11:timestamp), FilterTimestampColGreaterTimestampColumn(col 0:timestamp, col 12:timestamp)(children: TimestampColSubtractIntervalYearMonthScalar(col 0:timestamp, val 1-0) -> 12:timestamp), FilterTimestampScalarEqualTimestampColumn(val 2002-03-01 01:02:03, col 13:timestamp)(children: TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-2) -> 13:timestamp), SelectColumnIsTrue(col 16:boolean)(children: VectorUDFAdaptor(TIMESTAMP'2002-03-01 01:02:03' BETWEEN (ts + INTERVAL'1-2') AND (ts + INTERVAL'1-2'))(children: TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-2) -> 14:timestamp, TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-2) -> 15:timestamp) -> 16:boolean), FilterTimestampScalarNotEqualTimestampColumn(val 2002-04-01 01:02:03, col 17:timestamp)(children: TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-2) -> 17:timestamp), FilterTimestampColEqualTimestampScalar(col 18:timestamp, val 2002-03-01 01:02:03)(children: TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-2) -> 18:timestamp), FilterTimestampColumnBetween(col 19:timestamp, left 2002-02-28 17:02:03.0, right 2002-02-28 17:02:03.0)(children: TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-2) -> 19:timestamp), FilterTimestampColNotEqualTimestampScalar(col 20:timestamp, val 2002-04-01 01:02:03)(children: TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-2) -> 20:timestamp), FilterTimestampColEqualTimestampColumn(col 0:timestamp, col 21:timestamp)(children: TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 0-0) -> 21:timestamp), FilterTimestampColNotEqualTimestampColumn(col 0:timestamp, col 22:timestamp)(children: TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-0) -> 22:timestamp), SelectColumnIsTrue(col 25:boolean)(children: VectorUDFAdaptor(ts BETWEEN (ts - INTERVAL'1-0') AND (ts + INTERVAL'1-0'))(children: TimestampColSubtractIntervalYearMonthScalar(col 0:timestamp, val 1-0) -> 23:timestamp, TimestampColAddIntervalYearMonthScalar(col 0:timestamp, val 1-0) -> 24:timestamp) -> 25:boolean)) + predicate: ((TIMESTAMP'2002-02-01 01:02:03' < (ts + INTERVAL'1-2')) and (TIMESTAMP'2002-04-01 01:02:03' > (ts + INTERVAL'1-2')) and ((ts + INTERVAL'1-2') > TIMESTAMP'2002-02-01 01:02:03') and ((ts + INTERVAL'1-2') < TIMESTAMP'2002-04-01 01:02:03') and (ts < (ts + INTERVAL'1-0')) and (ts > (ts - INTERVAL'1-0')) and (TIMESTAMP'2002-03-01 01:02:03' = (ts + INTERVAL'1-2')) and TIMESTAMP'2002-03-01 01:02:03' BETWEEN (ts + INTERVAL'1-2') AND (ts + INTERVAL'1-2') and (TIMESTAMP'2002-04-01 01:02:03' <> (ts + INTERVAL'1-2')) and ((ts + INTERVAL'1-2') = TIMESTAMP'2002-03-01 01:02:03') and (ts + INTERVAL'1-2') BETWEEN TIMESTAMP'2002-03-01 01:02:03' AND TIMESTAMP'2002-03-01 01:02:03' and ((ts + INTERVAL'1-2') <> TIMESTAMP'2002-04-01 01:02:03') and (ts = (ts + INTERVAL'0-0')) and (ts <> (ts + INTERVAL'1-0')) and ts BETWEEN (ts - INTERVAL'1-0') AND (ts + INTERVAL'1-0')) (type: boolean) Statistics: Num rows: 1 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ts (type: timestamp) @@ -1732,7 +1732,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: vector_interval_2 - filterExpr: ((TIMESTAMP'2001-01-01 01:02:03' = (dt + INTERVAL'0 01:02:03.000000000')) and (TIMESTAMP'2001-01-01 01:02:03' <> (dt + INTERVAL'0 01:02:04.000000000')) and TIMESTAMP'2001-01-01 01:02:03' BETWEEN (dt - INTERVAL'0 01:02:03.000000000') AND (dt + INTERVAL'0 01:02:03.000000000') and (TIMESTAMP'2001-01-01 01:02:03' < (dt + INTERVAL'0 01:02:04.000000000')) and (TIMESTAMP'2001-01-01 01:02:03' > (dt - INTERVAL'0 01:02:04.000000000')) and ((dt + INTERVAL'0 01:02:03.000000000') = TIMESTAMP'2001-01-01 01:02:03') and ((dt + INTERVAL'0 01:02:04.000000000') <> TIMESTAMP'2001-01-01 01:02:03') and ((dt + INTERVAL'0 01:02:04.000000000') > TIMESTAMP'2001-01-01 01:02:03') and ((dt - INTERVAL'0 01:02:04.000000000') < TIMESTAMP'2001-01-01 01:02:03') and (ts = (dt + INTERVAL'0 01:02:03.000000000')) and (ts <> (dt + INTERVAL'0 01:02:04.000000000')) and ts BETWEEN (dt - INTERVAL'0 01:02:03.000000000') AND (dt + INTERVAL'0 01:02:03.000000000') and (ts < (dt + INTERVAL'0 01:02:04.000000000')) and (ts > (dt - INTERVAL'0 01:02:04.000000000'))) (type: boolean) + filterExpr: ((TIMESTAMP'2001-01-01 01:02:03' < (dt + INTERVAL'0 01:02:04.000000000')) and (TIMESTAMP'2001-01-01 01:02:03' > (dt - INTERVAL'0 01:02:04.000000000')) and ((dt + INTERVAL'0 01:02:04.000000000') > TIMESTAMP'2001-01-01 01:02:03') and ((dt - INTERVAL'0 01:02:04.000000000') < TIMESTAMP'2001-01-01 01:02:03') and (ts < (dt + INTERVAL'0 01:02:04.000000000')) and (ts > (dt - INTERVAL'0 01:02:04.000000000')) and (TIMESTAMP'2001-01-01 01:02:03' = (dt + INTERVAL'0 01:02:03.000000000')) and (TIMESTAMP'2001-01-01 01:02:03' <> (dt + INTERVAL'0 01:02:04.000000000')) and TIMESTAMP'2001-01-01 01:02:03' BETWEEN (dt - INTERVAL'0 01:02:03.000000000') AND (dt + INTERVAL'0 01:02:03.000000000') and ((dt + INTERVAL'0 01:02:03.000000000') = TIMESTAMP'2001-01-01 01:02:03') and ((dt + INTERVAL'0 01:02:04.000000000') <> TIMESTAMP'2001-01-01 01:02:03') and (ts = (dt + INTERVAL'0 01:02:03.000000000')) and (ts <> (dt + INTERVAL'0 01:02:04.000000000')) and ts BETWEEN (dt - INTERVAL'0 01:02:03.000000000') AND (dt + INTERVAL'0 01:02:03.000000000')) (type: boolean) Statistics: Num rows: 2 Data size: 192 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -1740,8 +1740,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprAndExpr(children: FilterTimestampScalarEqualTimestampColumn(val 2001-01-01 01:02:03, col 7:timestamp)(children: DateColAddIntervalDayTimeScalar(col 1:date, val 0 01:02:03.000000000) -> 7:timestamp), FilterTimestampScalarNotEqualTimestampColumn(val 2001-01-01 01:02:03, col 8:timestamp)(children: DateColAddIntervalDayTimeScalar(col 1:date, val 0 01:02:04.000000000) -> 8:timestamp), SelectColumnIsTrue(col 11:boolean)(children: VectorUDFAdaptor(TIMESTAMP'2001-01-01 01:02:03' BETWEEN (dt - INTERVAL'0 01:02:03.000000000') AND (dt + INTERVAL'0 01:02:03.000000000'))(children: DateColSubtractIntervalDayTimeScalar(col 1:date, val 0 01:02:03.000000000) -> 9:timestamp, DateColAddIntervalDayTimeScalar(col 1:date, val 0 01:02:03.000000000) -> 10:timestamp) -> 11:boolean), FilterTimestampScalarLessTimestampColumn(val 2001-01-01 01:02:03, col 12:timestamp)(children: DateColAddIntervalDayTimeScalar(col 1:date, val 0 01:02:04.000000000) -> 12:timestamp), FilterTimestampScalarGreaterTimestampColumn(val 2001-01-01 01:02:03, col 13:timestamp)(children: DateColSubtractIntervalDayTimeScalar(col 1:date, val 0 01:02:04.000000000) -> 13:timestamp), FilterTimestampColEqualTimestampScalar(col 14:timestamp, val 2001-01-01 01:02:03)(children: DateColAddIntervalDayTimeScalar(col 1:date, val 0 01:02:03.000000000) -> 14:timestamp), FilterTimestampColNotEqualTimestampScalar(col 15:timestamp, val 2001-01-01 01:02:03)(children: DateColAddIntervalDayTimeScalar(col 1:date, val 0 01:02:04.000000000) -> 15:timestamp), FilterTimestampColGreaterTimestampScalar(col 16:timestamp, val 2001-01-01 01:02:03)(children: DateColAddIntervalDayTimeScalar(col 1:date, val 0 01:02:04.000000000) -> 16:timestamp), FilterTimestampColLessTimestampScalar(col 17:timestamp, val 2001-01-01 01:02:03)(children: DateColSubtractIntervalDayTimeScalar(col 1:date, val 0 01:02:04.000000000) -> 17:timestamp), FilterTimestampColEqualTimestampColumn(col 0:timestamp, col 18:timestamp)(children: DateColAddIntervalDayTimeScalar(col 1:date, val 0 01:02:03.000000000) -> 18:timestamp), FilterTimestampColNotEqualTimestampColumn(col 0:timestamp, col 19:timestamp)(children: DateColAddIntervalDayTimeScalar(col 1:date, val 0 01:02:04.000000000) -> 19:timestamp), SelectColumnIsTrue(col 22:boolean)(children: VectorUDFAdaptor(ts BETWEEN (dt - INTERVAL'0 01:02:03.000000000') AND (dt + INTERVAL'0 01:02:03.000000000'))(children: DateColSubtractIntervalDayTimeScalar(col 1:date, val 0 01:02:03.000000000) -> 20:timestamp, DateColAddIntervalDayTimeScalar(col 1:date, val 0 01:02:03.000000000) -> 21:timestamp) -> 22:boolean), FilterTimestampColLessTimestampColumn(col 0:timestamp, col 23:timestamp)(children: DateColAddIntervalDayTimeScalar(col 1:date, val 0 01:02:04.000000000) -> 23:timestamp), FilterTimestampColGreaterTimestampColumn(col 0:timestamp, col 24:timestamp)(children: DateColSubtractIntervalDayTimeScalar(col 1:date, val 0 01:02:04.000000000) -> 24:timestamp)) - predicate: (((dt + INTERVAL'0 01:02:03.000000000') = TIMESTAMP'2001-01-01 01:02:03') and ((dt + INTERVAL'0 01:02:04.000000000') <> TIMESTAMP'2001-01-01 01:02:03') and ((dt + INTERVAL'0 01:02:04.000000000') > TIMESTAMP'2001-01-01 01:02:03') and ((dt - INTERVAL'0 01:02:04.000000000') < TIMESTAMP'2001-01-01 01:02:03') and (TIMESTAMP'2001-01-01 01:02:03' < (dt + INTERVAL'0 01:02:04.000000000')) and (TIMESTAMP'2001-01-01 01:02:03' <> (dt + INTERVAL'0 01:02:04.000000000')) and (TIMESTAMP'2001-01-01 01:02:03' = (dt + INTERVAL'0 01:02:03.000000000')) and (TIMESTAMP'2001-01-01 01:02:03' > (dt - INTERVAL'0 01:02:04.000000000')) and (ts < (dt + INTERVAL'0 01:02:04.000000000')) and (ts <> (dt + INTERVAL'0 01:02:04.000000000')) and (ts = (dt + INTERVAL'0 01:02:03.000000000')) and (ts > (dt - INTERVAL'0 01:02:04.000000000')) and TIMESTAMP'2001-01-01 01:02:03' BETWEEN (dt - INTERVAL'0 01:02:03.000000000') AND (dt + INTERVAL'0 01:02:03.000000000') and ts BETWEEN (dt - INTERVAL'0 01:02:03.000000000') AND (dt + INTERVAL'0 01:02:03.000000000')) (type: boolean) + predicateExpression: FilterExprAndExpr(children: FilterTimestampScalarLessTimestampColumn(val 2001-01-01 01:02:03, col 7:timestamp)(children: DateColAddIntervalDayTimeScalar(col 1:date, val 0 01:02:04.000000000) -> 7:timestamp), FilterTimestampScalarGreaterTimestampColumn(val 2001-01-01 01:02:03, col 8:timestamp)(children: DateColSubtractIntervalDayTimeScalar(col 1:date, val 0 01:02:04.000000000) -> 8:timestamp), FilterTimestampColGreaterTimestampScalar(col 9:timestamp, val 2001-01-01 01:02:03)(children: DateColAddIntervalDayTimeScalar(col 1:date, val 0 01:02:04.000000000) -> 9:timestamp), FilterTimestampColLessTimestampScalar(col 10:timestamp, val 2001-01-01 01:02:03)(children: DateColSubtractIntervalDayTimeScalar(col 1:date, val 0 01:02:04.000000000) -> 10:timestamp), FilterTimestampColLessTimestampColumn(col 0:timestamp, col 11:timestamp)(children: DateColAddIntervalDayTimeScalar(col 1:date, val 0 01:02:04.000000000) -> 11:timestamp), FilterTimestampColGreaterTimestampColumn(col 0:timestamp, col 12:timestamp)(children: DateColSubtractIntervalDayTimeScalar(col 1:date, val 0 01:02:04.000000000) -> 12:timestamp), FilterTimestampScalarEqualTimestampColumn(val 2001-01-01 01:02:03, col 13:timestamp)(children: DateColAddIntervalDayTimeScalar(col 1:date, val 0 01:02:03.000000000) -> 13:timestamp), FilterTimestampScalarNotEqualTimestampColumn(val 2001-01-01 01:02:03, col 14:timestamp)(children: DateColAddIntervalDayTimeScalar(col 1:date, val 0 01:02:04.000000000) -> 14:timestamp), SelectColumnIsTrue(col 17:boolean)(children: VectorUDFAdaptor(TIMESTAMP'2001-01-01 01:02:03' BETWEEN (dt - INTERVAL'0 01:02:03.000000000') AND (dt + INTERVAL'0 01:02:03.000000000'))(children: DateColSubtractIntervalDayTimeScalar(col 1:date, val 0 01:02:03.000000000) -> 15:timestamp, DateColAddIntervalDayTimeScalar(col 1:date, val 0 01:02:03.000000000) -> 16:timestamp) -> 17:boolean), FilterTimestampColEqualTimestampScalar(col 18:timestamp, val 2001-01-01 01:02:03)(children: DateColAddIntervalDayTimeScalar(col 1:date, val 0 01:02:03.000000000) -> 18:timestamp), FilterTimestampColNotEqualTimestampScalar(col 19:timestamp, val 2001-01-01 01:02:03)(children: DateColAddIntervalDayTimeScalar(col 1:date, val 0 01:02:04.000000000) -> 19:timestamp), FilterTimestampColEqualTimestampColumn(col 0:timestamp, col 20:timestamp)(children: DateColAddIntervalDayTimeScalar(col 1:date, val 0 01:02:03.000000000) -> 20:timestamp), FilterTimestampColNotEqualTimestampColumn(col 0:timestamp, col 21:timestamp)(children: DateColAddIntervalDayTimeScalar(col 1:date, val 0 01:02:04.000000000) -> 21:timestamp), SelectColumnIsTrue(col 24:boolean)(children: VectorUDFAdaptor(ts BETWEEN (dt - INTERVAL'0 01:02:03.000000000') AND (dt + INTERVAL'0 01:02:03.000000000'))(children: DateColSubtractIntervalDayTimeScalar(col 1:date, val 0 01:02:03.000000000) -> 22:timestamp, DateColAddIntervalDayTimeScalar(col 1:date, val 0 01:02:03.000000000) -> 23:timestamp) -> 24:boolean)) + predicate: ((TIMESTAMP'2001-01-01 01:02:03' < (dt + INTERVAL'0 01:02:04.000000000')) and (TIMESTAMP'2001-01-01 01:02:03' > (dt - INTERVAL'0 01:02:04.000000000')) and ((dt + INTERVAL'0 01:02:04.000000000') > TIMESTAMP'2001-01-01 01:02:03') and ((dt - INTERVAL'0 01:02:04.000000000') < TIMESTAMP'2001-01-01 01:02:03') and (ts < (dt + INTERVAL'0 01:02:04.000000000')) and (ts > (dt - INTERVAL'0 01:02:04.000000000')) and (TIMESTAMP'2001-01-01 01:02:03' = (dt + INTERVAL'0 01:02:03.000000000')) and (TIMESTAMP'2001-01-01 01:02:03' <> (dt + INTERVAL'0 01:02:04.000000000')) and TIMESTAMP'2001-01-01 01:02:03' BETWEEN (dt - INTERVAL'0 01:02:03.000000000') AND (dt + INTERVAL'0 01:02:03.000000000') and ((dt + INTERVAL'0 01:02:03.000000000') = TIMESTAMP'2001-01-01 01:02:03') and ((dt + INTERVAL'0 01:02:04.000000000') <> TIMESTAMP'2001-01-01 01:02:03') and (ts = (dt + INTERVAL'0 01:02:03.000000000')) and (ts <> (dt + INTERVAL'0 01:02:04.000000000')) and ts BETWEEN (dt - INTERVAL'0 01:02:03.000000000') AND (dt + INTERVAL'0 01:02:03.000000000')) (type: boolean) Statistics: Num rows: 1 Data size: 96 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ts (type: timestamp) @@ -1931,7 +1931,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: vector_interval_2 - filterExpr: ((TIMESTAMP'2001-01-01 01:02:03' = (ts + INTERVAL'0 00:00:00.000000000')) and (TIMESTAMP'2001-01-01 01:02:03' <> (ts + INTERVAL'1 00:00:00.000000000')) and TIMESTAMP'2001-01-01 01:02:03' BETWEEN (ts - INTERVAL'1 00:00:00.000000000') AND (ts + INTERVAL'1 00:00:00.000000000') and (TIMESTAMP'2001-01-01 01:02:03' < (ts + INTERVAL'1 00:00:00.000000000')) and (TIMESTAMP'2001-01-01 01:02:03' > (ts - INTERVAL'1 00:00:00.000000000')) and ((ts + INTERVAL'0 00:00:00.000000000') = TIMESTAMP'2001-01-01 01:02:03') and ((ts + INTERVAL'1 00:00:00.000000000') <> TIMESTAMP'2001-01-01 01:02:03') and ((ts + INTERVAL'1 00:00:00.000000000') > TIMESTAMP'2001-01-01 01:02:03') and ((ts - INTERVAL'1 00:00:00.000000000') < TIMESTAMP'2001-01-01 01:02:03') and (ts = (ts + INTERVAL'0 00:00:00.000000000')) and (ts <> (ts + INTERVAL'1 00:00:00.000000000')) and ts BETWEEN (ts - INTERVAL'1 00:00:00.000000000') AND (ts + INTERVAL'1 00:00:00.000000000') and (ts < (ts + INTERVAL'1 00:00:00.000000000')) and (ts > (ts - INTERVAL'1 00:00:00.000000000'))) (type: boolean) + filterExpr: ((TIMESTAMP'2001-01-01 01:02:03' < (ts + INTERVAL'1 00:00:00.000000000')) and (TIMESTAMP'2001-01-01 01:02:03' > (ts - INTERVAL'1 00:00:00.000000000')) and ((ts + INTERVAL'1 00:00:00.000000000') > TIMESTAMP'2001-01-01 01:02:03') and ((ts - INTERVAL'1 00:00:00.000000000') < TIMESTAMP'2001-01-01 01:02:03') and (ts < (ts + INTERVAL'1 00:00:00.000000000')) and (ts > (ts - INTERVAL'1 00:00:00.000000000')) and (TIMESTAMP'2001-01-01 01:02:03' = (ts + INTERVAL'0 00:00:00.000000000')) and (TIMESTAMP'2001-01-01 01:02:03' <> (ts + INTERVAL'1 00:00:00.000000000')) and TIMESTAMP'2001-01-01 01:02:03' BETWEEN (ts - INTERVAL'1 00:00:00.000000000') AND (ts + INTERVAL'1 00:00:00.000000000') and ((ts + INTERVAL'0 00:00:00.000000000') = TIMESTAMP'2001-01-01 01:02:03') and ((ts + INTERVAL'1 00:00:00.000000000') <> TIMESTAMP'2001-01-01 01:02:03') and (ts = (ts + INTERVAL'0 00:00:00.000000000')) and (ts <> (ts + INTERVAL'1 00:00:00.000000000')) and ts BETWEEN (ts - INTERVAL'1 00:00:00.000000000') AND (ts + INTERVAL'1 00:00:00.000000000')) (type: boolean) Statistics: Num rows: 2 Data size: 80 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -1939,8 +1939,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprAndExpr(children: FilterTimestampScalarEqualTimestampColumn(val 2001-01-01 01:02:03, col 7:timestamp)(children: TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 0 00:00:00.000000000) -> 7:timestamp), FilterTimestampScalarNotEqualTimestampColumn(val 2001-01-01 01:02:03, col 8:timestamp)(children: TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 8:timestamp), SelectColumnIsTrue(col 11:boolean)(children: VectorUDFAdaptor(TIMESTAMP'2001-01-01 01:02:03' BETWEEN (ts - INTERVAL'1 00:00:00.000000000') AND (ts + INTERVAL'1 00:00:00.000000000'))(children: TimestampColSubtractIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 9:timestamp, TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 10:timestamp) -> 11:boolean), FilterTimestampScalarLessTimestampColumn(val 2001-01-01 01:02:03, col 12:timestamp)(children: TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 12:timestamp), FilterTimestampScalarGreaterTimestampColumn(val 2001-01-01 01:02:03, col 13:timestamp)(children: TimestampColSubtractIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 13:timestamp), FilterTimestampColEqualTimestampScalar(col 14:timestamp, val 2001-01-01 01:02:03)(children: TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 0 00:00:00.000000000) -> 14:timestamp), FilterTimestampColNotEqualTimestampScalar(col 15:timestamp, val 2001-01-01 01:02:03)(children: TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 15:timestamp), FilterTimestampColGreaterTimestampScalar(col 16:timestamp, val 2001-01-01 01:02:03)(children: TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 16:timestamp), FilterTimestampColLessTimestampScalar(col 17:timestamp, val 2001-01-01 01:02:03)(children: TimestampColSubtractIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 17:timestamp), FilterTimestampColEqualTimestampColumn(col 0:timestamp, col 18:timestamp)(children: TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 0 00:00:00.000000000) -> 18:timestamp), FilterTimestampColNotEqualTimestampColumn(col 0:timestamp, col 19:timestamp)(children: TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 19:timestamp), SelectColumnIsTrue(col 22:boolean)(children: VectorUDFAdaptor(ts BETWEEN (ts - INTERVAL'1 00:00:00.000000000') AND (ts + INTERVAL'1 00:00:00.000000000'))(children: TimestampColSubtractIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 20:timestamp, TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 21:timestamp) -> 22:boolean), FilterTimestampColLessTimestampColumn(col 0:timestamp, col 23:timestamp)(children: TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 23:timestamp), FilterTimestampColGreaterTimestampColumn(col 0:timestamp, col 24:timestamp)(children: TimestampColSubtractIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 24:timestamp)) - predicate: (((ts + INTERVAL'0 00:00:00.000000000') = TIMESTAMP'2001-01-01 01:02:03') and ((ts + INTERVAL'1 00:00:00.000000000') <> TIMESTAMP'2001-01-01 01:02:03') and ((ts + INTERVAL'1 00:00:00.000000000') > TIMESTAMP'2001-01-01 01:02:03') and ((ts - INTERVAL'1 00:00:00.000000000') < TIMESTAMP'2001-01-01 01:02:03') and (TIMESTAMP'2001-01-01 01:02:03' < (ts + INTERVAL'1 00:00:00.000000000')) and (TIMESTAMP'2001-01-01 01:02:03' <> (ts + INTERVAL'1 00:00:00.000000000')) and (TIMESTAMP'2001-01-01 01:02:03' = (ts + INTERVAL'0 00:00:00.000000000')) and (TIMESTAMP'2001-01-01 01:02:03' > (ts - INTERVAL'1 00:00:00.000000000')) and (ts < (ts + INTERVAL'1 00:00:00.000000000')) and (ts <> (ts + INTERVAL'1 00:00:00.000000000')) and (ts = (ts + INTERVAL'0 00:00:00.000000000')) and (ts > (ts - INTERVAL'1 00:00:00.000000000')) and TIMESTAMP'2001-01-01 01:02:03' BETWEEN (ts - INTERVAL'1 00:00:00.000000000') AND (ts + INTERVAL'1 00:00:00.000000000') and ts BETWEEN (ts - INTERVAL'1 00:00:00.000000000') AND (ts + INTERVAL'1 00:00:00.000000000')) (type: boolean) + predicateExpression: FilterExprAndExpr(children: FilterTimestampScalarLessTimestampColumn(val 2001-01-01 01:02:03, col 7:timestamp)(children: TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 7:timestamp), FilterTimestampScalarGreaterTimestampColumn(val 2001-01-01 01:02:03, col 8:timestamp)(children: TimestampColSubtractIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 8:timestamp), FilterTimestampColGreaterTimestampScalar(col 9:timestamp, val 2001-01-01 01:02:03)(children: TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 9:timestamp), FilterTimestampColLessTimestampScalar(col 10:timestamp, val 2001-01-01 01:02:03)(children: TimestampColSubtractIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 10:timestamp), FilterTimestampColLessTimestampColumn(col 0:timestamp, col 11:timestamp)(children: TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 11:timestamp), FilterTimestampColGreaterTimestampColumn(col 0:timestamp, col 12:timestamp)(children: TimestampColSubtractIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 12:timestamp), FilterTimestampScalarEqualTimestampColumn(val 2001-01-01 01:02:03, col 13:timestamp)(children: TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 0 00:00:00.000000000) -> 13:timestamp), FilterTimestampScalarNotEqualTimestampColumn(val 2001-01-01 01:02:03, col 14:timestamp)(children: TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 14:timestamp), SelectColumnIsTrue(col 17:boolean)(children: VectorUDFAdaptor(TIMESTAMP'2001-01-01 01:02:03' BETWEEN (ts - INTERVAL'1 00:00:00.000000000') AND (ts + INTERVAL'1 00:00:00.000000000'))(children: TimestampColSubtractIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 15:timestamp, TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 16:timestamp) -> 17:boolean), FilterTimestampColEqualTimestampScalar(col 18:timestamp, val 2001-01-01 01:02:03)(children: TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 0 00:00:00.000000000) -> 18:timestamp), FilterTimestampColNotEqualTimestampScalar(col 19:timestamp, val 2001-01-01 01:02:03)(children: TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 19:timestamp), FilterTimestampColEqualTimestampColumn(col 0:timestamp, col 20:timestamp)(children: TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 0 00:00:00.000000000) -> 20:timestamp), FilterTimestampColNotEqualTimestampColumn(col 0:timestamp, col 21:timestamp)(children: TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 21:timestamp), SelectColumnIsTrue(col 24:boolean)(children: VectorUDFAdaptor(ts BETWEEN (ts - INTERVAL'1 00:00:00.000000000') AND (ts + INTERVAL'1 00:00:00.000000000'))(children: TimestampColSubtractIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 22:timestamp, TimestampColAddIntervalDayTimeScalar(col 0:timestamp, val 1 00:00:00.000000000) -> 23:timestamp) -> 24:boolean)) + predicate: ((TIMESTAMP'2001-01-01 01:02:03' < (ts + INTERVAL'1 00:00:00.000000000')) and (TIMESTAMP'2001-01-01 01:02:03' > (ts - INTERVAL'1 00:00:00.000000000')) and ((ts + INTERVAL'1 00:00:00.000000000') > TIMESTAMP'2001-01-01 01:02:03') and ((ts - INTERVAL'1 00:00:00.000000000') < TIMESTAMP'2001-01-01 01:02:03') and (ts < (ts + INTERVAL'1 00:00:00.000000000')) and (ts > (ts - INTERVAL'1 00:00:00.000000000')) and (TIMESTAMP'2001-01-01 01:02:03' = (ts + INTERVAL'0 00:00:00.000000000')) and (TIMESTAMP'2001-01-01 01:02:03' <> (ts + INTERVAL'1 00:00:00.000000000')) and TIMESTAMP'2001-01-01 01:02:03' BETWEEN (ts - INTERVAL'1 00:00:00.000000000') AND (ts + INTERVAL'1 00:00:00.000000000') and ((ts + INTERVAL'0 00:00:00.000000000') = TIMESTAMP'2001-01-01 01:02:03') and ((ts + INTERVAL'1 00:00:00.000000000') <> TIMESTAMP'2001-01-01 01:02:03') and (ts = (ts + INTERVAL'0 00:00:00.000000000')) and (ts <> (ts + INTERVAL'1 00:00:00.000000000')) and ts BETWEEN (ts - INTERVAL'1 00:00:00.000000000') AND (ts + INTERVAL'1 00:00:00.000000000')) (type: boolean) Statistics: Num rows: 1 Data size: 40 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ts (type: timestamp) diff --git a/ql/src/test/results/clientpositive/llap/vector_interval_mapjoin.q.out b/ql/src/test/results/clientpositive/llap/vector_interval_mapjoin.q.out index 6d4d105bb9..a75fc35b81 100644 --- a/ql/src/test/results/clientpositive/llap/vector_interval_mapjoin.q.out +++ b/ql/src/test/results/clientpositive/llap/vector_interval_mapjoin.q.out @@ -215,7 +215,7 @@ STAGE PLANS: className: VectorFilterOperator native: true 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) + predicate: (dt is not null and CAST( ts AS DATE) 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) @@ -283,7 +283,7 @@ STAGE PLANS: className: VectorFilterOperator native: true 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) + predicate: (dt is not null and CAST( ts AS DATE) 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) diff --git a/ql/src/test/results/clientpositive/llap/vector_mapjoin_reduce.q.out b/ql/src/test/results/clientpositive/llap/vector_mapjoin_reduce.q.out index 3039e3191a..4eef3d509a 100644 --- a/ql/src/test/results/clientpositive/llap/vector_mapjoin_reduce.q.out +++ b/ql/src/test/results/clientpositive/llap/vector_mapjoin_reduce.q.out @@ -43,7 +43,7 @@ STAGE PLANS: className: VectorFilterOperator native: true predicateExpression: FilterExprAndExpr(children: FilterLongColEqualLongScalar(col 3:int, val 1), SelectColumnIsNotNull(col 1:int), SelectColumnIsNotNull(col 0:int)) - predicate: ((l_linenumber = 1) and l_orderkey is not null and l_partkey is not null) (type: boolean) + predicate: ((l_linenumber = 1) and l_partkey is not null and l_orderkey is not null) (type: boolean) Statistics: Num rows: 14 Data size: 224 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: l_orderkey (type: int), l_partkey (type: int), l_suppkey (type: int) @@ -323,7 +323,7 @@ STAGE PLANS: className: VectorFilterOperator native: true predicateExpression: FilterExprAndExpr(children: FilterLongColEqualLongScalar(col 3:int, val 1), SelectColumnIsNotNull(col 1:int), SelectColumnIsNotNull(col 0:int)) - predicate: ((l_linenumber = 1) and l_orderkey is not null and l_partkey is not null) (type: boolean) + predicate: ((l_linenumber = 1) and l_partkey is not null and l_orderkey is not null) (type: boolean) Statistics: Num rows: 14 Data size: 224 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: l_orderkey (type: int), l_partkey (type: int), l_suppkey (type: int), 1 (type: int) @@ -462,7 +462,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: lineitem - filterExpr: ((l_shipmode = 'AIR') and (l_linenumber = 1) and l_orderkey is not null) (type: boolean) + filterExpr: ((l_linenumber = 1) and (l_shipmode = 'AIR') and l_orderkey is not null) (type: boolean) Statistics: Num rows: 100 Data size: 9600 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -470,7 +470,7 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprAndExpr(children: FilterStringGroupColEqualStringScalar(col 14:string, val AIR), FilterLongColEqualLongScalar(col 3:int, val 1), SelectColumnIsNotNull(col 0:int)) + predicateExpression: FilterExprAndExpr(children: FilterLongColEqualLongScalar(col 3:int, val 1), FilterStringGroupColEqualStringScalar(col 14:string, val AIR), SelectColumnIsNotNull(col 0:int)) predicate: ((l_linenumber = 1) and (l_shipmode = 'AIR') and l_orderkey is not null) (type: boolean) Statistics: Num rows: 2 Data size: 192 Basic stats: COMPLETE Column stats: COMPLETE Select Operator diff --git a/ql/src/test/results/clientpositive/llap/vector_orc_nested_column_pruning.q.out b/ql/src/test/results/clientpositive/llap/vector_orc_nested_column_pruning.q.out index 3f67e0b5a3..6c6b017694 100644 --- a/ql/src/test/results/clientpositive/llap/vector_orc_nested_column_pruning.q.out +++ b/ql/src/test/results/clientpositive/llap/vector_orc_nested_column_pruning.q.out @@ -1503,7 +1503,7 @@ STAGE PLANS: className: VectorFilterOperator native: true 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) + predicate: (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 Select Operator expressions: s1 (type: struct,f6:int>), s2 (type: struct,f11:map>>) @@ -1665,7 +1665,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: t2 - filterExpr: (s2.f8.f9 and s1.f6 is not null) (type: boolean) + filterExpr: (s1.f6 is not null and s2.f8.f9) (type: boolean) Statistics: Num rows: 1 Data size: 1468 Basic stats: COMPLETE Column stats: NONE Filter Operator predicate: (s1.f6 is not null and s2.f8.f9) (type: boolean) @@ -1815,7 +1815,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: t2 - filterExpr: (s2.f8.f9 and s1.f6 is not null and s2.f8.f9 is not null) (type: boolean) + filterExpr: (s1.f6 is not null and s2.f8.f9 is not null and s2.f8.f9) (type: boolean) Pruned Column Paths: s1.f6, s2.f8.f9 Statistics: Num rows: 1 Data size: 1468 Basic stats: COMPLETE Column stats: NONE TableScan Vectorization: @@ -1824,8 +1824,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: SelectColumnIsTrue(col 15:boolean)(children: VectorUDFAdaptor((s2.f8.f9 and s1.f6 is not null and s2.f8.f9 is not null))(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, IsNotNull(col 10:int)(children: VectorUDFStructField(col 1:struct,f6:int>, col 3:int) -> 10:int) -> 11:boolean, IsNotNull(col 13:boolean)(children: VectorUDFStructField(col 12:struct,f11:map>, col 0:int)(children: VectorUDFStructField(col 2:struct,f11:map>>, col 1:int) -> 12:struct,f11:map>) -> 13:boolean) -> 14:boolean) -> 15:boolean) - predicate: (s1.f6 is not null and s2.f8.f9 and s2.f8.f9 is not null) (type: boolean) + predicateExpression: SelectColumnIsTrue(col 15:boolean)(children: VectorUDFAdaptor((s1.f6 is not null and s2.f8.f9 is not null and s2.f8.f9))(children: IsNotNull(col 8:int)(children: VectorUDFStructField(col 1:struct,f6:int>, col 3:int) -> 8:int) -> 9:boolean, IsNotNull(col 11:boolean)(children: VectorUDFStructField(col 10:struct,f11:map>, col 0:int)(children: VectorUDFStructField(col 2:struct,f11:map>>, col 1:int) -> 10:struct,f11:map>) -> 11:boolean) -> 12:boolean, VectorUDFStructField(col 13:struct,f11:map>, col 0:int)(children: VectorUDFStructField(col 2:struct,f11:map>>, col 1:int) -> 13:struct,f11:map>) -> 14:boolean) -> 15:boolean) + predicate: (s1.f6 is not null and s2.f8.f9 is not null and s2.f8.f9) (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 (type: boolean) diff --git a/ql/src/test/results/clientpositive/llap/vector_reuse_scratchcols.q.out b/ql/src/test/results/clientpositive/llap/vector_reuse_scratchcols.q.out index 8b70a30ed6..fb3c01269d 100644 --- a/ql/src/test/results/clientpositive/llap/vector_reuse_scratchcols.q.out +++ b/ql/src/test/results/clientpositive/llap/vector_reuse_scratchcols.q.out @@ -96,7 +96,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: ((cbigint = 762L) or ((UDFToFloat(csmallint) < cfloat) and (UDFToDouble(ctimestamp2) > -5.0D) and (cdouble <> UDFToDouble(cint))) or (cstring1 = 'a') or ((CAST( cbigint AS decimal(22,3)) <= -1.389) and (cstring2 <> 'a') and (CAST( cint AS decimal(13,3)) <> 79.553) and (cboolean2 <> cboolean1))) (type: boolean) + filterExpr: (((UDFToFloat(csmallint) < cfloat) and (UDFToDouble(ctimestamp2) > -5.0D) and (cdouble <> UDFToDouble(cint))) or ((CAST( cbigint AS decimal(22,3)) <= -1.389) and (cstring2 <> 'a') and (CAST( cint AS decimal(13,3)) <> 79.553) and (cboolean2 <> cboolean1)) or (cbigint = 762L) or (cstring1 = 'a')) (type: boolean) Statistics: Num rows: 12288 Data size: 2601650 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -105,8 +105,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprOrExpr(children: FilterLongColEqualLongScalar(col 3:bigint, val 762), FilterExprAndExpr(children: FilterDoubleColLessDoubleColumn(col 13:float, col 4:float)(children: CastLongToFloatViaLongToDouble(col 1:smallint) -> 13:float), FilterDoubleColGreaterDoubleScalar(col 14:double, val -5.0)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double), FilterDoubleColNotEqualDoubleColumn(col 5:double, col 15:double)(children: CastLongToDouble(col 2:int) -> 15:double)), FilterStringGroupColEqualStringScalar(col 6:string, val a), FilterExprAndExpr(children: FilterDecimalColLessEqualDecimalScalar(col 16:decimal(22,3), val -1.389)(children: CastLongToDecimal(col 3:bigint) -> 16:decimal(22,3)), FilterStringGroupColNotEqualStringScalar(col 7:string, val a), FilterDecimalColNotEqualDecimalScalar(col 17:decimal(13,3), val 79.553)(children: CastLongToDecimal(col 2:int) -> 17:decimal(13,3)), FilterLongColNotEqualLongColumn(col 11:boolean, col 10:boolean))) - predicate: (((CAST( cbigint AS decimal(22,3)) <= -1.389) and (cstring2 <> 'a') and (CAST( cint AS decimal(13,3)) <> 79.553) and (cboolean2 <> cboolean1)) or ((UDFToFloat(csmallint) < cfloat) and (UDFToDouble(ctimestamp2) > -5.0D) and (cdouble <> UDFToDouble(cint))) or (cbigint = 762L) or (cstring1 = 'a')) (type: boolean) + predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterDoubleColLessDoubleColumn(col 13:float, col 4:float)(children: CastLongToFloatViaLongToDouble(col 1:smallint) -> 13:float), FilterDoubleColGreaterDoubleScalar(col 14:double, val -5.0)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double), FilterDoubleColNotEqualDoubleColumn(col 5:double, col 15:double)(children: CastLongToDouble(col 2:int) -> 15:double)), FilterExprAndExpr(children: FilterDecimalColLessEqualDecimalScalar(col 16:decimal(22,3), val -1.389)(children: CastLongToDecimal(col 3:bigint) -> 16:decimal(22,3)), FilterStringGroupColNotEqualStringScalar(col 7:string, val a), FilterDecimalColNotEqualDecimalScalar(col 17:decimal(13,3), val 79.553)(children: CastLongToDecimal(col 2:int) -> 17:decimal(13,3)), FilterLongColNotEqualLongColumn(col 11:boolean, col 10:boolean)), FilterLongColEqualLongScalar(col 3:bigint, val 762), FilterStringGroupColEqualStringScalar(col 6:string, val a)) + predicate: (((UDFToFloat(csmallint) < cfloat) and (UDFToDouble(ctimestamp2) > -5.0D) and (cdouble <> UDFToDouble(cint))) or ((CAST( cbigint AS decimal(22,3)) <= -1.389) and (cstring2 <> 'a') and (CAST( cint AS decimal(13,3)) <> 79.553) and (cboolean2 <> cboolean1)) or (cbigint = 762L) or (cstring1 = 'a')) (type: boolean) Statistics: Num rows: 5465 Data size: 1157230 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cint (type: int), cdouble (type: double), csmallint (type: smallint), cfloat (type: float), ctinyint (type: tinyint), UDFToDouble(cint) (type: double), (UDFToDouble(cint) * UDFToDouble(cint)) (type: double), UDFToDouble(csmallint) (type: double), (UDFToDouble(csmallint) * UDFToDouble(csmallint)) (type: double) @@ -308,7 +308,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: ((cbigint = 762L) or ((UDFToFloat(csmallint) < cfloat) and (UDFToDouble(ctimestamp2) > -5.0D) and (cdouble <> UDFToDouble(cint))) or (cstring1 = 'a') or ((CAST( cbigint AS decimal(22,3)) <= -1.389) and (cstring2 <> 'a') and (CAST( cint AS decimal(13,3)) <> 79.553) and (cboolean2 <> cboolean1))) (type: boolean) + filterExpr: (((UDFToFloat(csmallint) < cfloat) and (UDFToDouble(ctimestamp2) > -5.0D) and (cdouble <> UDFToDouble(cint))) or ((CAST( cbigint AS decimal(22,3)) <= -1.389) and (cstring2 <> 'a') and (CAST( cint AS decimal(13,3)) <> 79.553) and (cboolean2 <> cboolean1)) or (cbigint = 762L) or (cstring1 = 'a')) (type: boolean) Statistics: Num rows: 12288 Data size: 2601650 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -317,8 +317,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprOrExpr(children: FilterLongColEqualLongScalar(col 3:bigint, val 762), FilterExprAndExpr(children: FilterDoubleColLessDoubleColumn(col 13:float, col 4:float)(children: CastLongToFloatViaLongToDouble(col 1:smallint) -> 13:float), FilterDoubleColGreaterDoubleScalar(col 14:double, val -5.0)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double), FilterDoubleColNotEqualDoubleColumn(col 5:double, col 15:double)(children: CastLongToDouble(col 2:int) -> 15:double)), FilterStringGroupColEqualStringScalar(col 6:string, val a), FilterExprAndExpr(children: FilterDecimalColLessEqualDecimalScalar(col 16:decimal(22,3), val -1.389)(children: CastLongToDecimal(col 3:bigint) -> 16:decimal(22,3)), FilterStringGroupColNotEqualStringScalar(col 7:string, val a), FilterDecimalColNotEqualDecimalScalar(col 17:decimal(13,3), val 79.553)(children: CastLongToDecimal(col 2:int) -> 17:decimal(13,3)), FilterLongColNotEqualLongColumn(col 11:boolean, col 10:boolean))) - predicate: (((CAST( cbigint AS decimal(22,3)) <= -1.389) and (cstring2 <> 'a') and (CAST( cint AS decimal(13,3)) <> 79.553) and (cboolean2 <> cboolean1)) or ((UDFToFloat(csmallint) < cfloat) and (UDFToDouble(ctimestamp2) > -5.0D) and (cdouble <> UDFToDouble(cint))) or (cbigint = 762L) or (cstring1 = 'a')) (type: boolean) + predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterDoubleColLessDoubleColumn(col 13:float, col 4:float)(children: CastLongToFloatViaLongToDouble(col 1:smallint) -> 13:float), FilterDoubleColGreaterDoubleScalar(col 14:double, val -5.0)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double), FilterDoubleColNotEqualDoubleColumn(col 5:double, col 15:double)(children: CastLongToDouble(col 2:int) -> 15:double)), FilterExprAndExpr(children: FilterDecimalColLessEqualDecimalScalar(col 16:decimal(22,3), val -1.389)(children: CastLongToDecimal(col 3:bigint) -> 16:decimal(22,3)), FilterStringGroupColNotEqualStringScalar(col 7:string, val a), FilterDecimalColNotEqualDecimalScalar(col 17:decimal(13,3), val 79.553)(children: CastLongToDecimal(col 2:int) -> 17:decimal(13,3)), FilterLongColNotEqualLongColumn(col 11:boolean, col 10:boolean)), FilterLongColEqualLongScalar(col 3:bigint, val 762), FilterStringGroupColEqualStringScalar(col 6:string, val a)) + predicate: (((UDFToFloat(csmallint) < cfloat) and (UDFToDouble(ctimestamp2) > -5.0D) and (cdouble <> UDFToDouble(cint))) or ((CAST( cbigint AS decimal(22,3)) <= -1.389) and (cstring2 <> 'a') and (CAST( cint AS decimal(13,3)) <> 79.553) and (cboolean2 <> cboolean1)) or (cbigint = 762L) or (cstring1 = 'a')) (type: boolean) Statistics: Num rows: 5465 Data size: 1157230 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cint (type: int), cdouble (type: double), csmallint (type: smallint), cfloat (type: float), ctinyint (type: tinyint), UDFToDouble(cint) (type: double), (UDFToDouble(cint) * UDFToDouble(cint)) (type: double), UDFToDouble(csmallint) (type: double), (UDFToDouble(csmallint) * UDFToDouble(csmallint)) (type: double) diff --git a/ql/src/test/results/clientpositive/llap/vectorization_0.q.out b/ql/src/test/results/clientpositive/llap/vectorization_0.q.out index 09ca8c2700..56faf2c68d 100644 --- a/ql/src/test/results/clientpositive/llap/vectorization_0.q.out +++ b/ql/src/test/results/clientpositive/llap/vectorization_0.q.out @@ -1076,7 +1076,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)) (type: boolean) + filterExpr: ((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 TableScan Vectorization: native: true @@ -1085,7 +1085,7 @@ 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)) + predicateExpression: FilterExprOrExpr(children: 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), FilterStringColLikeStringScalar(col 7:string, pattern %b%)) 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 @@ -1286,7 +1286,7 @@ STAGE PLANS: GatherStats: false Filter Operator isSamplingPred: false - predicate: (((length(cstring1) < 50) and (cstring1 like '%n') and (length(cstring1) > 0)) or (cstring1 like 'a%') or (cstring1 like 'b%') or (cstring1 like 'c%')) (type: boolean) + predicate: ((cstring1 like 'a%') or (cstring1 like 'b%') or (cstring1 like 'c%') or ((length(cstring1) < 50) and (cstring1 like '%n') and (length(cstring1) > 0))) (type: boolean) Statistics: Num rows: 12288 Data size: 862450 Basic stats: COMPLETE Column stats: COMPLETE Select Operator Statistics: Num rows: 12288 Data size: 862450 Basic stats: COMPLETE Column stats: COMPLETE @@ -30106,7 +30106,7 @@ STAGE PLANS: GatherStats: false Filter Operator isSamplingPred: false - predicate: (((cint = 45) and (cfloat = 3.02)) or ((cint = 47) and (cfloat = 2.09)) or ((cint = 49) and (cfloat = 3.5))) (type: boolean) + predicate: (((cint = 49) and (cfloat = 3.5)) or ((cint = 47) and (cfloat = 2.09)) or ((cint = 45) and (cfloat = 3.02))) (type: boolean) Statistics: Num rows: 3 Data size: 930 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) @@ -30356,7 +30356,7 @@ STAGE PLANS: GatherStats: false Filter Operator isSamplingPred: false - predicate: (((cint = 45) or (cfloat = 3.02)) and ((cint = 47) or (cfloat = 2.09)) and ((cint = 49) or (cfloat = 3.5))) (type: boolean) + predicate: (((cint = 49) or (cfloat = 3.5)) and ((cint = 47) or (cfloat = 2.09)) and ((cint = 45) or (cfloat = 3.02))) (type: boolean) Statistics: Num rows: 2 Data size: 620 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) diff --git a/ql/src/test/results/clientpositive/llap/vectorization_1.q.out b/ql/src/test/results/clientpositive/llap/vectorization_1.q.out index 2b33b2f6d9..334171da91 100644 --- a/ql/src/test/results/clientpositive/llap/vectorization_1.q.out +++ b/ql/src/test/results/clientpositive/llap/vectorization_1.q.out @@ -64,7 +64,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: (((cdouble > UDFToDouble(ctinyint)) and (cboolean2 > 0)) or (cbigint < UDFToLong(ctinyint)) or (UDFToLong(cint) > cbigint) or (cboolean1 < 0)) (type: boolean) + filterExpr: ((cboolean1 < 0) or (cbigint < UDFToLong(ctinyint)) or (UDFToLong(cint) > cbigint) or ((cdouble > UDFToDouble(ctinyint)) and (cboolean2 > 0))) (type: boolean) Statistics: Num rows: 12288 Data size: 330276 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -73,8 +73,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterDoubleColGreaterDoubleColumn(col 5:double, col 13:double)(children: CastLongToDouble(col 0:tinyint) -> 13:double), FilterLongColGreaterLongScalar(col 11:boolean, val 0)), FilterLongColLessLongColumn(col 3:bigint, col 0:bigint)(children: col 0:tinyint), FilterLongColGreaterLongColumn(col 2:bigint, col 3:bigint)(children: col 2:int), FilterLongColLessLongScalar(col 10:boolean, val 0)) - predicate: (((cdouble > UDFToDouble(ctinyint)) and (cboolean2 > 0)) or (UDFToLong(cint) > cbigint) or (cbigint < UDFToLong(ctinyint)) or (cboolean1 < 0)) (type: boolean) + predicateExpression: FilterExprOrExpr(children: FilterLongColLessLongScalar(col 10:boolean, val 0), FilterLongColLessLongColumn(col 3:bigint, col 0:bigint)(children: col 0:tinyint), FilterLongColGreaterLongColumn(col 2:bigint, col 3:bigint)(children: col 2:int), FilterExprAndExpr(children: FilterDoubleColGreaterDoubleColumn(col 5:double, col 13:double)(children: CastLongToDouble(col 0:tinyint) -> 13:double), FilterLongColGreaterLongScalar(col 11:boolean, val 0))) + predicate: ((cboolean1 < 0) or (cbigint < UDFToLong(ctinyint)) or (UDFToLong(cint) > cbigint) or ((cdouble > UDFToDouble(ctinyint)) and (cboolean2 > 0))) (type: boolean) Statistics: Num rows: 12288 Data size: 330276 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ctinyint (type: tinyint), cfloat (type: float), cint (type: int), cdouble (type: double), UDFToDouble(ctinyint) (type: double), (UDFToDouble(ctinyint) * UDFToDouble(ctinyint)) (type: double), (cdouble * cdouble) (type: double) diff --git a/ql/src/test/results/clientpositive/llap/vectorization_11.q.out b/ql/src/test/results/clientpositive/llap/vectorization_11.q.out index a6e0be6fe4..ff03d60da4 100644 --- a/ql/src/test/results/clientpositive/llap/vectorization_11.q.out +++ b/ql/src/test/results/clientpositive/llap/vectorization_11.q.out @@ -49,7 +49,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: ((cstring2 = cstring1) or (ctimestamp1 is null and (cstring1 like '%a'))) (type: boolean) + filterExpr: ((ctimestamp1 is null and (cstring1 like '%a')) or (cstring2 = cstring1)) (type: boolean) Statistics: Num rows: 12288 Data size: 2381474 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -58,8 +58,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprOrExpr(children: FilterStringGroupColEqualStringGroupColumn(col 7:string, col 6:string), FilterExprAndExpr(children: SelectColumnIsNull(col 8:timestamp), FilterStringColLikeStringScalar(col 6:string, pattern %a))) - predicate: ((cstring2 = cstring1) or (ctimestamp1 is null and (cstring1 like '%a'))) (type: boolean) + predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: SelectColumnIsNull(col 8:timestamp), FilterStringColLikeStringScalar(col 6:string, pattern %a)), FilterStringGroupColEqualStringGroupColumn(col 7:string, col 6:string)) + predicate: ((ctimestamp1 is null and (cstring1 like '%a')) or (cstring2 = cstring1)) (type: boolean) Statistics: Num rows: 6144 Data size: 1190792 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cstring1 (type: string), cboolean1 (type: boolean), cdouble (type: double), ctimestamp1 (type: timestamp), (-3728 * UDFToInteger(csmallint)) (type: int), (cdouble - 9763215.5639D) (type: double), (- cdouble) (type: double), ((- cdouble) + 6981.0D) (type: double), (cdouble * -5638.15D) (type: double) diff --git a/ql/src/test/results/clientpositive/llap/vectorization_12.q.out b/ql/src/test/results/clientpositive/llap/vectorization_12.q.out index b5c7561b4c..620bc71291 100644 --- a/ql/src/test/results/clientpositive/llap/vectorization_12.q.out +++ b/ql/src/test/results/clientpositive/llap/vectorization_12.q.out @@ -87,7 +87,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: (ctimestamp1 is null and ((cboolean1 >= cboolean2) or (UDFToShort(ctinyint) <> csmallint)) and ((cstring1 like '%a') or ((cboolean2 <= 1) and (cbigint >= UDFToLong(csmallint))))) (type: boolean) + filterExpr: (((cstring1 like '%a') or ((cboolean2 <= 1) and (cbigint >= UDFToLong(csmallint)))) and ((cboolean1 >= cboolean2) or (UDFToShort(ctinyint) <> csmallint)) and ctimestamp1 is null) (type: boolean) Statistics: Num rows: 12288 Data size: 1647554 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -96,8 +96,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprAndExpr(children: SelectColumnIsNull(col 8:timestamp), FilterExprOrExpr(children: FilterLongColGreaterEqualLongColumn(col 10:boolean, col 11:boolean), FilterLongColNotEqualLongColumn(col 0:smallint, col 1:smallint)(children: col 0:tinyint)), FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 6:string, pattern %a), FilterExprAndExpr(children: FilterLongColLessEqualLongScalar(col 11:boolean, val 1), FilterLongColGreaterEqualLongColumn(col 3:bigint, col 1:bigint)(children: col 1:smallint)))) - predicate: (((cboolean1 >= cboolean2) or (UDFToShort(ctinyint) <> csmallint)) and ((cstring1 like '%a') or ((cboolean2 <= 1) and (cbigint >= UDFToLong(csmallint)))) and ctimestamp1 is null) (type: boolean) + predicateExpression: FilterExprAndExpr(children: FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 6:string, pattern %a), FilterExprAndExpr(children: FilterLongColLessEqualLongScalar(col 11:boolean, val 1), FilterLongColGreaterEqualLongColumn(col 3:bigint, col 1:bigint)(children: col 1:smallint))), FilterExprOrExpr(children: FilterLongColGreaterEqualLongColumn(col 10:boolean, col 11:boolean), FilterLongColNotEqualLongColumn(col 0:smallint, col 1:smallint)(children: col 0:tinyint)), SelectColumnIsNull(col 8:timestamp)) + predicate: (((cstring1 like '%a') or ((cboolean2 <= 1) and (cbigint >= UDFToLong(csmallint)))) and ((cboolean1 >= cboolean2) or (UDFToShort(ctinyint) <> csmallint)) and ctimestamp1 is null) (type: boolean) Statistics: Num rows: 1 Data size: 166 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cbigint (type: bigint), cboolean1 (type: boolean), cstring1 (type: string), cdouble (type: double), UDFToDouble(cbigint) (type: double), (UDFToDouble(cbigint) * UDFToDouble(cbigint)) (type: double), (cdouble * cdouble) (type: double) diff --git a/ql/src/test/results/clientpositive/llap/vectorization_14.q.out b/ql/src/test/results/clientpositive/llap/vectorization_14.q.out index 1ff71547db..84c1e3515e 100644 --- a/ql/src/test/results/clientpositive/llap/vectorization_14.q.out +++ b/ql/src/test/results/clientpositive/llap/vectorization_14.q.out @@ -89,7 +89,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: ((UDFToLong(ctinyint) <= cbigint) and ((UDFToDouble(cint) <= cdouble) or (ctimestamp2 < ctimestamp1)) and (cdouble < UDFToDouble(ctinyint)) and ((cbigint > -257L) or (cfloat < UDFToFloat(cint)))) (type: boolean) + filterExpr: ((UDFToLong(ctinyint) <= cbigint) and (cdouble < UDFToDouble(ctinyint)) and ((cbigint > -257L) or (cfloat < UDFToFloat(cint))) and ((UDFToDouble(cint) <= cdouble) or (ctimestamp2 < ctimestamp1))) (type: boolean) Statistics: Num rows: 12288 Data size: 2139070 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -98,8 +98,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprAndExpr(children: FilterLongColLessEqualLongColumn(col 0:bigint, col 3:bigint)(children: col 0:tinyint), FilterExprOrExpr(children: FilterDoubleColLessEqualDoubleColumn(col 13:double, col 5:double)(children: CastLongToDouble(col 2:int) -> 13:double), FilterTimestampColLessTimestampColumn(col 9:timestamp, col 8:timestamp)), FilterDoubleColLessDoubleColumn(col 5:double, col 14:double)(children: CastLongToDouble(col 0:tinyint) -> 14:double), FilterExprOrExpr(children: FilterLongColGreaterLongScalar(col 3:bigint, val -257), FilterDoubleColLessDoubleColumn(col 4:float, col 15:float)(children: CastLongToFloatViaLongToDouble(col 2:int) -> 15:float))) - predicate: (((UDFToDouble(cint) <= cdouble) or (ctimestamp2 < ctimestamp1)) and ((cbigint > -257L) or (cfloat < UDFToFloat(cint))) and (UDFToLong(ctinyint) <= cbigint) and (cdouble < UDFToDouble(ctinyint))) (type: boolean) + predicateExpression: FilterExprAndExpr(children: FilterLongColLessEqualLongColumn(col 0:bigint, col 3:bigint)(children: col 0:tinyint), FilterDoubleColLessDoubleColumn(col 5:double, col 13:double)(children: CastLongToDouble(col 0:tinyint) -> 13:double), FilterExprOrExpr(children: FilterLongColGreaterLongScalar(col 3:bigint, val -257), FilterDoubleColLessDoubleColumn(col 4:float, col 14:float)(children: CastLongToFloatViaLongToDouble(col 2:int) -> 14:float)), FilterExprOrExpr(children: FilterDoubleColLessEqualDoubleColumn(col 15:double, col 5:double)(children: CastLongToDouble(col 2:int) -> 15:double), FilterTimestampColLessTimestampColumn(col 9:timestamp, col 8:timestamp))) + predicate: ((UDFToLong(ctinyint) <= cbigint) and (cdouble < UDFToDouble(ctinyint)) and ((cbigint > -257L) or (cfloat < UDFToFloat(cint))) and ((UDFToDouble(cint) <= cdouble) or (ctimestamp2 < ctimestamp1))) (type: boolean) Statistics: Num rows: 606 Data size: 105558 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ctimestamp1 (type: timestamp), cfloat (type: float), cstring1 (type: string), cboolean1 (type: boolean), cdouble (type: double), (- (-26.28D + cdouble)) (type: double), ((- (-26.28D + cdouble)) * (- (-26.28D + cdouble))) (type: double), UDFToDouble(cfloat) (type: double), (UDFToDouble(cfloat) * UDFToDouble(cfloat)) (type: double) diff --git a/ql/src/test/results/clientpositive/llap/vectorization_15.q.out b/ql/src/test/results/clientpositive/llap/vectorization_15.q.out index 21d29dd761..f7423ef0b2 100644 --- a/ql/src/test/results/clientpositive/llap/vectorization_15.q.out +++ b/ql/src/test/results/clientpositive/llap/vectorization_15.q.out @@ -85,7 +85,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: ((cstring2 like '%ss%') or (cstring1 like '10%') or ((cint >= -75) and (UDFToShort(ctinyint) = csmallint) and (cdouble >= -3728.0D))) (type: boolean) + filterExpr: ((cstring1 like '10%') or (cstring2 like '%ss%') or ((cint >= -75) and (UDFToShort(ctinyint) = csmallint) and (cdouble >= -3728.0D))) (type: boolean) Statistics: Num rows: 12288 Data size: 2491562 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -94,8 +94,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 7:string, pattern %ss%), FilterStringColLikeStringScalar(col 6:string, pattern 10%), FilterExprAndExpr(children: FilterLongColGreaterEqualLongScalar(col 2:int, val -75), FilterLongColEqualLongColumn(col 0:smallint, col 1:smallint)(children: col 0:tinyint), FilterDoubleColGreaterEqualDoubleScalar(col 5:double, val -3728.0))) - predicate: (((cint >= -75) and (UDFToShort(ctinyint) = csmallint) and (cdouble >= -3728.0D)) or (cstring1 like '10%') or (cstring2 like '%ss%')) (type: boolean) + predicateExpression: FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 6:string, pattern 10%), FilterStringColLikeStringScalar(col 7:string, pattern %ss%), FilterExprAndExpr(children: FilterLongColGreaterEqualLongScalar(col 2:int, val -75), FilterLongColEqualLongColumn(col 0:smallint, col 1:smallint)(children: col 0:tinyint), FilterDoubleColGreaterEqualDoubleScalar(col 5:double, val -3728.0))) + predicate: ((cstring1 like '10%') or (cstring2 like '%ss%') or ((cint >= -75) and (UDFToShort(ctinyint) = csmallint) and (cdouble >= -3728.0D))) (type: boolean) Statistics: Num rows: 12288 Data size: 2491562 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cfloat (type: float), cboolean1 (type: boolean), cdouble (type: double), cstring1 (type: string), ctinyint (type: tinyint), cint (type: int), ctimestamp1 (type: timestamp), UDFToDouble(cfloat) (type: double), (UDFToDouble(cfloat) * UDFToDouble(cfloat)) (type: double), UDFToDouble(ctinyint) (type: double), (UDFToDouble(ctinyint) * UDFToDouble(ctinyint)) (type: double), UDFToDouble(cint) (type: double), (UDFToDouble(cint) * UDFToDouble(cint)) (type: double) diff --git a/ql/src/test/results/clientpositive/llap/vectorization_17.q.out b/ql/src/test/results/clientpositive/llap/vectorization_17.q.out index 98e92fe74a..ff11dfa7bb 100644 --- a/ql/src/test/results/clientpositive/llap/vectorization_17.q.out +++ b/ql/src/test/results/clientpositive/llap/vectorization_17.q.out @@ -70,7 +70,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: ((cbigint > -23L) and ((cdouble <> 988888.0D) or (CAST( cint AS decimal(13,3)) > -863.257)) and ((ctinyint >= 33Y) or (UDFToLong(csmallint) >= cbigint) or (UDFToDouble(cfloat) = cdouble))) (type: boolean) + filterExpr: ((cbigint > -23L) and ((ctinyint >= 33Y) or (UDFToLong(csmallint) >= cbigint) or (UDFToDouble(cfloat) = cdouble)) and ((cdouble <> 988888.0D) or (CAST( cint AS decimal(13,3)) > -863.257))) (type: boolean) Statistics: Num rows: 12288 Data size: 1647550 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -79,8 +79,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprAndExpr(children: FilterLongColGreaterLongScalar(col 3:bigint, val -23), FilterExprOrExpr(children: FilterDoubleColNotEqualDoubleScalar(col 5:double, val 988888.0), FilterDecimalColGreaterDecimalScalar(col 13:decimal(13,3), val -863.257)(children: CastLongToDecimal(col 2:int) -> 13:decimal(13,3))), FilterExprOrExpr(children: FilterLongColGreaterEqualLongScalar(col 0:tinyint, val 33), FilterLongColGreaterEqualLongColumn(col 1:bigint, col 3:bigint)(children: col 1:smallint), FilterDoubleColEqualDoubleColumn(col 4:double, col 5:double)(children: col 4:float))) - predicate: (((cdouble <> 988888.0D) or (CAST( cint AS decimal(13,3)) > -863.257)) and ((ctinyint >= 33Y) or (UDFToLong(csmallint) >= cbigint) or (UDFToDouble(cfloat) = cdouble)) and (cbigint > -23L)) (type: boolean) + predicateExpression: FilterExprAndExpr(children: FilterLongColGreaterLongScalar(col 3:bigint, val -23), FilterExprOrExpr(children: FilterLongColGreaterEqualLongScalar(col 0:tinyint, val 33), FilterLongColGreaterEqualLongColumn(col 1:bigint, col 3:bigint)(children: col 1:smallint), FilterDoubleColEqualDoubleColumn(col 4:double, col 5:double)(children: col 4:float)), FilterExprOrExpr(children: FilterDoubleColNotEqualDoubleScalar(col 5:double, val 988888.0), FilterDecimalColGreaterDecimalScalar(col 13:decimal(13,3), val -863.257)(children: CastLongToDecimal(col 2:int) -> 13:decimal(13,3)))) + predicate: ((cbigint > -23L) and ((ctinyint >= 33Y) or (UDFToLong(csmallint) >= cbigint) or (UDFToDouble(cfloat) = cdouble)) and ((cdouble <> 988888.0D) or (CAST( cint AS decimal(13,3)) > -863.257))) (type: boolean) Statistics: Num rows: 4096 Data size: 549274 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cfloat (type: float), cstring1 (type: string), cint (type: int), ctimestamp1 (type: timestamp), cdouble (type: double), cbigint (type: bigint), (UDFToDouble(cfloat) / UDFToDouble(ctinyint)) (type: double), (UDFToLong(cint) % cbigint) (type: bigint), (- cdouble) (type: double), (cdouble + (UDFToDouble(cfloat) / UDFToDouble(ctinyint))) (type: double), (cdouble / UDFToDouble(cint)) (type: double), (- (- cdouble)) (type: double), (9763215.5639 % CAST( cbigint AS decimal(19,0))) (type: decimal(11,4)), (2563.58D + (- (- cdouble))) (type: double) diff --git a/ql/src/test/results/clientpositive/llap/vectorization_2.q.out b/ql/src/test/results/clientpositive/llap/vectorization_2.q.out index d2f41555fe..33c34a1642 100644 --- a/ql/src/test/results/clientpositive/llap/vectorization_2.q.out +++ b/ql/src/test/results/clientpositive/llap/vectorization_2.q.out @@ -68,7 +68,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: (((ctimestamp1 < ctimestamp2) and (cstring2 like 'b%') and (cfloat <= -5638.15)) or ((cdouble < UDFToDouble(ctinyint)) and ((UDFToDouble(ctimestamp2) <> -10669.0D) or (cint < 359)))) (type: boolean) + filterExpr: (((cdouble < UDFToDouble(ctinyint)) and ((UDFToDouble(ctimestamp2) <> -10669.0D) or (cint < 359))) or ((ctimestamp1 < ctimestamp2) and (cstring2 like 'b%') and (cfloat <= -5638.15))) (type: boolean) Statistics: Num rows: 12288 Data size: 2157324 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -77,7 +77,7 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterTimestampColLessTimestampColumn(col 8:timestamp, col 9:timestamp), FilterStringColLikeStringScalar(col 7:string, pattern b%), FilterDoubleColLessEqualDoubleScalar(col 4:float, val -5638.14990234375)), FilterExprAndExpr(children: FilterDoubleColLessDoubleColumn(col 5:double, col 13:double)(children: CastLongToDouble(col 0:tinyint) -> 13:double), FilterExprOrExpr(children: FilterDoubleColNotEqualDoubleScalar(col 14:double, val -10669.0)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double), FilterLongColLessLongScalar(col 2:int, val 359)))) + predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterDoubleColLessDoubleColumn(col 5:double, col 13:double)(children: CastLongToDouble(col 0:tinyint) -> 13:double), FilterExprOrExpr(children: FilterDoubleColNotEqualDoubleScalar(col 14:double, val -10669.0)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double), FilterLongColLessLongScalar(col 2:int, val 359))), FilterExprAndExpr(children: FilterTimestampColLessTimestampColumn(col 8:timestamp, col 9:timestamp), FilterStringColLikeStringScalar(col 7:string, pattern b%), FilterDoubleColLessEqualDoubleScalar(col 4:float, val -5638.14990234375))) predicate: (((cdouble < UDFToDouble(ctinyint)) and ((UDFToDouble(ctimestamp2) <> -10669.0D) or (cint < 359))) or ((ctimestamp1 < ctimestamp2) and (cstring2 like 'b%') and (cfloat <= -5638.15))) (type: boolean) Statistics: Num rows: 4096 Data size: 719232 Basic stats: COMPLETE Column stats: COMPLETE Select Operator diff --git a/ql/src/test/results/clientpositive/llap/vectorization_4.q.out b/ql/src/test/results/clientpositive/llap/vectorization_4.q.out index 9bd33105d7..ddcc12d4d2 100644 --- a/ql/src/test/results/clientpositive/llap/vectorization_4.q.out +++ b/ql/src/test/results/clientpositive/llap/vectorization_4.q.out @@ -68,7 +68,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: ((UDFToInteger(csmallint) >= cint) or ((UDFToInteger(ctinyint) <= -89010) and (cdouble > 79.553D)) or ((cbigint <> -563L) and ((UDFToLong(ctinyint) <> cbigint) or (cdouble <= -3728.0D)))) (type: boolean) + filterExpr: ((UDFToInteger(csmallint) >= cint) or ((cbigint <> -563L) and ((UDFToLong(ctinyint) <> cbigint) or (cdouble <= -3728.0D))) or ((UDFToInteger(ctinyint) <= -89010) and (cdouble > 79.553D))) (type: boolean) Statistics: Num rows: 12288 Data size: 256884 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -77,8 +77,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprOrExpr(children: FilterLongColGreaterEqualLongColumn(col 1:int, col 2:int)(children: col 1:smallint), FilterExprAndExpr(children: FilterLongColLessEqualLongScalar(col 0:int, val -89010)(children: col 0:tinyint), FilterDoubleColGreaterDoubleScalar(col 5:double, val 79.553)), FilterExprAndExpr(children: FilterLongColNotEqualLongScalar(col 3:bigint, val -563), FilterExprOrExpr(children: FilterLongColNotEqualLongColumn(col 0:bigint, col 3:bigint)(children: col 0:tinyint), FilterDoubleColLessEqualDoubleScalar(col 5:double, val -3728.0)))) - predicate: (((UDFToInteger(ctinyint) <= -89010) and (cdouble > 79.553D)) or ((cbigint <> -563L) and ((UDFToLong(ctinyint) <> cbigint) or (cdouble <= -3728.0D))) or (UDFToInteger(csmallint) >= cint)) (type: boolean) + predicateExpression: FilterExprOrExpr(children: FilterLongColGreaterEqualLongColumn(col 1:int, col 2:int)(children: col 1:smallint), FilterExprAndExpr(children: FilterLongColNotEqualLongScalar(col 3:bigint, val -563), FilterExprOrExpr(children: FilterLongColNotEqualLongColumn(col 0:bigint, col 3:bigint)(children: col 0:tinyint), FilterDoubleColLessEqualDoubleScalar(col 5:double, val -3728.0))), FilterExprAndExpr(children: FilterLongColLessEqualLongScalar(col 0:int, val -89010)(children: col 0:tinyint), FilterDoubleColGreaterDoubleScalar(col 5:double, val 79.553))) + predicate: ((UDFToInteger(csmallint) >= cint) or ((cbigint <> -563L) and ((UDFToLong(ctinyint) <> cbigint) or (cdouble <= -3728.0D))) or ((UDFToInteger(ctinyint) <= -89010) and (cdouble > 79.553D))) (type: boolean) Statistics: Num rows: 12288 Data size: 256884 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cint (type: int), cdouble (type: double), ctinyint (type: tinyint), (cdouble * cdouble) (type: double) diff --git a/ql/src/test/results/clientpositive/llap/vectorization_6.q.out b/ql/src/test/results/clientpositive/llap/vectorization_6.q.out index 3762cc939b..23262fd5da 100644 --- a/ql/src/test/results/clientpositive/llap/vectorization_6.q.out +++ b/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 (((cstring2 like '%a') or (cfloat <= -257.0)) and cbigint is not null))) (type: boolean) + filterExpr: ((((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: 12288 Data size: 2110130 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -70,7 +70,7 @@ 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: FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 7:string, pattern %a), FilterDoubleColLessEqualDoubleScalar(col 4:float, val -257.0)), SelectColumnIsNotNull(col 3:bigint)))) + predicateExpression: FilterExprAndExpr(children: 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))), FilterLongColNotEqualLongScalar(col 0:tinyint, val 0)) 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 diff --git a/ql/src/test/results/clientpositive/llap/vectorization_7.q.out b/ql/src/test/results/clientpositive/llap/vectorization_7.q.out index 83a302733e..ef03189910 100644 --- a/ql/src/test/results/clientpositive/llap/vectorization_7.q.out +++ b/ql/src/test/results/clientpositive/llap/vectorization_7.q.out @@ -76,7 +76,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: ((ctinyint <> 0Y) and ((UDFToDouble(ctimestamp1) <= -28800.0D) or (UDFToInteger(ctinyint) = cint) or (cstring2 like 'ss')) and ((cdouble > 988888.0D) or ((UDFToDouble(ctimestamp2) > -28815.0D) and (cdouble <= 3569.0D)))) (type: boolean) + filterExpr: (((cdouble > 988888.0D) or ((UDFToDouble(ctimestamp2) > -28815.0D) and (cdouble <= 3569.0D))) and ((UDFToDouble(ctimestamp1) <= -28800.0D) or (UDFToInteger(ctinyint) = cint) or (cstring2 like 'ss')) and (ctinyint <> 0Y)) (type: boolean) Statistics: Num rows: 12288 Data size: 3019778 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -85,8 +85,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprAndExpr(children: FilterLongColNotEqualLongScalar(col 0:tinyint, val 0), FilterExprOrExpr(children: FilterDoubleColLessEqualDoubleScalar(col 13:double, val -28800.0)(children: CastTimestampToDouble(col 8:timestamp) -> 13:double), FilterLongColEqualLongColumn(col 0:int, col 2:int)(children: col 0:tinyint), FilterStringColLikeStringScalar(col 7:string, pattern ss)), FilterExprOrExpr(children: FilterDoubleColGreaterDoubleScalar(col 5:double, val 988888.0), FilterExprAndExpr(children: FilterDoubleColGreaterDoubleScalar(col 14:double, val -28815.0)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double), FilterDoubleColLessEqualDoubleScalar(col 5:double, val 3569.0)))) - predicate: (((UDFToDouble(ctimestamp1) <= -28800.0D) or (UDFToInteger(ctinyint) = cint) or (cstring2 like 'ss')) and ((cdouble > 988888.0D) or ((UDFToDouble(ctimestamp2) > -28815.0D) and (cdouble <= 3569.0D))) and (ctinyint <> 0Y)) (type: boolean) + predicateExpression: FilterExprAndExpr(children: FilterExprOrExpr(children: FilterDoubleColGreaterDoubleScalar(col 5:double, val 988888.0), FilterExprAndExpr(children: FilterDoubleColGreaterDoubleScalar(col 13:double, val -28815.0)(children: CastTimestampToDouble(col 9:timestamp) -> 13:double), FilterDoubleColLessEqualDoubleScalar(col 5:double, val 3569.0))), FilterExprOrExpr(children: FilterDoubleColLessEqualDoubleScalar(col 14:double, val -28800.0)(children: CastTimestampToDouble(col 8:timestamp) -> 14:double), FilterLongColEqualLongColumn(col 0:int, col 2:int)(children: col 0:tinyint), FilterStringColLikeStringScalar(col 7:string, pattern ss)), FilterLongColNotEqualLongScalar(col 0:tinyint, val 0)) + predicate: (((cdouble > 988888.0D) or ((UDFToDouble(ctimestamp2) > -28815.0D) and (cdouble <= 3569.0D))) and ((UDFToDouble(ctimestamp1) <= -28800.0D) or (UDFToInteger(ctinyint) = cint) or (cstring2 like 'ss')) and (ctinyint <> 0Y)) (type: boolean) Statistics: Num rows: 5461 Data size: 1342196 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cboolean1 (type: boolean), cbigint (type: bigint), csmallint (type: smallint), ctinyint (type: tinyint), ctimestamp1 (type: timestamp), cstring1 (type: string), (cbigint + cbigint) (type: bigint), (UDFToInteger(csmallint) % -257) (type: int), (- csmallint) (type: smallint), (- ctinyint) (type: tinyint), (UDFToInteger((- ctinyint)) + 17) (type: int), (cbigint * UDFToLong((- csmallint))) (type: bigint), (cint % UDFToInteger(csmallint)) (type: int), (- ctinyint) (type: tinyint), ((- ctinyint) % ctinyint) (type: tinyint) @@ -330,7 +330,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: ((ctinyint <> 0Y) and ((UDFToDouble(ctimestamp1) <= -28800.0D) or (UDFToInteger(ctinyint) = cint) or (cstring2 like 'ss')) and ((cdouble > 988888.0D) or ((UDFToDouble(ctimestamp2) > -28792.315D) and (cdouble <= 3569.0D)))) (type: boolean) + filterExpr: (((cdouble > 988888.0D) or ((UDFToDouble(ctimestamp2) > -28792.315D) and (cdouble <= 3569.0D))) and ((UDFToDouble(ctimestamp1) <= -28800.0D) or (UDFToInteger(ctinyint) = cint) or (cstring2 like 'ss')) and (ctinyint <> 0Y)) (type: boolean) Statistics: Num rows: 12288 Data size: 3019778 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -338,8 +338,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprAndExpr(children: FilterLongColNotEqualLongScalar(col 0:tinyint, val 0), FilterExprOrExpr(children: FilterDoubleColLessEqualDoubleScalar(col 13:double, val -28800.0)(children: CastTimestampToDouble(col 8:timestamp) -> 13:double), FilterLongColEqualLongColumn(col 0:int, col 2:int)(children: col 0:tinyint), FilterStringColLikeStringScalar(col 7:string, pattern ss)), FilterExprOrExpr(children: FilterDoubleColGreaterDoubleScalar(col 5:double, val 988888.0), FilterExprAndExpr(children: FilterDoubleColGreaterDoubleScalar(col 14:double, val -28792.315)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double), FilterDoubleColLessEqualDoubleScalar(col 5:double, val 3569.0)))) - predicate: (((UDFToDouble(ctimestamp1) <= -28800.0D) or (UDFToInteger(ctinyint) = cint) or (cstring2 like 'ss')) and ((cdouble > 988888.0D) or ((UDFToDouble(ctimestamp2) > -28792.315D) and (cdouble <= 3569.0D))) and (ctinyint <> 0Y)) (type: boolean) + predicateExpression: FilterExprAndExpr(children: FilterExprOrExpr(children: FilterDoubleColGreaterDoubleScalar(col 5:double, val 988888.0), FilterExprAndExpr(children: FilterDoubleColGreaterDoubleScalar(col 13:double, val -28792.315)(children: CastTimestampToDouble(col 9:timestamp) -> 13:double), FilterDoubleColLessEqualDoubleScalar(col 5:double, val 3569.0))), FilterExprOrExpr(children: FilterDoubleColLessEqualDoubleScalar(col 14:double, val -28800.0)(children: CastTimestampToDouble(col 8:timestamp) -> 14:double), FilterLongColEqualLongColumn(col 0:int, col 2:int)(children: col 0:tinyint), FilterStringColLikeStringScalar(col 7:string, pattern ss)), FilterLongColNotEqualLongScalar(col 0:tinyint, val 0)) + predicate: (((cdouble > 988888.0D) or ((UDFToDouble(ctimestamp2) > -28792.315D) and (cdouble <= 3569.0D))) and ((UDFToDouble(ctimestamp1) <= -28800.0D) or (UDFToInteger(ctinyint) = cint) or (cstring2 like 'ss')) and (ctinyint <> 0Y)) (type: boolean) Statistics: Num rows: 5461 Data size: 1342196 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cboolean1 (type: boolean), cbigint (type: bigint), csmallint (type: smallint), ctinyint (type: tinyint), ctimestamp1 (type: timestamp), cstring1 (type: string), (cbigint + cbigint) (type: bigint), (UDFToInteger(csmallint) % -257) (type: int), (- csmallint) (type: smallint), (- ctinyint) (type: tinyint), (UDFToInteger((- ctinyint)) + 17) (type: int), (cbigint * UDFToLong((- csmallint))) (type: bigint), (cint % UDFToInteger(csmallint)) (type: int), (- ctinyint) (type: tinyint), ((- ctinyint) % ctinyint) (type: tinyint) diff --git a/ql/src/test/results/clientpositive/llap/vectorization_8.q.out b/ql/src/test/results/clientpositive/llap/vectorization_8.q.out index 7d0594ae8f..eaa1f4dc1b 100644 --- a/ql/src/test/results/clientpositive/llap/vectorization_8.q.out +++ b/ql/src/test/results/clientpositive/llap/vectorization_8.q.out @@ -72,7 +72,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - 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) + filterExpr: ((cfloat < -6432.0) or ((UDFToDouble(ctimestamp1) <= 10.0D) and (UDFToDouble(ctimestamp2) <> 16.0D) and cstring2 is not null) 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: 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) + predicateExpression: FilterExprOrExpr(children: FilterDoubleColLessDoubleScalar(col 4:float, val -6432.0), 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)), FilterExprAndExpr(children: FilterDoubleColEqualDoubleScalar(col 5:double, val 988888.0), SelectColumnIsNotNull(col 10:boolean))) + predicate: ((cfloat < -6432.0) or ((UDFToDouble(ctimestamp1) <= 10.0D) and (UDFToDouble(ctimestamp2) <> 16.0D) and cstring2 is not null) or ((cdouble = 988888.0D) and cboolean1 is not null)) (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: (((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) + filterExpr: ((cfloat < -6432.0) or ((UDFToDouble(ctimestamp1) <= 12.503D) and (UDFToDouble(ctimestamp2) <> 11.998D) and cstring2 is not null) 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: 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) + predicateExpression: FilterExprOrExpr(children: FilterDoubleColLessDoubleScalar(col 4:float, val -6432.0), 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)), FilterExprAndExpr(children: FilterDoubleColEqualDoubleScalar(col 5:double, val 988888.0), SelectColumnIsNotNull(col 10:boolean))) + predicate: ((cfloat < -6432.0) or ((UDFToDouble(ctimestamp1) <= 12.503D) and (UDFToDouble(ctimestamp2) <> 11.998D) and cstring2 is not null) or ((cdouble = 988888.0D) and cboolean1 is not null)) (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 a/ql/src/test/results/clientpositive/llap/vectorization_limit.q.out b/ql/src/test/results/clientpositive/llap/vectorization_limit.q.out index 750b364b16..4ed197813e 100644 --- a/ql/src/test/results/clientpositive/llap/vectorization_limit.q.out +++ b/ql/src/test/results/clientpositive/llap/vectorization_limit.q.out @@ -29,10 +29,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: ((UDFToDouble(cbigint) < cdouble) and (cint > 0)) (type: boolean) + filterExpr: ((cint > 0) and (UDFToDouble(cbigint) < cdouble)) (type: boolean) Statistics: Num rows: 12288 Data size: 183488 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((UDFToDouble(cbigint) < cdouble) and (cint > 0)) (type: boolean) + predicate: ((cint > 0) and (UDFToDouble(cbigint) < cdouble)) (type: boolean) Statistics: Num rows: 1365 Data size: 20400 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cbigint (type: bigint), cdouble (type: double) diff --git a/ql/src/test/results/clientpositive/llap/vectorization_short_regress.q.out b/ql/src/test/results/clientpositive/llap/vectorization_short_regress.q.out index 900cfa393a..263b3d8aa3 100644 --- a/ql/src/test/results/clientpositive/llap/vectorization_short_regress.q.out +++ b/ql/src/test/results/clientpositive/llap/vectorization_short_regress.q.out @@ -96,7 +96,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: ((cbigint = 762L) or ((UDFToFloat(csmallint) < cfloat) and (UDFToDouble(ctimestamp2) > -5.0D) and (cdouble <> UDFToDouble(cint))) or (cstring1 = 'a') or ((CAST( cbigint AS decimal(22,3)) <= -1.389) and (cstring2 <> 'a') and (CAST( cint AS decimal(13,3)) <> 79.553) and (cboolean2 <> cboolean1))) (type: boolean) + filterExpr: (((UDFToFloat(csmallint) < cfloat) and (UDFToDouble(ctimestamp2) > -5.0D) and (cdouble <> UDFToDouble(cint))) or ((CAST( cbigint AS decimal(22,3)) <= -1.389) and (cstring2 <> 'a') and (CAST( cint AS decimal(13,3)) <> 79.553) and (cboolean2 <> cboolean1)) or (cbigint = 762L) or (cstring1 = 'a')) (type: boolean) Statistics: Num rows: 12288 Data size: 2601650 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -104,8 +104,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprOrExpr(children: FilterLongColEqualLongScalar(col 3:bigint, val 762), FilterExprAndExpr(children: FilterDoubleColLessDoubleColumn(col 13:float, col 4:float)(children: CastLongToFloatViaLongToDouble(col 1:smallint) -> 13:float), FilterDoubleColGreaterDoubleScalar(col 14:double, val -5.0)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double), FilterDoubleColNotEqualDoubleColumn(col 5:double, col 15:double)(children: CastLongToDouble(col 2:int) -> 15:double)), FilterStringGroupColEqualStringScalar(col 6:string, val a), FilterExprAndExpr(children: FilterDecimalColLessEqualDecimalScalar(col 16:decimal(22,3), val -1.389)(children: CastLongToDecimal(col 3:bigint) -> 16:decimal(22,3)), FilterStringGroupColNotEqualStringScalar(col 7:string, val a), FilterDecimalColNotEqualDecimalScalar(col 17:decimal(13,3), val 79.553)(children: CastLongToDecimal(col 2:int) -> 17:decimal(13,3)), FilterLongColNotEqualLongColumn(col 11:boolean, col 10:boolean))) - predicate: (((CAST( cbigint AS decimal(22,3)) <= -1.389) and (cstring2 <> 'a') and (CAST( cint AS decimal(13,3)) <> 79.553) and (cboolean2 <> cboolean1)) or ((UDFToFloat(csmallint) < cfloat) and (UDFToDouble(ctimestamp2) > -5.0D) and (cdouble <> UDFToDouble(cint))) or (cbigint = 762L) or (cstring1 = 'a')) (type: boolean) + predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterDoubleColLessDoubleColumn(col 13:float, col 4:float)(children: CastLongToFloatViaLongToDouble(col 1:smallint) -> 13:float), FilterDoubleColGreaterDoubleScalar(col 14:double, val -5.0)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double), FilterDoubleColNotEqualDoubleColumn(col 5:double, col 15:double)(children: CastLongToDouble(col 2:int) -> 15:double)), FilterExprAndExpr(children: FilterDecimalColLessEqualDecimalScalar(col 16:decimal(22,3), val -1.389)(children: CastLongToDecimal(col 3:bigint) -> 16:decimal(22,3)), FilterStringGroupColNotEqualStringScalar(col 7:string, val a), FilterDecimalColNotEqualDecimalScalar(col 17:decimal(13,3), val 79.553)(children: CastLongToDecimal(col 2:int) -> 17:decimal(13,3)), FilterLongColNotEqualLongColumn(col 11:boolean, col 10:boolean)), FilterLongColEqualLongScalar(col 3:bigint, val 762), FilterStringGroupColEqualStringScalar(col 6:string, val a)) + predicate: (((UDFToFloat(csmallint) < cfloat) and (UDFToDouble(ctimestamp2) > -5.0D) and (cdouble <> UDFToDouble(cint))) or ((CAST( cbigint AS decimal(22,3)) <= -1.389) and (cstring2 <> 'a') and (CAST( cint AS decimal(13,3)) <> 79.553) and (cboolean2 <> cboolean1)) or (cbigint = 762L) or (cstring1 = 'a')) (type: boolean) Statistics: Num rows: 5465 Data size: 1157230 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cint (type: int), cdouble (type: double), csmallint (type: smallint), cfloat (type: float), ctinyint (type: tinyint), UDFToDouble(cint) (type: double), (UDFToDouble(cint) * UDFToDouble(cint)) (type: double), UDFToDouble(csmallint) (type: double), (UDFToDouble(csmallint) * UDFToDouble(csmallint)) (type: double) @@ -364,7 +364,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: (((cbigint <= 197L) and (UDFToLong(cint) < cbigint)) or ((cdouble >= -26.28D) and (UDFToDouble(csmallint) > cdouble)) or ((UDFToFloat(ctinyint) > cfloat) and cstring1 regexp '.*ss.*') or ((cfloat > 79.553) and (cstring2 like '10%'))) (type: boolean) + filterExpr: (((cdouble >= -26.28D) and (UDFToDouble(csmallint) > cdouble)) or ((cbigint <= 197L) and (UDFToLong(cint) < cbigint)) or ((cfloat > 79.553) and (cstring2 like '10%')) or ((UDFToFloat(ctinyint) > cfloat) and cstring1 regexp '.*ss.*')) (type: boolean) Statistics: Num rows: 12288 Data size: 2036734 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -372,8 +372,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterLongColLessEqualLongScalar(col 3:bigint, val 197), FilterLongColLessLongColumn(col 2:bigint, col 3:bigint)(children: col 2:int)), FilterExprAndExpr(children: FilterDoubleColGreaterEqualDoubleScalar(col 5:double, val -26.28), FilterDoubleColGreaterDoubleColumn(col 13:double, col 5:double)(children: CastLongToDouble(col 1:smallint) -> 13:double)), FilterExprAndExpr(children: FilterDoubleColGreaterDoubleColumn(col 14:float, col 4:float)(children: CastLongToFloatViaLongToDouble(col 0:tinyint) -> 14:float), FilterStringColRegExpStringScalar(col 6:string, pattern .*ss.*)), FilterExprAndExpr(children: FilterDoubleColGreaterDoubleScalar(col 4:float, val 79.5530014038086), FilterStringColLikeStringScalar(col 7:string, pattern 10%))) - predicate: (((UDFToFloat(ctinyint) > cfloat) and cstring1 regexp '.*ss.*') or ((cbigint <= 197L) and (UDFToLong(cint) < cbigint)) or ((cdouble >= -26.28D) and (UDFToDouble(csmallint) > cdouble)) or ((cfloat > 79.553) and (cstring2 like '10%'))) (type: boolean) + predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterDoubleColGreaterEqualDoubleScalar(col 5:double, val -26.28), FilterDoubleColGreaterDoubleColumn(col 13:double, col 5:double)(children: CastLongToDouble(col 1:smallint) -> 13:double)), FilterExprAndExpr(children: FilterLongColLessEqualLongScalar(col 3:bigint, val 197), FilterLongColLessLongColumn(col 2:bigint, col 3:bigint)(children: col 2:int)), FilterExprAndExpr(children: FilterDoubleColGreaterDoubleScalar(col 4:float, val 79.5530014038086), FilterStringColLikeStringScalar(col 7:string, pattern 10%)), FilterExprAndExpr(children: FilterDoubleColGreaterDoubleColumn(col 14:float, col 4:float)(children: CastLongToFloatViaLongToDouble(col 0:tinyint) -> 14:float), FilterStringColRegExpStringScalar(col 6:string, pattern .*ss.*))) + predicate: (((cdouble >= -26.28D) and (UDFToDouble(csmallint) > cdouble)) or ((cbigint <= 197L) and (UDFToLong(cint) < cbigint)) or ((cfloat > 79.553) and (cstring2 like '10%')) or ((UDFToFloat(ctinyint) > cfloat) and cstring1 regexp '.*ss.*')) (type: boolean) Statistics: Num rows: 6826 Data size: 1131534 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cint (type: int), cbigint (type: bigint), csmallint (type: smallint), cdouble (type: double), ctinyint (type: tinyint), UDFToDouble(cbigint) (type: double), (UDFToDouble(cbigint) * UDFToDouble(cbigint)) (type: double), UDFToDouble(csmallint) (type: double), (UDFToDouble(csmallint) * UDFToDouble(csmallint)) (type: double), UDFToDouble(cint) (type: double), (UDFToDouble(cint) * UDFToDouble(cint)) (type: double) @@ -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 ((cstring2 > 'a') and cboolean1 is not null and ctimestamp2 is not null)) (type: boolean) + filterExpr: ((ctimestamp1 = ctimestamp2) or ((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')) (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: 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) + predicateExpression: FilterExprOrExpr(children: FilterTimestampColEqualTimestampColumn(col 8:timestamp, col 9:timestamp), 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)), FilterDoubleColEqualDoubleScalar(col 4:float, val 762.0), FilterStringGroupColEqualStringScalar(col 6:string, val ss)) + predicate: ((ctimestamp1 = ctimestamp2) or ((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')) (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) @@ -863,7 +863,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: (((ctimestamp2 <= ctimestamp1) and (UDFToDouble(cbigint) <> cdouble) and (cstring1 >= 'ss')) or ((csmallint < UDFToShort(ctinyint)) and (UDFToDouble(ctimestamp1) >= 0.0D)) or (cfloat = 17.0)) (type: boolean) + filterExpr: (((csmallint < UDFToShort(ctinyint)) and (UDFToDouble(ctimestamp1) >= 0.0D)) or (cfloat = 17.0) or ((ctimestamp2 <= ctimestamp1) and (UDFToDouble(cbigint) <> cdouble) and (cstring1 >= 'ss'))) (type: boolean) Statistics: Num rows: 12288 Data size: 2139070 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -871,8 +871,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterTimestampColLessEqualTimestampColumn(col 9:timestamp, col 8:timestamp), FilterDoubleColNotEqualDoubleColumn(col 13:double, col 5:double)(children: CastLongToDouble(col 3:bigint) -> 13:double), FilterStringGroupColGreaterEqualStringScalar(col 6:string, val ss)), FilterExprAndExpr(children: FilterLongColLessLongColumn(col 1:smallint, col 0:smallint)(children: col 0:tinyint), FilterDoubleColGreaterEqualDoubleScalar(col 14:double, val 0.0)(children: CastTimestampToDouble(col 8:timestamp) -> 14:double)), FilterDoubleColEqualDoubleScalar(col 4:float, val 17.0)) - predicate: (((csmallint < UDFToShort(ctinyint)) and (UDFToDouble(ctimestamp1) >= 0.0D)) or ((ctimestamp2 <= ctimestamp1) and (UDFToDouble(cbigint) <> cdouble) and (cstring1 >= 'ss')) or (cfloat = 17.0)) (type: boolean) + predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterLongColLessLongColumn(col 1:smallint, col 0:smallint)(children: col 0:tinyint), FilterDoubleColGreaterEqualDoubleScalar(col 13:double, val 0.0)(children: CastTimestampToDouble(col 8:timestamp) -> 13:double)), FilterDoubleColEqualDoubleScalar(col 4:float, val 17.0), FilterExprAndExpr(children: FilterTimestampColLessEqualTimestampColumn(col 9:timestamp, col 8:timestamp), FilterDoubleColNotEqualDoubleColumn(col 14:double, col 5:double)(children: CastLongToDouble(col 3:bigint) -> 14:double), FilterStringGroupColGreaterEqualStringScalar(col 6:string, val ss))) + predicate: (((csmallint < UDFToShort(ctinyint)) and (UDFToDouble(ctimestamp1) >= 0.0D)) or (cfloat = 17.0) or ((ctimestamp2 <= ctimestamp1) and (UDFToDouble(cbigint) <> cdouble) and (cstring1 >= 'ss'))) (type: boolean) Statistics: Num rows: 2824 Data size: 491654 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ctinyint (type: tinyint), cbigint (type: bigint), cint (type: int), cfloat (type: float), UDFToDouble(cint) (type: double), (UDFToDouble(cint) * UDFToDouble(cint)) (type: double), UDFToDouble(cbigint) (type: double), (UDFToDouble(cbigint) * UDFToDouble(cbigint)) (type: double) @@ -1110,7 +1110,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: ((cstring1 regexp 'a.*' and (cstring2 like '%ss%')) or ((cboolean2 <> 1) and (CAST( csmallint AS decimal(8,3)) < 79.553) and (UDFToInteger(ctinyint) <> -257)) or ((cdouble > UDFToDouble(ctinyint)) and (cfloat >= UDFToFloat(cint))) or ((UDFToLong(cint) < cbigint) and (UDFToLong(ctinyint) > cbigint))) (type: boolean) + filterExpr: (((cboolean2 <> 1) and (CAST( csmallint AS decimal(8,3)) < 79.553) and (UDFToInteger(ctinyint) <> -257)) or ((cdouble > UDFToDouble(ctinyint)) and (cfloat >= UDFToFloat(cint))) or ((UDFToLong(cint) < cbigint) and (UDFToLong(ctinyint) > cbigint)) or (cstring1 regexp 'a.*' and (cstring2 like '%ss%'))) (type: boolean) Statistics: Num rows: 12288 Data size: 3056470 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -1118,8 +1118,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterStringColRegExpStringScalar(col 6:string, pattern a.*), FilterStringColLikeStringScalar(col 7:string, pattern %ss%)), FilterExprAndExpr(children: FilterLongColNotEqualLongScalar(col 11:boolean, val 1), FilterDecimalColLessDecimalScalar(col 13:decimal(8,3), val 79.553)(children: CastLongToDecimal(col 1:smallint) -> 13:decimal(8,3)), FilterLongColNotEqualLongScalar(col 0:int, val -257)(children: col 0:tinyint)), FilterExprAndExpr(children: FilterDoubleColGreaterDoubleColumn(col 5:double, col 14:double)(children: CastLongToDouble(col 0:tinyint) -> 14:double), FilterDoubleColGreaterEqualDoubleColumn(col 4:float, col 15:float)(children: CastLongToFloatViaLongToDouble(col 2:int) -> 15:float)), FilterExprAndExpr(children: FilterLongColLessLongColumn(col 2:bigint, col 3:bigint)(children: col 2:int), FilterLongColGreaterLongColumn(col 0:bigint, col 3:bigint)(children: col 0:tinyint))) - predicate: (((UDFToLong(cint) < cbigint) and (UDFToLong(ctinyint) > cbigint)) or ((cboolean2 <> 1) and (CAST( csmallint AS decimal(8,3)) < 79.553) and (UDFToInteger(ctinyint) <> -257)) or ((cdouble > UDFToDouble(ctinyint)) and (cfloat >= UDFToFloat(cint))) or (cstring1 regexp 'a.*' and (cstring2 like '%ss%'))) (type: boolean) + predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterLongColNotEqualLongScalar(col 11:boolean, val 1), FilterDecimalColLessDecimalScalar(col 13:decimal(8,3), val 79.553)(children: CastLongToDecimal(col 1:smallint) -> 13:decimal(8,3)), FilterLongColNotEqualLongScalar(col 0:int, val -257)(children: col 0:tinyint)), FilterExprAndExpr(children: FilterDoubleColGreaterDoubleColumn(col 5:double, col 14:double)(children: CastLongToDouble(col 0:tinyint) -> 14:double), FilterDoubleColGreaterEqualDoubleColumn(col 4:float, col 15:float)(children: CastLongToFloatViaLongToDouble(col 2:int) -> 15:float)), FilterExprAndExpr(children: FilterLongColLessLongColumn(col 2:bigint, col 3:bigint)(children: col 2:int), FilterLongColGreaterLongColumn(col 0:bigint, col 3:bigint)(children: col 0:tinyint)), FilterExprAndExpr(children: FilterStringColRegExpStringScalar(col 6:string, pattern a.*), FilterStringColLikeStringScalar(col 7:string, pattern %ss%))) + predicate: (((cboolean2 <> 1) and (CAST( csmallint AS decimal(8,3)) < 79.553) and (UDFToInteger(ctinyint) <> -257)) or ((cdouble > UDFToDouble(ctinyint)) and (cfloat >= UDFToFloat(cint))) or ((UDFToLong(cint) < cbigint) and (UDFToLong(ctinyint) > cbigint)) or (cstring1 regexp 'a.*' and (cstring2 like '%ss%'))) (type: boolean) Statistics: Num rows: 9898 Data size: 2462086 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cint (type: int), cdouble (type: double), ctimestamp2 (type: timestamp), cstring1 (type: string), cboolean2 (type: boolean), ctinyint (type: tinyint), cfloat (type: float), ctimestamp1 (type: timestamp), csmallint (type: smallint), cbigint (type: bigint), (-3728L * cbigint) (type: bigint), (- cint) (type: int), (-863.257 - CAST( cint AS decimal(10,0))) (type: decimal(14,3)), (- csmallint) (type: smallint), (csmallint - (- csmallint)) (type: smallint), ((csmallint - (- csmallint)) + (- csmallint)) (type: smallint), (UDFToDouble(cint) / UDFToDouble(cint)) (type: double), ((-863.257 - CAST( cint AS decimal(10,0))) - -26.28) (type: decimal(15,3)), (- cfloat) (type: float), (cdouble * -89010.0D) (type: double), (UDFToDouble(ctinyint) / 988888.0D) (type: double), (- ctinyint) (type: tinyint), (79.553 / CAST( ctinyint AS decimal(3,0))) (type: decimal(9,7)) @@ -1412,7 +1412,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: (((UDFToInteger(ctinyint) < 197) and (UDFToLong(cint) = cbigint)) or (cbigint = 359L) or (cboolean1 < 0) or ((cstring1 like '%ss') and (cfloat <= UDFToFloat(ctinyint)))) (type: boolean) + filterExpr: ((cboolean1 < 0) or (cbigint = 359L) or ((UDFToInteger(ctinyint) < 197) and (UDFToLong(cint) = cbigint)) or ((cstring1 like '%ss') and (cfloat <= UDFToFloat(ctinyint)))) (type: boolean) Statistics: Num rows: 12288 Data size: 2601650 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -1420,8 +1420,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterLongColLessLongScalar(col 0:int, val 197)(children: col 0:tinyint), FilterLongColEqualLongColumn(col 2:bigint, col 3:bigint)(children: col 2:int)), FilterLongColEqualLongScalar(col 3:bigint, val 359), FilterLongColLessLongScalar(col 10:boolean, val 0), FilterExprAndExpr(children: FilterStringColLikeStringScalar(col 6:string, pattern %ss), FilterDoubleColLessEqualDoubleColumn(col 4:float, col 13:float)(children: CastLongToFloatViaLongToDouble(col 0:tinyint) -> 13:float))) - predicate: (((UDFToInteger(ctinyint) < 197) and (UDFToLong(cint) = cbigint)) or ((cstring1 like '%ss') and (cfloat <= UDFToFloat(ctinyint))) or (cbigint = 359L) or (cboolean1 < 0)) (type: boolean) + predicateExpression: FilterExprOrExpr(children: FilterLongColLessLongScalar(col 10:boolean, val 0), FilterLongColEqualLongScalar(col 3:bigint, val 359), FilterExprAndExpr(children: FilterLongColLessLongScalar(col 0:int, val 197)(children: col 0:tinyint), FilterLongColEqualLongColumn(col 2:bigint, col 3:bigint)(children: col 2:int)), FilterExprAndExpr(children: FilterStringColLikeStringScalar(col 6:string, pattern %ss), FilterDoubleColLessEqualDoubleColumn(col 4:float, col 13:float)(children: CastLongToFloatViaLongToDouble(col 0:tinyint) -> 13:float))) + predicate: ((cboolean1 < 0) or (cbigint = 359L) or ((UDFToInteger(ctinyint) < 197) and (UDFToLong(cint) = cbigint)) or ((cstring1 like '%ss') and (cfloat <= UDFToFloat(ctinyint)))) (type: boolean) Statistics: Num rows: 8194 Data size: 1734900 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cint (type: int), cbigint (type: bigint), cstring1 (type: string), cboolean1 (type: boolean), cfloat (type: float), cdouble (type: double), ctimestamp2 (type: timestamp), csmallint (type: smallint), cstring2 (type: string), cboolean2 (type: boolean), (UDFToDouble(cint) / UDFToDouble(cbigint)) (type: double), (CAST( cbigint AS decimal(19,0)) % 79.553) (type: decimal(5,3)), (- (UDFToDouble(cint) / UDFToDouble(cbigint))) (type: double), (10.175 % cfloat) (type: float), (- cfloat) (type: float), (cfloat - (- cfloat)) (type: float), ((cfloat - (- cfloat)) % -6432.0) (type: float), (cdouble * UDFToDouble(csmallint)) (type: double), (- cdouble) (type: double), (- cbigint) (type: bigint), (UDFToDouble(cfloat) - (UDFToDouble(cint) / UDFToDouble(cbigint))) (type: double), (- csmallint) (type: smallint), (3569L % cbigint) (type: bigint), (359.0D - cdouble) (type: double), (- csmallint) (type: smallint) @@ -1663,7 +1663,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: (((CAST( csmallint AS decimal(7,2)) > -26.28) and (cstring2 like 'ss')) or ((cdouble <= UDFToDouble(cbigint)) and (cstring1 >= 'ss') and (UDFToDouble(cint) <> cdouble)) or (UDFToInteger(ctinyint) = -89010) or ((UDFToFloat(cbigint) <= cfloat) and (CAST( csmallint AS decimal(7,2)) >= -26.28))) (type: boolean) + filterExpr: (((UDFToFloat(cbigint) <= cfloat) and (CAST( csmallint AS decimal(7,2)) >= -26.28)) or ((cdouble <= UDFToDouble(cbigint)) and (cstring1 >= 'ss') and (UDFToDouble(cint) <> cdouble)) or (UDFToInteger(ctinyint) = -89010) or ((CAST( csmallint AS decimal(7,2)) > -26.28) and (cstring2 like 'ss'))) (type: boolean) Statistics: Num rows: 12288 Data size: 2601650 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -1671,8 +1671,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterDecimalColGreaterDecimalScalar(col 13:decimal(7,2), val -26.28)(children: CastLongToDecimal(col 1:smallint) -> 13:decimal(7,2)), FilterStringColLikeStringScalar(col 7:string, pattern ss)), FilterExprAndExpr(children: FilterDoubleColLessEqualDoubleColumn(col 5:double, col 14:double)(children: CastLongToDouble(col 3:bigint) -> 14:double), FilterStringGroupColGreaterEqualStringScalar(col 6:string, val ss), FilterDoubleColNotEqualDoubleColumn(col 15:double, col 5:double)(children: CastLongToDouble(col 2:int) -> 15:double)), FilterLongColEqualLongScalar(col 0:int, val -89010)(children: col 0:tinyint), FilterExprAndExpr(children: FilterDoubleColLessEqualDoubleColumn(col 16:float, col 4:float)(children: CastLongToFloatViaLongToDouble(col 3:bigint) -> 16:float), FilterDecimalColGreaterEqualDecimalScalar(col 17:decimal(7,2), val -26.28)(children: CastLongToDecimal(col 1:smallint) -> 17:decimal(7,2)))) - predicate: (((CAST( csmallint AS decimal(7,2)) > -26.28) and (cstring2 like 'ss')) or ((UDFToFloat(cbigint) <= cfloat) and (CAST( csmallint AS decimal(7,2)) >= -26.28)) or ((cdouble <= UDFToDouble(cbigint)) and (cstring1 >= 'ss') and (UDFToDouble(cint) <> cdouble)) or (UDFToInteger(ctinyint) = -89010)) (type: boolean) + predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterDoubleColLessEqualDoubleColumn(col 13:float, col 4:float)(children: CastLongToFloatViaLongToDouble(col 3:bigint) -> 13:float), FilterDecimalColGreaterEqualDecimalScalar(col 14:decimal(7,2), val -26.28)(children: CastLongToDecimal(col 1:smallint) -> 14:decimal(7,2))), FilterExprAndExpr(children: FilterDoubleColLessEqualDoubleColumn(col 5:double, col 15:double)(children: CastLongToDouble(col 3:bigint) -> 15:double), FilterStringGroupColGreaterEqualStringScalar(col 6:string, val ss), FilterDoubleColNotEqualDoubleColumn(col 16:double, col 5:double)(children: CastLongToDouble(col 2:int) -> 16:double)), FilterLongColEqualLongScalar(col 0:int, val -89010)(children: col 0:tinyint), FilterExprAndExpr(children: FilterDecimalColGreaterDecimalScalar(col 17:decimal(7,2), val -26.28)(children: CastLongToDecimal(col 1:smallint) -> 17:decimal(7,2)), FilterStringColLikeStringScalar(col 7:string, pattern ss))) + predicate: (((UDFToFloat(cbigint) <= cfloat) and (CAST( csmallint AS decimal(7,2)) >= -26.28)) or ((cdouble <= UDFToDouble(cbigint)) and (cstring1 >= 'ss') and (UDFToDouble(cint) <> cdouble)) or (UDFToInteger(ctinyint) = -89010) or ((CAST( csmallint AS decimal(7,2)) > -26.28) and (cstring2 like 'ss'))) (type: boolean) Statistics: Num rows: 10922 Data size: 2312410 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cint (type: int), cstring1 (type: string), cboolean2 (type: boolean), ctimestamp2 (type: timestamp), cdouble (type: double), cfloat (type: float), cbigint (type: bigint), csmallint (type: smallint), cboolean1 (type: boolean), (cint + UDFToInteger(csmallint)) (type: int), (cbigint - UDFToLong(ctinyint)) (type: bigint), (- cbigint) (type: bigint), (- cfloat) (type: float), ((cbigint - UDFToLong(ctinyint)) + cbigint) (type: bigint), (cdouble / cdouble) (type: double), (- cdouble) (type: double), (UDFToLong((cint + UDFToInteger(csmallint))) * (- cbigint)) (type: bigint), ((- cdouble) + UDFToDouble(cbigint)) (type: double), (-1.389 / CAST( ctinyint AS decimal(3,0))) (type: decimal(8,7)), (UDFToDouble(cbigint) % cdouble) (type: double), (- csmallint) (type: smallint), (UDFToInteger(csmallint) + (cint + UDFToInteger(csmallint))) (type: int) @@ -1972,7 +1972,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: (((CAST( cint AS decimal(13,3)) <= -1.389) and (csmallint < UDFToShort(ctinyint)) and (UDFToInteger(csmallint) < -6432)) or ((cdouble >= UDFToDouble(cfloat)) and (cstring2 <= 'a')) or ((cstring1 like 'ss%') and (CAST( cbigint AS decimal(22,3)) < 10.175))) (type: boolean) + filterExpr: (((cdouble >= UDFToDouble(cfloat)) and (cstring2 <= 'a')) or ((CAST( cint AS decimal(13,3)) <= -1.389) and (csmallint < UDFToShort(ctinyint)) and (UDFToInteger(csmallint) < -6432)) or ((cstring1 like 'ss%') and (CAST( cbigint AS decimal(22,3)) < 10.175))) (type: boolean) Statistics: Num rows: 12288 Data size: 2528254 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -1980,8 +1980,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterDecimalColLessEqualDecimalScalar(col 13:decimal(13,3), val -1.389)(children: CastLongToDecimal(col 2:int) -> 13:decimal(13,3)), FilterLongColLessLongColumn(col 1:smallint, col 0:smallint)(children: col 0:tinyint), FilterLongColLessLongScalar(col 1:int, val -6432)(children: col 1:smallint)), FilterExprAndExpr(children: FilterDoubleColGreaterEqualDoubleColumn(col 5:double, col 4:double)(children: col 4:float), FilterStringGroupColLessEqualStringScalar(col 7:string, val a)), FilterExprAndExpr(children: FilterStringColLikeStringScalar(col 6:string, pattern ss%), FilterDecimalColLessDecimalScalar(col 14:decimal(22,3), val 10.175)(children: CastLongToDecimal(col 3:bigint) -> 14:decimal(22,3)))) - predicate: (((CAST( cint AS decimal(13,3)) <= -1.389) and (csmallint < UDFToShort(ctinyint)) and (UDFToInteger(csmallint) < -6432)) or ((cdouble >= UDFToDouble(cfloat)) and (cstring2 <= 'a')) or ((cstring1 like 'ss%') and (CAST( cbigint AS decimal(22,3)) < 10.175))) (type: boolean) + predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterDoubleColGreaterEqualDoubleColumn(col 5:double, col 4:double)(children: col 4:float), FilterStringGroupColLessEqualStringScalar(col 7:string, val a)), FilterExprAndExpr(children: FilterDecimalColLessEqualDecimalScalar(col 13:decimal(13,3), val -1.389)(children: CastLongToDecimal(col 2:int) -> 13:decimal(13,3)), FilterLongColLessLongColumn(col 1:smallint, col 0:smallint)(children: col 0:tinyint), FilterLongColLessLongScalar(col 1:int, val -6432)(children: col 1:smallint)), FilterExprAndExpr(children: FilterStringColLikeStringScalar(col 6:string, pattern ss%), FilterDecimalColLessDecimalScalar(col 14:decimal(22,3), val 10.175)(children: CastLongToDecimal(col 3:bigint) -> 14:decimal(22,3)))) + predicate: (((cdouble >= UDFToDouble(cfloat)) and (cstring2 <= 'a')) or ((CAST( cint AS decimal(13,3)) <= -1.389) and (csmallint < UDFToShort(ctinyint)) and (UDFToInteger(csmallint) < -6432)) or ((cstring1 like 'ss%') and (CAST( cbigint AS decimal(22,3)) < 10.175))) (type: boolean) Statistics: Num rows: 3868 Data size: 795962 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ctimestamp1 (type: timestamp), cstring2 (type: string), cdouble (type: double), cfloat (type: float), cbigint (type: bigint), csmallint (type: smallint), (UDFToDouble(cbigint) / 3569.0D) (type: double), (-257 - UDFToInteger(csmallint)) (type: int), (-6432.0 * cfloat) (type: float), (- cdouble) (type: double), (cdouble * 10.175D) (type: double), (UDFToDouble((-6432.0 * cfloat)) / UDFToDouble(cfloat)) (type: double), (- cfloat) (type: float), (cint % UDFToInteger(csmallint)) (type: int), (- cdouble) (type: double), (cdouble * (- cdouble)) (type: double) @@ -2223,7 +2223,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: ((UDFToInteger(csmallint) >= -257) and (UDFToDouble(cint) >= cdouble) and (UDFToInteger(ctinyint) <= cint)) (type: boolean) + filterExpr: ((UDFToInteger(ctinyint) <= cint) and (UDFToInteger(csmallint) >= -257) and (UDFToDouble(cint) >= cdouble)) (type: boolean) Statistics: Num rows: 12288 Data size: 256884 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -2231,8 +2231,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - 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) + predicateExpression: FilterExprAndExpr(children: FilterLongColLessEqualLongColumn(col 0:int, col 2:int)(children: col 0:tinyint), FilterLongColGreaterEqualLongScalar(col 1:int, val -257)(children: col 1:smallint), FilterDoubleColGreaterEqualDoubleColumn(col 13:double, col 5:double)(children: CastLongToDouble(col 2:int) -> 13:double)) + predicate: ((UDFToInteger(ctinyint) <= cint) and (UDFToInteger(csmallint) >= -257) and (UDFToDouble(cint) >= cdouble)) (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) @@ -2515,7 +2515,7 @@ STAGE PLANS: className: VectorFilterOperator native: true predicateExpression: FilterExprAndExpr(children: FilterDoubleColGreaterDoubleScalar(col 5:double, val 2563.58), FilterExprOrExpr(children: FilterExprAndExpr(children: FilterLongColGreaterEqualLongColumn(col 3:bigint, col 2:bigint)(children: col 2:int), FilterLongColLessLongColumn(col 1:int, col 2:int)(children: col 1:smallint), FilterDoubleColLessDoubleScalar(col 4:float, val -5638.14990234375)), FilterDecimalColEqualDecimalScalar(col 13:decimal(6,2), val 2563.58)(children: CastLongToDecimal(col 0:tinyint) -> 13:decimal(6,2)), FilterExprAndExpr(children: FilterDoubleColLessEqualDoubleColumn(col 5:double, col 14:double)(children: CastLongToDouble(col 3:bigint) -> 14:double), FilterDecimalColLessDecimalScalar(col 15:decimal(21,2), val -5638.15)(children: CastLongToDecimal(col 3:bigint) -> 15:decimal(21,2))))) - predicate: ((((cbigint >= UDFToLong(cint)) and (UDFToInteger(csmallint) < cint) and (cfloat < -5638.15)) or (CAST( ctinyint AS decimal(6,2)) = 2563.58) or ((cdouble <= UDFToDouble(cbigint)) and (CAST( cbigint AS decimal(21,2)) < -5638.15))) and (cdouble > 2563.58D)) (type: boolean) + predicate: ((cdouble > 2563.58D) and (((cbigint >= UDFToLong(cint)) and (UDFToInteger(csmallint) < cint) and (cfloat < -5638.15)) or (CAST( ctinyint AS decimal(6,2)) = 2563.58) or ((cdouble <= UDFToDouble(cbigint)) and (CAST( cbigint AS decimal(21,2)) < -5638.15)))) (type: boolean) Statistics: Num rows: 2503 Data size: 59820 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cdouble (type: double), cfloat (type: float), (cdouble * cdouble) (type: double) @@ -2833,7 +2833,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - 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) + filterExpr: ((((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 TableScan Vectorization: native: true @@ -2841,7 +2841,7 @@ 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), 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)))) + predicateExpression: FilterExprAndExpr(children: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterLongColNotEqualLongScalar(col 0:int, val -257)(children: col 0:tinyint), FilterStringColRegExpStringScalar(col 6:string, pattern .*ss), FilterDoubleColGreaterDoubleScalar(col 13:double, val -3.0)(children: CastTimestampToDouble(col 8:timestamp) -> 13:double), SelectColumnIsNotNull(col 11:boolean)), FilterDoubleColEqualDoubleScalar(col 14:double, val -5.0)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double), FilterExprAndExpr(children: FilterDoubleColLessDoubleScalar(col 15:double, val 0.0)(children: CastTimestampToDouble(col 8:timestamp) -> 15:double), FilterStringColLikeStringScalar(col 7:string, pattern %b%)), FilterDoubleColEqualDoubleColumn(col 5:double, col 16:double)(children: CastLongToDouble(col 2:int) -> 16:double), FilterExprAndExpr(children: SelectColumnIsNull(col 10:boolean), FilterDoubleColLessDoubleColumn(col 4:float, col 17:float)(children: CastLongToFloatViaLongToDouble(col 2:int) -> 17:float))), FilterDoubleColNotEqualDoubleScalar(col 18:double, val 0.0)(children: CastTimestampToDouble(col 8:timestamp) -> 18:double)) 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 @@ -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 (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) + filterExpr: (cboolean1 is not null and (((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))) (type: boolean) Statistics: Num rows: 12288 Data size: 2601650 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -3249,9 +3249,9 @@ 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), 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 + predicateExpression: FilterExprAndExpr(children: SelectColumnIsNotNull(col 10:boolean), 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)))) + predicate: (cboolean1 is not null and (((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))) (type: boolean) + Statistics: Num rows: 5857 Data size: 1240180 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) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14 @@ -3260,7 +3260,7 @@ STAGE PLANS: native: true projectedOutputColumnNums: [10, 4, 3, 2, 5, 0, 1, 15, 18, 19, 22, 23, 26, 27, 30] selectExpressions: CastLongToDouble(col 2:int) -> 15:double, DoubleColMultiplyDoubleColumn(col 16:double, col 17:double)(children: CastLongToDouble(col 2:int) -> 16:double, CastLongToDouble(col 2:int) -> 17:double) -> 18:double, CastLongToDouble(col 3:bigint) -> 19:double, DoubleColMultiplyDoubleColumn(col 20:double, col 21:double)(children: CastLongToDouble(col 3:bigint) -> 20:double, CastLongToDouble(col 3:bigint) -> 21:double) -> 22:double, CastLongToDouble(col 0:tinyint) -> 23:double, DoubleColMultiplyDoubleColumn(col 24:double, col 25:double)(children: CastLongToDouble(col 0:tinyint) -> 24:double, CastLongToDouble(col 0:tinyint) -> 25:double) -> 26:double, CastLongToDouble(col 1:smallint) -> 27:double, DoubleColMultiplyDoubleColumn(col 28:double, col 29:double)(children: CastLongToDouble(col 1:smallint) -> 28:double, CastLongToDouble(col 1:smallint) -> 29:double) -> 30:double - Statistics: Num rows: 7845 Data size: 1661020 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 5857 Data size: 1240180 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator aggregations: max(_col1), sum(_col2), sum(_col8), sum(_col7), count(_col3), sum(_col4), count(_col4), min(_col2), sum(_col10), sum(_col9), count(_col2), sum(_col3), sum(_col12), sum(_col11), count(_col5), sum(_col14), sum(_col13), count(_col6) Group By Vectorization: diff --git a/ql/src/test/results/clientpositive/llap/vectorized_dynamic_partition_pruning.q.out b/ql/src/test/results/clientpositive/llap/vectorized_dynamic_partition_pruning.q.out index 539cc25afe..4ba955e8cb 100644 --- a/ql/src/test/results/clientpositive/llap/vectorized_dynamic_partition_pruning.q.out +++ b/ql/src/test/results/clientpositive/llap/vectorized_dynamic_partition_pruning.q.out @@ -1164,7 +1164,7 @@ STAGE PLANS: filterExpr: ((date = '2008-04-08') and (UDFToDouble(hour) = 11.0D) and ds is not null and 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 = '2008-04-08') and ds is not null and hr is not null) (type: boolean) + predicate: ((date = '2008-04-08') and (UDFToDouble(hour) = 11.0D) and ds is not null and hr is not null) (type: boolean) Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ds (type: string), hr (type: string) @@ -1356,7 +1356,7 @@ STAGE PLANS: filterExpr: ((date = '2008-04-08') and (UDFToDouble(hour) = 11.0D) and ds is not null and 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 = '2008-04-08') and ds is not null and hr is not null) (type: boolean) + predicate: ((date = '2008-04-08') and (UDFToDouble(hour) = 11.0D) and ds is not null and hr is not null) (type: boolean) Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ds (type: string), hr (type: string) @@ -2921,7 +2921,7 @@ STAGE PLANS: filterExpr: ((date = '2008-04-08') and (UDFToDouble(hour) = 11.0D)) (type: boolean) Statistics: Num rows: 4 Data size: 1440 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((UDFToDouble(hour) = 11.0D) and (date = '2008-04-08')) (type: boolean) + predicate: ((date = '2008-04-08') and (UDFToDouble(hour) = 11.0D)) (type: boolean) Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ds (type: string), hr (type: string) @@ -3084,7 +3084,7 @@ STAGE PLANS: filterExpr: ((date = '2008-04-08') and (UDFToDouble(hour) = 11.0D) and ds is not null and 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 = '2008-04-08') and ds is not null and hr is not null) (type: boolean) + predicate: ((date = '2008-04-08') and (UDFToDouble(hour) = 11.0D) and ds is not null and hr is not null) (type: boolean) Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ds (type: string), hr (type: string) @@ -5547,7 +5547,7 @@ STAGE PLANS: filterExpr: ((date = '2008-04-08') and (UDFToDouble(hour) = 11.0D) and ds is not null and 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 = '2008-04-08') and ds is not null and hr is not null) (type: boolean) + predicate: ((date = '2008-04-08') and (UDFToDouble(hour) = 11.0D) and ds is not null and hr is not null) (type: boolean) Statistics: Num rows: 1 Data size: 360 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ds (type: string), hr (type: string) @@ -7538,10 +7538,10 @@ STAGE PLANS: 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 UDFToDouble(hr) is not null) (type: boolean) + filterExpr: ((UDFToDouble(hour) = 11.0D) and (date) IN ('2008-04-08', '2008-04-09') 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 UDFToDouble(hr) is not null and ds is not null) (type: boolean) + predicate: ((UDFToDouble(hour) = 11.0D) and (date) IN ('2008-04-08', '2008-04-09') and ds is not null and UDFToDouble(hr) 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 a/ql/src/test/results/clientpositive/llap/vectorized_dynamic_semijoin_reduction.q.out b/ql/src/test/results/clientpositive/llap/vectorized_dynamic_semijoin_reduction.q.out index 3e0df1ab65..12d25d76ae 100644 --- a/ql/src/test/results/clientpositive/llap/vectorized_dynamic_semijoin_reduction.q.out +++ b/ql/src/test/results/clientpositive/llap/vectorized_dynamic_semijoin_reduction.q.out @@ -66,7 +66,7 @@ STAGE PLANS: className: VectorFilterOperator native: true predicateExpression: FilterExprAndExpr(children: SelectColumnIsNotNull(col 1:int), FilterExprAndExpr(children: FilterLongColumnBetweenDynamicValue(col 1:int, left 0, right 0), VectorInBloomFilterColDynamicValue)) - predicate: ((key_int BETWEEN DynamicValue(RS_7_b_key_int_min) AND DynamicValue(RS_7_b_key_int_max) and in_bloom_filter(key_int, DynamicValue(RS_7_b_key_int_bloom_filter))) and key_int is not null) (type: boolean) + predicate: (key_int is not null and (key_int BETWEEN DynamicValue(RS_7_b_key_int_min) AND DynamicValue(RS_7_b_key_int_max) and in_bloom_filter(key_int, DynamicValue(RS_7_b_key_int_bloom_filter)))) (type: boolean) Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key_int (type: int) @@ -311,7 +311,7 @@ STAGE PLANS: className: VectorFilterOperator native: true predicateExpression: FilterExprAndExpr(children: SelectColumnIsNotNull(col 0:string), FilterExprAndExpr(children: FilterStringColumnBetweenDynamicValue(col 0:string, left NULL, right NULL), VectorInBloomFilterColDynamicValue)) - predicate: ((key_str BETWEEN DynamicValue(RS_7_b_key_str_min) AND DynamicValue(RS_7_b_key_str_max) and in_bloom_filter(key_str, DynamicValue(RS_7_b_key_str_bloom_filter))) and key_str is not null) (type: boolean) + predicate: (key_str is not null and (key_str BETWEEN DynamicValue(RS_7_b_key_str_min) AND DynamicValue(RS_7_b_key_str_max) and in_bloom_filter(key_str, DynamicValue(RS_7_b_key_str_bloom_filter)))) (type: boolean) Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key_str (type: string) @@ -556,7 +556,7 @@ STAGE PLANS: className: VectorFilterOperator native: true predicateExpression: FilterExprAndExpr(children: SelectColumnIsNotNull(col 0:string), FilterExprAndExpr(children: FilterStringColumnBetweenDynamicValue(col 0:string, left NULL, right NULL), VectorInBloomFilterColDynamicValue)) - predicate: ((key_str BETWEEN DynamicValue(RS_7_b_key_str_min) AND DynamicValue(RS_7_b_key_str_max) and in_bloom_filter(key_str, DynamicValue(RS_7_b_key_str_bloom_filter))) and key_str is not null) (type: boolean) + predicate: (key_str is not null and (key_str BETWEEN DynamicValue(RS_7_b_key_str_min) AND DynamicValue(RS_7_b_key_str_max) and in_bloom_filter(key_str, DynamicValue(RS_7_b_key_str_bloom_filter)))) (type: boolean) Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key_str (type: string) @@ -802,7 +802,7 @@ STAGE PLANS: className: VectorFilterOperator native: true predicateExpression: FilterExprAndExpr(children: SelectColumnIsNotNull(col 1:int), FilterExprAndExpr(children: FilterLongColumnBetweenDynamicValue(col 1:int, left 0, right 0), VectorInBloomFilterColDynamicValue)) - predicate: ((key_int BETWEEN DynamicValue(RS_10_b_key_int_min) AND DynamicValue(RS_10_b_key_int_max) and in_bloom_filter(key_int, DynamicValue(RS_10_b_key_int_bloom_filter))) and key_int is not null) (type: boolean) + predicate: (key_int is not null and (key_int BETWEEN DynamicValue(RS_10_b_key_int_min) AND DynamicValue(RS_10_b_key_int_max) and in_bloom_filter(key_int, DynamicValue(RS_10_b_key_int_bloom_filter)))) (type: boolean) Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key_int (type: int) @@ -1075,7 +1075,7 @@ STAGE PLANS: className: VectorFilterOperator native: true predicateExpression: FilterExprAndExpr(children: SelectColumnIsNotNull(col 0:string), SelectColumnIsNotNull(col 1:int), FilterExprAndExpr(children: FilterStringColumnBetweenDynamicValue(col 0:string, left NULL, right NULL), VectorInBloomFilterColDynamicValue)) - predicate: ((key_str BETWEEN DynamicValue(RS_7_b_key_str_min) AND DynamicValue(RS_7_b_key_str_max) and in_bloom_filter(key_str, DynamicValue(RS_7_b_key_str_bloom_filter))) and key_int is not null and key_str is not null) (type: boolean) + predicate: (key_str is not null and key_int is not null and (key_str BETWEEN DynamicValue(RS_7_b_key_str_min) AND DynamicValue(RS_7_b_key_str_max) and in_bloom_filter(key_str, DynamicValue(RS_7_b_key_str_bloom_filter)))) (type: boolean) Statistics: Num rows: 500 Data size: 45500 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key_str (type: string), key_int (type: int) @@ -1118,7 +1118,7 @@ STAGE PLANS: className: VectorFilterOperator native: true predicateExpression: FilterExprAndExpr(children: SelectColumnIsNotNull(col 0:string), SelectColumnIsNotNull(col 1:int)) - predicate: (key_int is not null and key_str is not null) (type: boolean) + predicate: (key_str is not null and key_int is not null) (type: boolean) Statistics: Num rows: 57 Data size: 5130 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key_str (type: string), key_int (type: int) @@ -1320,7 +1320,7 @@ STAGE PLANS: className: VectorFilterOperator native: true predicateExpression: FilterExprAndExpr(children: SelectColumnIsNotNull(col 1:int), FilterExprAndExpr(children: FilterLongColumnBetweenDynamicValue(col 1:int, left 0, right 0), VectorInBloomFilterColDynamicValue)) - predicate: ((key_int BETWEEN DynamicValue(RS_7_b_key_int_min) AND DynamicValue(RS_7_b_key_int_max) and in_bloom_filter(key_int, DynamicValue(RS_7_b_key_int_bloom_filter))) and key_int is not null) (type: boolean) + predicate: (key_int is not null and (key_int BETWEEN DynamicValue(RS_7_b_key_int_min) AND DynamicValue(RS_7_b_key_int_max) and in_bloom_filter(key_int, DynamicValue(RS_7_b_key_int_bloom_filter)))) (type: boolean) Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key_int (type: int) @@ -1573,7 +1573,7 @@ STAGE PLANS: filterExpr: (key_int is not null and (key_int BETWEEN DynamicValue(RS_7_b_key_int_min) AND DynamicValue(RS_7_b_key_int_max) and in_bloom_filter(key_int, DynamicValue(RS_7_b_key_int_bloom_filter)))) (type: boolean) Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((key_int BETWEEN DynamicValue(RS_7_b_key_int_min) AND DynamicValue(RS_7_b_key_int_max) and in_bloom_filter(key_int, DynamicValue(RS_7_b_key_int_bloom_filter))) and key_int is not null) (type: boolean) + predicate: (key_int is not null and (key_int BETWEEN DynamicValue(RS_7_b_key_int_min) AND DynamicValue(RS_7_b_key_int_max) and in_bloom_filter(key_int, DynamicValue(RS_7_b_key_int_bloom_filter)))) (type: boolean) Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key_int (type: int) diff --git a/ql/src/test/results/clientpositive/llap/vectorized_join46.q.out b/ql/src/test/results/clientpositive/llap/vectorized_join46.q.out index bb23424ef9..83be1e974b 100644 --- a/ql/src/test/results/clientpositive/llap/vectorized_join46.q.out +++ b/ql/src/test/results/clientpositive/llap/vectorized_join46.q.out @@ -297,7 +297,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: test2_n9 - filterExpr: (key BETWEEN 100 AND 102 and value is not null) (type: boolean) + filterExpr: (value is not null and key BETWEEN 100 AND 102) (type: boolean) Statistics: Num rows: 4 Data size: 380 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -305,7 +305,7 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicate: (key BETWEEN 100 AND 102 and value is not null) (type: boolean) + predicate: (value is not null and key BETWEEN 100 AND 102) (type: boolean) Statistics: Num rows: 1 Data size: 95 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), value (type: int), col_2 (type: string) diff --git a/ql/src/test/results/clientpositive/llap/vectorized_string_funcs.q.out b/ql/src/test/results/clientpositive/llap/vectorized_string_funcs.q.out index c53f00b382..29e35eccf4 100644 --- a/ql/src/test/results/clientpositive/llap/vectorized_string_funcs.q.out +++ b/ql/src/test/results/clientpositive/llap/vectorized_string_funcs.q.out @@ -63,7 +63,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: (((cbigint % 237L) = 0L) and (length(substr(cstring1, 1, 2)) <= 2) and (cstring1 like '%')) (type: boolean) + filterExpr: (((cbigint % 237L) = 0L) and (cstring1 like '%') and (length(substr(cstring1, 1, 2)) <= 2)) (type: boolean) Statistics: Num rows: 12288 Data size: 1816546 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: (((cbigint % 237L) = 0L) and (cstring1 like '%') and (length(substr(cstring1, 1, 2)) <= 2)) (type: boolean) diff --git a/ql/src/test/results/clientpositive/louter_join_ppr.q.out b/ql/src/test/results/clientpositive/louter_join_ppr.q.out index 02d4c02667..a898f7ed52 100644 --- a/ql/src/test/results/clientpositive/louter_join_ppr.q.out +++ b/ql/src/test/results/clientpositive/louter_join_ppr.q.out @@ -32,7 +32,7 @@ FROM `default`.`src` WHERE `key` < 20 AND `key` > 15) AS `t0` INNER JOIN (SELECT `key`, `value` FROM `default`.`srcpart` -WHERE `ds` = '2008-04-08' AND `key` > 15 AND `key` < 20) AS `t2` ON `t0`.`key` = `t2`.`key` +WHERE `key` > 15 AND `key` < 20 AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key` STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -70,7 +70,7 @@ STAGE PLANS: GatherStats: false Filter Operator isSamplingPred: false - predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean) + predicate: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean) Statistics: Num rows: 111 Data size: 19758 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) @@ -346,7 +346,7 @@ POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 OPTIMIZED SQL: SELECT * FROM (SELECT `key`, `value` FROM `default`.`srcpart` -WHERE `key` < 20 AND `ds` = '2008-04-08' AND `key` > 15) AS `t0` +WHERE `key` < 20 AND `key` > 15 AND `ds` = '2008-04-08') AS `t0` INNER JOIN (SELECT `key`, `value` FROM `default`.`src` WHERE `key` > 15 AND `key` < 20) AS `t2` ON `t0`.`key` = `t2`.`key` @@ -387,7 +387,7 @@ STAGE PLANS: GatherStats: false Filter Operator isSamplingPred: false - predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean) + predicate: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean) Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) @@ -666,7 +666,7 @@ FROM `default`.`src` WHERE `key` < 20 AND `key` > 15) AS `t0` INNER JOIN (SELECT `key`, `value` FROM `default`.`srcpart` -WHERE `key` > 15 AND `ds` = '2008-04-08' AND `key` < 20) AS `t2` ON `t0`.`key` = `t2`.`key` +WHERE `key` > 15 AND `key` < 20 AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key` STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -704,7 +704,7 @@ STAGE PLANS: GatherStats: false Filter Operator isSamplingPred: false - predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean) + predicate: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean) Statistics: Num rows: 111 Data size: 19758 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) @@ -980,7 +980,7 @@ POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 OPTIMIZED SQL: SELECT * FROM (SELECT `key`, `value` FROM `default`.`srcpart` -WHERE `key` < 20 AND `ds` = '2008-04-08' AND `key` > 15) AS `t0` +WHERE `key` < 20 AND `key` > 15 AND `ds` = '2008-04-08') AS `t0` INNER JOIN (SELECT `key`, `value` FROM `default`.`src` WHERE `key` > 15 AND `key` < 20) AS `t2` ON `t0`.`key` = `t2`.`key` @@ -1021,7 +1021,7 @@ STAGE PLANS: GatherStats: false Filter Operator isSamplingPred: false - predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean) + predicate: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean) Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) diff --git a/ql/src/test/results/clientpositive/mapjoin46.q.out b/ql/src/test/results/clientpositive/mapjoin46.q.out index 77f65e5480..8e46cf56ad 100644 --- a/ql/src/test/results/clientpositive/mapjoin46.q.out +++ b/ql/src/test/results/clientpositive/mapjoin46.q.out @@ -178,10 +178,10 @@ STAGE PLANS: $hdt$_1:test2_n2 TableScan alias: test2_n2 - filterExpr: (key BETWEEN 100 AND 102 and value is not null) (type: boolean) + filterExpr: (value is not null and key BETWEEN 100 AND 102) (type: boolean) Statistics: Num rows: 4 Data size: 380 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (key BETWEEN 100 AND 102 and value is not null) (type: boolean) + predicate: (value is not null and key BETWEEN 100 AND 102) (type: boolean) Statistics: Num rows: 1 Data size: 95 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), value (type: int), col_2 (type: string) diff --git a/ql/src/test/results/clientpositive/masking_1.q.out b/ql/src/test/results/clientpositive/masking_1.q.out index 48ab78a35a..0958385b5c 100644 --- a/ql/src/test/results/clientpositive/masking_1.q.out +++ b/ql/src/test/results/clientpositive/masking_1.q.out @@ -28,10 +28,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: masking_test_n8 - filterExpr: (((key % 2) = 0) and (key < 10)) (type: boolean) + filterExpr: ((key < 10) and ((key % 2) = 0)) (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 < 10) and ((key % 2) = 0)) (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) @@ -84,10 +84,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: masking_test_n8 - filterExpr: (((key % 2) = 0) and (key < 10) and (key > 0)) (type: boolean) + filterExpr: ((key < 10) and (key > 0) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (((key % 2) = 0) and (key < 10) and (key > 0)) (type: boolean) + predicate: ((key < 10) and (key > 0) and ((key % 2) = 0)) (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) @@ -137,10 +137,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: masking_test_n8 - filterExpr: (((key % 2) = 0) and (key < 10) and (key > 0)) (type: boolean) + filterExpr: ((key < 10) and (key > 0) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (((key % 2) = 0) and (key < 10) and (key > 0)) (type: boolean) + predicate: ((key < 10) and (key > 0) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 83 Data size: 332 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int) @@ -190,10 +190,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: masking_test_n8 - filterExpr: (((key % 2) = 0) and (key < 10) and (key > 0)) (type: boolean) + filterExpr: ((key < 10) and (key > 0) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (((key % 2) = 0) and (key < 10) and (key > 0)) (type: boolean) + predicate: ((key < 10) and (key > 0) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 83 Data size: 7885 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: reverse(value) (type: string) @@ -253,10 +253,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: masking_test_n8 - filterExpr: (((key % 2) = 0) and (key < 10) and UDFToDouble(key) is not null) (type: boolean) + filterExpr: ((key < 10) and ((key % 2) = 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 % 2) = 0) and (key < 10) and UDFToDouble(key) is not null) (type: boolean) + predicate: ((key < 10) and ((key % 2) = 0) 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) @@ -396,10 +396,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: masking_test_n8 - filterExpr: (((key % 2) = 0) and (key < 10) and (key > 0)) (type: boolean) + filterExpr: ((key < 10) and (key > 0) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (((key % 2) = 0) and (key < 10) and (key > 0)) (type: boolean) + predicate: ((key < 10) and (key > 0) and ((key % 2) = 0)) (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) @@ -449,10 +449,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: masking_test_n8 - filterExpr: (((key % 2) = 0) and (key < 10) and (key > 0)) (type: boolean) + filterExpr: ((key < 10) and (key > 0) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (((key % 2) = 0) and (key < 10) and (key > 0)) (type: boolean) + predicate: ((key < 10) and (key > 0) and ((key % 2) = 0)) (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) @@ -502,10 +502,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: src - filterExpr: ((UDFToDouble(key) > 0.0D) and (UDFToDouble(key) < 10.0D) and ((UDFToDouble(key) % 2.0D) = 0.0D)) (type: boolean) + filterExpr: (((UDFToDouble(key) % 2.0D) = 0.0D) and (UDFToDouble(key) > 0.0D) and (UDFToDouble(key) < 10.0D)) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (((UDFToDouble(key) % 2.0D) = 0.0D) and (UDFToDouble(key) < 10.0D) and (UDFToDouble(key) > 0.0D)) (type: boolean) + predicate: (((UDFToDouble(key) % 2.0D) = 0.0D) and (UDFToDouble(key) > 0.0D) and (UDFToDouble(key) < 10.0D)) (type: boolean) Statistics: Num rows: 27 Data size: 4806 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), upper(value) (type: string) diff --git a/ql/src/test/results/clientpositive/masking_10.q.out b/ql/src/test/results/clientpositive/masking_10.q.out index 7cf86f3db1..3f3871bb1c 100644 --- a/ql/src/test/results/clientpositive/masking_10.q.out +++ b/ql/src/test/results/clientpositive/masking_10.q.out @@ -30,10 +30,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: masking_test - filterExpr: (((key % 2) = 0) and (key < 10)) (type: boolean) + filterExpr: ((key < 10) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 500 Data size: 89488 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (((key % 2) = 0) and (key < 10)) (type: boolean) + predicate: ((key < 10) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 250 Data size: 44744 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: reverse(value) (type: string) @@ -127,10 +127,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: masking_test - filterExpr: (((key % 2) = 0) and (key < 10)) (type: boolean) + filterExpr: ((key < 10) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 500 Data size: 89488 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (((key % 2) = 0) and (key < 10)) (type: boolean) + predicate: ((key < 10) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 250 Data size: 44744 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: key (type: int), reverse(value) (type: string) @@ -182,10 +182,10 @@ STAGE PLANS: value expressions: _col1 (type: string), _col2 (type: int), _col3 (type: string) TableScan alias: masking_test - filterExpr: (((key % 2) = 0) and (key < 10)) (type: boolean) + filterExpr: ((key < 10) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 500 Data size: 89488 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (((key % 2) = 0) and (key < 10)) (type: boolean) + predicate: ((key < 10) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 250 Data size: 44744 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: key (type: int), reverse(value) (type: string) diff --git a/ql/src/test/results/clientpositive/masking_12.q.out b/ql/src/test/results/clientpositive/masking_12.q.out index 8ff059a6cd..a3b4eb25d6 100644 --- a/ql/src/test/results/clientpositive/masking_12.q.out +++ b/ql/src/test/results/clientpositive/masking_12.q.out @@ -44,12 +44,12 @@ STAGE PLANS: Map Operator Tree: TableScan alias: masking_test_n5 - filterExpr: (((key % 2) = 0) and (key < 10)) (type: boolean) + filterExpr: ((key < 10) and ((key % 2) = 0)) (type: boolean) properties: insideView TRUE 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 < 10) and ((key % 2) = 0)) (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) @@ -239,7 +239,7 @@ STAGE PLANS: insideView TRUE Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (UDFToDouble(key) is not null and key is not null) (type: boolean) + predicate: (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 Select Operator expressions: key (type: int), value (type: string) @@ -354,12 +354,12 @@ STAGE PLANS: Map Operator Tree: TableScan alias: masking_test_n5 - filterExpr: (((key % 2) = 0) and (key < 10) and (key > 6)) (type: boolean) + filterExpr: ((key < 10) and (key > 6) and ((key % 2) = 0)) (type: boolean) properties: insideView TRUE Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (((key % 2) = 0) and (key < 10) and (key > 6)) (type: boolean) + predicate: ((key < 10) and (key > 6) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 27 Data size: 108 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: UDFToInteger((UDFToDouble(key) / 2.0D)) (type: int) @@ -417,12 +417,12 @@ STAGE PLANS: Map Operator Tree: TableScan alias: masking_test_n5 - filterExpr: (((key % 2) = 0) and (key < 10)) (type: boolean) + filterExpr: ((key < 10) and ((key % 2) = 0)) (type: boolean) properties: insideView TRUE 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 < 10) and ((key % 2) = 0)) (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) @@ -436,12 +436,12 @@ STAGE PLANS: value expressions: _col1 (type: string) TableScan alias: masking_test_n5 - filterExpr: (((key % 2) = 0) and (key < 10) and (key > 6) and ((UDFToInteger((UDFToDouble(key) / 2.0D)) % 2) = 0) and (UDFToInteger((UDFToDouble(key) / 2.0D)) < 10)) (type: boolean) + filterExpr: ((key < 10) and (key > 6) and ((key % 2) = 0) and ((UDFToInteger((UDFToDouble(key) / 2.0D)) % 2) = 0) and (UDFToInteger((UDFToDouble(key) / 2.0D)) < 10)) (type: boolean) properties: insideView TRUE Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (((UDFToInteger((UDFToDouble(key) / 2.0D)) % 2) = 0) and ((key % 2) = 0) and (UDFToInteger((UDFToDouble(key) / 2.0D)) < 10) and (key < 10) and (key > 6)) (type: boolean) + predicate: ((key < 10) and (key > 6) and ((key % 2) = 0) and ((UDFToInteger((UDFToDouble(key) / 2.0D)) % 2) = 0) and (UDFToInteger((UDFToDouble(key) / 2.0D)) < 10)) (type: boolean) Statistics: Num rows: 4 Data size: 16 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: UDFToInteger((UDFToDouble(key) / 2.0D)) (type: int) @@ -460,14 +460,14 @@ STAGE PLANS: 0 _col0 (type: int) 1 _col0 (type: int) outputColumnNames: _col1 - Statistics: Num rows: 6 Data size: 1104 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 4 Data size: 736 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col1 (type: string) outputColumnNames: _col0 - Statistics: Num rows: 6 Data size: 1104 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 4 Data size: 736 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false - Statistics: Num rows: 6 Data size: 1104 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 4 Data size: 736 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 a/ql/src/test/results/clientpositive/masking_13.q.out b/ql/src/test/results/clientpositive/masking_13.q.out index af093c0e88..4ca113df9c 100644 --- a/ql/src/test/results/clientpositive/masking_13.q.out +++ b/ql/src/test/results/clientpositive/masking_13.q.out @@ -28,10 +28,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: masking_test - filterExpr: (((key % 2) = 0) and (key < 10)) (type: boolean) + filterExpr: ((key < 10) and ((key % 2) = 0)) (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 < 10) and ((key % 2) = 0)) (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) @@ -127,12 +127,12 @@ STAGE PLANS: Map Operator Tree: TableScan alias: masking_test - filterExpr: (((key % 2) = 0) and (key < 10) and (key > 6)) (type: boolean) + filterExpr: ((key < 10) and (key > 6) and ((key % 2) = 0)) (type: boolean) properties: insideView TRUE Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (((key % 2) = 0) and (key < 10) and (key > 6)) (type: boolean) + predicate: ((key < 10) and (key > 6) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 27 Data size: 108 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: UDFToInteger((UDFToDouble(key) / 2.0D)) (type: int) diff --git a/ql/src/test/results/clientpositive/masking_1_newdb.q.out b/ql/src/test/results/clientpositive/masking_1_newdb.q.out index 08eeb6a191..a9c8f9deb4 100644 --- a/ql/src/test/results/clientpositive/masking_1_newdb.q.out +++ b/ql/src/test/results/clientpositive/masking_1_newdb.q.out @@ -46,10 +46,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: masking_test_n12 - filterExpr: (((key % 2) = 0) and (key < 10)) (type: boolean) + filterExpr: ((key < 10) and ((key % 2) = 0)) (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 < 10) and ((key % 2) = 0)) (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) @@ -102,10 +102,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: masking_test_n12 - filterExpr: (((key % 2) = 0) and (key < 10) and (key > 0)) (type: boolean) + filterExpr: ((key < 10) and (key > 0) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (((key % 2) = 0) and (key < 10) and (key > 0)) (type: boolean) + predicate: ((key < 10) and (key > 0) and ((key % 2) = 0)) (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) diff --git a/ql/src/test/results/clientpositive/masking_3.q.out b/ql/src/test/results/clientpositive/masking_3.q.out index c8b1619a4b..10a8e09000 100644 --- a/ql/src/test/results/clientpositive/masking_3.q.out +++ b/ql/src/test/results/clientpositive/masking_3.q.out @@ -127,7 +127,7 @@ STAGE PLANS: 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: (UDFToDouble(key) is not null and key is not null) (type: boolean) + predicate: (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 Select Operator expressions: key (type: int), value (type: string) @@ -2804,7 +2804,7 @@ STAGE PLANS: 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: (UDFToDouble(key) is not null and key is not null) (type: boolean) + predicate: (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 Select Operator expressions: key (type: int), value (type: string) @@ -8376,10 +8376,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: src - filterExpr: ((UDFToDouble(key) > 0.0D) and (UDFToDouble(key) < 10.0D) and ((UDFToDouble(key) % 2.0D) = 0.0D)) (type: boolean) + filterExpr: (((UDFToDouble(key) % 2.0D) = 0.0D) and (UDFToDouble(key) > 0.0D) and (UDFToDouble(key) < 10.0D)) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (((UDFToDouble(key) % 2.0D) = 0.0D) and (UDFToDouble(key) < 10.0D) and (UDFToDouble(key) > 0.0D)) (type: boolean) + predicate: (((UDFToDouble(key) % 2.0D) = 0.0D) and (UDFToDouble(key) > 0.0D) and (UDFToDouble(key) < 10.0D)) (type: boolean) Statistics: Num rows: 27 Data size: 4806 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), upper(value) (type: string) diff --git a/ql/src/test/results/clientpositive/masking_4.q.out b/ql/src/test/results/clientpositive/masking_4.q.out index 0c6a490e1d..e77c3ed5c1 100644 --- a/ql/src/test/results/clientpositive/masking_4.q.out +++ b/ql/src/test/results/clientpositive/masking_4.q.out @@ -92,10 +92,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: masking_test_n11 - filterExpr: (((key % 2) = 0) and (key = 5)) (type: boolean) + filterExpr: ((key = 5) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (((key % 2) = 0) and (key = 5)) (type: boolean) + predicate: ((key = 5) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 1 Data size: 95 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: 5 (type: int), reverse(value) (type: string) @@ -138,10 +138,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: masking_test_n11 - filterExpr: (((key % 2) = 0) and (key = 5)) (type: boolean) + filterExpr: ((key = 5) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (((key % 2) = 0) and (key = 5)) (type: boolean) + predicate: ((key = 5) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 1 Data size: 95 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: 5 (type: int), reverse(value) (type: string) @@ -283,7 +283,7 @@ STAGE PLANS: 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: (UDFToDouble(key) is not null and key is not null) (type: boolean) + predicate: (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 Select Operator expressions: key (type: int), value (type: string) diff --git a/ql/src/test/results/clientpositive/masking_8.q.out b/ql/src/test/results/clientpositive/masking_8.q.out index 19e7856531..939d965aff 100644 --- a/ql/src/test/results/clientpositive/masking_8.q.out +++ b/ql/src/test/results/clientpositive/masking_8.q.out @@ -33,10 +33,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: masking_test_n2 - filterExpr: (((key % 2) = 0) and (key < 10)) (type: boolean) + filterExpr: ((key < 10) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 500 Data size: 90500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (((key % 2) = 0) and (key < 10)) (type: boolean) + predicate: ((key < 10) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 83 Data size: 15023 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), reverse(value) (type: string), _c2 (type: string), ROW__ID (type: struct) @@ -89,10 +89,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: masking_test_n2 - filterExpr: (((key % 2) = 0) and (key < 10)) (type: boolean) + filterExpr: ((key < 10) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 500 Data size: 90500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (((key % 2) = 0) and (key < 10)) (type: boolean) + predicate: ((key < 10) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 83 Data size: 15023 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), reverse(value) (type: string), _c2 (type: string) @@ -145,10 +145,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: masking_test_n2 - filterExpr: (((key % 2) = 0) and (key < 10)) (type: boolean) + filterExpr: ((key < 10) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 500 Data size: 90500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (((key % 2) = 0) and (key < 10)) (type: boolean) + predicate: ((key < 10) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 83 Data size: 15023 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: INPUT__FILE__NAME (type: string), key (type: int), reverse(value) (type: string), _c2 (type: string), ROW__ID (type: struct) @@ -227,10 +227,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: masking_test_n2 - filterExpr: (((key % 2) = 0) and (key < 10)) (type: boolean) + filterExpr: ((key < 10) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 500 Data size: 433000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (((key % 2) = 0) and (key < 10)) (type: boolean) + predicate: ((key < 10) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 83 Data size: 71878 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ROW__ID (type: struct), key (type: int), _c1 (type: string), _c2 (type: string), _c3 (type: string), _c4 (type: string), _c5 (type: string), _c6 (type: string), _c7 (type: string), _c8 (type: string), _c9 (type: string), _c10 (type: string) diff --git a/ql/src/test/results/clientpositive/masking_9.q.out b/ql/src/test/results/clientpositive/masking_9.q.out index 2ea7699a3f..1a71236034 100644 --- a/ql/src/test/results/clientpositive/masking_9.q.out +++ b/ql/src/test/results/clientpositive/masking_9.q.out @@ -30,10 +30,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: masking_test - filterExpr: (((key % 2) = 0) and (key < 10)) (type: boolean) + filterExpr: ((key < 10) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 500 Data size: 1904 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (((key % 2) = 0) and (key < 10)) (type: boolean) + predicate: ((key < 10) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 250 Data size: 952 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: ROW__ID (type: struct) diff --git a/ql/src/test/results/clientpositive/masking_mv.q.out b/ql/src/test/results/clientpositive/masking_mv.q.out index 5d84ddd32d..87e873cc37 100644 --- a/ql/src/test/results/clientpositive/masking_mv.q.out +++ b/ql/src/test/results/clientpositive/masking_mv.q.out @@ -214,7 +214,7 @@ STAGE PLANS: filterExpr: ((key < 10) and (0 = (key % 2))) (type: boolean) Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((0 = (key % 2)) and (key < 10)) (type: boolean) + predicate: ((key < 10) and (0 = (key % 2))) (type: boolean) Statistics: Num rows: 83 Data size: 332 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int) @@ -288,7 +288,7 @@ STAGE PLANS: filterExpr: ((key < 10) and (0 = (key % 2))) (type: boolean) Statistics: Num rows: 500 Data size: 2000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((0 = (key % 2)) and (key < 10)) (type: boolean) + predicate: ((key < 10) and (0 = (key % 2))) (type: boolean) Statistics: Num rows: 83 Data size: 332 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator keys: key (type: int) @@ -358,10 +358,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: masking_test_n_mv - filterExpr: (((key % 2) = 0) and (key < 10)) (type: boolean) + filterExpr: ((key < 10) and ((key % 2) = 0)) (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 < 10) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 83 Data size: 7885 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: reverse(value) (type: string) @@ -435,10 +435,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: masking_test_n_mv - filterExpr: (((key % 2) = 0) and (key < 10)) (type: boolean) + filterExpr: ((key < 10) and ((key % 2) = 0)) (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 < 10) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 83 Data size: 7885 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: reverse(value) (type: string), key (type: int) @@ -532,7 +532,7 @@ STAGE PLANS: filterExpr: ((key < 10) and (0 = (key % 2))) (type: boolean) Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((0 = (key % 2)) and (key < 10)) (type: boolean) + predicate: ((key < 10) and (0 = (key % 2))) (type: boolean) Statistics: Num rows: 83 Data size: 7885 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: reverse(value) (type: string) @@ -613,7 +613,7 @@ STAGE PLANS: filterExpr: ((key < 10) and (0 = (key % 2))) (type: boolean) Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((0 = (key % 2)) and (key < 10)) (type: boolean) + predicate: ((key < 10) and (0 = (key % 2))) (type: boolean) Statistics: Num rows: 83 Data size: 7885 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: reverse(value) (type: string), key (type: int) diff --git a/ql/src/test/results/clientpositive/multi_insert_with_join2.q.out b/ql/src/test/results/clientpositive/multi_insert_with_join2.q.out index 7436fbfb11..ef581fd45e 100644 --- a/ql/src/test/results/clientpositive/multi_insert_with_join2.q.out +++ b/ql/src/test/results/clientpositive/multi_insert_with_join2.q.out @@ -235,7 +235,7 @@ STAGE PLANS: value expressions: _col0 (type: string) TableScan alias: b - filterExpr: ((val = 'val_104') and (id = 'Id_2')) (type: boolean) + filterExpr: ((id = 'Id_2') and (val = 'val_104')) (type: boolean) Statistics: Num rows: 2 Data size: 358 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: ((id = 'Id_2') and (val = 'val_104')) (type: boolean) @@ -391,7 +391,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col5, _col6 Statistics: Num rows: 3 Data size: 1074 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((_col1 <> _col6) and (_col5 = 'Id_2') and (_col6 = 'val_104')) (type: boolean) + predicate: ((_col6 = 'val_104') and (_col5 = 'Id_2') and (_col1 <> _col6)) (type: boolean) Statistics: Num rows: 1 Data size: 358 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: string), _col1 (type: string), 'Id_2' (type: string), 'val_104' (type: string) @@ -633,7 +633,7 @@ STAGE PLANS: output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe Filter Operator - predicate: ((_col5 = 'Id_2') and (_col6 = 'val_104')) (type: boolean) + predicate: ((_col6 = 'val_104') and (_col5 = 'Id_2')) (type: boolean) Statistics: Num rows: 1 Data size: 358 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: string), _col1 (type: string), 'Id_2' (type: string), 'val_104' (type: string) @@ -852,7 +852,7 @@ STAGE PLANS: output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe Filter Operator - predicate: ((_col5 = 'Id_2') and (_col6 = 'val_104')) (type: boolean) + predicate: ((_col6 = 'val_104') and (_col5 = 'Id_2')) (type: boolean) Statistics: Num rows: 1 Data size: 358 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: string), _col1 (type: string), 'Id_2' (type: string), 'val_104' (type: string) @@ -1071,7 +1071,7 @@ STAGE PLANS: output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe Filter Operator - predicate: ((_col5 = 'Id_2') and (_col6 = 'val_104')) (type: boolean) + predicate: ((_col6 = 'val_104') and (_col5 = 'Id_2')) (type: boolean) Statistics: Num rows: 1 Data size: 358 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: string), _col1 (type: string), 'Id_2' (type: string), 'val_104' (type: string) @@ -1271,7 +1271,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 2 Data size: 716 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((_col2 = 'val_103') and (_col3 = 'Id_1')) (type: boolean) + predicate: ((_col3 = 'Id_1') and (_col2 = 'val_103')) (type: boolean) Statistics: Num rows: 1 Data size: 358 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: string), _col1 (type: string), _col3 (type: string), _col2 (type: string) @@ -1502,7 +1502,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 2 Data size: 716 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((_col2 = 'val_103') and (_col3 = 'Id_1')) (type: boolean) + predicate: ((_col3 = 'Id_1') and (_col2 = 'val_103')) (type: boolean) Statistics: Num rows: 1 Data size: 358 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col1 (type: string), _col0 (type: string), _col3 (type: string), _col2 (type: string) diff --git a/ql/src/test/results/clientpositive/nested_column_pruning.q.out b/ql/src/test/results/clientpositive/nested_column_pruning.q.out index 0713a40e44..d8bc8f484d 100644 --- a/ql/src/test/results/clientpositive/nested_column_pruning.q.out +++ b/ql/src/test/results/clientpositive/nested_column_pruning.q.out @@ -1019,7 +1019,7 @@ STAGE PLANS: 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: ((not s2.f8.f9) and s1.f6 is not null) (type: boolean) + predicate: (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 Select Operator expressions: s1 (type: struct,f6:int>), s2 (type: struct,f11:map>>) @@ -1116,7 +1116,7 @@ STAGE PLANS: value expressions: _col0 (type: struct,f6:int>) TableScan alias: t2 - filterExpr: (s2.f8.f9 and s1.f6 is not null) (type: boolean) + filterExpr: (s1.f6 is not null and s2.f8.f9) (type: boolean) Statistics: Num rows: 1 Data size: 1468 Basic stats: COMPLETE Column stats: NONE Filter Operator predicate: (s1.f6 is not null and s2.f8.f9) (type: boolean) @@ -1212,11 +1212,11 @@ STAGE PLANS: value expressions: _col0 (type: struct,f6:int>) TableScan alias: t2 - filterExpr: (s2.f8.f9 and s1.f6 is not null and s2.f8.f9 is not null) (type: boolean) + filterExpr: (s1.f6 is not null and s2.f8.f9 is not null and s2.f8.f9) (type: boolean) Pruned Column Paths: s1.f6, s2.f8.f9 Statistics: Num rows: 1 Data size: 1468 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (s1.f6 is not null and s2.f8.f9 and s2.f8.f9 is not null) (type: boolean) + predicate: (s1.f6 is not null and s2.f8.f9 is not null and s2.f8.f9) (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 (type: boolean) diff --git a/ql/src/test/results/clientpositive/nonmr_fetch.q.out b/ql/src/test/results/clientpositive/nonmr_fetch.q.out index 3256462d5d..eea015fbae 100644 --- a/ql/src/test/results/clientpositive/nonmr_fetch.q.out +++ b/ql/src/test/results/clientpositive/nonmr_fetch.q.out @@ -163,7 +163,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: srcpart - filterExpr: ((ds = '2008-04-08') and (UDFToDouble(key) > 100.0D)) (type: boolean) + filterExpr: ((UDFToDouble(key) > 100.0D) and (ds = '2008-04-08')) (type: boolean) Statistics: Num rows: 1000 Data size: 362000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: (UDFToDouble(key) > 100.0D) (type: boolean) @@ -1003,7 +1003,7 @@ STAGE PLANS: filterExpr: ((UDFToDouble(key) > 200.0D) and (UDFToDouble(key) < 250.0D)) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((UDFToDouble(key) < 250.0D) and (UDFToDouble(key) > 200.0D)) (type: boolean) + predicate: ((UDFToDouble(key) > 200.0D) and (UDFToDouble(key) < 250.0D)) (type: boolean) Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: value (type: string), key (type: string) diff --git a/ql/src/test/results/clientpositive/orc_nested_column_pruning.q.out b/ql/src/test/results/clientpositive/orc_nested_column_pruning.q.out index 656ba2d3ea..0dd935b04b 100644 --- a/ql/src/test/results/clientpositive/orc_nested_column_pruning.q.out +++ b/ql/src/test/results/clientpositive/orc_nested_column_pruning.q.out @@ -1019,7 +1019,7 @@ STAGE PLANS: 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: ((not s2.f8.f9) and s1.f6 is not null) (type: boolean) + predicate: (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 Select Operator expressions: s1 (type: struct,f6:int>), s2 (type: struct,f11:map>>) @@ -1116,7 +1116,7 @@ STAGE PLANS: value expressions: _col0 (type: struct,f6:int>) TableScan alias: t2 - filterExpr: (s2.f8.f9 and s1.f6 is not null) (type: boolean) + filterExpr: (s1.f6 is not null and s2.f8.f9) (type: boolean) Statistics: Num rows: 1 Data size: 1468 Basic stats: COMPLETE Column stats: NONE Filter Operator predicate: (s1.f6 is not null and s2.f8.f9) (type: boolean) @@ -1212,11 +1212,11 @@ STAGE PLANS: value expressions: _col0 (type: struct,f6:int>) TableScan alias: t2 - filterExpr: (s2.f8.f9 and s1.f6 is not null and s2.f8.f9 is not null) (type: boolean) + filterExpr: (s1.f6 is not null and s2.f8.f9 is not null and s2.f8.f9) (type: boolean) Pruned Column Paths: s1.f6, s2.f8.f9 Statistics: Num rows: 1 Data size: 1468 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (s1.f6 is not null and s2.f8.f9 and s2.f8.f9 is not null) (type: boolean) + predicate: (s1.f6 is not null and s2.f8.f9 is not null and s2.f8.f9) (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 (type: boolean) diff --git a/ql/src/test/results/clientpositive/outer_join_ppr.q.out b/ql/src/test/results/clientpositive/outer_join_ppr.q.out index 3fc678d5ca..8bc0e4ba1c 100644 --- a/ql/src/test/results/clientpositive/outer_join_ppr.q.out +++ b/ql/src/test/results/clientpositive/outer_join_ppr.q.out @@ -32,7 +32,7 @@ FROM `default`.`src` WHERE `key` < 20 AND `key` > 15) AS `t0` INNER JOIN (SELECT `key`, `value` FROM `default`.`srcpart` -WHERE `key` > 15 AND `ds` = '2008-04-08' AND `key` < 20) AS `t2` ON `t0`.`key` = `t2`.`key` +WHERE `key` > 15 AND `key` < 20 AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key` STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -70,7 +70,7 @@ STAGE PLANS: GatherStats: false Filter Operator isSamplingPred: false - predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean) + predicate: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean) Statistics: Num rows: 111 Data size: 19758 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) @@ -349,7 +349,7 @@ FROM `default`.`src` WHERE `key` < 20 AND `key` > 15) AS `t0` INNER JOIN (SELECT `key`, `value` FROM `default`.`srcpart` -WHERE `key` > 15 AND `ds` = '2008-04-08' AND `key` < 20) AS `t2` ON `t0`.`key` = `t2`.`key` +WHERE `key` > 15 AND `key` < 20 AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key` STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -387,7 +387,7 @@ STAGE PLANS: GatherStats: false Filter Operator isSamplingPred: false - predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean) + predicate: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean) Statistics: Num rows: 111 Data size: 19758 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_0.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_0.q.out index 864ec43abe..7d01ef9e0e 100644 --- a/ql/src/test/results/clientpositive/parquet_vectorization_0.q.out +++ b/ql/src/test/results/clientpositive/parquet_vectorization_0.q.out @@ -932,7 +932,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)) (type: boolean) + filterExpr: ((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 TableScan Vectorization: native: true @@ -940,7 +940,7 @@ 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)) + predicateExpression: FilterExprOrExpr(children: 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), FilterStringColLikeStringScalar(col 7:string, pattern %b%)) 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 @@ -1102,7 +1102,7 @@ STAGE PLANS: GatherStats: false Filter Operator isSamplingPred: false - predicate: (((length(cstring1) < 50) and (cstring1 like '%n') and (length(cstring1) > 0)) or (cstring1 like 'a%') or (cstring1 like 'b%') or (cstring1 like 'c%')) (type: boolean) + predicate: ((cstring1 like 'a%') or (cstring1 like 'b%') or (cstring1 like 'c%') or ((length(cstring1) < 50) and (cstring1 like '%n') and (length(cstring1) > 0))) (type: boolean) Statistics: Num rows: 12288 Data size: 862450 Basic stats: COMPLETE Column stats: COMPLETE Select Operator Statistics: Num rows: 12288 Data size: 862450 Basic stats: COMPLETE Column stats: COMPLETE @@ -29916,7 +29916,7 @@ STAGE PLANS: GatherStats: false Filter Operator isSamplingPred: false - predicate: (((cint = 45) and (cfloat = 3.02)) or ((cint = 47) and (cfloat = 2.09)) or ((cint = 49) and (cfloat = 3.5))) (type: boolean) + predicate: (((cint = 49) and (cfloat = 3.5)) or ((cint = 47) and (cfloat = 2.09)) or ((cint = 45) and (cfloat = 3.02))) (type: boolean) Statistics: Num rows: 3 Data size: 930 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) @@ -30157,7 +30157,7 @@ STAGE PLANS: GatherStats: false Filter Operator isSamplingPred: false - predicate: (((cint = 45) or (cfloat = 3.02)) and ((cint = 47) or (cfloat = 2.09)) and ((cint = 49) or (cfloat = 3.5))) (type: boolean) + predicate: (((cint = 49) or (cfloat = 3.5)) and ((cint = 47) or (cfloat = 2.09)) and ((cint = 45) or (cfloat = 3.02))) (type: boolean) Statistics: Num rows: 2 Data size: 620 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) diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_1.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_1.q.out index 078d418a87..98c4691a94 100644 --- a/ql/src/test/results/clientpositive/parquet_vectorization_1.q.out +++ b/ql/src/test/results/clientpositive/parquet_vectorization_1.q.out @@ -58,7 +58,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesparquet - filterExpr: (((cdouble > UDFToDouble(ctinyint)) and (cboolean2 > 0)) or (cbigint < UDFToLong(ctinyint)) or (UDFToLong(cint) > cbigint) or (cboolean1 < 0)) (type: boolean) + filterExpr: ((cboolean1 < 0) or (cbigint < UDFToLong(ctinyint)) or (UDFToLong(cint) > cbigint) or ((cdouble > UDFToDouble(ctinyint)) and (cboolean2 > 0))) (type: boolean) Statistics: Num rows: 12288 Data size: 330276 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -66,8 +66,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterDoubleColGreaterDoubleColumn(col 5:double, col 13:double)(children: CastLongToDouble(col 0:tinyint) -> 13:double), FilterLongColGreaterLongScalar(col 11:boolean, val 0)), FilterLongColLessLongColumn(col 3:bigint, col 0:bigint)(children: col 0:tinyint), FilterLongColGreaterLongColumn(col 2:bigint, col 3:bigint)(children: col 2:int), FilterLongColLessLongScalar(col 10:boolean, val 0)) - predicate: (((cdouble > UDFToDouble(ctinyint)) and (cboolean2 > 0)) or (UDFToLong(cint) > cbigint) or (cbigint < UDFToLong(ctinyint)) or (cboolean1 < 0)) (type: boolean) + predicateExpression: FilterExprOrExpr(children: FilterLongColLessLongScalar(col 10:boolean, val 0), FilterLongColLessLongColumn(col 3:bigint, col 0:bigint)(children: col 0:tinyint), FilterLongColGreaterLongColumn(col 2:bigint, col 3:bigint)(children: col 2:int), FilterExprAndExpr(children: FilterDoubleColGreaterDoubleColumn(col 5:double, col 13:double)(children: CastLongToDouble(col 0:tinyint) -> 13:double), FilterLongColGreaterLongScalar(col 11:boolean, val 0))) + predicate: ((cboolean1 < 0) or (cbigint < UDFToLong(ctinyint)) or (UDFToLong(cint) > cbigint) or ((cdouble > UDFToDouble(ctinyint)) and (cboolean2 > 0))) (type: boolean) Statistics: Num rows: 12288 Data size: 330276 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ctinyint (type: tinyint), cfloat (type: float), cint (type: int), cdouble (type: double), UDFToDouble(ctinyint) (type: double), (UDFToDouble(ctinyint) * UDFToDouble(ctinyint)) (type: double), (cdouble * cdouble) (type: double) diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_11.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_11.q.out index 2395f784c6..97f5ede98a 100644 --- a/ql/src/test/results/clientpositive/parquet_vectorization_11.q.out +++ b/ql/src/test/results/clientpositive/parquet_vectorization_11.q.out @@ -46,7 +46,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesparquet - filterExpr: ((cstring2 = cstring1) or (ctimestamp1 is null and (cstring1 like '%a'))) (type: boolean) + filterExpr: ((ctimestamp1 is null and (cstring1 like '%a')) or (cstring2 = cstring1)) (type: boolean) Statistics: Num rows: 12288 Data size: 2381474 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -54,8 +54,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprOrExpr(children: FilterStringGroupColEqualStringGroupColumn(col 7:string, col 6:string), FilterExprAndExpr(children: SelectColumnIsNull(col 8:timestamp), FilterStringColLikeStringScalar(col 6:string, pattern %a))) - predicate: ((cstring2 = cstring1) or (ctimestamp1 is null and (cstring1 like '%a'))) (type: boolean) + predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: SelectColumnIsNull(col 8:timestamp), FilterStringColLikeStringScalar(col 6:string, pattern %a)), FilterStringGroupColEqualStringGroupColumn(col 7:string, col 6:string)) + predicate: ((ctimestamp1 is null and (cstring1 like '%a')) or (cstring2 = cstring1)) (type: boolean) Statistics: Num rows: 6144 Data size: 1190792 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cstring1 (type: string), cboolean1 (type: boolean), cdouble (type: double), ctimestamp1 (type: timestamp), (-3728 * UDFToInteger(csmallint)) (type: int), (cdouble - 9763215.5639D) (type: double), (- cdouble) (type: double), ((- cdouble) + 6981.0D) (type: double), (cdouble * -5638.15D) (type: double) diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_12.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_12.q.out index 62647c9067..6059ac98fd 100644 --- a/ql/src/test/results/clientpositive/parquet_vectorization_12.q.out +++ b/ql/src/test/results/clientpositive/parquet_vectorization_12.q.out @@ -81,7 +81,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesparquet - filterExpr: (ctimestamp1 is null and ((cboolean1 >= cboolean2) or (UDFToShort(ctinyint) <> csmallint)) and ((cstring1 like '%a') or ((cboolean2 <= 1) and (cbigint >= UDFToLong(csmallint))))) (type: boolean) + filterExpr: (((cstring1 like '%a') or ((cboolean2 <= 1) and (cbigint >= UDFToLong(csmallint)))) and ((cboolean1 >= cboolean2) or (UDFToShort(ctinyint) <> csmallint)) and ctimestamp1 is null) (type: boolean) Statistics: Num rows: 12288 Data size: 1647554 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -89,8 +89,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprAndExpr(children: SelectColumnIsNull(col 8:timestamp), FilterExprOrExpr(children: FilterLongColGreaterEqualLongColumn(col 10:boolean, col 11:boolean), FilterLongColNotEqualLongColumn(col 0:smallint, col 1:smallint)(children: col 0:tinyint)), FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 6:string, pattern %a), FilterExprAndExpr(children: FilterLongColLessEqualLongScalar(col 11:boolean, val 1), FilterLongColGreaterEqualLongColumn(col 3:bigint, col 1:bigint)(children: col 1:smallint)))) - predicate: (((cboolean1 >= cboolean2) or (UDFToShort(ctinyint) <> csmallint)) and ((cstring1 like '%a') or ((cboolean2 <= 1) and (cbigint >= UDFToLong(csmallint)))) and ctimestamp1 is null) (type: boolean) + predicateExpression: FilterExprAndExpr(children: FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 6:string, pattern %a), FilterExprAndExpr(children: FilterLongColLessEqualLongScalar(col 11:boolean, val 1), FilterLongColGreaterEqualLongColumn(col 3:bigint, col 1:bigint)(children: col 1:smallint))), FilterExprOrExpr(children: FilterLongColGreaterEqualLongColumn(col 10:boolean, col 11:boolean), FilterLongColNotEqualLongColumn(col 0:smallint, col 1:smallint)(children: col 0:tinyint)), SelectColumnIsNull(col 8:timestamp)) + predicate: (((cstring1 like '%a') or ((cboolean2 <= 1) and (cbigint >= UDFToLong(csmallint)))) and ((cboolean1 >= cboolean2) or (UDFToShort(ctinyint) <> csmallint)) and ctimestamp1 is null) (type: boolean) Statistics: Num rows: 1 Data size: 166 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cbigint (type: bigint), cboolean1 (type: boolean), cstring1 (type: string), cdouble (type: double), UDFToDouble(cbigint) (type: double), (UDFToDouble(cbigint) * UDFToDouble(cbigint)) (type: double), (cdouble * cdouble) (type: double) diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_14.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_14.q.out index b13ebed5d0..1d4a41c268 100644 --- a/ql/src/test/results/clientpositive/parquet_vectorization_14.q.out +++ b/ql/src/test/results/clientpositive/parquet_vectorization_14.q.out @@ -83,7 +83,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesparquet - filterExpr: ((UDFToLong(ctinyint) <= cbigint) and ((UDFToDouble(cint) <= cdouble) or (ctimestamp2 < ctimestamp1)) and (cdouble < UDFToDouble(ctinyint)) and ((cbigint > -257L) or (cfloat < UDFToFloat(cint)))) (type: boolean) + filterExpr: ((UDFToLong(ctinyint) <= cbigint) and (cdouble < UDFToDouble(ctinyint)) and ((cbigint > -257L) or (cfloat < UDFToFloat(cint))) and ((UDFToDouble(cint) <= cdouble) or (ctimestamp2 < ctimestamp1))) (type: boolean) Statistics: Num rows: 12288 Data size: 2139070 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -91,8 +91,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprAndExpr(children: FilterLongColLessEqualLongColumn(col 0:bigint, col 3:bigint)(children: col 0:tinyint), FilterExprOrExpr(children: FilterDoubleColLessEqualDoubleColumn(col 13:double, col 5:double)(children: CastLongToDouble(col 2:int) -> 13:double), FilterTimestampColLessTimestampColumn(col 9:timestamp, col 8:timestamp)), FilterDoubleColLessDoubleColumn(col 5:double, col 14:double)(children: CastLongToDouble(col 0:tinyint) -> 14:double), FilterExprOrExpr(children: FilterLongColGreaterLongScalar(col 3:bigint, val -257), FilterDoubleColLessDoubleColumn(col 4:float, col 15:float)(children: CastLongToFloatViaLongToDouble(col 2:int) -> 15:float))) - predicate: (((UDFToDouble(cint) <= cdouble) or (ctimestamp2 < ctimestamp1)) and ((cbigint > -257L) or (cfloat < UDFToFloat(cint))) and (UDFToLong(ctinyint) <= cbigint) and (cdouble < UDFToDouble(ctinyint))) (type: boolean) + predicateExpression: FilterExprAndExpr(children: FilterLongColLessEqualLongColumn(col 0:bigint, col 3:bigint)(children: col 0:tinyint), FilterDoubleColLessDoubleColumn(col 5:double, col 13:double)(children: CastLongToDouble(col 0:tinyint) -> 13:double), FilterExprOrExpr(children: FilterLongColGreaterLongScalar(col 3:bigint, val -257), FilterDoubleColLessDoubleColumn(col 4:float, col 14:float)(children: CastLongToFloatViaLongToDouble(col 2:int) -> 14:float)), FilterExprOrExpr(children: FilterDoubleColLessEqualDoubleColumn(col 15:double, col 5:double)(children: CastLongToDouble(col 2:int) -> 15:double), FilterTimestampColLessTimestampColumn(col 9:timestamp, col 8:timestamp))) + predicate: ((UDFToLong(ctinyint) <= cbigint) and (cdouble < UDFToDouble(ctinyint)) and ((cbigint > -257L) or (cfloat < UDFToFloat(cint))) and ((UDFToDouble(cint) <= cdouble) or (ctimestamp2 < ctimestamp1))) (type: boolean) Statistics: Num rows: 606 Data size: 105558 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ctimestamp1 (type: timestamp), cfloat (type: float), cstring1 (type: string), cboolean1 (type: boolean), cdouble (type: double), (- (-26.28D + cdouble)) (type: double), ((- (-26.28D + cdouble)) * (- (-26.28D + cdouble))) (type: double), UDFToDouble(cfloat) (type: double), (UDFToDouble(cfloat) * UDFToDouble(cfloat)) (type: double) diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_15.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_15.q.out index 0d772de3d7..f2d32b35f1 100644 --- a/ql/src/test/results/clientpositive/parquet_vectorization_15.q.out +++ b/ql/src/test/results/clientpositive/parquet_vectorization_15.q.out @@ -79,7 +79,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesparquet - filterExpr: ((cstring2 like '%ss%') or (cstring1 like '10%') or ((cint >= -75) and (UDFToShort(ctinyint) = csmallint) and (cdouble >= -3728.0D))) (type: boolean) + filterExpr: ((cstring1 like '10%') or (cstring2 like '%ss%') or ((cint >= -75) and (UDFToShort(ctinyint) = csmallint) and (cdouble >= -3728.0D))) (type: boolean) Statistics: Num rows: 12288 Data size: 2491562 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -87,8 +87,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 7:string, pattern %ss%), FilterStringColLikeStringScalar(col 6:string, pattern 10%), FilterExprAndExpr(children: FilterLongColGreaterEqualLongScalar(col 2:int, val -75), FilterLongColEqualLongColumn(col 0:smallint, col 1:smallint)(children: col 0:tinyint), FilterDoubleColGreaterEqualDoubleScalar(col 5:double, val -3728.0))) - predicate: (((cint >= -75) and (UDFToShort(ctinyint) = csmallint) and (cdouble >= -3728.0D)) or (cstring1 like '10%') or (cstring2 like '%ss%')) (type: boolean) + predicateExpression: FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 6:string, pattern 10%), FilterStringColLikeStringScalar(col 7:string, pattern %ss%), FilterExprAndExpr(children: FilterLongColGreaterEqualLongScalar(col 2:int, val -75), FilterLongColEqualLongColumn(col 0:smallint, col 1:smallint)(children: col 0:tinyint), FilterDoubleColGreaterEqualDoubleScalar(col 5:double, val -3728.0))) + predicate: ((cstring1 like '10%') or (cstring2 like '%ss%') or ((cint >= -75) and (UDFToShort(ctinyint) = csmallint) and (cdouble >= -3728.0D))) (type: boolean) Statistics: Num rows: 12288 Data size: 2491562 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cfloat (type: float), cboolean1 (type: boolean), cdouble (type: double), cstring1 (type: string), ctinyint (type: tinyint), cint (type: int), ctimestamp1 (type: timestamp), UDFToDouble(cfloat) (type: double), (UDFToDouble(cfloat) * UDFToDouble(cfloat)) (type: double), UDFToDouble(ctinyint) (type: double), (UDFToDouble(ctinyint) * UDFToDouble(ctinyint)) (type: double), UDFToDouble(cint) (type: double), (UDFToDouble(cint) * UDFToDouble(cint)) (type: double) diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_17.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_17.q.out index ce2f75eb5f..4a8eb4d0fa 100644 --- a/ql/src/test/results/clientpositive/parquet_vectorization_17.q.out +++ b/ql/src/test/results/clientpositive/parquet_vectorization_17.q.out @@ -64,7 +64,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesparquet - filterExpr: ((cbigint > -23L) and ((cdouble <> 988888.0D) or (CAST( cint AS decimal(13,3)) > -863.257)) and ((ctinyint >= 33Y) or (UDFToLong(csmallint) >= cbigint) or (UDFToDouble(cfloat) = cdouble))) (type: boolean) + filterExpr: ((cbigint > -23L) and ((ctinyint >= 33Y) or (UDFToLong(csmallint) >= cbigint) or (UDFToDouble(cfloat) = cdouble)) and ((cdouble <> 988888.0D) or (CAST( cint AS decimal(13,3)) > -863.257))) (type: boolean) Statistics: Num rows: 12288 Data size: 1647550 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -72,8 +72,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprAndExpr(children: FilterLongColGreaterLongScalar(col 3:bigint, val -23), FilterExprOrExpr(children: FilterDoubleColNotEqualDoubleScalar(col 5:double, val 988888.0), FilterDecimalColGreaterDecimalScalar(col 13:decimal(13,3), val -863.257)(children: CastLongToDecimal(col 2:int) -> 13:decimal(13,3))), FilterExprOrExpr(children: FilterLongColGreaterEqualLongScalar(col 0:tinyint, val 33), FilterLongColGreaterEqualLongColumn(col 1:bigint, col 3:bigint)(children: col 1:smallint), FilterDoubleColEqualDoubleColumn(col 4:double, col 5:double)(children: col 4:float))) - predicate: (((cdouble <> 988888.0D) or (CAST( cint AS decimal(13,3)) > -863.257)) and ((ctinyint >= 33Y) or (UDFToLong(csmallint) >= cbigint) or (UDFToDouble(cfloat) = cdouble)) and (cbigint > -23L)) (type: boolean) + predicateExpression: FilterExprAndExpr(children: FilterLongColGreaterLongScalar(col 3:bigint, val -23), FilterExprOrExpr(children: FilterLongColGreaterEqualLongScalar(col 0:tinyint, val 33), FilterLongColGreaterEqualLongColumn(col 1:bigint, col 3:bigint)(children: col 1:smallint), FilterDoubleColEqualDoubleColumn(col 4:double, col 5:double)(children: col 4:float)), FilterExprOrExpr(children: FilterDoubleColNotEqualDoubleScalar(col 5:double, val 988888.0), FilterDecimalColGreaterDecimalScalar(col 13:decimal(13,3), val -863.257)(children: CastLongToDecimal(col 2:int) -> 13:decimal(13,3)))) + predicate: ((cbigint > -23L) and ((ctinyint >= 33Y) or (UDFToLong(csmallint) >= cbigint) or (UDFToDouble(cfloat) = cdouble)) and ((cdouble <> 988888.0D) or (CAST( cint AS decimal(13,3)) > -863.257))) (type: boolean) Statistics: Num rows: 4096 Data size: 549274 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cfloat (type: float), cstring1 (type: string), cint (type: int), ctimestamp1 (type: timestamp), cdouble (type: double), cbigint (type: bigint), (UDFToDouble(cfloat) / UDFToDouble(ctinyint)) (type: double), (UDFToLong(cint) % cbigint) (type: bigint), (- cdouble) (type: double), (cdouble + (UDFToDouble(cfloat) / UDFToDouble(ctinyint))) (type: double), (cdouble / UDFToDouble(cint)) (type: double), (- (- cdouble)) (type: double), (9763215.5639 % CAST( cbigint AS decimal(19,0))) (type: decimal(11,4)), (2563.58D + (- (- cdouble))) (type: double) diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_2.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_2.q.out index b52227c978..1b2800f55b 100644 --- a/ql/src/test/results/clientpositive/parquet_vectorization_2.q.out +++ b/ql/src/test/results/clientpositive/parquet_vectorization_2.q.out @@ -62,7 +62,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesparquet - filterExpr: (((ctimestamp1 < ctimestamp2) and (cstring2 like 'b%') and (cfloat <= -5638.15)) or ((cdouble < UDFToDouble(ctinyint)) and ((UDFToDouble(ctimestamp2) <> -10669.0D) or (cint < 359)))) (type: boolean) + filterExpr: (((cdouble < UDFToDouble(ctinyint)) and ((UDFToDouble(ctimestamp2) <> -10669.0D) or (cint < 359))) or ((ctimestamp1 < ctimestamp2) and (cstring2 like 'b%') and (cfloat <= -5638.15))) (type: boolean) Statistics: Num rows: 12288 Data size: 2157324 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -70,7 +70,7 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterTimestampColLessTimestampColumn(col 8:timestamp, col 9:timestamp), FilterStringColLikeStringScalar(col 7:string, pattern b%), FilterDoubleColLessEqualDoubleScalar(col 4:float, val -5638.14990234375)), FilterExprAndExpr(children: FilterDoubleColLessDoubleColumn(col 5:double, col 13:double)(children: CastLongToDouble(col 0:tinyint) -> 13:double), FilterExprOrExpr(children: FilterDoubleColNotEqualDoubleScalar(col 14:double, val -10669.0)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double), FilterLongColLessLongScalar(col 2:int, val 359)))) + predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterDoubleColLessDoubleColumn(col 5:double, col 13:double)(children: CastLongToDouble(col 0:tinyint) -> 13:double), FilterExprOrExpr(children: FilterDoubleColNotEqualDoubleScalar(col 14:double, val -10669.0)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double), FilterLongColLessLongScalar(col 2:int, val 359))), FilterExprAndExpr(children: FilterTimestampColLessTimestampColumn(col 8:timestamp, col 9:timestamp), FilterStringColLikeStringScalar(col 7:string, pattern b%), FilterDoubleColLessEqualDoubleScalar(col 4:float, val -5638.14990234375))) predicate: (((cdouble < UDFToDouble(ctinyint)) and ((UDFToDouble(ctimestamp2) <> -10669.0D) or (cint < 359))) or ((ctimestamp1 < ctimestamp2) and (cstring2 like 'b%') and (cfloat <= -5638.15))) (type: boolean) Statistics: Num rows: 4096 Data size: 719232 Basic stats: COMPLETE Column stats: COMPLETE Select Operator diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_4.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_4.q.out index cb29ecc45a..b185a234b4 100644 --- a/ql/src/test/results/clientpositive/parquet_vectorization_4.q.out +++ b/ql/src/test/results/clientpositive/parquet_vectorization_4.q.out @@ -62,7 +62,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesparquet - filterExpr: ((UDFToInteger(csmallint) >= cint) or ((UDFToInteger(ctinyint) <= -89010) and (cdouble > 79.553D)) or ((cbigint <> -563L) and ((UDFToLong(ctinyint) <> cbigint) or (cdouble <= -3728.0D)))) (type: boolean) + filterExpr: ((UDFToInteger(csmallint) >= cint) or ((cbigint <> -563L) and ((UDFToLong(ctinyint) <> cbigint) or (cdouble <= -3728.0D))) or ((UDFToInteger(ctinyint) <= -89010) and (cdouble > 79.553D))) (type: boolean) Statistics: Num rows: 12288 Data size: 256884 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -70,8 +70,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprOrExpr(children: FilterLongColGreaterEqualLongColumn(col 1:int, col 2:int)(children: col 1:smallint), FilterExprAndExpr(children: FilterLongColLessEqualLongScalar(col 0:int, val -89010)(children: col 0:tinyint), FilterDoubleColGreaterDoubleScalar(col 5:double, val 79.553)), FilterExprAndExpr(children: FilterLongColNotEqualLongScalar(col 3:bigint, val -563), FilterExprOrExpr(children: FilterLongColNotEqualLongColumn(col 0:bigint, col 3:bigint)(children: col 0:tinyint), FilterDoubleColLessEqualDoubleScalar(col 5:double, val -3728.0)))) - predicate: (((UDFToInteger(ctinyint) <= -89010) and (cdouble > 79.553D)) or ((cbigint <> -563L) and ((UDFToLong(ctinyint) <> cbigint) or (cdouble <= -3728.0D))) or (UDFToInteger(csmallint) >= cint)) (type: boolean) + predicateExpression: FilterExprOrExpr(children: FilterLongColGreaterEqualLongColumn(col 1:int, col 2:int)(children: col 1:smallint), FilterExprAndExpr(children: FilterLongColNotEqualLongScalar(col 3:bigint, val -563), FilterExprOrExpr(children: FilterLongColNotEqualLongColumn(col 0:bigint, col 3:bigint)(children: col 0:tinyint), FilterDoubleColLessEqualDoubleScalar(col 5:double, val -3728.0))), FilterExprAndExpr(children: FilterLongColLessEqualLongScalar(col 0:int, val -89010)(children: col 0:tinyint), FilterDoubleColGreaterDoubleScalar(col 5:double, val 79.553))) + predicate: ((UDFToInteger(csmallint) >= cint) or ((cbigint <> -563L) and ((UDFToLong(ctinyint) <> cbigint) or (cdouble <= -3728.0D))) or ((UDFToInteger(ctinyint) <= -89010) and (cdouble > 79.553D))) (type: boolean) Statistics: Num rows: 12288 Data size: 256884 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cint (type: int), cdouble (type: double), ctinyint (type: tinyint), (cdouble * cdouble) (type: double) diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_6.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_6.q.out index 77c24c0a0b..59dad74855 100644 --- a/ql/src/test/results/clientpositive/parquet_vectorization_6.q.out +++ b/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 (((cstring2 like '%a') or (cfloat <= -257.0)) and cbigint is not null))) (type: boolean) + filterExpr: ((((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: 12288 Data size: 2110130 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -66,7 +66,7 @@ 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: FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 7:string, pattern %a), FilterDoubleColLessEqualDoubleScalar(col 4:float, val -257.0)), SelectColumnIsNotNull(col 3:bigint)))) + predicateExpression: FilterExprAndExpr(children: 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))), FilterLongColNotEqualLongScalar(col 0:tinyint, val 0)) 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 diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_7.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_7.q.out index baa2991d01..adfbdf9a8a 100644 --- a/ql/src/test/results/clientpositive/parquet_vectorization_7.q.out +++ b/ql/src/test/results/clientpositive/parquet_vectorization_7.q.out @@ -70,7 +70,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesparquet - filterExpr: ((ctinyint <> 0Y) and ((UDFToDouble(ctimestamp1) <= -28800.0D) or (UDFToInteger(ctinyint) = cint) or (cstring2 like 'ss')) and ((cdouble > 988888.0D) or ((UDFToDouble(ctimestamp2) > -28815.0D) and (cdouble <= 3569.0D)))) (type: boolean) + filterExpr: (((cdouble > 988888.0D) or ((UDFToDouble(ctimestamp2) > -28815.0D) and (cdouble <= 3569.0D))) and ((UDFToDouble(ctimestamp1) <= -28800.0D) or (UDFToInteger(ctinyint) = cint) or (cstring2 like 'ss')) and (ctinyint <> 0Y)) (type: boolean) Statistics: Num rows: 12288 Data size: 3019778 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -78,8 +78,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprAndExpr(children: FilterLongColNotEqualLongScalar(col 0:tinyint, val 0), FilterExprOrExpr(children: FilterDoubleColLessEqualDoubleScalar(col 13:double, val -28800.0)(children: CastTimestampToDouble(col 8:timestamp) -> 13:double), FilterLongColEqualLongColumn(col 0:int, col 2:int)(children: col 0:tinyint), FilterStringColLikeStringScalar(col 7:string, pattern ss)), FilterExprOrExpr(children: FilterDoubleColGreaterDoubleScalar(col 5:double, val 988888.0), FilterExprAndExpr(children: FilterDoubleColGreaterDoubleScalar(col 14:double, val -28815.0)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double), FilterDoubleColLessEqualDoubleScalar(col 5:double, val 3569.0)))) - predicate: (((UDFToDouble(ctimestamp1) <= -28800.0D) or (UDFToInteger(ctinyint) = cint) or (cstring2 like 'ss')) and ((cdouble > 988888.0D) or ((UDFToDouble(ctimestamp2) > -28815.0D) and (cdouble <= 3569.0D))) and (ctinyint <> 0Y)) (type: boolean) + predicateExpression: FilterExprAndExpr(children: FilterExprOrExpr(children: FilterDoubleColGreaterDoubleScalar(col 5:double, val 988888.0), FilterExprAndExpr(children: FilterDoubleColGreaterDoubleScalar(col 13:double, val -28815.0)(children: CastTimestampToDouble(col 9:timestamp) -> 13:double), FilterDoubleColLessEqualDoubleScalar(col 5:double, val 3569.0))), FilterExprOrExpr(children: FilterDoubleColLessEqualDoubleScalar(col 14:double, val -28800.0)(children: CastTimestampToDouble(col 8:timestamp) -> 14:double), FilterLongColEqualLongColumn(col 0:int, col 2:int)(children: col 0:tinyint), FilterStringColLikeStringScalar(col 7:string, pattern ss)), FilterLongColNotEqualLongScalar(col 0:tinyint, val 0)) + predicate: (((cdouble > 988888.0D) or ((UDFToDouble(ctimestamp2) > -28815.0D) and (cdouble <= 3569.0D))) and ((UDFToDouble(ctimestamp1) <= -28800.0D) or (UDFToInteger(ctinyint) = cint) or (cstring2 like 'ss')) and (ctinyint <> 0Y)) (type: boolean) Statistics: Num rows: 5461 Data size: 1342196 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cboolean1 (type: boolean), cbigint (type: bigint), csmallint (type: smallint), ctinyint (type: tinyint), ctimestamp1 (type: timestamp), cstring1 (type: string), (cbigint + cbigint) (type: bigint), (UDFToInteger(csmallint) % -257) (type: int), (- csmallint) (type: smallint), (- ctinyint) (type: tinyint), (UDFToInteger((- ctinyint)) + 17) (type: int), (cbigint * UDFToLong((- csmallint))) (type: bigint), (cint % UDFToInteger(csmallint)) (type: int), (- ctinyint) (type: tinyint), ((- ctinyint) % ctinyint) (type: tinyint) @@ -289,7 +289,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesparquet - filterExpr: ((ctinyint <> 0Y) and ((UDFToDouble(ctimestamp1) <= -28800.0D) or (UDFToInteger(ctinyint) = cint) or (cstring2 like 'ss')) and ((cdouble > 988888.0D) or ((UDFToDouble(ctimestamp2) > -28792.315D) and (cdouble <= 3569.0D)))) (type: boolean) + filterExpr: (((cdouble > 988888.0D) or ((UDFToDouble(ctimestamp2) > -28792.315D) and (cdouble <= 3569.0D))) and ((UDFToDouble(ctimestamp1) <= -28800.0D) or (UDFToInteger(ctinyint) = cint) or (cstring2 like 'ss')) and (ctinyint <> 0Y)) (type: boolean) Statistics: Num rows: 12288 Data size: 3019778 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -297,8 +297,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprAndExpr(children: FilterLongColNotEqualLongScalar(col 0:tinyint, val 0), FilterExprOrExpr(children: FilterDoubleColLessEqualDoubleScalar(col 13:double, val -28800.0)(children: CastTimestampToDouble(col 8:timestamp) -> 13:double), FilterLongColEqualLongColumn(col 0:int, col 2:int)(children: col 0:tinyint), FilterStringColLikeStringScalar(col 7:string, pattern ss)), FilterExprOrExpr(children: FilterDoubleColGreaterDoubleScalar(col 5:double, val 988888.0), FilterExprAndExpr(children: FilterDoubleColGreaterDoubleScalar(col 14:double, val -28792.315)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double), FilterDoubleColLessEqualDoubleScalar(col 5:double, val 3569.0)))) - predicate: (((UDFToDouble(ctimestamp1) <= -28800.0D) or (UDFToInteger(ctinyint) = cint) or (cstring2 like 'ss')) and ((cdouble > 988888.0D) or ((UDFToDouble(ctimestamp2) > -28792.315D) and (cdouble <= 3569.0D))) and (ctinyint <> 0Y)) (type: boolean) + predicateExpression: FilterExprAndExpr(children: FilterExprOrExpr(children: FilterDoubleColGreaterDoubleScalar(col 5:double, val 988888.0), FilterExprAndExpr(children: FilterDoubleColGreaterDoubleScalar(col 13:double, val -28792.315)(children: CastTimestampToDouble(col 9:timestamp) -> 13:double), FilterDoubleColLessEqualDoubleScalar(col 5:double, val 3569.0))), FilterExprOrExpr(children: FilterDoubleColLessEqualDoubleScalar(col 14:double, val -28800.0)(children: CastTimestampToDouble(col 8:timestamp) -> 14:double), FilterLongColEqualLongColumn(col 0:int, col 2:int)(children: col 0:tinyint), FilterStringColLikeStringScalar(col 7:string, pattern ss)), FilterLongColNotEqualLongScalar(col 0:tinyint, val 0)) + predicate: (((cdouble > 988888.0D) or ((UDFToDouble(ctimestamp2) > -28792.315D) and (cdouble <= 3569.0D))) and ((UDFToDouble(ctimestamp1) <= -28800.0D) or (UDFToInteger(ctinyint) = cint) or (cstring2 like 'ss')) and (ctinyint <> 0Y)) (type: boolean) Statistics: Num rows: 5461 Data size: 1342196 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cboolean1 (type: boolean), cbigint (type: bigint), csmallint (type: smallint), ctinyint (type: tinyint), ctimestamp1 (type: timestamp), cstring1 (type: string), (cbigint + cbigint) (type: bigint), (UDFToInteger(csmallint) % -257) (type: int), (- csmallint) (type: smallint), (- ctinyint) (type: tinyint), (UDFToInteger((- ctinyint)) + 17) (type: int), (cbigint * UDFToLong((- csmallint))) (type: bigint), (cint % UDFToInteger(csmallint)) (type: int), (- ctinyint) (type: tinyint), ((- ctinyint) % ctinyint) (type: tinyint) diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_8.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_8.q.out index 3285996358..b15b1452a7 100644 --- a/ql/src/test/results/clientpositive/parquet_vectorization_8.q.out +++ b/ql/src/test/results/clientpositive/parquet_vectorization_8.q.out @@ -66,7 +66,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesparquet - 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) + filterExpr: ((cfloat < -6432.0) or ((UDFToDouble(ctimestamp1) <= 10.0D) and (UDFToDouble(ctimestamp2) <> 16.0D) and cstring2 is not null) 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: 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) + predicateExpression: FilterExprOrExpr(children: FilterDoubleColLessDoubleScalar(col 4:float, val -6432.0), 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)), FilterExprAndExpr(children: FilterDoubleColEqualDoubleScalar(col 5:double, val 988888.0), SelectColumnIsNotNull(col 10:boolean))) + predicate: ((cfloat < -6432.0) or ((UDFToDouble(ctimestamp1) <= 10.0D) and (UDFToDouble(ctimestamp2) <> 16.0D) and cstring2 is not null) or ((cdouble = 988888.0D) and cboolean1 is not null)) (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: (((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) + filterExpr: ((cfloat < -6432.0) or ((UDFToDouble(ctimestamp1) <= 12.503D) and (UDFToDouble(ctimestamp2) <> 11.998D) and cstring2 is not null) 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: 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) + predicateExpression: FilterExprOrExpr(children: FilterDoubleColLessDoubleScalar(col 4:float, val -6432.0), 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)), FilterExprAndExpr(children: FilterDoubleColEqualDoubleScalar(col 5:double, val 988888.0), SelectColumnIsNotNull(col 10:boolean))) + predicate: ((cfloat < -6432.0) or ((UDFToDouble(ctimestamp1) <= 12.503D) and (UDFToDouble(ctimestamp2) <> 11.998D) and cstring2 is not null) or ((cdouble = 988888.0D) and cboolean1 is not null)) (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 a/ql/src/test/results/clientpositive/parquet_vectorization_limit.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_limit.q.out index f4a67f340e..67a99838c8 100644 --- a/ql/src/test/results/clientpositive/parquet_vectorization_limit.q.out +++ b/ql/src/test/results/clientpositive/parquet_vectorization_limit.q.out @@ -21,10 +21,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesparquet - filterExpr: ((UDFToDouble(cbigint) < cdouble) and (cint > 0)) (type: boolean) + filterExpr: ((cint > 0) and (UDFToDouble(cbigint) < cdouble)) (type: boolean) Statistics: Num rows: 12288 Data size: 183488 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((UDFToDouble(cbigint) < cdouble) and (cint > 0)) (type: boolean) + predicate: ((cint > 0) and (UDFToDouble(cbigint) < cdouble)) (type: boolean) Statistics: Num rows: 1365 Data size: 20400 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cbigint (type: bigint), cdouble (type: double) diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_offset_limit.q.out b/ql/src/test/results/clientpositive/parquet_vectorization_offset_limit.q.out index 47a7350bce..e204b9eede 100644 --- a/ql/src/test/results/clientpositive/parquet_vectorization_offset_limit.q.out +++ b/ql/src/test/results/clientpositive/parquet_vectorization_offset_limit.q.out @@ -21,10 +21,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesparquet - filterExpr: ((UDFToDouble(cbigint) < cdouble) and (cint > 0)) (type: boolean) + filterExpr: ((cint > 0) and (UDFToDouble(cbigint) < cdouble)) (type: boolean) Statistics: Num rows: 12288 Data size: 183488 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((UDFToDouble(cbigint) < cdouble) and (cint > 0)) (type: boolean) + predicate: ((cint > 0) and (UDFToDouble(cbigint) < cdouble)) (type: boolean) Statistics: Num rows: 1365 Data size: 20400 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cbigint (type: bigint), cdouble (type: double) diff --git a/ql/src/test/results/clientpositive/ppd_gby_join.q.out b/ql/src/test/results/clientpositive/ppd_gby_join.q.out index 7343f7e8a1..eba3c9b342 100644 --- a/ql/src/test/results/clientpositive/ppd_gby_join.q.out +++ b/ql/src/test/results/clientpositive/ppd_gby_join.q.out @@ -33,10 +33,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: src - filterExpr: ((key < '400') and (key > '20') and ((value < 'val_50') or (key > '2')) and (key <> '4')) (type: boolean) + filterExpr: ((key > '20') and (key < '400') and ((value < 'val_50') or (key > '2')) and (key <> '4')) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (((value < 'val_50') or (key > '2')) and (key < '400') and (key <> '4') and (key > '20')) (type: boolean) + predicate: ((key > '20') and (key < '400') and ((value < 'val_50') or (key > '2')) and (key <> '4')) (type: boolean) Statistics: Num rows: 36 Data size: 6408 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string) @@ -49,10 +49,10 @@ STAGE PLANS: Statistics: Num rows: 36 Data size: 3132 Basic stats: COMPLETE Column stats: COMPLETE TableScan alias: src - filterExpr: ((key < '400') and (key <> '4') and (key > '20')) (type: boolean) + filterExpr: ((key > '20') and (key < '400') and (key <> '4')) (type: boolean) Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((key < '400') and (key <> '4') and (key > '20')) (type: boolean) + predicate: ((key > '20') and (key < '400') and (key <> '4')) (type: boolean) Statistics: Num rows: 55 Data size: 4785 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string) @@ -71,14 +71,14 @@ STAGE PLANS: 0 _col0 (type: string) 1 _col0 (type: string) outputColumnNames: _col0 - Statistics: Num rows: 55 Data size: 4785 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 36 Data size: 3132 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator aggregations: count() keys: _col0 (type: string) minReductionHashAggr: 0.99 mode: hash outputColumnNames: _col0, _col1 - Statistics: Num rows: 27 Data size: 2565 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 18 Data size: 1710 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false table: @@ -94,7 +94,7 @@ STAGE PLANS: key expressions: _col0 (type: string) sort order: + Map-reduce partition columns: _col0 (type: string) - Statistics: Num rows: 27 Data size: 2565 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 18 Data size: 1710 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col1 (type: bigint) Execution mode: vectorized Reduce Operator Tree: @@ -103,10 +103,10 @@ STAGE PLANS: keys: KEY._col0 (type: string) mode: mergepartial outputColumnNames: _col0, _col1 - Statistics: Num rows: 27 Data size: 2565 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 18 Data size: 1710 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false - Statistics: Num rows: 27 Data size: 2565 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 18 Data size: 1710 Basic stats: COMPLETE Column stats: COMPLETE table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat @@ -304,10 +304,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: src - filterExpr: ((key < '400') and (key > '20') and ((value < 'val_50') or (key > '2')) and (key <> '4')) (type: boolean) + filterExpr: ((key > '20') and (key < '400') and ((value < 'val_50') or (key > '2')) and (key <> '4')) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (((value < 'val_50') or (key > '2')) and (key < '400') and (key <> '4') and (key > '20')) (type: boolean) + predicate: ((key > '20') and (key < '400') and ((value < 'val_50') or (key > '2')) and (key <> '4')) (type: boolean) Statistics: Num rows: 36 Data size: 6408 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string) @@ -320,10 +320,10 @@ STAGE PLANS: Statistics: Num rows: 36 Data size: 3132 Basic stats: COMPLETE Column stats: COMPLETE TableScan alias: src - filterExpr: ((key < '400') and (key <> '4') and (key > '20')) (type: boolean) + filterExpr: ((key > '20') and (key < '400') and (key <> '4')) (type: boolean) Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((key < '400') and (key <> '4') and (key > '20')) (type: boolean) + predicate: ((key > '20') and (key < '400') and (key <> '4')) (type: boolean) Statistics: Num rows: 55 Data size: 4785 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string) @@ -342,14 +342,14 @@ STAGE PLANS: 0 _col0 (type: string) 1 _col0 (type: string) outputColumnNames: _col0 - Statistics: Num rows: 55 Data size: 4785 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 36 Data size: 3132 Basic stats: COMPLETE Column stats: COMPLETE Group By Operator aggregations: count() keys: _col0 (type: string) minReductionHashAggr: 0.99 mode: hash outputColumnNames: _col0, _col1 - Statistics: Num rows: 27 Data size: 2565 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 18 Data size: 1710 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false table: @@ -365,7 +365,7 @@ STAGE PLANS: key expressions: _col0 (type: string) sort order: + Map-reduce partition columns: _col0 (type: string) - Statistics: Num rows: 27 Data size: 2565 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 18 Data size: 1710 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col1 (type: bigint) Execution mode: vectorized Reduce Operator Tree: @@ -374,10 +374,10 @@ STAGE PLANS: keys: KEY._col0 (type: string) mode: mergepartial outputColumnNames: _col0, _col1 - Statistics: Num rows: 27 Data size: 2565 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 18 Data size: 1710 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false - Statistics: Num rows: 27 Data size: 2565 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 18 Data size: 1710 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 a/ql/src/test/results/clientpositive/ppd_join.q.out b/ql/src/test/results/clientpositive/ppd_join.q.out index 4fbce44f53..c45867799f 100644 --- a/ql/src/test/results/clientpositive/ppd_join.q.out +++ b/ql/src/test/results/clientpositive/ppd_join.q.out @@ -30,10 +30,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: src - filterExpr: ((key < '400') and (key > '20') and ((value < 'val_50') or (key > '2')) and (key <> '4')) (type: boolean) + filterExpr: ((key > '20') and (key < '400') and ((value < 'val_50') or (key > '2')) and (key <> '4')) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (((value < 'val_50') or (key > '2')) and (key < '400') and (key <> '4') and (key > '20')) (type: boolean) + predicate: ((key > '20') and (key < '400') and ((value < 'val_50') or (key > '2')) and (key <> '4')) (type: boolean) Statistics: Num rows: 36 Data size: 6408 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string) @@ -46,10 +46,10 @@ STAGE PLANS: Statistics: Num rows: 36 Data size: 3132 Basic stats: COMPLETE Column stats: COMPLETE TableScan alias: src - filterExpr: ((key < '400') and (key <> '4') and (key > '20')) (type: boolean) + filterExpr: ((key > '20') and (key < '400') and (key <> '4')) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((key < '400') and (key <> '4') and (key > '20')) (type: boolean) + predicate: ((key > '20') and (key < '400') and (key <> '4')) (type: boolean) Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) @@ -69,14 +69,14 @@ STAGE PLANS: 0 _col0 (type: string) 1 _col0 (type: string) outputColumnNames: _col0, _col2 - Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 36 Data size: 6408 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: string), _col2 (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 36 Data size: 6408 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false - Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 36 Data size: 6408 Basic stats: COMPLETE Column stats: COMPLETE table: input format: org.apache.hadoop.mapred.SequenceFileInputFormat output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat @@ -558,10 +558,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: src - filterExpr: ((key < '400') and (key > '20') and ((value < 'val_50') or (key > '2')) and (key <> '4')) (type: boolean) + filterExpr: ((key > '20') and (key < '400') and ((value < 'val_50') or (key > '2')) and (key <> '4')) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (((value < 'val_50') or (key > '2')) and (key < '400') and (key <> '4') and (key > '20')) (type: boolean) + predicate: ((key > '20') and (key < '400') and ((value < 'val_50') or (key > '2')) and (key <> '4')) (type: boolean) Statistics: Num rows: 36 Data size: 6408 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string) @@ -574,10 +574,10 @@ STAGE PLANS: Statistics: Num rows: 36 Data size: 3132 Basic stats: COMPLETE Column stats: COMPLETE TableScan alias: src - filterExpr: ((key < '400') and (key <> '4') and (key > '20')) (type: boolean) + filterExpr: ((key > '20') and (key < '400') and (key <> '4')) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((key < '400') and (key <> '4') and (key > '20')) (type: boolean) + predicate: ((key > '20') and (key < '400') and (key <> '4')) (type: boolean) Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) @@ -597,14 +597,14 @@ STAGE PLANS: 0 _col0 (type: string) 1 _col0 (type: string) outputColumnNames: _col0, _col2 - Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 36 Data size: 6408 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col0 (type: string), _col2 (type: string) outputColumnNames: _col0, _col1 - Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 36 Data size: 6408 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false - Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 36 Data size: 6408 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 a/ql/src/test/results/clientpositive/ppd_join2.q.out b/ql/src/test/results/clientpositive/ppd_join2.q.out index 415d312e3c..cf3457e970 100644 --- a/ql/src/test/results/clientpositive/ppd_join2.q.out +++ b/ql/src/test/results/clientpositive/ppd_join2.q.out @@ -37,10 +37,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: src - filterExpr: ((key <> '305') and (key <> '302') and (key < '400') and (key <> '14') and (key <> '311')) (type: boolean) + filterExpr: ((key < '400') and (key <> '14') and (key <> '305') and (key <> '302') and (key <> '311')) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((key < '400') and (key <> '14') and (key <> '302') and (key <> '305') and (key <> '311')) (type: boolean) + predicate: ((key < '400') and (key <> '14') and (key <> '305') and (key <> '302') and (key <> '311')) (type: boolean) Statistics: Num rows: 166 Data size: 29548 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) @@ -54,10 +54,10 @@ STAGE PLANS: value expressions: _col1 (type: string) TableScan alias: src - filterExpr: ((key <> '302') and (key < '400') and (key <> '305') and (key <> '311') and ((value <> 'val_50') or (key > '1')) and (key <> '14') and value is not null) (type: boolean) + filterExpr: ((key < '400') and (key <> '14') and (key <> '302') and (key <> '305') and (key <> '311') and ((value <> 'val_50') or (key > '1')) and value is not null) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (((value <> 'val_50') or (key > '1')) and (key < '400') and (key <> '14') and (key <> '302') and (key <> '305') and (key <> '311') and value is not null) (type: boolean) + predicate: ((key < '400') and (key <> '14') and (key <> '302') and (key <> '305') and (key <> '311') and ((value <> 'val_50') or (key > '1')) and value 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) @@ -1724,10 +1724,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: src - filterExpr: ((key <> '305') and (key <> '302') and (key < '400') and (key <> '14') and (key <> '311')) (type: boolean) + filterExpr: ((key < '400') and (key <> '14') and (key <> '305') and (key <> '302') and (key <> '311')) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((key < '400') and (key <> '14') and (key <> '302') and (key <> '305') and (key <> '311')) (type: boolean) + predicate: ((key < '400') and (key <> '14') and (key <> '305') and (key <> '302') and (key <> '311')) (type: boolean) Statistics: Num rows: 166 Data size: 29548 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) @@ -1741,10 +1741,10 @@ STAGE PLANS: value expressions: _col1 (type: string) TableScan alias: src - filterExpr: ((key <> '302') and (key < '400') and (key <> '305') and (key <> '311') and ((value <> 'val_50') or (key > '1')) and (key <> '14') and value is not null) (type: boolean) + filterExpr: ((key < '400') and (key <> '14') and (key <> '302') and (key <> '305') and (key <> '311') and ((value <> 'val_50') or (key > '1')) and value is not null) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (((value <> 'val_50') or (key > '1')) and (key < '400') and (key <> '14') and (key <> '302') and (key <> '305') and (key <> '311') and value is not null) (type: boolean) + predicate: ((key < '400') and (key <> '14') and (key <> '302') and (key <> '305') and (key <> '311') and ((value <> 'val_50') or (key > '1')) and value 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 a/ql/src/test/results/clientpositive/ppd_join3.q.out b/ql/src/test/results/clientpositive/ppd_join3.q.out index 6b19607e80..a7820aa0b5 100644 --- a/ql/src/test/results/clientpositive/ppd_join3.q.out +++ b/ql/src/test/results/clientpositive/ppd_join3.q.out @@ -37,10 +37,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: src - filterExpr: ((key <> '13') and (key <> '11') and (key < '400') and (key <> '12') and (key <> '1') and (key > '0') and (key <> '4')) (type: boolean) + filterExpr: ((key > '0') and (key < '400') and (key <> '1') and (key <> '4') and (key <> '13') and (key <> '11') and (key <> '12')) (type: boolean) Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((key < '400') and (key <> '1') and (key <> '11') and (key <> '12') and (key <> '13') and (key <> '4') and (key > '0')) (type: boolean) + predicate: ((key > '0') and (key < '400') and (key <> '1') and (key <> '4') and (key <> '13') and (key <> '11') and (key <> '12')) (type: boolean) Statistics: Num rows: 55 Data size: 4785 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string) @@ -53,10 +53,10 @@ STAGE PLANS: Statistics: Num rows: 55 Data size: 4785 Basic stats: COMPLETE Column stats: COMPLETE TableScan alias: src - filterExpr: ((key <> '11') and (key < '400') and (key <> '12') and (key <> '13') and (key > '0') and ((value <> 'val_500') or (key > '1')) and (key <> '4') and (key <> '1')) (type: boolean) + filterExpr: ((key > '0') and (key < '400') and (key <> '4') and (key <> '1') and (key <> '11') and (key <> '12') and (key <> '13') and ((value <> 'val_500') or (key > '1'))) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (((value <> 'val_500') or (key > '1')) and (key < '400') and (key <> '1') and (key <> '11') and (key <> '12') and (key <> '13') and (key <> '4') and (key > '0')) (type: boolean) + predicate: ((key > '0') and (key < '400') and (key <> '4') and (key <> '1') and (key <> '11') and (key <> '12') and (key <> '13') and ((value <> 'val_500') or (key > '1'))) (type: boolean) Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string) @@ -94,10 +94,10 @@ STAGE PLANS: Statistics: Num rows: 55 Data size: 4785 Basic stats: COMPLETE Column stats: COMPLETE TableScan alias: src - filterExpr: ((key <> '12') and (key <> '11') and (key < '400') and (key <> '13') and (key <> '4') and (key > '0') and (key <> '1')) (type: boolean) + filterExpr: ((key > '0') and (key < '400') and (key <> '4') and (key <> '1') and (key <> '12') and (key <> '11') and (key <> '13')) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((key < '400') and (key <> '1') and (key <> '11') and (key <> '12') and (key <> '13') and (key <> '4') and (key > '0')) (type: boolean) + predicate: ((key > '0') and (key < '400') and (key <> '4') and (key <> '1') and (key <> '12') and (key <> '11') and (key <> '13')) (type: boolean) Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) @@ -119,7 +119,7 @@ STAGE PLANS: outputColumnNames: _col1, _col2, _col3 Statistics: Num rows: 55 Data size: 14575 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((_col1 <> '10') or (_col2 > '10')) (type: boolean) + predicate: ((_col2 > '10') or (_col1 <> '10')) (type: boolean) Statistics: Num rows: 55 Data size: 14575 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col1 (type: string), _col3 (type: string) @@ -1779,10 +1779,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: src - filterExpr: ((key <> '13') and (key <> '11') and (key < '400') and (key <> '12') and (key <> '1') and (key > '0') and (key <> '4')) (type: boolean) + filterExpr: ((key > '0') and (key < '400') and (key <> '1') and (key <> '4') and (key <> '13') and (key <> '11') and (key <> '12')) (type: boolean) Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((key < '400') and (key <> '1') and (key <> '11') and (key <> '12') and (key <> '13') and (key <> '4') and (key > '0')) (type: boolean) + predicate: ((key > '0') and (key < '400') and (key <> '1') and (key <> '4') and (key <> '13') and (key <> '11') and (key <> '12')) (type: boolean) Statistics: Num rows: 55 Data size: 4785 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string) @@ -1795,10 +1795,10 @@ STAGE PLANS: Statistics: Num rows: 55 Data size: 4785 Basic stats: COMPLETE Column stats: COMPLETE TableScan alias: src - filterExpr: ((key <> '11') and (key < '400') and (key <> '12') and (key <> '13') and (key > '0') and ((value <> 'val_500') or (key > '1')) and (key <> '4') and (key <> '1')) (type: boolean) + filterExpr: ((key > '0') and (key < '400') and (key <> '4') and (key <> '1') and (key <> '11') and (key <> '12') and (key <> '13') and ((value <> 'val_500') or (key > '1'))) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (((value <> 'val_500') or (key > '1')) and (key < '400') and (key <> '1') and (key <> '11') and (key <> '12') and (key <> '13') and (key <> '4') and (key > '0')) (type: boolean) + predicate: ((key > '0') and (key < '400') and (key <> '4') and (key <> '1') and (key <> '11') and (key <> '12') and (key <> '13') and ((value <> 'val_500') or (key > '1'))) (type: boolean) Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string) @@ -1836,10 +1836,10 @@ STAGE PLANS: Statistics: Num rows: 55 Data size: 4785 Basic stats: COMPLETE Column stats: COMPLETE TableScan alias: src - filterExpr: ((key <> '12') and (key <> '11') and (key < '400') and (key <> '13') and (key <> '4') and (key > '0') and (key <> '1')) (type: boolean) + filterExpr: ((key > '0') and (key < '400') and (key <> '4') and (key <> '1') and (key <> '12') and (key <> '11') and (key <> '13')) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((key < '400') and (key <> '1') and (key <> '11') and (key <> '12') and (key <> '13') and (key <> '4') and (key > '0')) (type: boolean) + predicate: ((key > '0') and (key < '400') and (key <> '4') and (key <> '1') and (key <> '12') and (key <> '11') and (key <> '13')) (type: boolean) Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) @@ -1861,7 +1861,7 @@ STAGE PLANS: outputColumnNames: _col1, _col2, _col3 Statistics: Num rows: 55 Data size: 14575 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((_col1 <> '10') or (_col2 > '10')) (type: boolean) + predicate: ((_col2 > '10') or (_col1 <> '10')) (type: boolean) Statistics: Num rows: 55 Data size: 14575 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: _col1 (type: string), _col3 (type: string) diff --git a/ql/src/test/results/clientpositive/ppd_outer_join4.q.out b/ql/src/test/results/clientpositive/ppd_outer_join4.q.out index d6e5988cf9..f0fe2c24f8 100644 --- a/ql/src/test/results/clientpositive/ppd_outer_join4.q.out +++ b/ql/src/test/results/clientpositive/ppd_outer_join4.q.out @@ -54,7 +54,7 @@ STAGE PLANS: value expressions: _col1 (type: string) TableScan alias: c - filterExpr: ((sqrt(key) <> 13.0D) and (key < '20') and (key > '15')) (type: boolean) + filterExpr: ((key < '20') and (key > '15') and (sqrt(key) <> 13.0D)) (type: boolean) Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: ((key < '20') and (key > '15') and (sqrt(key) <> 13.0D)) (type: boolean) @@ -99,7 +99,7 @@ STAGE PLANS: filterExpr: ((key > '15') and (key < '20') and (sqrt(key) <> 13.0D)) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((key < '20') and (key > '15') and (sqrt(key) <> 13.0D)) (type: boolean) + predicate: ((key > '15') and (key < '20') and (sqrt(key) <> 13.0D)) (type: boolean) Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) @@ -450,7 +450,7 @@ STAGE PLANS: value expressions: _col1 (type: string) TableScan alias: c - filterExpr: ((sqrt(key) <> 13.0D) and (key < '20') and (key > '15')) (type: boolean) + filterExpr: ((key < '20') and (key > '15') and (sqrt(key) <> 13.0D)) (type: boolean) Statistics: Num rows: 500 Data size: 43500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: ((key < '20') and (key > '15') and (sqrt(key) <> 13.0D)) (type: boolean) @@ -495,7 +495,7 @@ STAGE PLANS: filterExpr: ((key > '15') and (key < '20') and (sqrt(key) <> 13.0D)) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((key < '20') and (key > '15') and (sqrt(key) <> 13.0D)) (type: boolean) + predicate: ((key > '15') and (key < '20') and (sqrt(key) <> 13.0D)) (type: boolean) Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) diff --git a/ql/src/test/results/clientpositive/ppd_udf_case.q.out b/ql/src/test/results/clientpositive/ppd_udf_case.q.out index ac276554f7..9a87b2de04 100644 --- a/ql/src/test/results/clientpositive/ppd_udf_case.q.out +++ b/ql/src/test/results/clientpositive/ppd_udf_case.q.out @@ -44,10 +44,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: a - filterExpr: ((ds = '2008-04-08') and (key = '27')) (type: boolean) + filterExpr: ((key = '27') and (ds = '2008-04-08')) (type: boolean) Statistics: Num rows: 1000 Data size: 546000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((ds = '2008-04-08') and (key = '27')) (type: boolean) + predicate: ((key = '27') and (ds = '2008-04-08')) (type: boolean) Statistics: Num rows: 3 Data size: 1638 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: value (type: string), hr (type: string) @@ -59,10 +59,10 @@ STAGE PLANS: value expressions: _col0 (type: string), _col1 (type: string) TableScan alias: b - filterExpr: ((ds = '2008-04-08') and (key = '27')) (type: boolean) + filterExpr: ((key = '27') and (ds = '2008-04-08')) (type: boolean) Statistics: Num rows: 1000 Data size: 546000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((ds = '2008-04-08') and (key = '27')) (type: boolean) + predicate: ((key = '27') and (ds = '2008-04-08')) (type: boolean) Statistics: Num rows: 3 Data size: 1638 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: value (type: string), hr (type: string) @@ -199,7 +199,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: a - filterExpr: ((ds = '2008-04-08') and (key = '27')) (type: boolean) + filterExpr: ((key = '27') and (ds = '2008-04-08')) (type: boolean) Statistics: Num rows: 1000 Data size: 362000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: (key = '27') (type: boolean) @@ -214,7 +214,7 @@ STAGE PLANS: value expressions: _col0 (type: string), _col1 (type: string) TableScan alias: b - filterExpr: ((ds = '2008-04-08') and (key = '27')) (type: boolean) + filterExpr: ((key = '27') and (ds = '2008-04-08')) (type: boolean) Statistics: Num rows: 1000 Data size: 362000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: (key = '27') (type: boolean) diff --git a/ql/src/test/results/clientpositive/push_or.q.out b/ql/src/test/results/clientpositive/push_or.q.out index 2f2cd760f5..5cf34aec09 100644 --- a/ql/src/test/results/clientpositive/push_or.q.out +++ b/ql/src/test/results/clientpositive/push_or.q.out @@ -44,7 +44,7 @@ POSTHOOK: Input: default@push_or@ds=2000-04-09 #### A masked pattern was here #### OPTIMIZED SQL: SELECT `key`, `value`, `ds` FROM `default`.`push_or` -WHERE `ds` = '2000-04-09' OR `key` = 5 +WHERE `key` = 5 OR `ds` = '2000-04-09' ORDER BY `key`, `ds` STAGE DEPENDENCIES: Stage-1 is a root stage @@ -56,12 +56,12 @@ STAGE PLANS: Map Operator Tree: TableScan alias: push_or - filterExpr: ((ds = '2000-04-09') or (key = 5)) (type: boolean) + filterExpr: ((key = 5) or (ds = '2000-04-09')) (type: boolean) Statistics: Num rows: 40 Data size: 11120 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator isSamplingPred: false - predicate: ((ds = '2000-04-09') or (key = 5)) (type: boolean) + predicate: ((key = 5) or (ds = '2000-04-09')) (type: boolean) Statistics: Num rows: 40 Data size: 11120 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), value (type: string), ds (type: string) diff --git a/ql/src/test/results/clientpositive/quotedid_partition.q.out b/ql/src/test/results/clientpositive/quotedid_partition.q.out index 27f5dfda6e..fef3541e89 100644 --- a/ql/src/test/results/clientpositive/quotedid_partition.q.out +++ b/ql/src/test/results/clientpositive/quotedid_partition.q.out @@ -47,7 +47,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: src_p - filterExpr: ((!@#$%^&*()_q = 'a') and (x+1 = '10')) (type: boolean) + filterExpr: ((x+1 = '10') and (!@#$%^&*()_q = 'a')) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: (x+1 = '10') (type: boolean) diff --git a/ql/src/test/results/clientpositive/rand_partitionpruner3.q.out b/ql/src/test/results/clientpositive/rand_partitionpruner3.q.out index a394efa2bb..27fcc2d1b0 100644 --- a/ql/src/test/results/clientpositive/rand_partitionpruner3.q.out +++ b/ql/src/test/results/clientpositive/rand_partitionpruner3.q.out @@ -10,7 +10,7 @@ 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 `default`.`srcpart` -WHERE RAND(1) < 0.1 AND `ds` = '2008-04-08' AND CAST(`key` AS DOUBLE) BETWEEN 10 AND 50 AND `hr` LIKE '%2' +WHERE CAST(`key` AS DOUBLE) BETWEEN 10 AND 50 AND RAND(1) < 0.1 AND `ds` = '2008-04-08' AND `hr` LIKE '%2' STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -25,7 +25,7 @@ STAGE PLANS: GatherStats: false Filter Operator isSamplingPred: false - predicate: ((rand(1) < 0.1D) and UDFToDouble(key) BETWEEN 10.0D AND 50.0D) (type: boolean) + predicate: (UDFToDouble(key) BETWEEN 10.0D AND 50.0D and (rand(1) < 0.1D)) (type: boolean) Statistics: Num rows: 18 Data size: 6516 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string), '2008-04-08' (type: string), hr (type: string) @@ -125,11 +125,8 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@srcpart POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 #### A masked pattern was here #### -42 val_42 2008-04-08 12 -44 val_44 2008-04-08 12 -26 val_26 2008-04-08 12 -18 val_18 2008-04-08 12 -37 val_37 2008-04-08 12 +47 val_47 2008-04-08 12 +35 val_35 2008-04-08 12 PREHOOK: query: explain extended select a.* from srcpart a where a.ds = '2008-04-08' and not(key > 50 or key < 10) and a.hr like '%2' PREHOOK: type: QUERY PREHOOK: Input: default@srcpart @@ -142,7 +139,7 @@ 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 `default`.`srcpart` -WHERE `ds` = '2008-04-08' AND CAST(`key` AS DOUBLE) BETWEEN 10 AND 50 AND `hr` LIKE '%2' +WHERE CAST(`key` AS DOUBLE) BETWEEN 10 AND 50 AND `ds` = '2008-04-08' AND `hr` LIKE '%2' STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -153,7 +150,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: a - filterExpr: ((ds = '2008-04-08') and UDFToDouble(key) BETWEEN 10.0D AND 50.0D and (hr like '%2')) (type: boolean) + filterExpr: (UDFToDouble(key) BETWEEN 10.0D AND 50.0D and (ds = '2008-04-08') and (hr like '%2')) (type: boolean) Statistics: Num rows: 500 Data size: 181000 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator diff --git a/ql/src/test/results/clientpositive/router_join_ppr.q.out b/ql/src/test/results/clientpositive/router_join_ppr.q.out index b565168750..0d99feb6d7 100644 --- a/ql/src/test/results/clientpositive/router_join_ppr.q.out +++ b/ql/src/test/results/clientpositive/router_join_ppr.q.out @@ -32,7 +32,7 @@ FROM `default`.`src` WHERE `key` < 20 AND `key` > 15) AS `t0` INNER JOIN (SELECT `key`, `value` FROM `default`.`srcpart` -WHERE `key` > 15 AND `ds` = '2008-04-08' AND `key` < 20) AS `t2` ON `t0`.`key` = `t2`.`key` +WHERE `key` > 15 AND `key` < 20 AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key` STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -70,7 +70,7 @@ STAGE PLANS: GatherStats: false Filter Operator isSamplingPred: false - predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean) + predicate: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean) Statistics: Num rows: 111 Data size: 19758 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) @@ -346,7 +346,7 @@ POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 OPTIMIZED SQL: SELECT * FROM (SELECT `key`, `value` FROM `default`.`srcpart` -WHERE `ds` = '2008-04-08' AND `key` < 20 AND `key` > 15) AS `t0` +WHERE `key` < 20 AND `key` > 15 AND `ds` = '2008-04-08') AS `t0` INNER JOIN (SELECT `key`, `value` FROM `default`.`src` WHERE `key` > 15 AND `key` < 20) AS `t2` ON `t0`.`key` = `t2`.`key` @@ -387,7 +387,7 @@ STAGE PLANS: GatherStats: false Filter Operator isSamplingPred: false - predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean) + predicate: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean) Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) @@ -666,7 +666,7 @@ FROM `default`.`src` WHERE `key` < 20 AND `key` > 15) AS `t0` INNER JOIN (SELECT `key`, `value` FROM `default`.`srcpart` -WHERE `key` > 15 AND `ds` = '2008-04-08' AND `key` < 20) AS `t2` ON `t0`.`key` = `t2`.`key` +WHERE `key` > 15 AND `key` < 20 AND `ds` = '2008-04-08') AS `t2` ON `t0`.`key` = `t2`.`key` STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -704,7 +704,7 @@ STAGE PLANS: GatherStats: false Filter Operator isSamplingPred: false - predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean) + predicate: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean) Statistics: Num rows: 111 Data size: 19758 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) @@ -980,7 +980,7 @@ POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12 OPTIMIZED SQL: SELECT * FROM (SELECT `key`, `value` FROM `default`.`srcpart` -WHERE `key` < 20 AND `ds` = '2008-04-08' AND `key` > 15) AS `t0` +WHERE `key` < 20 AND `key` > 15 AND `ds` = '2008-04-08') AS `t0` INNER JOIN (SELECT `key`, `value` FROM `default`.`src` WHERE `key` > 15 AND `key` < 20) AS `t2` ON `t0`.`key` = `t2`.`key` @@ -1021,7 +1021,7 @@ STAGE PLANS: GatherStats: false Filter Operator isSamplingPred: false - predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean) + predicate: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean) Statistics: Num rows: 55 Data size: 9790 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: string), value (type: string) diff --git a/ql/src/test/results/clientpositive/smb_mapjoin_47.q.out b/ql/src/test/results/clientpositive/smb_mapjoin_47.q.out index 3acadcb3a6..f3fb0472be 100644 --- a/ql/src/test/results/clientpositive/smb_mapjoin_47.q.out +++ b/ql/src/test/results/clientpositive/smb_mapjoin_47.q.out @@ -114,10 +114,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: test1_n8 - filterExpr: (key BETWEEN 100 AND 102 and value is not null) (type: boolean) + filterExpr: (value is not null and key BETWEEN 100 AND 102) (type: boolean) Statistics: Num rows: 6 Data size: 572 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (key BETWEEN 100 AND 102 and value is not null) (type: boolean) + predicate: (value is not null and key BETWEEN 100 AND 102) (type: boolean) Statistics: Num rows: 2 Data size: 192 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), value (type: int), col_1 (type: string) diff --git a/ql/src/test/results/clientpositive/subquery_exists.q.out b/ql/src/test/results/clientpositive/subquery_exists.q.out index 8abdc9694e..658a445d00 100644 --- a/ql/src/test/results/clientpositive/subquery_exists.q.out +++ b/ql/src/test/results/clientpositive/subquery_exists.q.out @@ -1300,7 +1300,7 @@ STAGE PLANS: filterExpr: (j is not null and i is not null) (type: boolean) Statistics: Num rows: 3 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (i is not null and j is not null) (type: boolean) + predicate: (j is not null and i is not null) (type: boolean) Statistics: Num rows: 3 Data size: 24 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: i (type: int), j (type: int) diff --git a/ql/src/test/results/clientpositive/truncate_column_list_bucket.q.out b/ql/src/test/results/clientpositive/truncate_column_list_bucket.q.out index dc44d1da72..5281aacaa5 100644 --- a/ql/src/test/results/clientpositive/truncate_column_list_bucket.q.out +++ b/ql/src/test/results/clientpositive/truncate_column_list_bucket.q.out @@ -61,7 +61,7 @@ POSTHOOK: Input: default@test_tab_n3@part=1 #### A masked pattern was here #### OPTIMIZED SQL: SELECT CAST('484' AS STRING) AS `key`, `value`, CAST('1' AS STRING) AS `part` FROM `default`.`test_tab_n3` -WHERE `part` = '1' AND `key` = '484' +WHERE `key` = '484' AND `part` = '1' STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -72,7 +72,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: test_tab_n3 - filterExpr: ((part = '1') and (key = '484')) (type: boolean) + filterExpr: ((key = '484') and (part = '1')) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator @@ -188,7 +188,7 @@ POSTHOOK: Input: default@test_tab_n3@part=1 #### A masked pattern was here #### OPTIMIZED SQL: SELECT CAST('0' AS STRING) AS `key`, `value`, CAST('1' AS STRING) AS `part` FROM `default`.`test_tab_n3` -WHERE `part` = '1' AND `key` = '0' +WHERE `key` = '0' AND `part` = '1' STAGE DEPENDENCIES: Stage-1 is a root stage Stage-0 depends on stages: Stage-1 @@ -199,7 +199,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: test_tab_n3 - filterExpr: ((part = '1') and (key = '0')) (type: boolean) + filterExpr: ((key = '0') and (part = '1')) (type: boolean) Statistics: Num rows: 500 Data size: 89000 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator diff --git a/ql/src/test/results/clientpositive/union22.q.out b/ql/src/test/results/clientpositive/union22.q.out index e04f424ca0..963408ebba 100644 --- a/ql/src/test/results/clientpositive/union22.q.out +++ b/ql/src/test/results/clientpositive/union22.q.out @@ -82,7 +82,7 @@ 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 +WHERE `k0` <= 50 AND `ds` = '1' UNION ALL SELECT `t2`.`k1`, `t2`.`k2`, `t4`.`k3`, `t4`.`k4` FROM (SELECT `k1`, `k2`, `ds` = '1' AS `=` @@ -90,7 +90,7 @@ 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`.`=` +WHERE `k0` > 50 AND `k1` > 20 AND `ds` = '1') 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 @@ -346,7 +346,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: dst_union22_delta - filterExpr: ((ds = '1') and (UDFToDouble(k0) <= 50.0D)) (type: boolean) + filterExpr: ((UDFToDouble(k0) <= 50.0D) and (ds = '1')) (type: boolean) Statistics: Num rows: 500 Data size: 221500 Basic stats: COMPLETE Column stats: COMPLETE GatherStats: false Filter Operator diff --git a/ql/src/test/results/clientpositive/union_pos_alias.q.out b/ql/src/test/results/clientpositive/union_pos_alias.q.out index bafd9c48ff..80d29379b8 100644 --- a/ql/src/test/results/clientpositive/union_pos_alias.q.out +++ b/ql/src/test/results/clientpositive/union_pos_alias.q.out @@ -397,10 +397,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: masking_test_n9 - filterExpr: (((key % 2) = 0) and (key < 10)) (type: boolean) + filterExpr: ((key < 10) and ((key % 2) = 0)) (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 < 10) and ((key % 2) = 0)) (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) @@ -417,10 +417,10 @@ STAGE PLANS: serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe TableScan alias: masking_test_n9 - filterExpr: (((key % 2) = 0) and (key < 10)) (type: boolean) + filterExpr: ((key < 10) and ((key % 2) = 0)) (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 < 10) and ((key % 2) = 0)) (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) @@ -484,10 +484,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: masking_test_n9 - filterExpr: (((key % 2) = 0) and (key < 10) and (key > 0)) (type: boolean) + filterExpr: ((key < 10) and (key > 0) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (((key % 2) = 0) and (key < 10) and (key > 0)) (type: boolean) + predicate: ((key < 10) and (key > 0) and ((key % 2) = 0)) (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) @@ -590,10 +590,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: masking_test_n9 - filterExpr: (((key % 2) = 0) and (key < 10) and (key > 0)) (type: boolean) + filterExpr: ((key < 10) and (key > 0) and ((key % 2) = 0)) (type: boolean) Statistics: Num rows: 500 Data size: 47500 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (((key % 2) = 0) and (key < 10) and (key > 0)) (type: boolean) + predicate: ((key < 10) and (key > 0) and ((key % 2) = 0)) (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) diff --git a/ql/src/test/results/clientpositive/union_view.q.out b/ql/src/test/results/clientpositive/union_view.q.out index d7ddc69c0f..778219c976 100644 --- a/ql/src/test/results/clientpositive/union_view.q.out +++ b/ql/src/test/results/clientpositive/union_view.q.out @@ -203,7 +203,7 @@ STAGE PLANS: insideView TRUE Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL Filter Operator - predicate: ((ds = '1') and (key = 86)) (type: boolean) + predicate: ((key = 86) and (ds = '1')) (type: boolean) Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL Select Operator expressions: value (type: string) @@ -229,7 +229,7 @@ STAGE PLANS: insideView TRUE Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL Filter Operator - predicate: ((ds = '1') and (key = 86)) (type: boolean) + predicate: ((key = 86) and (ds = '1')) (type: boolean) Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL Select Operator expressions: value (type: string) @@ -270,7 +270,7 @@ STAGE PLANS: insideView TRUE Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL Filter Operator - predicate: ((ds = '2') and (key = 86)) (type: boolean) + predicate: ((key = 86) and (ds = '2')) (type: boolean) Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL Select Operator expressions: value (type: string) @@ -322,7 +322,7 @@ STAGE PLANS: insideView TRUE Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL Filter Operator - predicate: ((ds = '2') and (key = 86)) (type: boolean) + predicate: ((key = 86) and (ds = '2')) (type: boolean) Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL Select Operator expressions: value (type: string) @@ -363,7 +363,7 @@ STAGE PLANS: insideView TRUE Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL Filter Operator - predicate: ((ds = '3') and (key = 86)) (type: boolean) + predicate: ((key = 86) and (ds = '3')) (type: boolean) Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL Select Operator expressions: value (type: string) @@ -389,7 +389,7 @@ STAGE PLANS: insideView TRUE Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL Filter Operator - predicate: ((ds = '3') and (key = 86)) (type: boolean) + predicate: ((key = 86) and (ds = '3')) (type: boolean) Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL Select Operator expressions: value (type: string) @@ -862,7 +862,7 @@ STAGE PLANS: insideView TRUE Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL Filter Operator - predicate: ((ds = '4') and (key = 86)) (type: boolean) + predicate: ((key = 86) and (ds = '4')) (type: boolean) Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL Select Operator expressions: value (type: string) @@ -888,7 +888,7 @@ STAGE PLANS: insideView TRUE Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL Filter Operator - predicate: ((ds = '4') and (key = 86)) (type: boolean) + predicate: ((key = 86) and (ds = '4')) (type: boolean) Statistics: Num rows: 1 Data size: 372 Basic stats: COMPLETE Column stats: PARTIAL Select Operator expressions: value (type: string) diff --git a/ql/src/test/results/clientpositive/vector_date_1.q.out b/ql/src/test/results/clientpositive/vector_date_1.q.out index 5d05cc5fd5..65711a14b3 100644 --- a/ql/src/test/results/clientpositive/vector_date_1.q.out +++ b/ql/src/test/results/clientpositive/vector_date_1.q.out @@ -678,7 +678,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: vector_date_1 - filterExpr: ((dt1 <> dt2) and (dt1 < dt2) and (dt1 <= dt2) and (dt2 > dt1) and (dt2 >= dt1)) (type: boolean) + filterExpr: ((dt1 < dt2) and (dt1 <= dt2) and (dt2 > dt1) and (dt2 >= dt1) and (dt1 <> dt2)) (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: 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) + predicateExpression: FilterExprAndExpr(children: 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), FilterLongColNotEqualLongColumn(col 0:date, col 1:date)) + predicate: ((dt1 < dt2) and (dt1 <= dt2) and (dt2 > dt1) and (dt2 >= dt1) and (dt1 <> dt2)) (type: boolean) Statistics: Num rows: 1 Data size: 112 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: dt1 (type: date), dt2 (type: date) @@ -837,7 +837,7 @@ STAGE PLANS: className: VectorFilterOperator native: true predicateExpression: FilterExprAndExpr(children: FilterDateColEqualDateScalar(col 0:date, val 11323), FilterDateColNotEqualDateScalar(col 0:date, val 0)) - predicate: ((dt1 <> DATE'1970-01-01') and (dt1 = DATE'2001-01-01')) (type: boolean) + predicate: ((dt1 = DATE'2001-01-01') and (dt1 <> DATE'1970-01-01')) (type: boolean) Statistics: Num rows: 1 Data size: 112 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: DATE'2001-01-01' (type: date), dt2 (type: date) diff --git a/ql/src/test/results/clientpositive/vector_decimal_cast.q.out b/ql/src/test/results/clientpositive/vector_decimal_cast.q.out index bb919bef50..8889a7474d 100644 --- a/ql/src/test/results/clientpositive/vector_decimal_cast.q.out +++ b/ql/src/test/results/clientpositive/vector_decimal_cast.q.out @@ -20,7 +20,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: (cdouble is not null and cint is not null and cboolean1 is not null and ctimestamp1 is not null) (type: boolean) + filterExpr: (cboolean1 is not null and cint is not null and cdouble is not null and ctimestamp1 is not null) (type: boolean) Statistics: Num rows: 12288 Data size: 638316 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -29,8 +29,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprAndExpr(children: SelectColumnIsNotNull(col 5:double), SelectColumnIsNotNull(col 2:int), SelectColumnIsNotNull(col 10:boolean), SelectColumnIsNotNull(col 8:timestamp)) - predicate: (cboolean1 is not null and cdouble is not null and cint is not null and ctimestamp1 is not null) (type: boolean) + predicateExpression: FilterExprAndExpr(children: SelectColumnIsNotNull(col 10:boolean), SelectColumnIsNotNull(col 2:int), SelectColumnIsNotNull(col 5:double), SelectColumnIsNotNull(col 8:timestamp)) + predicate: (cboolean1 is not null and cint is not null and cdouble is not null and ctimestamp1 is not null) (type: boolean) Statistics: Num rows: 5112 Data size: 265564 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cdouble (type: double), cint (type: int), cboolean1 (type: boolean), ctimestamp1 (type: timestamp), CAST( cdouble AS decimal(20,10)) (type: decimal(20,10)), CAST( cint AS decimal(23,14)) (type: decimal(23,14)), CAST( cboolean1 AS decimal(5,2)) (type: decimal(5,2)), CAST( ctimestamp1 AS decimal(15,0)) (type: decimal(15,0)) @@ -144,7 +144,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypes_small - filterExpr: (cdouble is not null and cint is not null and cboolean1 is not null and ctimestamp1 is not null) (type: boolean) + filterExpr: (cboolean1 is not null and cint is not null and cdouble is not null and ctimestamp1 is not null) (type: boolean) Statistics: Num rows: 12288 Data size: 638316 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -153,8 +153,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprAndExpr(children: SelectColumnIsNotNull(col 5:double), SelectColumnIsNotNull(col 2:int), SelectColumnIsNotNull(col 10:boolean), SelectColumnIsNotNull(col 8:timestamp)) - predicate: (cboolean1 is not null and cdouble is not null and cint is not null and ctimestamp1 is not null) (type: boolean) + predicateExpression: FilterExprAndExpr(children: SelectColumnIsNotNull(col 10:boolean), SelectColumnIsNotNull(col 2:int), SelectColumnIsNotNull(col 5:double), SelectColumnIsNotNull(col 8:timestamp)) + predicate: (cboolean1 is not null and cint is not null and cdouble is not null and ctimestamp1 is not null) (type: boolean) Statistics: Num rows: 5112 Data size: 265564 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cdouble (type: double), cint (type: int), cboolean1 (type: boolean), ctimestamp1 (type: timestamp), CAST( cdouble AS decimal(20,10)) (type: decimal(20,10)), CAST( cint AS decimal(23,14)) (type: decimal(23,14)), CAST( cboolean1 AS decimal(5,2)) (type: decimal(5,2)), CAST( ctimestamp1 AS decimal(15,0)) (type: decimal(15,0)) diff --git a/ql/src/test/results/clientpositive/vector_decimal_expressions.q.out b/ql/src/test/results/clientpositive/vector_decimal_expressions.q.out index fd036bf01b..5580308c1e 100644 --- a/ql/src/test/results/clientpositive/vector_decimal_expressions.q.out +++ b/ql/src/test/results/clientpositive/vector_decimal_expressions.q.out @@ -56,7 +56,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: decimal_test_n1 - filterExpr: ((cdecimal1 > 0) and (cdecimal1 < 12345.5678) and (cdecimal2 <> 0) and (cdecimal2 > 1000) and cdouble is not null) (type: boolean) + filterExpr: ((cdecimal1 > 0) and (cdecimal1 < 12345.5678) and (cdecimal2 > 1000) and cdouble is not null and (cdecimal2 <> 0)) (type: boolean) Statistics: Num rows: 12289 Data size: 2708832 Basic stats: COMPLETE Column stats: NONE TableScan Vectorization: native: true @@ -65,8 +65,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprAndExpr(children: FilterDecimalColGreaterDecimalScalar(col 1:decimal(20,10), val 0), FilterDecimalColLessDecimalScalar(col 1:decimal(20,10), val 12345.5678), FilterDecimalColNotEqualDecimalScalar(col 2:decimal(23,14), val 0), FilterDecimalColGreaterDecimalScalar(col 2:decimal(23,14), val 1000), SelectColumnIsNotNull(col 0:double)) - predicate: ((cdecimal1 < 12345.5678) and (cdecimal1 > 0) and (cdecimal2 <> 0) and (cdecimal2 > 1000) and cdouble is not null) (type: boolean) + predicateExpression: FilterExprAndExpr(children: FilterDecimalColGreaterDecimalScalar(col 1:decimal(20,10), val 0), FilterDecimalColLessDecimalScalar(col 1:decimal(20,10), val 12345.5678), FilterDecimalColGreaterDecimalScalar(col 2:decimal(23,14), val 1000), SelectColumnIsNotNull(col 0:double), FilterDecimalColNotEqualDecimalScalar(col 2:decimal(23,14), val 0)) + predicate: ((cdecimal1 > 0) and (cdecimal1 < 12345.5678) and (cdecimal2 > 1000) and cdouble is not null and (cdecimal2 <> 0)) (type: boolean) Statistics: Num rows: 751 Data size: 165540 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: (cdecimal1 + cdecimal2) (type: decimal(25,14)), (cdecimal1 - (2 * cdecimal2)) (type: decimal(26,14)), ((cdecimal1 + 2.34) / cdecimal2) (type: decimal(38,13)), (cdecimal1 * (cdecimal2 / 3.4)) (type: decimal(38,17)), (cdecimal1 % 10) (type: decimal(12,10)), UDFToInteger(cdecimal1) (type: int), UDFToShort(cdecimal2) (type: smallint), UDFToByte(cdecimal2) (type: tinyint), UDFToLong(cdecimal1) (type: bigint), UDFToBoolean(cdecimal1) (type: boolean), UDFToDouble(cdecimal2) (type: double), UDFToFloat(cdecimal1) (type: float), CAST( cdecimal2 AS STRING) (type: string), CAST( cdecimal1 AS TIMESTAMP) (type: timestamp) @@ -205,7 +205,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: decimal_test_small_n0 - filterExpr: ((cdecimal1 > 0) and (cdecimal1 < 12345.5678) and (cdecimal2 <> 0) and (cdecimal2 > 1000) and cdouble is not null) (type: boolean) + filterExpr: ((cdecimal1 > 0) and (cdecimal1 < 12345.5678) and (cdecimal2 > 1000) and cdouble is not null and (cdecimal2 <> 0)) (type: boolean) Statistics: Num rows: 12288 Data size: 2708600 Basic stats: COMPLETE Column stats: NONE TableScan Vectorization: native: true @@ -214,8 +214,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprAndExpr(children: FilterDecimal64ColGreaterDecimal64Scalar(col 1:decimal(10,3)/DECIMAL_64, val 0), FilterDecimalColLessDecimalScalar(col 4:decimal(10,3), val 12345.5678)(children: ConvertDecimal64ToDecimal(col 1:decimal(10,3)/DECIMAL_64) -> 4:decimal(10,3)), FilterDecimal64ColNotEqualDecimal64Scalar(col 2:decimal(7,2)/DECIMAL_64, val 0), FilterDecimal64ColGreaterDecimal64Scalar(col 2:decimal(7,2)/DECIMAL_64, val 100000), SelectColumnIsNotNull(col 0:double)) - predicate: ((cdecimal1 < 12345.5678) and (cdecimal1 > 0) and (cdecimal2 <> 0) and (cdecimal2 > 1000) and cdouble is not null) (type: boolean) + predicateExpression: FilterExprAndExpr(children: FilterDecimal64ColGreaterDecimal64Scalar(col 1:decimal(10,3)/DECIMAL_64, val 0), FilterDecimalColLessDecimalScalar(col 4:decimal(10,3), val 12345.5678)(children: ConvertDecimal64ToDecimal(col 1:decimal(10,3)/DECIMAL_64) -> 4:decimal(10,3)), FilterDecimal64ColGreaterDecimal64Scalar(col 2:decimal(7,2)/DECIMAL_64, val 100000), SelectColumnIsNotNull(col 0:double), FilterDecimal64ColNotEqualDecimal64Scalar(col 2:decimal(7,2)/DECIMAL_64, val 0)) + predicate: ((cdecimal1 > 0) and (cdecimal1 < 12345.5678) and (cdecimal2 > 1000) and cdouble is not null and (cdecimal2 <> 0)) (type: boolean) Statistics: Num rows: 751 Data size: 165540 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: (cdecimal1 + cdecimal2) (type: decimal(11,3)), (cdecimal1 - (2 * cdecimal2)) (type: decimal(11,3)), ((cdecimal1 + 2.34) / cdecimal2) (type: decimal(21,11)), (cdecimal1 * (cdecimal2 / 3.4)) (type: decimal(23,9)), (cdecimal1 % 10) (type: decimal(5,3)), UDFToInteger(cdecimal1) (type: int), UDFToShort(cdecimal2) (type: smallint), UDFToByte(cdecimal2) (type: tinyint), UDFToLong(cdecimal1) (type: bigint), UDFToBoolean(cdecimal1) (type: boolean), UDFToDouble(cdecimal2) (type: double), UDFToFloat(cdecimal1) (type: float), CAST( cdecimal2 AS STRING) (type: string), CAST( cdecimal1 AS TIMESTAMP) (type: timestamp) diff --git a/ql/src/test/results/clientpositive/vector_groupby_mapjoin.q.out b/ql/src/test/results/clientpositive/vector_groupby_mapjoin.q.out index 37e805466c..18852d84c2 100644 --- a/ql/src/test/results/clientpositive/vector_groupby_mapjoin.q.out +++ b/ql/src/test/results/clientpositive/vector_groupby_mapjoin.q.out @@ -229,8 +229,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - 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) + predicateExpression: FilterExprAndExpr(children: FilterExprOrExpr(children: SelectColumnIsNull(col 2:boolean), FilterLongColEqualLongScalar(col 3:bigint, val 0)), FilterExprOrExpr(children: FilterLongColGreaterEqualLongColumn(col 4:bigint, col 3:bigint), FilterLongColEqualLongScalar(col 3:bigint, val 0), SelectColumnIsNotNull(col 2:boolean), SelectColumnIsNull(col 0:string)), FilterExprOrExpr(children: SelectColumnIsNotNull(col 0:string), FilterLongColEqualLongScalar(col 3:bigint, val 0), SelectColumnIsNotNull(col 2:boolean))) + predicate: ((_col5 is null or (_col2 = 0L)) and ((_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)) (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: 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) + predicateExpression: FilterExprAndExpr(children: FilterExprOrExpr(children: SelectColumnIsNull(col 2:boolean), FilterLongColEqualLongScalar(col 3:bigint, val 0)), FilterExprOrExpr(children: FilterLongColGreaterEqualLongColumn(col 4:bigint, col 3:bigint), FilterLongColEqualLongScalar(col 3:bigint, val 0), SelectColumnIsNotNull(col 2:boolean), SelectColumnIsNull(col 0:string)), FilterExprOrExpr(children: SelectColumnIsNotNull(col 0:string), FilterLongColEqualLongScalar(col 3:bigint, val 0), SelectColumnIsNotNull(col 2:boolean))) + predicate: ((_col5 is null or (_col2 = 0L)) and ((_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)) (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: (((_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) + predicate: ((_col5 is null or (_col2 = 0L)) and ((_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)) (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 a/ql/src/test/results/clientpositive/vector_interval_mapjoin.q.out b/ql/src/test/results/clientpositive/vector_interval_mapjoin.q.out index a86d52c30d..c5584e7646 100644 --- a/ql/src/test/results/clientpositive/vector_interval_mapjoin.q.out +++ b/ql/src/test/results/clientpositive/vector_interval_mapjoin.q.out @@ -209,7 +209,7 @@ STAGE PLANS: 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: (CAST( ts AS DATE) is not null and dt is not null and s is not null) (type: boolean) + predicate: (dt is not null and CAST( ts AS DATE) 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) @@ -234,7 +234,7 @@ STAGE PLANS: className: VectorFilterOperator native: true 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) + predicate: (dt is not null and CAST( ts AS DATE) 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) diff --git a/ql/src/test/results/clientpositive/vector_outer_join3.q.out b/ql/src/test/results/clientpositive/vector_outer_join3.q.out index e90464752a..f88492df5c 100644 --- a/ql/src/test/results/clientpositive/vector_outer_join3.q.out +++ b/ql/src/test/results/clientpositive/vector_outer_join3.q.out @@ -336,7 +336,7 @@ left outer join small_alltypesorc_a_n1 hd POSTHOOK: type: QUERY POSTHOOK: Input: default@small_alltypesorc_a_n1 #### A masked pattern was here #### -{"CBOPlan":"{\n \"rels\": [\n {\n \"id\": \"0\",\n \"relOp\": \"org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveTableScan\",\n \"table\": [\n \"default\",\n \"small_alltypesorc_a_n1\"\n ],\n \"table:alias\": \"c\",\n \"inputs\": [],\n \"rowCount\": 20.0,\n \"avgRowSize\": 26.75,\n \"rowType\": [\n {\n \"type\": \"TINYINT\",\n \"nullable\": true,\n \"name\": \"ctinyint\"\n },\n {\n \"type\": \"SMALLINT\",\n \"nullable\": true,\n \"name\": \"csmallint\"\n },\n {\n \"type\": \"INTEGER\",\n \"nullable\": true,\n \"name\": \"cint\"\n },\n {\n \"type\": \"BIGINT\",\n \"nullable\": true,\n \"name\": \"cbigint\"\n },\n {\n \"type\": \"FLOAT\",\n \"nullable\": true,\n \"name\": \"cfloat\"\n },\n {\n \"type\": \"DOUBLE\",\n \"nullable\": true,\n \"name\": \"cdouble\"\n },\n {\n \"type\": \"VARCHAR\",\n \"nullable\": true,\n \"precision\": 2147483647,\n \"name\": \"cstring1\"\n },\n {\n \"type\": \"VARCHAR\",\n \"nullable\": true,\n \"precision\": 2147483647,\n \"name\": \"cstring2\"\n },\n {\n \"type\": \"TIMESTAMP\",\n \"nullable\": true,\n \"precision\": 9,\n \"name\": \"ctimestamp1\"\n },\n {\n \"type\": \"TIMESTAMP\",\n \"nullable\": true,\n \"precision\": 9,\n \"name\": \"ctimestamp2\"\n },\n {\n \"type\": \"BOOLEAN\",\n \"nullable\": true,\n \"name\": \"cboolean1\"\n },\n {\n \"type\": \"BOOLEAN\",\n \"nullable\": true,\n \"name\": \"cboolean2\"\n },\n {\n \"type\": \"BIGINT\",\n \"nullable\": true,\n \"name\": \"BLOCK__OFFSET__INSIDE__FILE\"\n },\n {\n \"type\": \"VARCHAR\",\n \"nullable\": true,\n \"precision\": 2147483647,\n \"name\": \"INPUT__FILE__NAME\"\n },\n {\n \"fields\": [\n {\n \"type\": \"BIGINT\",\n \"nullable\": true,\n \"name\": \"writeid\"\n },\n {\n \"type\": \"INTEGER\",\n \"nullable\": true,\n \"name\": \"bucketid\"\n },\n {\n \"type\": \"BIGINT\",\n \"nullable\": true,\n \"name\": \"rowid\"\n }\n ],\n \"name\": \"ROW__ID\"\n }\n ],\n \"colStats\": [\n {\n \"name\": \"cint\",\n \"ndv\": 8,\n \"minValue\": -738306196,\n \"maxValue\": 626923679\n },\n {\n \"name\": \"cbigint\",\n \"ndv\": 15,\n \"minValue\": -1970551565,\n \"maxValue\": 1086455747\n },\n {\n \"name\": \"cstring1\",\n \"ndv\": 8\n },\n {\n \"name\": \"cstring2\",\n \"ndv\": 15\n },\n {\n \"name\": \"ctinyint\",\n \"ndv\": 2,\n \"minValue\": -64,\n \"maxValue\": -51\n },\n {\n \"name\": \"csmallint\",\n \"ndv\": 6,\n \"minValue\": -15920,\n \"maxValue\": -6907\n },\n {\n \"name\": \"cfloat\",\n \"ndv\": 2,\n \"minValue\": -64.0,\n \"maxValue\": -51.0\n },\n {\n \"name\": \"cdouble\",\n \"ndv\": 6,\n \"minValue\": -15920.0,\n \"maxValue\": -6907.0\n },\n {\n \"name\": \"ctimestamp1\",\n \"ndv\": 0\n },\n {\n \"name\": \"ctimestamp2\",\n \"ndv\": 0\n },\n {\n \"name\": \"cboolean1\",\n \"ndv\": 2\n },\n {\n \"name\": \"cboolean2\",\n \"ndv\": 2\n }\n ]\n },\n {\n \"id\": \"1\",\n \"relOp\": \"org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveProject\",\n \"fields\": [\n \"cint\",\n \"cbigint\",\n \"cstring1\",\n \"cstring2\"\n ],\n \"exprs\": [\n {\n \"input\": 2,\n \"name\": \"$2\"\n },\n {\n \"input\": 3,\n \"name\": \"$3\"\n },\n {\n \"input\": 6,\n \"name\": \"$6\"\n },\n {\n \"input\": 7,\n \"name\": \"$7\"\n }\n ],\n \"rowCount\": 20.0\n },\n {\n \"id\": \"2\",\n \"relOp\": \"org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveTableScan\",\n \"table\": [\n \"default\",\n \"small_alltypesorc_a_n1\"\n ],\n \"table:alias\": \"cd\",\n \"inputs\": [],\n \"rowCount\": 20.0,\n \"avgRowSize\": 16.75,\n \"rowType\": [\n {\n \"type\": \"TINYINT\",\n \"nullable\": true,\n \"name\": \"ctinyint\"\n },\n {\n \"type\": \"SMALLINT\",\n \"nullable\": true,\n \"name\": \"csmallint\"\n },\n {\n \"type\": \"INTEGER\",\n \"nullable\": true,\n \"name\": \"cint\"\n },\n {\n \"type\": \"BIGINT\",\n \"nullable\": true,\n \"name\": \"cbigint\"\n },\n {\n \"type\": \"FLOAT\",\n \"nullable\": true,\n \"name\": \"cfloat\"\n },\n {\n \"type\": \"DOUBLE\",\n \"nullable\": true,\n \"name\": \"cdouble\"\n },\n {\n \"type\": \"VARCHAR\",\n \"nullable\": true,\n \"precision\": 2147483647,\n \"name\": \"cstring1\"\n },\n {\n \"type\": \"VARCHAR\",\n \"nullable\": true,\n \"precision\": 2147483647,\n \"name\": \"cstring2\"\n },\n {\n \"type\": \"TIMESTAMP\",\n \"nullable\": true,\n \"precision\": 9,\n \"name\": \"ctimestamp1\"\n },\n {\n \"type\": \"TIMESTAMP\",\n \"nullable\": true,\n \"precision\": 9,\n \"name\": \"ctimestamp2\"\n },\n {\n \"type\": \"BOOLEAN\",\n \"nullable\": true,\n \"name\": \"cboolean1\"\n },\n {\n \"type\": \"BOOLEAN\",\n \"nullable\": true,\n \"name\": \"cboolean2\"\n },\n {\n \"type\": \"BIGINT\",\n \"nullable\": true,\n \"name\": \"BLOCK__OFFSET__INSIDE__FILE\"\n },\n {\n \"type\": \"VARCHAR\",\n \"nullable\": true,\n \"precision\": 2147483647,\n \"name\": \"INPUT__FILE__NAME\"\n },\n {\n \"fields\": [\n {\n \"type\": \"BIGINT\",\n \"nullable\": true,\n \"name\": \"writeid\"\n },\n {\n \"type\": \"INTEGER\",\n \"nullable\": true,\n \"name\": \"bucketid\"\n },\n {\n \"type\": \"BIGINT\",\n \"nullable\": true,\n \"name\": \"rowid\"\n }\n ],\n \"name\": \"ROW__ID\"\n }\n ],\n \"colStats\": [\n {\n \"name\": \"cbigint\",\n \"ndv\": 15,\n \"minValue\": -1970551565,\n \"maxValue\": 1086455747\n },\n {\n \"name\": \"cstring2\",\n \"ndv\": 15\n },\n {\n \"name\": \"ctinyint\",\n \"ndv\": 2,\n \"minValue\": -64,\n \"maxValue\": -51\n },\n {\n \"name\": \"csmallint\",\n \"ndv\": 6,\n \"minValue\": -15920,\n \"maxValue\": -6907\n },\n {\n \"name\": \"cint\",\n \"ndv\": 8,\n \"minValue\": -738306196,\n \"maxValue\": 626923679\n },\n {\n \"name\": \"cfloat\",\n \"ndv\": 2,\n \"minValue\": -64.0,\n \"maxValue\": -51.0\n },\n {\n \"name\": \"cdouble\",\n \"ndv\": 6,\n \"minValue\": -15920.0,\n \"maxValue\": -6907.0\n },\n {\n \"name\": \"cstring1\",\n \"ndv\": 8\n },\n {\n \"name\": \"ctimestamp1\",\n \"ndv\": 0\n },\n {\n \"name\": \"ctimestamp2\",\n \"ndv\": 0\n },\n {\n \"name\": \"cboolean1\",\n \"ndv\": 2\n },\n {\n \"name\": \"cboolean2\",\n \"ndv\": 2\n }\n ]\n },\n {\n \"id\": \"3\",\n \"relOp\": \"org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveFilter\",\n \"condition\": {\n \"op\": \"AND\",\n \"operands\": [\n {\n \"op\": \"IS NOT NULL\",\n \"operands\": [\n {\n \"input\": 7,\n \"name\": \"$7\"\n }\n ]\n },\n {\n \"op\": \"IS NOT NULL\",\n \"operands\": [\n {\n \"input\": 3,\n \"name\": \"$3\"\n }\n ]\n }\n ]\n },\n \"rowCount\": 11.25\n },\n {\n \"id\": \"4\",\n \"relOp\": \"org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveProject\",\n \"fields\": [\n \"cbigint\",\n \"cstring2\"\n ],\n \"exprs\": [\n {\n \"input\": 3,\n \"name\": \"$3\"\n },\n {\n \"input\": 7,\n \"name\": \"$7\"\n }\n ],\n \"rowCount\": 11.25\n },\n {\n \"id\": \"5\",\n \"relOp\": \"org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveJoin\",\n \"condition\": {\n \"op\": \"AND\",\n \"operands\": [\n {\n \"op\": \"=\",\n \"operands\": [\n {\n \"input\": 5,\n \"name\": \"$5\"\n },\n {\n \"input\": 3,\n \"name\": \"$3\"\n }\n ]\n },\n {\n \"op\": \"=\",\n \"operands\": [\n {\n \"input\": 4,\n \"name\": \"$4\"\n },\n {\n \"input\": 1,\n \"name\": \"$1\"\n }\n ]\n }\n ]\n },\n \"joinType\": \"left\",\n \"algorithm\": \"none\",\n \"cost\": \"not available\",\n \"inputs\": [\n \"1\",\n \"4\"\n ],\n \"rowCount\": 20.0\n },\n {\n \"id\": \"6\",\n \"relOp\": \"org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveTableScan\",\n \"table\": [\n \"default\",\n \"small_alltypesorc_a_n1\"\n ],\n \"table:alias\": \"hd\",\n \"inputs\": [],\n \"rowCount\": 20.0,\n \"avgRowSize\": 10.0,\n \"rowType\": [\n {\n \"type\": \"TINYINT\",\n \"nullable\": true,\n \"name\": \"ctinyint\"\n },\n {\n \"type\": \"SMALLINT\",\n \"nullable\": true,\n \"name\": \"csmallint\"\n },\n {\n \"type\": \"INTEGER\",\n \"nullable\": true,\n \"name\": \"cint\"\n },\n {\n \"type\": \"BIGINT\",\n \"nullable\": true,\n \"name\": \"cbigint\"\n },\n {\n \"type\": \"FLOAT\",\n \"nullable\": true,\n \"name\": \"cfloat\"\n },\n {\n \"type\": \"DOUBLE\",\n \"nullable\": true,\n \"name\": \"cdouble\"\n },\n {\n \"type\": \"VARCHAR\",\n \"nullable\": true,\n \"precision\": 2147483647,\n \"name\": \"cstring1\"\n },\n {\n \"type\": \"VARCHAR\",\n \"nullable\": true,\n \"precision\": 2147483647,\n \"name\": \"cstring2\"\n },\n {\n \"type\": \"TIMESTAMP\",\n \"nullable\": true,\n \"precision\": 9,\n \"name\": \"ctimestamp1\"\n },\n {\n \"type\": \"TIMESTAMP\",\n \"nullable\": true,\n \"precision\": 9,\n \"name\": \"ctimestamp2\"\n },\n {\n \"type\": \"BOOLEAN\",\n \"nullable\": true,\n \"name\": \"cboolean1\"\n },\n {\n \"type\": \"BOOLEAN\",\n \"nullable\": true,\n \"name\": \"cboolean2\"\n },\n {\n \"type\": \"BIGINT\",\n \"nullable\": true,\n \"name\": \"BLOCK__OFFSET__INSIDE__FILE\"\n },\n {\n \"type\": \"VARCHAR\",\n \"nullable\": true,\n \"precision\": 2147483647,\n \"name\": \"INPUT__FILE__NAME\"\n },\n {\n \"fields\": [\n {\n \"type\": \"BIGINT\",\n \"nullable\": true,\n \"name\": \"writeid\"\n },\n {\n \"type\": \"INTEGER\",\n \"nullable\": true,\n \"name\": \"bucketid\"\n },\n {\n \"type\": \"BIGINT\",\n \"nullable\": true,\n \"name\": \"rowid\"\n }\n ],\n \"name\": \"ROW__ID\"\n }\n ],\n \"colStats\": [\n {\n \"name\": \"cint\",\n \"ndv\": 8,\n \"minValue\": -738306196,\n \"maxValue\": 626923679\n },\n {\n \"name\": \"cstring1\",\n \"ndv\": 8\n },\n {\n \"name\": \"ctinyint\",\n \"ndv\": 2,\n \"minValue\": -64,\n \"maxValue\": -51\n },\n {\n \"name\": \"csmallint\",\n \"ndv\": 6,\n \"minValue\": -15920,\n \"maxValue\": -6907\n },\n {\n \"name\": \"cbigint\",\n \"ndv\": 15,\n \"minValue\": -1970551565,\n \"maxValue\": 1086455747\n },\n {\n \"name\": \"cfloat\",\n \"ndv\": 2,\n \"minValue\": -64.0,\n \"maxValue\": -51.0\n },\n {\n \"name\": \"cdouble\",\n \"ndv\": 6,\n \"minValue\": -15920.0,\n \"maxValue\": -6907.0\n },\n {\n \"name\": \"cstring2\",\n \"ndv\": 15\n },\n {\n \"name\": \"ctimestamp1\",\n \"ndv\": 0\n },\n {\n \"name\": \"ctimestamp2\",\n \"ndv\": 0\n },\n {\n \"name\": \"cboolean1\",\n \"ndv\": 2\n },\n {\n \"name\": \"cboolean2\",\n \"ndv\": 2\n }\n ]\n },\n {\n \"id\": \"7\",\n \"relOp\": \"org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveFilter\",\n \"condition\": {\n \"op\": \"AND\",\n \"operands\": [\n {\n \"op\": \"IS NOT NULL\",\n \"operands\": [\n {\n \"input\": 6,\n \"name\": \"$6\"\n }\n ]\n },\n {\n \"op\": \"IS NOT NULL\",\n \"operands\": [\n {\n \"input\": 2,\n \"name\": \"$2\"\n }\n ]\n }\n ]\n },\n \"rowCount\": 5.0\n },\n {\n \"id\": \"8\",\n \"relOp\": \"org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveProject\",\n \"fields\": [\n \"cint\",\n \"cstring1\"\n ],\n \"exprs\": [\n {\n \"input\": 2,\n \"name\": \"$2\"\n },\n {\n \"input\": 6,\n \"name\": \"$6\"\n }\n ],\n \"rowCount\": 5.0\n },\n {\n \"id\": \"9\",\n \"relOp\": \"org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveJoin\",\n \"condition\": {\n \"op\": \"AND\",\n \"operands\": [\n {\n \"op\": \"=\",\n \"operands\": [\n {\n \"input\": 7,\n \"name\": \"$7\"\n },\n {\n \"input\": 2,\n \"name\": \"$2\"\n }\n ]\n },\n {\n \"op\": \"=\",\n \"operands\": [\n {\n \"input\": 6,\n \"name\": \"$6\"\n },\n {\n \"input\": 0,\n \"name\": \"$0\"\n }\n ]\n }\n ]\n },\n \"joinType\": \"left\",\n \"algorithm\": \"none\",\n \"cost\": \"not available\",\n \"inputs\": [\n \"5\",\n \"8\"\n ],\n \"rowCount\": 20.0\n },\n {\n \"id\": \"10\",\n \"relOp\": \"org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveAggregate\",\n \"group\": [],\n \"aggs\": [\n {\n \"agg\": \"count\",\n \"type\": {\n \"type\": \"BIGINT\",\n \"nullable\": true\n },\n \"distinct\": false,\n \"operands\": []\n }\n ],\n \"rowCount\": 1.0\n }\n ]\n}","optimizedSQL":"SELECT COUNT(*) AS `$f0`\nFROM (SELECT `cint`, `cbigint`, `cstring1`, `cstring2`\nFROM `default`.`small_alltypesorc_a_n1`) AS `t`\nLEFT JOIN (SELECT `cbigint`, `cstring2`\nFROM `default`.`small_alltypesorc_a_n1`\nWHERE `cstring2` IS NOT NULL AND `cbigint` IS NOT NULL) AS `t1` ON `t`.`cstring2` = `t1`.`cstring2` AND `t`.`cbigint` = `t1`.`cbigint`\nLEFT JOIN (SELECT `cint`, `cstring1`\nFROM `default`.`small_alltypesorc_a_n1`\nWHERE `cstring1` IS NOT NULL AND `cint` IS NOT NULL) AS `t3` ON `t`.`cstring1` = `t3`.`cstring1` AND `t`.`cint` = `t3`.`cint`","PLAN VECTORIZATION":{"enabled":true,"enabledConditionsMet":["hive.vectorized.execution.enabled IS true"]},"cboInfo":"Plan optimized by CBO.","STAGE DEPENDENCIES":{"Stage-8":{"ROOT STAGE":"TRUE"},"Stage-3":{"DEPENDENT STAGES":"Stage-8"},"Stage-0":{"DEPENDENT STAGES":"Stage-3"}},"STAGE PLANS":{"Stage-8":{"Map Reduce Local Work":{"Alias -> Map Local Tables:":{"$hdt$_1:cd":{"Fetch Operator":{"limit:":"-1"}},"$hdt$_2:hd":{"Fetch Operator":{"limit:":"-1"}}},"Alias -> Map Local Operator Tree:":{"$hdt$_1:cd":{"TableScan":{"alias:":"cd","columns:":["cbigint","cstring2"],"database:":"default","filterExpr:":"(cstring2 is not null and cbigint is not null) (type: boolean)","Statistics:":"Num rows: 20 Data size: 1616 Basic stats: COMPLETE Column stats: COMPLETE","table:":"small_alltypesorc_a_n1","isTempTable:":"false","OperatorId:":"TS_2","children":{"Filter Operator":{"predicate:":"(cbigint is not null and cstring2 is not null) (type: boolean)","Statistics:":"Num rows: 11 Data size: 909 Basic stats: COMPLETE Column stats: COMPLETE","OperatorId:":"FIL_20","children":{"Select Operator":{"expressions:":"cbigint (type: bigint), cstring2 (type: string)","columnExprMap:":{"_col0":"cbigint","_col1":"cstring2"},"outputColumnNames:":["_col0","_col1"],"Statistics:":"Num rows: 11 Data size: 909 Basic stats: COMPLETE Column stats: COMPLETE","OperatorId:":"SEL_4","children":{"HashTable Sink Operator":{"keys:":{"0":"_col1 (type: bigint), _col3 (type: string)","1":"_col0 (type: bigint), _col1 (type: string)"},"OperatorId:":"HASHTABLESINK_30"}}}}}}}},"$hdt$_2:hd":{"TableScan":{"alias:":"hd","columns:":["cint","cstring1"],"database:":"default","filterExpr:":"(cstring1 is not null and cint is not null) (type: boolean)","Statistics:":"Num rows: 20 Data size: 1034 Basic stats: COMPLETE Column stats: COMPLETE","table:":"small_alltypesorc_a_n1","isTempTable:":"false","OperatorId:":"TS_5","children":{"Filter Operator":{"predicate:":"(cint is not null and cstring1 is not null) (type: boolean)","Statistics:":"Num rows: 5 Data size: 282 Basic stats: COMPLETE Column stats: COMPLETE","OperatorId:":"FIL_21","children":{"Select Operator":{"expressions:":"cint (type: int), cstring1 (type: string)","columnExprMap:":{"_col0":"cint","_col1":"cstring1"},"outputColumnNames:":["_col0","_col1"],"Statistics:":"Num rows: 5 Data size: 282 Basic stats: COMPLETE Column stats: COMPLETE","OperatorId:":"SEL_7","children":{"HashTable Sink Operator":{"keys:":{"0":"_col0 (type: int), _col2 (type: string)","1":"_col0 (type: int), _col1 (type: string)"},"OperatorId:":"HASHTABLESINK_28"}}}}}}}}}}},"Stage-3":{"Map Reduce":{"Map Operator Tree:":[{"TableScan":{"alias:":"c","columns:":["cint","cbigint","cstring1","cstring2"],"database:":"default","Statistics:":"Num rows: 20 Data size: 2650 Basic stats: COMPLETE Column stats: COMPLETE","table:":"small_alltypesorc_a_n1","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]"},"isTempTable:":"false","OperatorId:":"TS_0","children":{"Select Operator":{"expressions:":"cint (type: int), cbigint (type: bigint), cstring1 (type: string), cstring2 (type: string)","columnExprMap:":{"_col0":"cint","_col1":"cbigint","_col2":"cstring1","_col3":"cstring2"},"outputColumnNames:":["_col0","_col1","_col2","_col3"],"Select Vectorization:":{"className:":"VectorSelectOperator","native:":"true","projectedOutputColumnNums:":"[2, 3, 6, 7]"},"Statistics:":"Num rows: 20 Data size: 2650 Basic stats: COMPLETE Column stats: COMPLETE","OperatorId:":"SEL_32","children":{"Map Join Operator":{"columnExprMap:":{"_col0":"0:_col0","_col2":"0:_col2"},"condition map:":[{"":"Left Outer Join 0 to 1"}],"keys:":{"0":"_col1 (type: bigint), _col3 (type: string)","1":"_col0 (type: bigint), _col1 (type: string)"},"Map Join Vectorization:":{"bigTableKeyExpressions:":["col 3:bigint","col 7:string"],"bigTableValueExpressions:":["col 2:int","col 6:string"],"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","Outer Join has keys IS true","Optimized Table and Supports Key Types IS true"],"nativeConditionsNotMet:":["hive.execution.engine mr IN [tez, spark] IS false"]},"outputColumnNames:":["_col0","_col2"],"Statistics:":"Num rows: 20 Data size: 1034 Basic stats: COMPLETE Column stats: COMPLETE","OperatorId:":"MAPJOIN_33","children":{"Map Join Operator":{"condition map:":[{"":"Left Outer Join 0 to 1"}],"keys:":{"0":"_col0 (type: int), _col2 (type: string)","1":"_col0 (type: int), _col1 (type: string)"},"Map Join Vectorization:":{"bigTableKeyExpressions:":["col 0:int","col 1:string"],"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","Outer Join has keys IS true","Optimized Table and Supports Key Types IS true"],"nativeConditionsNotMet:":["hive.execution.engine mr IN [tez, spark] IS false"]},"Statistics:":"Num rows: 32 Data size: 256 Basic stats: COMPLETE Column stats: COMPLETE","OperatorId:":"MAPJOIN_34","children":{"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: COMPLETE","OperatorId:":"GBY_35","children":{"Reduce Output Operator":{"columnExprMap:":{"VALUE._col0":"_col0"},"sort order:":"","Reduce Sink Vectorization:":{"className:":"VectorReduceSinkOperator","native:":"false","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: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE","value expressions:":"_col0 (type: bigint)","OperatorId:":"RS_36"}}}}}}}}}}}}],"Execution mode:":"vectorized","Map Vectorization:":{"enabled:":"true","enabledConditionsMet:":["hive.vectorized.use.vectorized.input.format IS true"],"inputFormatFeatureSupport:":"[DECIMAL_64]","featureSupportInUse:":"[DECIMAL_64]","inputFileFormats:":["org.apache.hadoop.hive.ql.io.orc.OrcInputFormat"],"allNative:":"false","usesVectorUDFAdaptor:":"false","vectorized:":"true","rowBatchContext:":{"dataColumnCount:":"12","includeColumns:":"[2, 3, 6, 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:":"[]"}},"Local Work:":{"Map Reduce Local Work":{}},"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:":{"Group By Operator":{"aggregations:":["count(VALUE._col0)"],"mode:":"mergepartial","outputColumnNames:":["_col0"],"Statistics:":"Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE","OperatorId:":"GBY_17","children":{"File Output Operator":{"compressed:":"false","Statistics:":"Num rows: 1 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","serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"},"OperatorId:":"FS_19"}}}}}},"Stage-0":{"Fetch Operator":{"limit:":"-1","Processor Tree:":{"ListSink":{"OperatorId:":"LIST_SINK_37"}}}}}} +{"CBOPlan":"{\n \"rels\": [\n {\n \"id\": \"0\",\n \"relOp\": \"org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveTableScan\",\n \"table\": [\n \"default\",\n \"small_alltypesorc_a_n1\"\n ],\n \"table:alias\": \"c\",\n \"inputs\": [],\n \"rowCount\": 20.0,\n \"avgRowSize\": 26.75,\n \"rowType\": [\n {\n \"type\": \"TINYINT\",\n \"nullable\": true,\n \"name\": \"ctinyint\"\n },\n {\n \"type\": \"SMALLINT\",\n \"nullable\": true,\n \"name\": \"csmallint\"\n },\n {\n \"type\": \"INTEGER\",\n \"nullable\": true,\n \"name\": \"cint\"\n },\n {\n \"type\": \"BIGINT\",\n \"nullable\": true,\n \"name\": \"cbigint\"\n },\n {\n \"type\": \"FLOAT\",\n \"nullable\": true,\n \"name\": \"cfloat\"\n },\n {\n \"type\": \"DOUBLE\",\n \"nullable\": true,\n \"name\": \"cdouble\"\n },\n {\n \"type\": \"VARCHAR\",\n \"nullable\": true,\n \"precision\": 2147483647,\n \"name\": \"cstring1\"\n },\n {\n \"type\": \"VARCHAR\",\n \"nullable\": true,\n \"precision\": 2147483647,\n \"name\": \"cstring2\"\n },\n {\n \"type\": \"TIMESTAMP\",\n \"nullable\": true,\n \"precision\": 9,\n \"name\": \"ctimestamp1\"\n },\n {\n \"type\": \"TIMESTAMP\",\n \"nullable\": true,\n \"precision\": 9,\n \"name\": \"ctimestamp2\"\n },\n {\n \"type\": \"BOOLEAN\",\n \"nullable\": true,\n \"name\": \"cboolean1\"\n },\n {\n \"type\": \"BOOLEAN\",\n \"nullable\": true,\n \"name\": \"cboolean2\"\n },\n {\n \"type\": \"BIGINT\",\n \"nullable\": true,\n \"name\": \"BLOCK__OFFSET__INSIDE__FILE\"\n },\n {\n \"type\": \"VARCHAR\",\n \"nullable\": true,\n \"precision\": 2147483647,\n \"name\": \"INPUT__FILE__NAME\"\n },\n {\n \"fields\": [\n {\n \"type\": \"BIGINT\",\n \"nullable\": true,\n \"name\": \"writeid\"\n },\n {\n \"type\": \"INTEGER\",\n \"nullable\": true,\n \"name\": \"bucketid\"\n },\n {\n \"type\": \"BIGINT\",\n \"nullable\": true,\n \"name\": \"rowid\"\n }\n ],\n \"name\": \"ROW__ID\"\n }\n ],\n \"colStats\": [\n {\n \"name\": \"cint\",\n \"ndv\": 8,\n \"minValue\": -738306196,\n \"maxValue\": 626923679\n },\n {\n \"name\": \"cbigint\",\n \"ndv\": 15,\n \"minValue\": -1970551565,\n \"maxValue\": 1086455747\n },\n {\n \"name\": \"cstring1\",\n \"ndv\": 8\n },\n {\n \"name\": \"cstring2\",\n \"ndv\": 15\n },\n {\n \"name\": \"ctinyint\",\n \"ndv\": 2,\n \"minValue\": -64,\n \"maxValue\": -51\n },\n {\n \"name\": \"csmallint\",\n \"ndv\": 6,\n \"minValue\": -15920,\n \"maxValue\": -6907\n },\n {\n \"name\": \"cfloat\",\n \"ndv\": 2,\n \"minValue\": -64.0,\n \"maxValue\": -51.0\n },\n {\n \"name\": \"cdouble\",\n \"ndv\": 6,\n \"minValue\": -15920.0,\n \"maxValue\": -6907.0\n },\n {\n \"name\": \"ctimestamp1\",\n \"ndv\": 0\n },\n {\n \"name\": \"ctimestamp2\",\n \"ndv\": 0\n },\n {\n \"name\": \"cboolean1\",\n \"ndv\": 2\n },\n {\n \"name\": \"cboolean2\",\n \"ndv\": 2\n }\n ]\n },\n {\n \"id\": \"1\",\n \"relOp\": \"org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveProject\",\n \"fields\": [\n \"cint\",\n \"cbigint\",\n \"cstring1\",\n \"cstring2\"\n ],\n \"exprs\": [\n {\n \"input\": 2,\n \"name\": \"$2\"\n },\n {\n \"input\": 3,\n \"name\": \"$3\"\n },\n {\n \"input\": 6,\n \"name\": \"$6\"\n },\n {\n \"input\": 7,\n \"name\": \"$7\"\n }\n ],\n \"rowCount\": 20.0\n },\n {\n \"id\": \"2\",\n \"relOp\": \"org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveTableScan\",\n \"table\": [\n \"default\",\n \"small_alltypesorc_a_n1\"\n ],\n \"table:alias\": \"cd\",\n \"inputs\": [],\n \"rowCount\": 20.0,\n \"avgRowSize\": 16.75,\n \"rowType\": [\n {\n \"type\": \"TINYINT\",\n \"nullable\": true,\n \"name\": \"ctinyint\"\n },\n {\n \"type\": \"SMALLINT\",\n \"nullable\": true,\n \"name\": \"csmallint\"\n },\n {\n \"type\": \"INTEGER\",\n \"nullable\": true,\n \"name\": \"cint\"\n },\n {\n \"type\": \"BIGINT\",\n \"nullable\": true,\n \"name\": \"cbigint\"\n },\n {\n \"type\": \"FLOAT\",\n \"nullable\": true,\n \"name\": \"cfloat\"\n },\n {\n \"type\": \"DOUBLE\",\n \"nullable\": true,\n \"name\": \"cdouble\"\n },\n {\n \"type\": \"VARCHAR\",\n \"nullable\": true,\n \"precision\": 2147483647,\n \"name\": \"cstring1\"\n },\n {\n \"type\": \"VARCHAR\",\n \"nullable\": true,\n \"precision\": 2147483647,\n \"name\": \"cstring2\"\n },\n {\n \"type\": \"TIMESTAMP\",\n \"nullable\": true,\n \"precision\": 9,\n \"name\": \"ctimestamp1\"\n },\n {\n \"type\": \"TIMESTAMP\",\n \"nullable\": true,\n \"precision\": 9,\n \"name\": \"ctimestamp2\"\n },\n {\n \"type\": \"BOOLEAN\",\n \"nullable\": true,\n \"name\": \"cboolean1\"\n },\n {\n \"type\": \"BOOLEAN\",\n \"nullable\": true,\n \"name\": \"cboolean2\"\n },\n {\n \"type\": \"BIGINT\",\n \"nullable\": true,\n \"name\": \"BLOCK__OFFSET__INSIDE__FILE\"\n },\n {\n \"type\": \"VARCHAR\",\n \"nullable\": true,\n \"precision\": 2147483647,\n \"name\": \"INPUT__FILE__NAME\"\n },\n {\n \"fields\": [\n {\n \"type\": \"BIGINT\",\n \"nullable\": true,\n \"name\": \"writeid\"\n },\n {\n \"type\": \"INTEGER\",\n \"nullable\": true,\n \"name\": \"bucketid\"\n },\n {\n \"type\": \"BIGINT\",\n \"nullable\": true,\n \"name\": \"rowid\"\n }\n ],\n \"name\": \"ROW__ID\"\n }\n ],\n \"colStats\": [\n {\n \"name\": \"cbigint\",\n \"ndv\": 15,\n \"minValue\": -1970551565,\n \"maxValue\": 1086455747\n },\n {\n \"name\": \"cstring2\",\n \"ndv\": 15\n },\n {\n \"name\": \"ctinyint\",\n \"ndv\": 2,\n \"minValue\": -64,\n \"maxValue\": -51\n },\n {\n \"name\": \"csmallint\",\n \"ndv\": 6,\n \"minValue\": -15920,\n \"maxValue\": -6907\n },\n {\n \"name\": \"cint\",\n \"ndv\": 8,\n \"minValue\": -738306196,\n \"maxValue\": 626923679\n },\n {\n \"name\": \"cfloat\",\n \"ndv\": 2,\n \"minValue\": -64.0,\n \"maxValue\": -51.0\n },\n {\n \"name\": \"cdouble\",\n \"ndv\": 6,\n \"minValue\": -15920.0,\n \"maxValue\": -6907.0\n },\n {\n \"name\": \"cstring1\",\n \"ndv\": 8\n },\n {\n \"name\": \"ctimestamp1\",\n \"ndv\": 0\n },\n {\n \"name\": \"ctimestamp2\",\n \"ndv\": 0\n },\n {\n \"name\": \"cboolean1\",\n \"ndv\": 2\n },\n {\n \"name\": \"cboolean2\",\n \"ndv\": 2\n }\n ]\n },\n {\n \"id\": \"3\",\n \"relOp\": \"org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveFilter\",\n \"condition\": {\n \"op\": \"AND\",\n \"operands\": [\n {\n \"op\": \"IS NOT NULL\",\n \"operands\": [\n {\n \"input\": 3,\n \"name\": \"$3\"\n }\n ]\n },\n {\n \"op\": \"IS NOT NULL\",\n \"operands\": [\n {\n \"input\": 7,\n \"name\": \"$7\"\n }\n ]\n }\n ]\n },\n \"rowCount\": 11.25\n },\n {\n \"id\": \"4\",\n \"relOp\": \"org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveProject\",\n \"fields\": [\n \"cbigint\",\n \"cstring2\"\n ],\n \"exprs\": [\n {\n \"input\": 3,\n \"name\": \"$3\"\n },\n {\n \"input\": 7,\n \"name\": \"$7\"\n }\n ],\n \"rowCount\": 11.25\n },\n {\n \"id\": \"5\",\n \"relOp\": \"org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveJoin\",\n \"condition\": {\n \"op\": \"AND\",\n \"operands\": [\n {\n \"op\": \"=\",\n \"operands\": [\n {\n \"input\": 5,\n \"name\": \"$5\"\n },\n {\n \"input\": 3,\n \"name\": \"$3\"\n }\n ]\n },\n {\n \"op\": \"=\",\n \"operands\": [\n {\n \"input\": 4,\n \"name\": \"$4\"\n },\n {\n \"input\": 1,\n \"name\": \"$1\"\n }\n ]\n }\n ]\n },\n \"joinType\": \"left\",\n \"algorithm\": \"none\",\n \"cost\": \"not available\",\n \"inputs\": [\n \"1\",\n \"4\"\n ],\n \"rowCount\": 20.0\n },\n {\n \"id\": \"6\",\n \"relOp\": \"org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveTableScan\",\n \"table\": [\n \"default\",\n \"small_alltypesorc_a_n1\"\n ],\n \"table:alias\": \"hd\",\n \"inputs\": [],\n \"rowCount\": 20.0,\n \"avgRowSize\": 10.0,\n \"rowType\": [\n {\n \"type\": \"TINYINT\",\n \"nullable\": true,\n \"name\": \"ctinyint\"\n },\n {\n \"type\": \"SMALLINT\",\n \"nullable\": true,\n \"name\": \"csmallint\"\n },\n {\n \"type\": \"INTEGER\",\n \"nullable\": true,\n \"name\": \"cint\"\n },\n {\n \"type\": \"BIGINT\",\n \"nullable\": true,\n \"name\": \"cbigint\"\n },\n {\n \"type\": \"FLOAT\",\n \"nullable\": true,\n \"name\": \"cfloat\"\n },\n {\n \"type\": \"DOUBLE\",\n \"nullable\": true,\n \"name\": \"cdouble\"\n },\n {\n \"type\": \"VARCHAR\",\n \"nullable\": true,\n \"precision\": 2147483647,\n \"name\": \"cstring1\"\n },\n {\n \"type\": \"VARCHAR\",\n \"nullable\": true,\n \"precision\": 2147483647,\n \"name\": \"cstring2\"\n },\n {\n \"type\": \"TIMESTAMP\",\n \"nullable\": true,\n \"precision\": 9,\n \"name\": \"ctimestamp1\"\n },\n {\n \"type\": \"TIMESTAMP\",\n \"nullable\": true,\n \"precision\": 9,\n \"name\": \"ctimestamp2\"\n },\n {\n \"type\": \"BOOLEAN\",\n \"nullable\": true,\n \"name\": \"cboolean1\"\n },\n {\n \"type\": \"BOOLEAN\",\n \"nullable\": true,\n \"name\": \"cboolean2\"\n },\n {\n \"type\": \"BIGINT\",\n \"nullable\": true,\n \"name\": \"BLOCK__OFFSET__INSIDE__FILE\"\n },\n {\n \"type\": \"VARCHAR\",\n \"nullable\": true,\n \"precision\": 2147483647,\n \"name\": \"INPUT__FILE__NAME\"\n },\n {\n \"fields\": [\n {\n \"type\": \"BIGINT\",\n \"nullable\": true,\n \"name\": \"writeid\"\n },\n {\n \"type\": \"INTEGER\",\n \"nullable\": true,\n \"name\": \"bucketid\"\n },\n {\n \"type\": \"BIGINT\",\n \"nullable\": true,\n \"name\": \"rowid\"\n }\n ],\n \"name\": \"ROW__ID\"\n }\n ],\n \"colStats\": [\n {\n \"name\": \"cint\",\n \"ndv\": 8,\n \"minValue\": -738306196,\n \"maxValue\": 626923679\n },\n {\n \"name\": \"cstring1\",\n \"ndv\": 8\n },\n {\n \"name\": \"ctinyint\",\n \"ndv\": 2,\n \"minValue\": -64,\n \"maxValue\": -51\n },\n {\n \"name\": \"csmallint\",\n \"ndv\": 6,\n \"minValue\": -15920,\n \"maxValue\": -6907\n },\n {\n \"name\": \"cbigint\",\n \"ndv\": 15,\n \"minValue\": -1970551565,\n \"maxValue\": 1086455747\n },\n {\n \"name\": \"cfloat\",\n \"ndv\": 2,\n \"minValue\": -64.0,\n \"maxValue\": -51.0\n },\n {\n \"name\": \"cdouble\",\n \"ndv\": 6,\n \"minValue\": -15920.0,\n \"maxValue\": -6907.0\n },\n {\n \"name\": \"cstring2\",\n \"ndv\": 15\n },\n {\n \"name\": \"ctimestamp1\",\n \"ndv\": 0\n },\n {\n \"name\": \"ctimestamp2\",\n \"ndv\": 0\n },\n {\n \"name\": \"cboolean1\",\n \"ndv\": 2\n },\n {\n \"name\": \"cboolean2\",\n \"ndv\": 2\n }\n ]\n },\n {\n \"id\": \"7\",\n \"relOp\": \"org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveFilter\",\n \"condition\": {\n \"op\": \"AND\",\n \"operands\": [\n {\n \"op\": \"IS NOT NULL\",\n \"operands\": [\n {\n \"input\": 2,\n \"name\": \"$2\"\n }\n ]\n },\n {\n \"op\": \"IS NOT NULL\",\n \"operands\": [\n {\n \"input\": 6,\n \"name\": \"$6\"\n }\n ]\n }\n ]\n },\n \"rowCount\": 5.0\n },\n {\n \"id\": \"8\",\n \"relOp\": \"org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveProject\",\n \"fields\": [\n \"cint\",\n \"cstring1\"\n ],\n \"exprs\": [\n {\n \"input\": 2,\n \"name\": \"$2\"\n },\n {\n \"input\": 6,\n \"name\": \"$6\"\n }\n ],\n \"rowCount\": 5.0\n },\n {\n \"id\": \"9\",\n \"relOp\": \"org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveJoin\",\n \"condition\": {\n \"op\": \"AND\",\n \"operands\": [\n {\n \"op\": \"=\",\n \"operands\": [\n {\n \"input\": 7,\n \"name\": \"$7\"\n },\n {\n \"input\": 2,\n \"name\": \"$2\"\n }\n ]\n },\n {\n \"op\": \"=\",\n \"operands\": [\n {\n \"input\": 6,\n \"name\": \"$6\"\n },\n {\n \"input\": 0,\n \"name\": \"$0\"\n }\n ]\n }\n ]\n },\n \"joinType\": \"left\",\n \"algorithm\": \"none\",\n \"cost\": \"not available\",\n \"inputs\": [\n \"5\",\n \"8\"\n ],\n \"rowCount\": 20.0\n },\n {\n \"id\": \"10\",\n \"relOp\": \"org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveAggregate\",\n \"group\": [],\n \"aggs\": [\n {\n \"agg\": \"count\",\n \"type\": {\n \"type\": \"BIGINT\",\n \"nullable\": true\n },\n \"distinct\": false,\n \"operands\": []\n }\n ],\n \"rowCount\": 1.0\n }\n ]\n}","optimizedSQL":"SELECT COUNT(*) AS `$f0`\nFROM (SELECT `cint`, `cbigint`, `cstring1`, `cstring2`\nFROM `default`.`small_alltypesorc_a_n1`) AS `t`\nLEFT JOIN (SELECT `cbigint`, `cstring2`\nFROM `default`.`small_alltypesorc_a_n1`\nWHERE `cbigint` IS NOT NULL AND `cstring2` IS NOT NULL) AS `t1` ON `t`.`cstring2` = `t1`.`cstring2` AND `t`.`cbigint` = `t1`.`cbigint`\nLEFT JOIN (SELECT `cint`, `cstring1`\nFROM `default`.`small_alltypesorc_a_n1`\nWHERE `cint` IS NOT NULL AND `cstring1` IS NOT NULL) AS `t3` ON `t`.`cstring1` = `t3`.`cstring1` AND `t`.`cint` = `t3`.`cint`","PLAN VECTORIZATION":{"enabled":true,"enabledConditionsMet":["hive.vectorized.execution.enabled IS true"]},"cboInfo":"Plan optimized by CBO.","STAGE DEPENDENCIES":{"Stage-8":{"ROOT STAGE":"TRUE"},"Stage-3":{"DEPENDENT STAGES":"Stage-8"},"Stage-0":{"DEPENDENT STAGES":"Stage-3"}},"STAGE PLANS":{"Stage-8":{"Map Reduce Local Work":{"Alias -> Map Local Tables:":{"$hdt$_1:cd":{"Fetch Operator":{"limit:":"-1"}},"$hdt$_2:hd":{"Fetch Operator":{"limit:":"-1"}}},"Alias -> Map Local Operator Tree:":{"$hdt$_1:cd":{"TableScan":{"alias:":"cd","columns:":["cbigint","cstring2"],"database:":"default","filterExpr:":"(cbigint is not null and cstring2 is not null) (type: boolean)","Statistics:":"Num rows: 20 Data size: 1616 Basic stats: COMPLETE Column stats: COMPLETE","table:":"small_alltypesorc_a_n1","isTempTable:":"false","OperatorId:":"TS_2","children":{"Filter Operator":{"predicate:":"(cbigint is not null and cstring2 is not null) (type: boolean)","Statistics:":"Num rows: 11 Data size: 909 Basic stats: COMPLETE Column stats: COMPLETE","OperatorId:":"FIL_20","children":{"Select Operator":{"expressions:":"cbigint (type: bigint), cstring2 (type: string)","columnExprMap:":{"_col0":"cbigint","_col1":"cstring2"},"outputColumnNames:":["_col0","_col1"],"Statistics:":"Num rows: 11 Data size: 909 Basic stats: COMPLETE Column stats: COMPLETE","OperatorId:":"SEL_4","children":{"HashTable Sink Operator":{"keys:":{"0":"_col1 (type: bigint), _col3 (type: string)","1":"_col0 (type: bigint), _col1 (type: string)"},"OperatorId:":"HASHTABLESINK_30"}}}}}}}},"$hdt$_2:hd":{"TableScan":{"alias:":"hd","columns:":["cint","cstring1"],"database:":"default","filterExpr:":"(cint is not null and cstring1 is not null) (type: boolean)","Statistics:":"Num rows: 20 Data size: 1034 Basic stats: COMPLETE Column stats: COMPLETE","table:":"small_alltypesorc_a_n1","isTempTable:":"false","OperatorId:":"TS_5","children":{"Filter Operator":{"predicate:":"(cint is not null and cstring1 is not null) (type: boolean)","Statistics:":"Num rows: 5 Data size: 282 Basic stats: COMPLETE Column stats: COMPLETE","OperatorId:":"FIL_21","children":{"Select Operator":{"expressions:":"cint (type: int), cstring1 (type: string)","columnExprMap:":{"_col0":"cint","_col1":"cstring1"},"outputColumnNames:":["_col0","_col1"],"Statistics:":"Num rows: 5 Data size: 282 Basic stats: COMPLETE Column stats: COMPLETE","OperatorId:":"SEL_7","children":{"HashTable Sink Operator":{"keys:":{"0":"_col0 (type: int), _col2 (type: string)","1":"_col0 (type: int), _col1 (type: string)"},"OperatorId:":"HASHTABLESINK_28"}}}}}}}}}}},"Stage-3":{"Map Reduce":{"Map Operator Tree:":[{"TableScan":{"alias:":"c","columns:":["cint","cbigint","cstring1","cstring2"],"database:":"default","Statistics:":"Num rows: 20 Data size: 2650 Basic stats: COMPLETE Column stats: COMPLETE","table:":"small_alltypesorc_a_n1","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]"},"isTempTable:":"false","OperatorId:":"TS_0","children":{"Select Operator":{"expressions:":"cint (type: int), cbigint (type: bigint), cstring1 (type: string), cstring2 (type: string)","columnExprMap:":{"_col0":"cint","_col1":"cbigint","_col2":"cstring1","_col3":"cstring2"},"outputColumnNames:":["_col0","_col1","_col2","_col3"],"Select Vectorization:":{"className:":"VectorSelectOperator","native:":"true","projectedOutputColumnNums:":"[2, 3, 6, 7]"},"Statistics:":"Num rows: 20 Data size: 2650 Basic stats: COMPLETE Column stats: COMPLETE","OperatorId:":"SEL_32","children":{"Map Join Operator":{"columnExprMap:":{"_col0":"0:_col0","_col2":"0:_col2"},"condition map:":[{"":"Left Outer Join 0 to 1"}],"keys:":{"0":"_col1 (type: bigint), _col3 (type: string)","1":"_col0 (type: bigint), _col1 (type: string)"},"Map Join Vectorization:":{"bigTableKeyExpressions:":["col 3:bigint","col 7:string"],"bigTableValueExpressions:":["col 2:int","col 6:string"],"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","Outer Join has keys IS true","Optimized Table and Supports Key Types IS true"],"nativeConditionsNotMet:":["hive.execution.engine mr IN [tez, spark] IS false"]},"outputColumnNames:":["_col0","_col2"],"Statistics:":"Num rows: 20 Data size: 1034 Basic stats: COMPLETE Column stats: COMPLETE","OperatorId:":"MAPJOIN_33","children":{"Map Join Operator":{"condition map:":[{"":"Left Outer Join 0 to 1"}],"keys:":{"0":"_col0 (type: int), _col2 (type: string)","1":"_col0 (type: int), _col1 (type: string)"},"Map Join Vectorization:":{"bigTableKeyExpressions:":["col 0:int","col 1:string"],"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","Outer Join has keys IS true","Optimized Table and Supports Key Types IS true"],"nativeConditionsNotMet:":["hive.execution.engine mr IN [tez, spark] IS false"]},"Statistics:":"Num rows: 24 Data size: 192 Basic stats: COMPLETE Column stats: COMPLETE","OperatorId:":"MAPJOIN_34","children":{"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: COMPLETE","OperatorId:":"GBY_35","children":{"Reduce Output Operator":{"columnExprMap:":{"VALUE._col0":"_col0"},"sort order:":"","Reduce Sink Vectorization:":{"className:":"VectorReduceSinkOperator","native:":"false","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: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE","value expressions:":"_col0 (type: bigint)","OperatorId:":"RS_36"}}}}}}}}}}}}],"Execution mode:":"vectorized","Map Vectorization:":{"enabled:":"true","enabledConditionsMet:":["hive.vectorized.use.vectorized.input.format IS true"],"inputFormatFeatureSupport:":"[DECIMAL_64]","featureSupportInUse:":"[DECIMAL_64]","inputFileFormats:":["org.apache.hadoop.hive.ql.io.orc.OrcInputFormat"],"allNative:":"false","usesVectorUDFAdaptor:":"false","vectorized:":"true","rowBatchContext:":{"dataColumnCount:":"12","includeColumns:":"[2, 3, 6, 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:":"[]"}},"Local Work:":{"Map Reduce Local Work":{}},"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:":{"Group By Operator":{"aggregations:":["count(VALUE._col0)"],"mode:":"mergepartial","outputColumnNames:":["_col0"],"Statistics:":"Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE","OperatorId:":"GBY_17","children":{"File Output Operator":{"compressed:":"false","Statistics:":"Num rows: 1 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","serde:":"org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"},"OperatorId:":"FS_19"}}}}}},"Stage-0":{"Fetch Operator":{"limit:":"-1","Processor Tree:":{"ListSink":{"OperatorId:":"LIST_SINK_37"}}}}}} PREHOOK: query: select count(*) from (select c.cstring1 from small_alltypesorc_a_n1 c left outer join small_alltypesorc_a_n1 cd diff --git a/ql/src/test/results/clientpositive/vectorization_1.q.out b/ql/src/test/results/clientpositive/vectorization_1.q.out index 917effdaad..4d0acd10a2 100644 --- a/ql/src/test/results/clientpositive/vectorization_1.q.out +++ b/ql/src/test/results/clientpositive/vectorization_1.q.out @@ -58,7 +58,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: (((cdouble > UDFToDouble(ctinyint)) and (cboolean2 > 0)) or (cbigint < UDFToLong(ctinyint)) or (UDFToLong(cint) > cbigint) or (cboolean1 < 0)) (type: boolean) + filterExpr: ((cboolean1 < 0) or (cbigint < UDFToLong(ctinyint)) or (UDFToLong(cint) > cbigint) or ((cdouble > UDFToDouble(ctinyint)) and (cboolean2 > 0))) (type: boolean) Statistics: Num rows: 12288 Data size: 330276 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -67,8 +67,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterDoubleColGreaterDoubleColumn(col 5:double, col 13:double)(children: CastLongToDouble(col 0:tinyint) -> 13:double), FilterLongColGreaterLongScalar(col 11:boolean, val 0)), FilterLongColLessLongColumn(col 3:bigint, col 0:bigint)(children: col 0:tinyint), FilterLongColGreaterLongColumn(col 2:bigint, col 3:bigint)(children: col 2:int), FilterLongColLessLongScalar(col 10:boolean, val 0)) - predicate: (((cdouble > UDFToDouble(ctinyint)) and (cboolean2 > 0)) or (UDFToLong(cint) > cbigint) or (cbigint < UDFToLong(ctinyint)) or (cboolean1 < 0)) (type: boolean) + predicateExpression: FilterExprOrExpr(children: FilterLongColLessLongScalar(col 10:boolean, val 0), FilterLongColLessLongColumn(col 3:bigint, col 0:bigint)(children: col 0:tinyint), FilterLongColGreaterLongColumn(col 2:bigint, col 3:bigint)(children: col 2:int), FilterExprAndExpr(children: FilterDoubleColGreaterDoubleColumn(col 5:double, col 13:double)(children: CastLongToDouble(col 0:tinyint) -> 13:double), FilterLongColGreaterLongScalar(col 11:boolean, val 0))) + predicate: ((cboolean1 < 0) or (cbigint < UDFToLong(ctinyint)) or (UDFToLong(cint) > cbigint) or ((cdouble > UDFToDouble(ctinyint)) and (cboolean2 > 0))) (type: boolean) Statistics: Num rows: 12288 Data size: 330276 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ctinyint (type: tinyint), cfloat (type: float), cint (type: int), cdouble (type: double), UDFToDouble(ctinyint) (type: double), (UDFToDouble(ctinyint) * UDFToDouble(ctinyint)) (type: double), (cdouble * cdouble) (type: double) diff --git a/ql/src/test/results/clientpositive/vectorization_11.q.out b/ql/src/test/results/clientpositive/vectorization_11.q.out index 140ffd2582..1040d3aefa 100644 --- a/ql/src/test/results/clientpositive/vectorization_11.q.out +++ b/ql/src/test/results/clientpositive/vectorization_11.q.out @@ -46,7 +46,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: ((cstring2 = cstring1) or (ctimestamp1 is null and (cstring1 like '%a'))) (type: boolean) + filterExpr: ((ctimestamp1 is null and (cstring1 like '%a')) or (cstring2 = cstring1)) (type: boolean) Statistics: Num rows: 12288 Data size: 2381474 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -55,8 +55,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprOrExpr(children: FilterStringGroupColEqualStringGroupColumn(col 7:string, col 6:string), FilterExprAndExpr(children: SelectColumnIsNull(col 8:timestamp), FilterStringColLikeStringScalar(col 6:string, pattern %a))) - predicate: ((cstring2 = cstring1) or (ctimestamp1 is null and (cstring1 like '%a'))) (type: boolean) + predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: SelectColumnIsNull(col 8:timestamp), FilterStringColLikeStringScalar(col 6:string, pattern %a)), FilterStringGroupColEqualStringGroupColumn(col 7:string, col 6:string)) + predicate: ((ctimestamp1 is null and (cstring1 like '%a')) or (cstring2 = cstring1)) (type: boolean) Statistics: Num rows: 6144 Data size: 1190792 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cstring1 (type: string), cboolean1 (type: boolean), cdouble (type: double), ctimestamp1 (type: timestamp), (-3728 * UDFToInteger(csmallint)) (type: int), (cdouble - 9763215.5639D) (type: double), (- cdouble) (type: double), ((- cdouble) + 6981.0D) (type: double), (cdouble * -5638.15D) (type: double) diff --git a/ql/src/test/results/clientpositive/vectorization_12.q.out b/ql/src/test/results/clientpositive/vectorization_12.q.out index 32ee14476e..977372a4a1 100644 --- a/ql/src/test/results/clientpositive/vectorization_12.q.out +++ b/ql/src/test/results/clientpositive/vectorization_12.q.out @@ -81,7 +81,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: (ctimestamp1 is null and ((cboolean1 >= cboolean2) or (UDFToShort(ctinyint) <> csmallint)) and ((cstring1 like '%a') or ((cboolean2 <= 1) and (cbigint >= UDFToLong(csmallint))))) (type: boolean) + filterExpr: (((cstring1 like '%a') or ((cboolean2 <= 1) and (cbigint >= UDFToLong(csmallint)))) and ((cboolean1 >= cboolean2) or (UDFToShort(ctinyint) <> csmallint)) and ctimestamp1 is null) (type: boolean) Statistics: Num rows: 12288 Data size: 1647554 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -90,8 +90,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprAndExpr(children: SelectColumnIsNull(col 8:timestamp), FilterExprOrExpr(children: FilterLongColGreaterEqualLongColumn(col 10:boolean, col 11:boolean), FilterLongColNotEqualLongColumn(col 0:smallint, col 1:smallint)(children: col 0:tinyint)), FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 6:string, pattern %a), FilterExprAndExpr(children: FilterLongColLessEqualLongScalar(col 11:boolean, val 1), FilterLongColGreaterEqualLongColumn(col 3:bigint, col 1:bigint)(children: col 1:smallint)))) - predicate: (((cboolean1 >= cboolean2) or (UDFToShort(ctinyint) <> csmallint)) and ((cstring1 like '%a') or ((cboolean2 <= 1) and (cbigint >= UDFToLong(csmallint)))) and ctimestamp1 is null) (type: boolean) + predicateExpression: FilterExprAndExpr(children: FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 6:string, pattern %a), FilterExprAndExpr(children: FilterLongColLessEqualLongScalar(col 11:boolean, val 1), FilterLongColGreaterEqualLongColumn(col 3:bigint, col 1:bigint)(children: col 1:smallint))), FilterExprOrExpr(children: FilterLongColGreaterEqualLongColumn(col 10:boolean, col 11:boolean), FilterLongColNotEqualLongColumn(col 0:smallint, col 1:smallint)(children: col 0:tinyint)), SelectColumnIsNull(col 8:timestamp)) + predicate: (((cstring1 like '%a') or ((cboolean2 <= 1) and (cbigint >= UDFToLong(csmallint)))) and ((cboolean1 >= cboolean2) or (UDFToShort(ctinyint) <> csmallint)) and ctimestamp1 is null) (type: boolean) Statistics: Num rows: 1 Data size: 166 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cbigint (type: bigint), cboolean1 (type: boolean), cstring1 (type: string), cdouble (type: double), UDFToDouble(cbigint) (type: double), (UDFToDouble(cbigint) * UDFToDouble(cbigint)) (type: double), (cdouble * cdouble) (type: double) diff --git a/ql/src/test/results/clientpositive/vectorization_14.q.out b/ql/src/test/results/clientpositive/vectorization_14.q.out index 971b1c4c3d..a1c4b26650 100644 --- a/ql/src/test/results/clientpositive/vectorization_14.q.out +++ b/ql/src/test/results/clientpositive/vectorization_14.q.out @@ -83,7 +83,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: ((UDFToLong(ctinyint) <= cbigint) and ((UDFToDouble(cint) <= cdouble) or (ctimestamp2 < ctimestamp1)) and (cdouble < UDFToDouble(ctinyint)) and ((cbigint > -257L) or (cfloat < UDFToFloat(cint)))) (type: boolean) + filterExpr: ((UDFToLong(ctinyint) <= cbigint) and (cdouble < UDFToDouble(ctinyint)) and ((cbigint > -257L) or (cfloat < UDFToFloat(cint))) and ((UDFToDouble(cint) <= cdouble) or (ctimestamp2 < ctimestamp1))) (type: boolean) Statistics: Num rows: 12288 Data size: 2139070 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -92,8 +92,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprAndExpr(children: FilterLongColLessEqualLongColumn(col 0:bigint, col 3:bigint)(children: col 0:tinyint), FilterExprOrExpr(children: FilterDoubleColLessEqualDoubleColumn(col 13:double, col 5:double)(children: CastLongToDouble(col 2:int) -> 13:double), FilterTimestampColLessTimestampColumn(col 9:timestamp, col 8:timestamp)), FilterDoubleColLessDoubleColumn(col 5:double, col 14:double)(children: CastLongToDouble(col 0:tinyint) -> 14:double), FilterExprOrExpr(children: FilterLongColGreaterLongScalar(col 3:bigint, val -257), FilterDoubleColLessDoubleColumn(col 4:float, col 15:float)(children: CastLongToFloatViaLongToDouble(col 2:int) -> 15:float))) - predicate: (((UDFToDouble(cint) <= cdouble) or (ctimestamp2 < ctimestamp1)) and ((cbigint > -257L) or (cfloat < UDFToFloat(cint))) and (UDFToLong(ctinyint) <= cbigint) and (cdouble < UDFToDouble(ctinyint))) (type: boolean) + predicateExpression: FilterExprAndExpr(children: FilterLongColLessEqualLongColumn(col 0:bigint, col 3:bigint)(children: col 0:tinyint), FilterDoubleColLessDoubleColumn(col 5:double, col 13:double)(children: CastLongToDouble(col 0:tinyint) -> 13:double), FilterExprOrExpr(children: FilterLongColGreaterLongScalar(col 3:bigint, val -257), FilterDoubleColLessDoubleColumn(col 4:float, col 14:float)(children: CastLongToFloatViaLongToDouble(col 2:int) -> 14:float)), FilterExprOrExpr(children: FilterDoubleColLessEqualDoubleColumn(col 15:double, col 5:double)(children: CastLongToDouble(col 2:int) -> 15:double), FilterTimestampColLessTimestampColumn(col 9:timestamp, col 8:timestamp))) + predicate: ((UDFToLong(ctinyint) <= cbigint) and (cdouble < UDFToDouble(ctinyint)) and ((cbigint > -257L) or (cfloat < UDFToFloat(cint))) and ((UDFToDouble(cint) <= cdouble) or (ctimestamp2 < ctimestamp1))) (type: boolean) Statistics: Num rows: 606 Data size: 105558 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: ctimestamp1 (type: timestamp), cfloat (type: float), cstring1 (type: string), cboolean1 (type: boolean), cdouble (type: double), (- (-26.28D + cdouble)) (type: double), ((- (-26.28D + cdouble)) * (- (-26.28D + cdouble))) (type: double), UDFToDouble(cfloat) (type: double), (UDFToDouble(cfloat) * UDFToDouble(cfloat)) (type: double) diff --git a/ql/src/test/results/clientpositive/vectorization_15.q.out b/ql/src/test/results/clientpositive/vectorization_15.q.out index 7786f96f0c..1a5de65593 100644 --- a/ql/src/test/results/clientpositive/vectorization_15.q.out +++ b/ql/src/test/results/clientpositive/vectorization_15.q.out @@ -79,7 +79,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: ((cstring2 like '%ss%') or (cstring1 like '10%') or ((cint >= -75) and (UDFToShort(ctinyint) = csmallint) and (cdouble >= -3728.0D))) (type: boolean) + filterExpr: ((cstring1 like '10%') or (cstring2 like '%ss%') or ((cint >= -75) and (UDFToShort(ctinyint) = csmallint) and (cdouble >= -3728.0D))) (type: boolean) Statistics: Num rows: 12288 Data size: 2491562 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -88,8 +88,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 7:string, pattern %ss%), FilterStringColLikeStringScalar(col 6:string, pattern 10%), FilterExprAndExpr(children: FilterLongColGreaterEqualLongScalar(col 2:int, val -75), FilterLongColEqualLongColumn(col 0:smallint, col 1:smallint)(children: col 0:tinyint), FilterDoubleColGreaterEqualDoubleScalar(col 5:double, val -3728.0))) - predicate: (((cint >= -75) and (UDFToShort(ctinyint) = csmallint) and (cdouble >= -3728.0D)) or (cstring1 like '10%') or (cstring2 like '%ss%')) (type: boolean) + predicateExpression: FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 6:string, pattern 10%), FilterStringColLikeStringScalar(col 7:string, pattern %ss%), FilterExprAndExpr(children: FilterLongColGreaterEqualLongScalar(col 2:int, val -75), FilterLongColEqualLongColumn(col 0:smallint, col 1:smallint)(children: col 0:tinyint), FilterDoubleColGreaterEqualDoubleScalar(col 5:double, val -3728.0))) + predicate: ((cstring1 like '10%') or (cstring2 like '%ss%') or ((cint >= -75) and (UDFToShort(ctinyint) = csmallint) and (cdouble >= -3728.0D))) (type: boolean) Statistics: Num rows: 12288 Data size: 2491562 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cfloat (type: float), cboolean1 (type: boolean), cdouble (type: double), cstring1 (type: string), ctinyint (type: tinyint), cint (type: int), ctimestamp1 (type: timestamp), UDFToDouble(cfloat) (type: double), (UDFToDouble(cfloat) * UDFToDouble(cfloat)) (type: double), UDFToDouble(ctinyint) (type: double), (UDFToDouble(ctinyint) * UDFToDouble(ctinyint)) (type: double), UDFToDouble(cint) (type: double), (UDFToDouble(cint) * UDFToDouble(cint)) (type: double) diff --git a/ql/src/test/results/clientpositive/vectorization_17.q.out b/ql/src/test/results/clientpositive/vectorization_17.q.out index 1af1cf4b0e..c9d106c9d2 100644 --- a/ql/src/test/results/clientpositive/vectorization_17.q.out +++ b/ql/src/test/results/clientpositive/vectorization_17.q.out @@ -64,7 +64,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: ((cbigint > -23L) and ((cdouble <> 988888.0D) or (CAST( cint AS decimal(13,3)) > -863.257)) and ((ctinyint >= 33Y) or (UDFToLong(csmallint) >= cbigint) or (UDFToDouble(cfloat) = cdouble))) (type: boolean) + filterExpr: ((cbigint > -23L) and ((ctinyint >= 33Y) or (UDFToLong(csmallint) >= cbigint) or (UDFToDouble(cfloat) = cdouble)) and ((cdouble <> 988888.0D) or (CAST( cint AS decimal(13,3)) > -863.257))) (type: boolean) Statistics: Num rows: 12288 Data size: 1647550 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -73,8 +73,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprAndExpr(children: FilterLongColGreaterLongScalar(col 3:bigint, val -23), FilterExprOrExpr(children: FilterDoubleColNotEqualDoubleScalar(col 5:double, val 988888.0), FilterDecimalColGreaterDecimalScalar(col 13:decimal(13,3), val -863.257)(children: CastLongToDecimal(col 2:int) -> 13:decimal(13,3))), FilterExprOrExpr(children: FilterLongColGreaterEqualLongScalar(col 0:tinyint, val 33), FilterLongColGreaterEqualLongColumn(col 1:bigint, col 3:bigint)(children: col 1:smallint), FilterDoubleColEqualDoubleColumn(col 4:double, col 5:double)(children: col 4:float))) - predicate: (((cdouble <> 988888.0D) or (CAST( cint AS decimal(13,3)) > -863.257)) and ((ctinyint >= 33Y) or (UDFToLong(csmallint) >= cbigint) or (UDFToDouble(cfloat) = cdouble)) and (cbigint > -23L)) (type: boolean) + predicateExpression: FilterExprAndExpr(children: FilterLongColGreaterLongScalar(col 3:bigint, val -23), FilterExprOrExpr(children: FilterLongColGreaterEqualLongScalar(col 0:tinyint, val 33), FilterLongColGreaterEqualLongColumn(col 1:bigint, col 3:bigint)(children: col 1:smallint), FilterDoubleColEqualDoubleColumn(col 4:double, col 5:double)(children: col 4:float)), FilterExprOrExpr(children: FilterDoubleColNotEqualDoubleScalar(col 5:double, val 988888.0), FilterDecimalColGreaterDecimalScalar(col 13:decimal(13,3), val -863.257)(children: CastLongToDecimal(col 2:int) -> 13:decimal(13,3)))) + predicate: ((cbigint > -23L) and ((ctinyint >= 33Y) or (UDFToLong(csmallint) >= cbigint) or (UDFToDouble(cfloat) = cdouble)) and ((cdouble <> 988888.0D) or (CAST( cint AS decimal(13,3)) > -863.257))) (type: boolean) Statistics: Num rows: 4096 Data size: 549274 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cfloat (type: float), cstring1 (type: string), cint (type: int), ctimestamp1 (type: timestamp), cdouble (type: double), cbigint (type: bigint), (UDFToDouble(cfloat) / UDFToDouble(ctinyint)) (type: double), (UDFToLong(cint) % cbigint) (type: bigint), (- cdouble) (type: double), (cdouble + (UDFToDouble(cfloat) / UDFToDouble(ctinyint))) (type: double), (cdouble / UDFToDouble(cint)) (type: double), (- (- cdouble)) (type: double), (9763215.5639 % CAST( cbigint AS decimal(19,0))) (type: decimal(11,4)), (2563.58D + (- (- cdouble))) (type: double) diff --git a/ql/src/test/results/clientpositive/vectorization_2.q.out b/ql/src/test/results/clientpositive/vectorization_2.q.out index 901acebc71..a5527a4be7 100644 --- a/ql/src/test/results/clientpositive/vectorization_2.q.out +++ b/ql/src/test/results/clientpositive/vectorization_2.q.out @@ -62,7 +62,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: (((ctimestamp1 < ctimestamp2) and (cstring2 like 'b%') and (cfloat <= -5638.15)) or ((cdouble < UDFToDouble(ctinyint)) and ((UDFToDouble(ctimestamp2) <> -10669.0D) or (cint < 359)))) (type: boolean) + filterExpr: (((cdouble < UDFToDouble(ctinyint)) and ((UDFToDouble(ctimestamp2) <> -10669.0D) or (cint < 359))) or ((ctimestamp1 < ctimestamp2) and (cstring2 like 'b%') and (cfloat <= -5638.15))) (type: boolean) Statistics: Num rows: 12288 Data size: 2157324 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -71,7 +71,7 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterTimestampColLessTimestampColumn(col 8:timestamp, col 9:timestamp), FilterStringColLikeStringScalar(col 7:string, pattern b%), FilterDoubleColLessEqualDoubleScalar(col 4:float, val -5638.14990234375)), FilterExprAndExpr(children: FilterDoubleColLessDoubleColumn(col 5:double, col 13:double)(children: CastLongToDouble(col 0:tinyint) -> 13:double), FilterExprOrExpr(children: FilterDoubleColNotEqualDoubleScalar(col 14:double, val -10669.0)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double), FilterLongColLessLongScalar(col 2:int, val 359)))) + predicateExpression: FilterExprOrExpr(children: FilterExprAndExpr(children: FilterDoubleColLessDoubleColumn(col 5:double, col 13:double)(children: CastLongToDouble(col 0:tinyint) -> 13:double), FilterExprOrExpr(children: FilterDoubleColNotEqualDoubleScalar(col 14:double, val -10669.0)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double), FilterLongColLessLongScalar(col 2:int, val 359))), FilterExprAndExpr(children: FilterTimestampColLessTimestampColumn(col 8:timestamp, col 9:timestamp), FilterStringColLikeStringScalar(col 7:string, pattern b%), FilterDoubleColLessEqualDoubleScalar(col 4:float, val -5638.14990234375))) predicate: (((cdouble < UDFToDouble(ctinyint)) and ((UDFToDouble(ctimestamp2) <> -10669.0D) or (cint < 359))) or ((ctimestamp1 < ctimestamp2) and (cstring2 like 'b%') and (cfloat <= -5638.15))) (type: boolean) Statistics: Num rows: 4096 Data size: 719232 Basic stats: COMPLETE Column stats: COMPLETE Select Operator diff --git a/ql/src/test/results/clientpositive/vectorization_4.q.out b/ql/src/test/results/clientpositive/vectorization_4.q.out index 3f8d6e582f..e46558cd78 100644 --- a/ql/src/test/results/clientpositive/vectorization_4.q.out +++ b/ql/src/test/results/clientpositive/vectorization_4.q.out @@ -62,7 +62,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: ((UDFToInteger(csmallint) >= cint) or ((UDFToInteger(ctinyint) <= -89010) and (cdouble > 79.553D)) or ((cbigint <> -563L) and ((UDFToLong(ctinyint) <> cbigint) or (cdouble <= -3728.0D)))) (type: boolean) + filterExpr: ((UDFToInteger(csmallint) >= cint) or ((cbigint <> -563L) and ((UDFToLong(ctinyint) <> cbigint) or (cdouble <= -3728.0D))) or ((UDFToInteger(ctinyint) <= -89010) and (cdouble > 79.553D))) (type: boolean) Statistics: Num rows: 12288 Data size: 256884 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: FilterLongColGreaterEqualLongColumn(col 1:int, col 2:int)(children: col 1:smallint), FilterExprAndExpr(children: FilterLongColLessEqualLongScalar(col 0:int, val -89010)(children: col 0:tinyint), FilterDoubleColGreaterDoubleScalar(col 5:double, val 79.553)), FilterExprAndExpr(children: FilterLongColNotEqualLongScalar(col 3:bigint, val -563), FilterExprOrExpr(children: FilterLongColNotEqualLongColumn(col 0:bigint, col 3:bigint)(children: col 0:tinyint), FilterDoubleColLessEqualDoubleScalar(col 5:double, val -3728.0)))) - predicate: (((UDFToInteger(ctinyint) <= -89010) and (cdouble > 79.553D)) or ((cbigint <> -563L) and ((UDFToLong(ctinyint) <> cbigint) or (cdouble <= -3728.0D))) or (UDFToInteger(csmallint) >= cint)) (type: boolean) + predicateExpression: FilterExprOrExpr(children: FilterLongColGreaterEqualLongColumn(col 1:int, col 2:int)(children: col 1:smallint), FilterExprAndExpr(children: FilterLongColNotEqualLongScalar(col 3:bigint, val -563), FilterExprOrExpr(children: FilterLongColNotEqualLongColumn(col 0:bigint, col 3:bigint)(children: col 0:tinyint), FilterDoubleColLessEqualDoubleScalar(col 5:double, val -3728.0))), FilterExprAndExpr(children: FilterLongColLessEqualLongScalar(col 0:int, val -89010)(children: col 0:tinyint), FilterDoubleColGreaterDoubleScalar(col 5:double, val 79.553))) + predicate: ((UDFToInteger(csmallint) >= cint) or ((cbigint <> -563L) and ((UDFToLong(ctinyint) <> cbigint) or (cdouble <= -3728.0D))) or ((UDFToInteger(ctinyint) <= -89010) and (cdouble > 79.553D))) (type: boolean) Statistics: Num rows: 12288 Data size: 256884 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cint (type: int), cdouble (type: double), ctinyint (type: tinyint), (cdouble * cdouble) (type: double) diff --git a/ql/src/test/results/clientpositive/vectorization_6.q.out b/ql/src/test/results/clientpositive/vectorization_6.q.out index b2e3625eb5..de34b45708 100644 --- a/ql/src/test/results/clientpositive/vectorization_6.q.out +++ b/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 (((cstring2 like '%a') or (cfloat <= -257.0)) and cbigint is not null))) (type: boolean) + filterExpr: ((((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: 12288 Data size: 2110130 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -67,7 +67,7 @@ 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: FilterExprOrExpr(children: FilterStringColLikeStringScalar(col 7:string, pattern %a), FilterDoubleColLessEqualDoubleScalar(col 4:float, val -257.0)), SelectColumnIsNotNull(col 3:bigint)))) + predicateExpression: FilterExprAndExpr(children: 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))), FilterLongColNotEqualLongScalar(col 0:tinyint, val 0)) 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 diff --git a/ql/src/test/results/clientpositive/vectorization_7.q.out b/ql/src/test/results/clientpositive/vectorization_7.q.out index 00de99ea50..85cb01bce8 100644 --- a/ql/src/test/results/clientpositive/vectorization_7.q.out +++ b/ql/src/test/results/clientpositive/vectorization_7.q.out @@ -70,7 +70,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: ((ctinyint <> 0Y) and ((UDFToDouble(ctimestamp1) <= -28800.0D) or (UDFToInteger(ctinyint) = cint) or (cstring2 like 'ss')) and ((cdouble > 988888.0D) or ((UDFToDouble(ctimestamp2) > -28815.0D) and (cdouble <= 3569.0D)))) (type: boolean) + filterExpr: (((cdouble > 988888.0D) or ((UDFToDouble(ctimestamp2) > -28815.0D) and (cdouble <= 3569.0D))) and ((UDFToDouble(ctimestamp1) <= -28800.0D) or (UDFToInteger(ctinyint) = cint) or (cstring2 like 'ss')) and (ctinyint <> 0Y)) (type: boolean) Statistics: Num rows: 12288 Data size: 3019778 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -79,8 +79,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprAndExpr(children: FilterLongColNotEqualLongScalar(col 0:tinyint, val 0), FilterExprOrExpr(children: FilterDoubleColLessEqualDoubleScalar(col 13:double, val -28800.0)(children: CastTimestampToDouble(col 8:timestamp) -> 13:double), FilterLongColEqualLongColumn(col 0:int, col 2:int)(children: col 0:tinyint), FilterStringColLikeStringScalar(col 7:string, pattern ss)), FilterExprOrExpr(children: FilterDoubleColGreaterDoubleScalar(col 5:double, val 988888.0), FilterExprAndExpr(children: FilterDoubleColGreaterDoubleScalar(col 14:double, val -28815.0)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double), FilterDoubleColLessEqualDoubleScalar(col 5:double, val 3569.0)))) - predicate: (((UDFToDouble(ctimestamp1) <= -28800.0D) or (UDFToInteger(ctinyint) = cint) or (cstring2 like 'ss')) and ((cdouble > 988888.0D) or ((UDFToDouble(ctimestamp2) > -28815.0D) and (cdouble <= 3569.0D))) and (ctinyint <> 0Y)) (type: boolean) + predicateExpression: FilterExprAndExpr(children: FilterExprOrExpr(children: FilterDoubleColGreaterDoubleScalar(col 5:double, val 988888.0), FilterExprAndExpr(children: FilterDoubleColGreaterDoubleScalar(col 13:double, val -28815.0)(children: CastTimestampToDouble(col 9:timestamp) -> 13:double), FilterDoubleColLessEqualDoubleScalar(col 5:double, val 3569.0))), FilterExprOrExpr(children: FilterDoubleColLessEqualDoubleScalar(col 14:double, val -28800.0)(children: CastTimestampToDouble(col 8:timestamp) -> 14:double), FilterLongColEqualLongColumn(col 0:int, col 2:int)(children: col 0:tinyint), FilterStringColLikeStringScalar(col 7:string, pattern ss)), FilterLongColNotEqualLongScalar(col 0:tinyint, val 0)) + predicate: (((cdouble > 988888.0D) or ((UDFToDouble(ctimestamp2) > -28815.0D) and (cdouble <= 3569.0D))) and ((UDFToDouble(ctimestamp1) <= -28800.0D) or (UDFToInteger(ctinyint) = cint) or (cstring2 like 'ss')) and (ctinyint <> 0Y)) (type: boolean) Statistics: Num rows: 5461 Data size: 1342196 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cboolean1 (type: boolean), cbigint (type: bigint), csmallint (type: smallint), ctinyint (type: tinyint), ctimestamp1 (type: timestamp), cstring1 (type: string), (cbigint + cbigint) (type: bigint), (UDFToInteger(csmallint) % -257) (type: int), (- csmallint) (type: smallint), (- ctinyint) (type: tinyint), (UDFToInteger((- ctinyint)) + 17) (type: int), (cbigint * UDFToLong((- csmallint))) (type: bigint), (cint % UDFToInteger(csmallint)) (type: int), (- ctinyint) (type: tinyint), ((- ctinyint) % ctinyint) (type: tinyint) @@ -296,7 +296,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: ((ctinyint <> 0Y) and ((UDFToDouble(ctimestamp1) <= -28800.0D) or (UDFToInteger(ctinyint) = cint) or (cstring2 like 'ss')) and ((cdouble > 988888.0D) or ((UDFToDouble(ctimestamp2) > -28792.315D) and (cdouble <= 3569.0D)))) (type: boolean) + filterExpr: (((cdouble > 988888.0D) or ((UDFToDouble(ctimestamp2) > -28792.315D) and (cdouble <= 3569.0D))) and ((UDFToDouble(ctimestamp1) <= -28800.0D) or (UDFToInteger(ctinyint) = cint) or (cstring2 like 'ss')) and (ctinyint <> 0Y)) (type: boolean) Statistics: Num rows: 12288 Data size: 3019778 Basic stats: COMPLETE Column stats: COMPLETE TableScan Vectorization: native: true @@ -304,8 +304,8 @@ STAGE PLANS: Filter Vectorization: className: VectorFilterOperator native: true - predicateExpression: FilterExprAndExpr(children: FilterLongColNotEqualLongScalar(col 0:tinyint, val 0), FilterExprOrExpr(children: FilterDoubleColLessEqualDoubleScalar(col 13:double, val -28800.0)(children: CastTimestampToDouble(col 8:timestamp) -> 13:double), FilterLongColEqualLongColumn(col 0:int, col 2:int)(children: col 0:tinyint), FilterStringColLikeStringScalar(col 7:string, pattern ss)), FilterExprOrExpr(children: FilterDoubleColGreaterDoubleScalar(col 5:double, val 988888.0), FilterExprAndExpr(children: FilterDoubleColGreaterDoubleScalar(col 14:double, val -28792.315)(children: CastTimestampToDouble(col 9:timestamp) -> 14:double), FilterDoubleColLessEqualDoubleScalar(col 5:double, val 3569.0)))) - predicate: (((UDFToDouble(ctimestamp1) <= -28800.0D) or (UDFToInteger(ctinyint) = cint) or (cstring2 like 'ss')) and ((cdouble > 988888.0D) or ((UDFToDouble(ctimestamp2) > -28792.315D) and (cdouble <= 3569.0D))) and (ctinyint <> 0Y)) (type: boolean) + predicateExpression: FilterExprAndExpr(children: FilterExprOrExpr(children: FilterDoubleColGreaterDoubleScalar(col 5:double, val 988888.0), FilterExprAndExpr(children: FilterDoubleColGreaterDoubleScalar(col 13:double, val -28792.315)(children: CastTimestampToDouble(col 9:timestamp) -> 13:double), FilterDoubleColLessEqualDoubleScalar(col 5:double, val 3569.0))), FilterExprOrExpr(children: FilterDoubleColLessEqualDoubleScalar(col 14:double, val -28800.0)(children: CastTimestampToDouble(col 8:timestamp) -> 14:double), FilterLongColEqualLongColumn(col 0:int, col 2:int)(children: col 0:tinyint), FilterStringColLikeStringScalar(col 7:string, pattern ss)), FilterLongColNotEqualLongScalar(col 0:tinyint, val 0)) + predicate: (((cdouble > 988888.0D) or ((UDFToDouble(ctimestamp2) > -28792.315D) and (cdouble <= 3569.0D))) and ((UDFToDouble(ctimestamp1) <= -28800.0D) or (UDFToInteger(ctinyint) = cint) or (cstring2 like 'ss')) and (ctinyint <> 0Y)) (type: boolean) Statistics: Num rows: 5461 Data size: 1342196 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cboolean1 (type: boolean), cbigint (type: bigint), csmallint (type: smallint), ctinyint (type: tinyint), ctimestamp1 (type: timestamp), cstring1 (type: string), (cbigint + cbigint) (type: bigint), (UDFToInteger(csmallint) % -257) (type: int), (- csmallint) (type: smallint), (- ctinyint) (type: tinyint), (UDFToInteger((- ctinyint)) + 17) (type: int), (cbigint * UDFToLong((- csmallint))) (type: bigint), (cint % UDFToInteger(csmallint)) (type: int), (- ctinyint) (type: tinyint), ((- ctinyint) % ctinyint) (type: tinyint) diff --git a/ql/src/test/results/clientpositive/vectorization_8.q.out b/ql/src/test/results/clientpositive/vectorization_8.q.out index fb387e7dcd..847064bc2a 100644 --- a/ql/src/test/results/clientpositive/vectorization_8.q.out +++ b/ql/src/test/results/clientpositive/vectorization_8.q.out @@ -66,7 +66,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - 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) + filterExpr: ((cfloat < -6432.0) or ((UDFToDouble(ctimestamp1) <= 10.0D) and (UDFToDouble(ctimestamp2) <> 16.0D) and cstring2 is not null) 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: 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) + predicateExpression: FilterExprOrExpr(children: FilterDoubleColLessDoubleScalar(col 4:float, val -6432.0), 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)), FilterExprAndExpr(children: FilterDoubleColEqualDoubleScalar(col 5:double, val 988888.0), SelectColumnIsNotNull(col 10:boolean))) + predicate: ((cfloat < -6432.0) or ((UDFToDouble(ctimestamp1) <= 10.0D) and (UDFToDouble(ctimestamp2) <> 16.0D) and cstring2 is not null) or ((cdouble = 988888.0D) and cboolean1 is not null)) (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: (((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) + filterExpr: ((cfloat < -6432.0) or ((UDFToDouble(ctimestamp1) <= 12.503D) and (UDFToDouble(ctimestamp2) <> 11.998D) and cstring2 is not null) 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: 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) + predicateExpression: FilterExprOrExpr(children: FilterDoubleColLessDoubleScalar(col 4:float, val -6432.0), 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)), FilterExprAndExpr(children: FilterDoubleColEqualDoubleScalar(col 5:double, val 988888.0), SelectColumnIsNotNull(col 10:boolean))) + predicate: ((cfloat < -6432.0) or ((UDFToDouble(ctimestamp1) <= 12.503D) and (UDFToDouble(ctimestamp2) <> 11.998D) and cstring2 is not null) or ((cdouble = 988888.0D) and cboolean1 is not null)) (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 a/ql/src/test/results/clientpositive/vectorization_limit.q.out b/ql/src/test/results/clientpositive/vectorization_limit.q.out index 5ab3c5bf70..d91fa77341 100644 --- a/ql/src/test/results/clientpositive/vectorization_limit.q.out +++ b/ql/src/test/results/clientpositive/vectorization_limit.q.out @@ -23,10 +23,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: ((UDFToDouble(cbigint) < cdouble) and (cint > 0)) (type: boolean) + filterExpr: ((cint > 0) and (UDFToDouble(cbigint) < cdouble)) (type: boolean) Statistics: Num rows: 12288 Data size: 183488 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((UDFToDouble(cbigint) < cdouble) and (cint > 0)) (type: boolean) + predicate: ((cint > 0) and (UDFToDouble(cbigint) < cdouble)) (type: boolean) Statistics: Num rows: 1365 Data size: 20400 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cbigint (type: bigint), cdouble (type: double) diff --git a/ql/src/test/results/clientpositive/vectorization_offset_limit.q.out b/ql/src/test/results/clientpositive/vectorization_offset_limit.q.out index 52dc1175ae..90ab966d3c 100644 --- a/ql/src/test/results/clientpositive/vectorization_offset_limit.q.out +++ b/ql/src/test/results/clientpositive/vectorization_offset_limit.q.out @@ -21,10 +21,10 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: ((UDFToDouble(cbigint) < cdouble) and (cint > 0)) (type: boolean) + filterExpr: ((cint > 0) and (UDFToDouble(cbigint) < cdouble)) (type: boolean) Statistics: Num rows: 12288 Data size: 183488 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: ((UDFToDouble(cbigint) < cdouble) and (cint > 0)) (type: boolean) + predicate: ((cint > 0) and (UDFToDouble(cbigint) < cdouble)) (type: boolean) Statistics: Num rows: 1365 Data size: 20400 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: cbigint (type: bigint), cdouble (type: double) diff --git a/ql/src/test/results/clientpositive/vectorized_join46_mr.q.out b/ql/src/test/results/clientpositive/vectorized_join46_mr.q.out index 5dbe87d28c..b474e05d7b 100644 --- a/ql/src/test/results/clientpositive/vectorized_join46_mr.q.out +++ b/ql/src/test/results/clientpositive/vectorized_join46_mr.q.out @@ -215,10 +215,10 @@ STAGE PLANS: $hdt$_1:test2 TableScan alias: test2 - filterExpr: (key BETWEEN 100 AND 102 and value is not null) (type: boolean) + filterExpr: (value is not null and key BETWEEN 100 AND 102) (type: boolean) Statistics: Num rows: 4 Data size: 380 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (key BETWEEN 100 AND 102 and value is not null) (type: boolean) + predicate: (value is not null and key BETWEEN 100 AND 102) (type: boolean) Statistics: Num rows: 1 Data size: 95 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: key (type: int), value (type: int), col_2 (type: string) diff --git a/ql/src/test/results/clientpositive/vectorized_string_funcs.q.out b/ql/src/test/results/clientpositive/vectorized_string_funcs.q.out index 1797bd2afe..75da19136c 100644 --- a/ql/src/test/results/clientpositive/vectorized_string_funcs.q.out +++ b/ql/src/test/results/clientpositive/vectorized_string_funcs.q.out @@ -60,7 +60,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: alltypesorc - filterExpr: (((cbigint % 237L) = 0L) and (length(substr(cstring1, 1, 2)) <= 2) and (cstring1 like '%')) (type: boolean) + filterExpr: (((cbigint % 237L) = 0L) and (cstring1 like '%') and (length(substr(cstring1, 1, 2)) <= 2)) (type: boolean) Statistics: Num rows: 12288 Data size: 1816546 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: (((cbigint % 237L) = 0L) and (cstring1 like '%') and (length(substr(cstring1, 1, 2)) <= 2)) (type: boolean)