diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/PTFOperator.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/PTFOperator.java index f418a7f..f06ee56 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/PTFOperator.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/PTFOperator.java @@ -27,6 +27,7 @@ import org.apache.hadoop.hive.ql.CompilationOpContext; import org.apache.hadoop.hive.ql.exec.PTFPartition.PTFPartitionIterator; import org.apache.hadoop.hive.ql.metadata.HiveException; +import org.apache.hadoop.hive.ql.parse.LeadLagInfo; import org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc; import org.apache.hadoop.hive.ql.plan.PTFDesc; import org.apache.hadoop.hive.ql.plan.PTFDeserializer; @@ -217,15 +218,14 @@ private PTFInvocation setupChain() { return first; } - public static void connectLeadLagFunctionsToPartition(PTFDesc ptfDesc, + public static void connectLeadLagFunctionsToPartition(LeadLagInfo leadLagInfo, PTFPartitionIterator pItr) throws HiveException { - List llFnDescs = ptfDesc.getLlInfo().getLeadLagExprs(); - if (llFnDescs == null) { + if (leadLagInfo == null || leadLagInfo.getLeadLagExprs() == null) { return; } - for (ExprNodeGenericFuncDesc llFnDesc : llFnDescs) { - GenericUDFLeadLag llFn = (GenericUDFLeadLag) llFnDesc - .getGenericUDF(); + + for (ExprNodeGenericFuncDesc llFnDesc : leadLagInfo.getLeadLagExprs()) { + GenericUDFLeadLag llFn = (GenericUDFLeadLag) llFnDesc.getGenericUDF(); llFn.setpItr(pItr); } } diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/PTFPartition.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/PTFPartition.java index edcb8f7..3226f26 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/PTFPartition.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/PTFPartition.java @@ -182,14 +182,14 @@ private Object getAt(int i) throws HiveException { @Override public Object lead(int amt) throws HiveException { int i = idx + amt; - i = i >= end ? end - 1 : i; + i = i >= createTimeSz ? createTimeSz - 1 : i; // Lead on the whole partition not the iterator range return getAt(i); } @Override public Object lag(int amt) throws HiveException { int i = idx - amt; - i = i < start ? start : i; + i = i < 0 ? 0 : i; // Lag on the whole partition not the iterator range return getAt(i); } @@ -215,7 +215,7 @@ public void reset() { }; /* - * provide an Iterator on the rows in a Partiton. + * provide an Iterator on the rows in a Partition. * Iterator exposes the index of the next location. * Client can invoke lead/lag relative to the next location. */ diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFEvaluator.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFEvaluator.java index 4fc7089..18d5285 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFEvaluator.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFEvaluator.java @@ -22,11 +22,15 @@ import java.io.IOException; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.util.List; import org.apache.hadoop.hive.ql.exec.MapredContext; +import org.apache.hadoop.hive.ql.exec.PTFPartition; import org.apache.hadoop.hive.ql.metadata.HiveException; +import org.apache.hadoop.hive.ql.plan.ptf.PTFExpressionDef; import org.apache.hadoop.hive.ql.plan.ptf.WindowFrameDef; import org.apache.hadoop.hive.ql.udf.UDFType; +import org.apache.hadoop.hive.ql.udf.ptf.BasePartitionEvaluator; import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector; import org.apache.hive.common.util.AnnotationUtils; @@ -258,4 +262,44 @@ public GenericUDAFEvaluator getWindowingEvaluator(WindowFrameDef wFrmDef) { return null; } + protected BasePartitionEvaluator partitionEvaluator; + + /** + * When evaluating an aggregates over a fixed Window, streaming is not possible + * especially for RANGE Window type. For such case, the whole partition data needs + * to be collected and then to evaluate the aggregates. The naive approach is to + * calculate a row range for each row and to perform the aggregates. For some + * functions, a better implementation can be used to reduce the calculation. + * Note: since the evaluator is reused across different partitions, AggregationBuffer + * needs reset before aggregating for the new partition in the implementation. + * @param winFrame the Window definition in play for this evaluation. + * @param partition the partition data + * @param parameters the list of the expressions in the function + * @param outputOI the output object inspector + * @return the evaluator, default to BasePartitionEvaluator which + * implements the naive approach + */ + public final BasePartitionEvaluator getPartitionWindowingEvaluator( + WindowFrameDef winFrame, + PTFPartition partition, + List parameters, + ObjectInspector outputOI) { + if (partitionEvaluator == null) { + partitionEvaluator = createPartitionEvaluator(winFrame, partition, parameters, outputOI); + } + + return partitionEvaluator; + } + + /** + * This class needs to be overridden by the child class to implement function + * specific evaluator. + */ + protected BasePartitionEvaluator createPartitionEvaluator( + WindowFrameDef winFrame, + PTFPartition partition, + List parameters, + ObjectInspector outputOI) { + return new BasePartitionEvaluator(this, winFrame, partition, parameters, outputOI); + } } diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFSum.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFSum.java index e2cd213..6d3b92b 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFSum.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFSum.java @@ -18,33 +18,36 @@ package org.apache.hadoop.hive.ql.udf.generic; import java.util.HashSet; +import java.util.List; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.apache.hadoop.hive.common.type.HiveDecimal; import org.apache.hadoop.hive.ql.exec.Description; +import org.apache.hadoop.hive.ql.exec.PTFPartition; import org.apache.hadoop.hive.ql.exec.UDFArgumentTypeException; import org.apache.hadoop.hive.ql.metadata.HiveException; import org.apache.hadoop.hive.ql.parse.SemanticException; +import org.apache.hadoop.hive.ql.plan.ptf.PTFExpressionDef; import org.apache.hadoop.hive.ql.plan.ptf.WindowFrameDef; +import org.apache.hadoop.hive.ql.udf.ptf.BasePartitionEvaluator; import org.apache.hadoop.hive.ql.util.JavaDataModel; import org.apache.hadoop.hive.serde2.io.DoubleWritable; import org.apache.hadoop.hive.serde2.io.HiveDecimalWritable; import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector; import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils; -import org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector; import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils.ObjectInspectorCopyOption; import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils.ObjectInspectorObject; +import org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector; import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory; import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils; import org.apache.hadoop.hive.serde2.typeinfo.DecimalTypeInfo; -import org.apache.hadoop.hive.serde2.typeinfo.HiveDecimalUtils; import org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo; import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo; import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoFactory; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Writable; import org.apache.hadoop.util.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * GenericUDAFSum. @@ -152,7 +155,7 @@ public void setSumDistinct(boolean sumDistinct) { this.sumDistinct = sumDistinct; } - protected boolean isWindowingDistinct() { + public boolean isWindowingDistinct() { return isWindowing && sumDistinct; } @@ -335,6 +338,15 @@ protected HiveDecimal getCurrentIntermediateResult( }; } + + @Override + protected BasePartitionEvaluator createPartitionEvaluator( + WindowFrameDef winFrame, + PTFPartition partition, + List parameters, + ObjectInspector outputOI) { + return new BasePartitionEvaluator.SumPartitionHiveDecimalEvaluator(this, winFrame, partition, parameters, outputOI); + } } /** @@ -455,6 +467,14 @@ protected Double getCurrentIntermediateResult( }; } + @Override + protected BasePartitionEvaluator createPartitionEvaluator( + WindowFrameDef winFrame, + PTFPartition partition, + List parameters, + ObjectInspector outputOI) { + return new BasePartitionEvaluator.SumPartitionDoubleEvaluator(this, winFrame, partition, parameters, outputOI); + } } /** @@ -570,5 +590,14 @@ protected Long getCurrentIntermediateResult( } }; } + + @Override + protected BasePartitionEvaluator createPartitionEvaluator( + WindowFrameDef winFrame, + PTFPartition partition, + List parameters, + ObjectInspector outputOI) { + return new BasePartitionEvaluator.SumPartitionLongEvaluator(this, winFrame, partition, parameters, outputOI); + } } } diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/BasePartitionEvaluator.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/BasePartitionEvaluator.java new file mode 100644 index 0000000..4f2ec8c --- /dev/null +++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/BasePartitionEvaluator.java @@ -0,0 +1,348 @@ +/** + * 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.udf.ptf; + +import java.util.List; + +import org.apache.hadoop.hive.ql.exec.PTFOperator; +import org.apache.hadoop.hive.ql.exec.PTFPartition; +import org.apache.hadoop.hive.ql.exec.PTFPartition.PTFPartitionIterator; +import org.apache.hadoop.hive.ql.metadata.HiveException; +import org.apache.hadoop.hive.ql.parse.LeadLagInfo; +import org.apache.hadoop.hive.ql.parse.WindowingSpec.BoundarySpec; +import org.apache.hadoop.hive.ql.parse.WindowingSpec.Direction; +import org.apache.hadoop.hive.ql.parse.WindowingSpec.WindowType; +import org.apache.hadoop.hive.ql.plan.ptf.BoundaryDef; +import org.apache.hadoop.hive.ql.plan.ptf.PTFExpressionDef; +import org.apache.hadoop.hive.ql.plan.ptf.WindowFrameDef; +import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator; +import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator.AbstractAggregationBuffer; +import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator.AggregationBuffer; +import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFSum.GenericUDAFSumEvaluator; +import org.apache.hadoop.hive.serde2.io.DoubleWritable; +import org.apache.hadoop.hive.serde2.io.HiveDecimalWritable; +import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector; +import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils; +import org.apache.hadoop.io.LongWritable; +import org.apache.hadoop.io.Writable; + +/** + * This class is mostly used for RANGE windowing type to do some optimization. ROWS + * windowing type can support streaming. + * + */ +public class BasePartitionEvaluator { + protected final GenericUDAFEvaluator wrappedEvaluator; + protected final WindowFrameDef winFrame; + protected final PTFPartition partition; + protected final List parameters; + protected final ObjectInspector outputOI; + + /** + * Internal class to represent a window range in a partition by searching the + * relative position (ROWS) or relative value (RANGE) of the current row + */ + protected static class Range + { + int start; + int end; + PTFPartition p; + + public Range(int start, int end, PTFPartition p) + { + this.start = start; + this.end = end; + this.p = p; + } + + public PTFPartitionIterator iterator() + { + return p.range(start, end); + } + + public int getDiff(Range prevRange) { + return this.start - prevRange.start + this.end - prevRange.end; + } + + public int getSize() { + return end - start; + } + } + + public BasePartitionEvaluator( + GenericUDAFEvaluator wrappedEvaluator, + WindowFrameDef winFrame, + PTFPartition partition, + List parameters, + ObjectInspector outputOI) { + this.wrappedEvaluator = wrappedEvaluator; + this.winFrame = winFrame; + this.partition = partition; + this.parameters = parameters; + this.outputOI = outputOI; + } + + /** + * Get the aggregation for the whole partition. Used in the case where windowing + * is unbounded or the function value is calculated based on all the rows in the + * partition such as percent_rank(). + * @return the aggregated result + * @throws HiveException + */ + public Object getPartitionAgg() throws HiveException { + return calcFunctionValue(partition.iterator(), null); + } + + /** + * Given the current row, get the aggregation for the window + * + * @throws HiveException + */ + public Object iterate(int currentRow, LeadLagInfo leadLagInfo) throws HiveException { + Range range = getRange(winFrame, currentRow, partition); + PTFPartitionIterator pItr = range.iterator(); + return calcFunctionValue(pItr, leadLagInfo); + } + + /** + * Given a partition iterator, calculate the function value + * @param pItr the partition pointer + * @return the function value + * @throws HiveException + */ + protected Object calcFunctionValue(PTFPartitionIterator pItr, LeadLagInfo leadLagInfo) + throws HiveException { + // To handle the case like SUM(LAG(f)) over(), aggregation function includes + // LAG/LEAD call + PTFOperator.connectLeadLagFunctionsToPartition(leadLagInfo, pItr); + + AggregationBuffer aggBuffer = wrappedEvaluator.getNewAggregationBuffer(); + Object[] argValues = new Object[parameters == null ? 0 : parameters.size()]; + while(pItr.hasNext()) + { + Object row = pItr.next(); + int i = 0; + if ( parameters != null ) { + for(PTFExpressionDef param : parameters) + { + argValues[i++] = param.getExprEvaluator().evaluate(row); + } + } + wrappedEvaluator.aggregate(aggBuffer, argValues); + } + + // The object is reused during evaluating, make a copy here + return ObjectInspectorUtils.copyToStandardObject(wrappedEvaluator.evaluate(aggBuffer), outputOI); + } + + protected static Range getRange(WindowFrameDef winFrame, int currRow, PTFPartition p) + throws HiveException { + BoundaryDef startB = winFrame.getStart(); + BoundaryDef endB = winFrame.getEnd(); + + int start, end; + if (winFrame.getWindowType() == WindowType.ROWS) { + start = getRowBoundaryStart(startB, currRow); + end = getRowBoundaryEnd(endB, currRow, p); + } else { + ValueBoundaryScanner vbs = ValueBoundaryScanner.getScanner(winFrame); + start = vbs.computeStart(currRow, p); + end = vbs.computeEnd(currRow, p); + } + start = start < 0 ? 0 : start; + end = end > p.size() ? p.size() : end; + return new Range(start, end, p); + } + + private static int getRowBoundaryStart(BoundaryDef b, int currRow) throws HiveException { + Direction d = b.getDirection(); + int amt = b.getAmt(); + switch(d) { + case PRECEDING: + if (amt == BoundarySpec.UNBOUNDED_AMOUNT) { + return 0; + } + else { + return currRow - amt; + } + case CURRENT: + return currRow; + case FOLLOWING: + return currRow + amt; + } + throw new HiveException("Unknown Start Boundary Direction: " + d); + } + + private static int getRowBoundaryEnd(BoundaryDef b, int currRow, PTFPartition p) throws HiveException { + Direction d = b.getDirection(); + int amt = b.getAmt(); + switch(d) { + case PRECEDING: + if ( amt == 0 ) { + return currRow + 1; + } + return currRow - amt + 1; + case CURRENT: + return currRow + 1; + case FOLLOWING: + if (amt == BoundarySpec.UNBOUNDED_AMOUNT) { + return p.size(); + } + else { + return currRow + amt + 1; + } + } + throw new HiveException("Unknown End Boundary Direction: " + d); + } + + /** + * The base type for sum operator evaluator when a partition data is available + * and streaming process is not possible. Some optimization can be done for such + * case. + * + */ + public static abstract class SumPartitionEvaluator extends BasePartitionEvaluator { + protected final WindowSumAgg sumAgg; + + public SumPartitionEvaluator( + GenericUDAFEvaluator wrappedEvaluator, + WindowFrameDef winFrame, + PTFPartition partition, + List parameters, + ObjectInspector outputOI) { + super(wrappedEvaluator, winFrame, partition, parameters, outputOI); + sumAgg = new WindowSumAgg(); + } + + static class WindowSumAgg extends AbstractAggregationBuffer { + Range prevRange; + ResultType prevSum; + boolean empty; + } + + public abstract ResultType add(ResultType t1, ResultType t2); + public abstract ResultType minus(ResultType t1, ResultType t2); + + @SuppressWarnings({ "unchecked", "rawtypes" }) + @Override + public Object iterate(int currentRow, LeadLagInfo leadLagInfo) throws HiveException { + // Currently sum(distinct) not supported in PartitionEvaluator + if (((GenericUDAFSumEvaluator)wrappedEvaluator).isWindowingDistinct()) { + return super.iterate(currentRow, leadLagInfo); + } + + Range currentRange = getRange(winFrame, currentRow, partition); + ResultType result; + if (currentRow == 0 || // Reset for the new partition + sumAgg.prevRange == null || + currentRange.getSize() <= currentRange.getDiff(sumAgg.prevRange)) { + result = (ResultType)calcFunctionValue(currentRange.iterator(), leadLagInfo); + sumAgg.prevRange = currentRange; + sumAgg.empty = false; + sumAgg.prevSum = result; + } else { + // Given the previous range and the current range, calculate the new sum + // from the previous sum and the difference to save the computation. + Range r1 = new Range(sumAgg.prevRange.start, currentRange.start, partition); + Range r2 = new Range(sumAgg.prevRange.end, currentRange.end, partition); + ResultType sum1 = (ResultType)calcFunctionValue(r1.iterator(), leadLagInfo); + ResultType sum2 = (ResultType)calcFunctionValue(r2.iterator(), leadLagInfo); + result = add(minus(sumAgg.prevSum, sum1), sum2); + sumAgg.prevRange = currentRange; + sumAgg.prevSum = result; + } + + return result; + } + } + + public static class SumPartitionDoubleEvaluator extends SumPartitionEvaluator { + public SumPartitionDoubleEvaluator(GenericUDAFEvaluator wrappedEvaluator, + WindowFrameDef winFrame, PTFPartition partition, + List parameters, ObjectInspector outputOI) { + super(wrappedEvaluator, winFrame, partition, parameters, outputOI); + } + + @Override + public DoubleWritable add(DoubleWritable t1, DoubleWritable t2) { + if (t1 == null && t2 == null) return null; + return new DoubleWritable((t1 == null ? 0 : t1.get()) + (t2 == null ? 0 : t2.get())); + } + + @Override + public DoubleWritable minus(DoubleWritable t1, DoubleWritable t2) { + if (t1 == null && t2 == null) return null; + return new DoubleWritable((t1 == null ? 0 : t1.get()) - (t2 == null ? 0 : t2.get())); + } + } + + public static class SumPartitionLongEvaluator extends SumPartitionEvaluator { + public SumPartitionLongEvaluator(GenericUDAFEvaluator wrappedEvaluator, + WindowFrameDef winFrame, PTFPartition partition, + List parameters, ObjectInspector outputOI) { + super(wrappedEvaluator, winFrame, partition, parameters, outputOI); + } + + @Override + public LongWritable add(LongWritable t1, LongWritable t2) { + if (t1 == null && t2 == null) return null; + return new LongWritable((t1 == null ? 0 : t1.get()) + (t2 == null ? 0 : t2.get())); + } + + @Override + public LongWritable minus(LongWritable t1, LongWritable t2) { + if (t1 == null && t2 == null) return null; + return new LongWritable((t1 == null ? 0 : t1.get()) - (t2 == null ? 0 : t2.get())); + } + } + + public static class SumPartitionHiveDecimalEvaluator extends SumPartitionEvaluator { + public SumPartitionHiveDecimalEvaluator(GenericUDAFEvaluator wrappedEvaluator, + WindowFrameDef winFrame, PTFPartition partition, + List parameters, ObjectInspector outputOI) { + super(wrappedEvaluator, winFrame, partition, parameters, outputOI); + } + + @Override + public HiveDecimalWritable add(HiveDecimalWritable t1, HiveDecimalWritable t2) { + if (t1 == null && t2 == null) return null; + if (t1 == null) { + return t2; + } else { + if (t2 != null) { + t1.mutateAdd(t2); + } + return t1; + } + } + + @Override + public HiveDecimalWritable minus(HiveDecimalWritable t1, HiveDecimalWritable t2) { + if (t1 == null && t2 == null) return null; + if (t1 == null) { + t2.mutateNegate(); + return t2; + } else { + if (t2 != null) { + t1.mutateSubtract(t2); + } + return t1; + } + } + } +} \ No newline at end of file diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/TableFunctionEvaluator.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/TableFunctionEvaluator.java index c76118b..7b30838 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/TableFunctionEvaluator.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/TableFunctionEvaluator.java @@ -140,7 +140,7 @@ public PTFPartition execute(PTFPartition iPart) return transformRawInput(iPart); } PTFPartitionIterator pItr = iPart.iterator(); - PTFOperator.connectLeadLagFunctionsToPartition(ptfDesc, pItr); + PTFOperator.connectLeadLagFunctionsToPartition(ptfDesc.getLlInfo(), pItr); if ( outputPartition == null ) { outputPartition = PTFPartition.create(ptfDesc.getCfg(), diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/ValueBoundaryScanner.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/ValueBoundaryScanner.java new file mode 100644 index 0000000..88837dc --- /dev/null +++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/ValueBoundaryScanner.java @@ -0,0 +1,729 @@ +/** + * 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.udf.ptf; + +import java.util.Date; + +import org.apache.hadoop.hive.common.type.HiveDecimal; +import org.apache.hadoop.hive.ql.exec.PTFPartition; +import org.apache.hadoop.hive.ql.metadata.HiveException; +import org.apache.hadoop.hive.ql.parse.PTFInvocationSpec.Order; +import org.apache.hadoop.hive.ql.parse.WindowingSpec.BoundarySpec; +import org.apache.hadoop.hive.ql.plan.ptf.BoundaryDef; +import org.apache.hadoop.hive.ql.plan.ptf.OrderDef; +import org.apache.hadoop.hive.ql.plan.ptf.OrderExpressionDef; +import org.apache.hadoop.hive.ql.plan.ptf.WindowFrameDef; +import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils; +import org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector; +import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils; + +public abstract class ValueBoundaryScanner { + BoundaryDef start, end; + + public ValueBoundaryScanner(BoundaryDef start, BoundaryDef end) { + this.start = start; + this.end = end; + } + + public abstract int computeStart(int rowIdx, PTFPartition p) throws HiveException; + + public abstract int computeEnd(int rowIdx, PTFPartition p) throws HiveException; + + public static ValueBoundaryScanner getScanner(WindowFrameDef winFrameDef) + throws HiveException { + OrderDef orderDef = winFrameDef.getOrderDef(); + int numOrders = orderDef.getExpressions().size(); + if (numOrders != 1) { + return new MultiValueBoundaryScanner(winFrameDef.getStart(), winFrameDef.getEnd(), orderDef); + } else { + return SingleValueBoundaryScanner.getScanner(winFrameDef.getStart(), winFrameDef.getEnd(), orderDef); + } + } +} + +/* + * - starting from the given rowIdx scan in the given direction until a row's expr + * evaluates to an amt that crosses the 'amt' threshold specified in the BoundaryDef. + */ +abstract class SingleValueBoundaryScanner extends ValueBoundaryScanner { + OrderExpressionDef expressionDef; + + public SingleValueBoundaryScanner(BoundaryDef start, BoundaryDef end, OrderExpressionDef expressionDef) { + super(start, end); + this.expressionDef = expressionDef; + } + + /* +| Use | Boundary1.type | Boundary1. amt | Sort Key | Order | Behavior | +| Case | | | | | | +|------+----------------+----------------+----------+-------+-----------------------------------| +| 1. | PRECEDING | UNB | ANY | ANY | start = 0 | +| 2. | PRECEDING | unsigned int | NULL | ASC | start = 0 | +| 3. | | | | DESC | scan backwards to row R2 | +| | | | | | such that R2.sk is not null | +| | | | | | start = R2.idx + 1 | +| 4. | PRECEDING | unsigned int | not NULL | DESC | scan backwards until row R2 | +| | | | | | such that R2.sk - R.sk > amt | +| | | | | | start = R2.idx + 1 | +| 5. | PRECEDING | unsigned int | not NULL | ASC | scan backward until row R2 | +| | | | | | such that R.sk - R2.sk > bnd1.amt | +| | | | | | start = R2.idx + 1 | +| 6. | CURRENT ROW | | NULL | ANY | scan backwards until row R2 | +| | | | | | such that R2.sk is not null | +| | | | | | start = R2.idx + 1 | +| 7. | CURRENT ROW | | not NULL | ANY | scan backwards until row R2 | +| | | | | | such R2.sk != R.sk | +| | | | | | start = R2.idx + 1 | +| 8. | FOLLOWING | UNB | ANY | ANY | Error | +| 9. | FOLLOWING | unsigned int | NULL | DESC | start = partition.size | +| 10. | | | | ASC | scan forward until R2 | +| | | | | | such that R2.sk is not null | +| | | | | | start = R2.idx | +| 11. | FOLLOWING | unsigned int | not NULL | DESC | scan forward until row R2 | +| | | | | | such that R.sk - R2.sk > amt | +| | | | | | start = R2.idx | +| 12. | | | | ASC | scan forward until row R2 | +| | | | | | such that R2.sk - R.sk > amt | +|------+----------------+----------------+----------+-------+-----------------------------------| + */ + @Override + public int computeStart(int rowIdx, PTFPartition p) throws HiveException { + switch(start.getDirection()) { + case PRECEDING: + return computeStartPreceding(rowIdx, p); + case CURRENT: + return computeStartCurrentRow(rowIdx, p); + case FOLLOWING: + default: + return computeStartFollowing(rowIdx, p); + } + } + + protected int computeStartPreceding(int rowIdx, PTFPartition p) throws HiveException { + int amt = start.getAmt(); + // Use Case 1. + if ( amt == BoundarySpec.UNBOUNDED_AMOUNT ) { + return 0; + } + Object sortKey = computeValue(p.getAt(rowIdx)); + + if ( sortKey == null ) { + // Use Case 2. + if ( expressionDef.getOrder() == Order.ASC ) { + return 0; + } + else { // Use Case 3. + while ( sortKey == null && rowIdx >= 0 ) { + --rowIdx; + if ( rowIdx >= 0 ) { + sortKey = computeValue(p.getAt(rowIdx)); + } + } + return rowIdx+1; + } + } + + Object rowVal = sortKey; + int r = rowIdx; + + // Use Case 4. + if ( expressionDef.getOrder() == Order.DESC ) { + while (r >= 0 && !isDistanceGreater(rowVal, sortKey, amt) ) { + r--; + if ( r >= 0 ) { + rowVal = computeValue(p.getAt(r)); + } + } + return r + 1; + } + else { // Use Case 5. + while (r >= 0 && !isDistanceGreater(sortKey, rowVal, amt) ) { + r--; + if ( r >= 0 ) { + rowVal = computeValue(p.getAt(r)); + } + } + return r + 1; + } + } + + protected int computeStartCurrentRow(int rowIdx, PTFPartition p) throws HiveException { + Object sortKey = computeValue(p.getAt(rowIdx)); + + // Use Case 6. + if ( sortKey == null ) { + while ( sortKey == null && rowIdx >= 0 ) { + --rowIdx; + if ( rowIdx >= 0 ) { + sortKey = computeValue(p.getAt(rowIdx)); + } + } + return rowIdx+1; + } + + Object rowVal = sortKey; + int r = rowIdx; + + // Use Case 7. + while (r >= 0 && isEqual(rowVal, sortKey) ) { + r--; + if ( r >= 0 ) { + rowVal = computeValue(p.getAt(r)); + } + } + return r + 1; + } + + protected int computeStartFollowing(int rowIdx, PTFPartition p) throws HiveException { + int amt = start.getAmt(); + Object sortKey = computeValue(p.getAt(rowIdx)); + + Object rowVal = sortKey; + int r = rowIdx; + + if ( sortKey == null ) { + // Use Case 9. + if ( expressionDef.getOrder() == Order.DESC) { + return p.size(); + } + else { // Use Case 10. + while (r < p.size() && rowVal == null ) { + r++; + if ( r < p.size() ) { + rowVal = computeValue(p.getAt(r)); + } + } + return r; + } + } + + // Use Case 11. + if ( expressionDef.getOrder() == Order.DESC) { + while (r < p.size() && !isDistanceGreater(sortKey, rowVal, amt) ) { + r++; + if ( r < p.size() ) { + rowVal = computeValue(p.getAt(r)); + } + } + return r; + } + else { // Use Case 12. + while (r < p.size() && !isDistanceGreater(rowVal, sortKey, amt) ) { + r++; + if ( r < p.size() ) { + rowVal = computeValue(p.getAt(r)); + } + } + return r; + } + } + + /* +| Use | Boundary2.type | Boundary2.amt | Sort Key | Order | Behavior | +| Case | | | | | | +|------+----------------+---------------+----------+-------+-----------------------------------| +| 1. | PRECEDING | UNB | ANY | ANY | Error | +| 2. | PRECEDING | unsigned int | NULL | DESC | end = partition.size() | +| 3. | | | | ASC | end = 0 | +| 4. | PRECEDING | unsigned int | not null | DESC | scan backward until row R2 | +| | | | | | such that R2.sk - R.sk > bnd.amt | +| | | | | | end = R2.idx + 1 | +| 5. | PRECEDING | unsigned int | not null | ASC | scan backward until row R2 | +| | | | | | such that R.sk - R2.sk > bnd.amt | +| | | | | | end = R2.idx + 1 | +| 6. | CURRENT ROW | | NULL | ANY | scan forward until row R2 | +| | | | | | such that R2.sk is not null | +| | | | | | end = R2.idx | +| 7. | CURRENT ROW | | not null | ANY | scan forward until row R2 | +| | | | | | such that R2.sk != R.sk | +| | | | | | end = R2.idx | +| 8. | FOLLOWING | UNB | ANY | ANY | end = partition.size() | +| 9. | FOLLOWING | unsigned int | NULL | DESC | end = partition.size() | +| 10. | | | | ASC | scan forward until row R2 | +| | | | | | such that R2.sk is not null | +| | | | | | end = R2.idx | +| 11. | FOLLOWING | unsigned int | not NULL | DESC | scan forward until row R2 | +| | | | | | such R.sk - R2.sk > bnd.amt | +| | | | | | end = R2.idx | +| 12. | | | | ASC | scan forward until row R2 | +| | | | | | such R2.sk - R2.sk > bnd.amt | +| | | | | | end = R2.idx | +|------+----------------+---------------+----------+-------+-----------------------------------| + */ + @Override + public int computeEnd(int rowIdx, PTFPartition p) throws HiveException { + switch(end.getDirection()) { + case PRECEDING: + return computeEndPreceding(rowIdx, p); + case CURRENT: + return computeEndCurrentRow(rowIdx, p); + case FOLLOWING: + default: + return computeEndFollowing(rowIdx, p); + } + } + + protected int computeEndPreceding(int rowIdx, PTFPartition p) throws HiveException { + int amt = end.getAmt(); + // Use Case 1. + // amt == UNBOUNDED, is caught during translation + + Object sortKey = computeValue(p.getAt(rowIdx)); + + if ( sortKey == null ) { + // Use Case 2. + if ( expressionDef.getOrder() == Order.DESC ) { + return p.size(); + } + else { // Use Case 3. + return 0; + } + } + + Object rowVal = sortKey; + int r = rowIdx; + + // Use Case 4. + if ( expressionDef.getOrder() == Order.DESC ) { + while (r >= 0 && !isDistanceGreater(rowVal, sortKey, amt) ) { + r--; + if ( r >= 0 ) { + rowVal = computeValue(p.getAt(r)); + } + } + return r + 1; + } + else { // Use Case 5. + while (r >= 0 && !isDistanceGreater(sortKey, rowVal, amt) ) { + r--; + if ( r >= 0 ) { + rowVal = computeValue(p.getAt(r)); + } + } + return r + 1; + } + } + + protected int computeEndCurrentRow(int rowIdx, PTFPartition p) throws HiveException { + Object sortKey = computeValue(p.getAt(rowIdx)); + + // Use Case 6. + if ( sortKey == null ) { + while ( sortKey == null && rowIdx < p.size() ) { + ++rowIdx; + if ( rowIdx < p.size() ) { + sortKey = computeValue(p.getAt(rowIdx)); + } + } + return rowIdx; + } + + Object rowVal = sortKey; + int r = rowIdx; + + // Use Case 7. + while (r < p.size() && isEqual(sortKey, rowVal) ) { + r++; + if ( r < p.size() ) { + rowVal = computeValue(p.getAt(r)); + } + } + return r; + } + + protected int computeEndFollowing(int rowIdx, PTFPartition p) throws HiveException { + int amt = end.getAmt(); + + // Use Case 8. + if ( amt == BoundarySpec.UNBOUNDED_AMOUNT ) { + return p.size(); + } + Object sortKey = computeValue(p.getAt(rowIdx)); + + Object rowVal = sortKey; + int r = rowIdx; + + if ( sortKey == null ) { + // Use Case 9. + if ( expressionDef.getOrder() == Order.DESC) { + return p.size(); + } + else { // Use Case 10. + while (r < p.size() && rowVal == null ) { + r++; + if ( r < p.size() ) { + rowVal = computeValue(p.getAt(r)); + } + } + return r; + } + } + + // Use Case 11. + if ( expressionDef.getOrder() == Order.DESC) { + while (r < p.size() && !isDistanceGreater(sortKey, rowVal, amt) ) { + r++; + if ( r < p.size() ) { + rowVal = computeValue(p.getAt(r)); + } + } + return r; + } + else { // Use Case 12. + while (r < p.size() && !isDistanceGreater(rowVal, sortKey, amt) ) { + r++; + if ( r < p.size() ) { + rowVal = computeValue(p.getAt(r)); + } + } + return r; + } + } + + public Object computeValue(Object row) throws HiveException { + Object o = expressionDef.getExprEvaluator().evaluate(row); + return ObjectInspectorUtils.copyToStandardObject(o, expressionDef.getOI()); + } + + /** + * Checks if the distance of v2 to v1 is greater than the given amt. + * @return True if the value of v1 - v2 is greater than amt or either value is null. + */ + public abstract boolean isDistanceGreater(Object v1, Object v2, int amt); + + /** + * Checks if the values of v1 or v2 are the same. + * @return True if both values are the same or both are nulls. + */ + public abstract boolean isEqual(Object v1, Object v2); + + + @SuppressWarnings("incomplete-switch") + public static SingleValueBoundaryScanner getScanner(BoundaryDef start, BoundaryDef end, OrderDef orderDef) + throws HiveException { + if (orderDef.getExpressions().size() != 1) { + throw new HiveException("Internal error: initializing SingleValueBoundaryScanner with" + + " multiple expression for sorting"); + } + OrderExpressionDef exprDef = orderDef.getExpressions().get(0); + PrimitiveObjectInspector pOI = (PrimitiveObjectInspector) exprDef.getOI(); + switch(pOI.getPrimitiveCategory()) { + case BYTE: + case INT: + case LONG: + case SHORT: + case TIMESTAMP: + return new LongValueBoundaryScanner(start, end, exprDef); + case DOUBLE: + case FLOAT: + return new DoubleValueBoundaryScanner(start, end, exprDef); + case DECIMAL: + return new HiveDecimalValueBoundaryScanner(start, end, exprDef); + case DATE: + return new DateValueBoundaryScanner(start, end, exprDef); + case STRING: + return new StringValueBoundaryScanner(start, end, exprDef); + } + throw new HiveException( + String.format("Internal Error: attempt to setup a Window for datatype %s", + pOI.getPrimitiveCategory())); + } +} + +class LongValueBoundaryScanner extends SingleValueBoundaryScanner { + public LongValueBoundaryScanner(BoundaryDef start, BoundaryDef end, OrderExpressionDef expressionDef) { + super(start, end,expressionDef); + } + + @Override + public boolean isDistanceGreater(Object v1, Object v2, int amt) { + if (v1 != null && v2 != null) { + long l1 = PrimitiveObjectInspectorUtils.getLong(v1, + (PrimitiveObjectInspector) expressionDef.getOI()); + long l2 = PrimitiveObjectInspectorUtils.getLong(v2, + (PrimitiveObjectInspector) expressionDef.getOI()); + return (l1 -l2) > amt; + } + + return v1 != null || v2 != null; // True if only one value is null + } + + @Override + public boolean isEqual(Object v1, Object v2) { + if (v1 != null && v2 != null) { + long l1 = PrimitiveObjectInspectorUtils.getLong(v1, + (PrimitiveObjectInspector) expressionDef.getOI()); + long l2 = PrimitiveObjectInspectorUtils.getLong(v2, + (PrimitiveObjectInspector) expressionDef.getOI()); + return l1 == l2; + } + + return v1 == null && v2 == null; // True if both are null + } +} + +class DoubleValueBoundaryScanner extends SingleValueBoundaryScanner { + public DoubleValueBoundaryScanner(BoundaryDef start, BoundaryDef end, OrderExpressionDef expressionDef) { + super(start, end,expressionDef); + } + + @Override + public boolean isDistanceGreater(Object v1, Object v2, int amt) { + if (v1 != null && v2 != null) { + double d1 = PrimitiveObjectInspectorUtils.getDouble(v1, + (PrimitiveObjectInspector) expressionDef.getOI()); + double d2 = PrimitiveObjectInspectorUtils.getDouble(v2, + (PrimitiveObjectInspector) expressionDef.getOI()); + return (d1 -d2) > amt; + } + + return v1 != null || v2 != null; // True if only one value is null + } + + @Override + public boolean isEqual(Object v1, Object v2) { + if (v1 != null && v2 != null) { + double d1 = PrimitiveObjectInspectorUtils.getDouble(v1, + (PrimitiveObjectInspector) expressionDef.getOI()); + double d2 = PrimitiveObjectInspectorUtils.getDouble(v2, + (PrimitiveObjectInspector) expressionDef.getOI()); + return d1 == d2; + } + + return v1 == null && v2 == null; // True if both are null + } +} + +class HiveDecimalValueBoundaryScanner extends SingleValueBoundaryScanner { + public HiveDecimalValueBoundaryScanner(BoundaryDef start, BoundaryDef end, OrderExpressionDef expressionDef) { + super(start, end,expressionDef); + } + + @Override + public boolean isDistanceGreater(Object v1, Object v2, int amt) { + HiveDecimal d1 = PrimitiveObjectInspectorUtils.getHiveDecimal(v1, + (PrimitiveObjectInspector) expressionDef.getOI()); + HiveDecimal d2 = PrimitiveObjectInspectorUtils.getHiveDecimal(v2, + (PrimitiveObjectInspector) expressionDef.getOI()); + if ( d1 != null && d2 != null ) { + return d1.subtract(d2).intValue() > amt; // TODO: lossy conversion! + } + + return d1 != null || d2 != null; // True if only one value is null + } + + @Override + public boolean isEqual(Object v1, Object v2) { + HiveDecimal d1 = PrimitiveObjectInspectorUtils.getHiveDecimal(v1, + (PrimitiveObjectInspector) expressionDef.getOI()); + HiveDecimal d2 = PrimitiveObjectInspectorUtils.getHiveDecimal(v2, + (PrimitiveObjectInspector) expressionDef.getOI()); + if ( d1 != null && d2 != null ) { + return d1.equals(d2); + } + + return d1 == null && d2 == null; // True if both are null + } +} + +class DateValueBoundaryScanner extends SingleValueBoundaryScanner { + public DateValueBoundaryScanner(BoundaryDef start, BoundaryDef end, OrderExpressionDef expressionDef) { + super(start, end,expressionDef); + } + + @Override + public boolean isDistanceGreater(Object v1, Object v2, int amt) { + Date l1 = PrimitiveObjectInspectorUtils.getDate(v1, + (PrimitiveObjectInspector) expressionDef.getOI()); + Date l2 = PrimitiveObjectInspectorUtils.getDate(v2, + (PrimitiveObjectInspector) expressionDef.getOI()); + if (l1 != null && l2 != null) { + return (double)(l1.getTime() - l2.getTime())/1000 > (long)amt * 24 * 3600; // Converts amt days to milliseconds + } + return l1 != l2; // True if only one date is null + } + + @Override + public boolean isEqual(Object v1, Object v2) { + Date l1 = PrimitiveObjectInspectorUtils.getDate(v1, + (PrimitiveObjectInspector) expressionDef.getOI()); + Date l2 = PrimitiveObjectInspectorUtils.getDate(v2, + (PrimitiveObjectInspector) expressionDef.getOI()); + return (l1 == null && l2 == null) || (l1 != null && l1.equals(l2)); + } +} + +class StringValueBoundaryScanner extends SingleValueBoundaryScanner { + public StringValueBoundaryScanner(BoundaryDef start, BoundaryDef end, OrderExpressionDef expressionDef) { + super(start, end,expressionDef); + } + + @Override + public boolean isDistanceGreater(Object v1, Object v2, int amt) { + String s1 = PrimitiveObjectInspectorUtils.getString(v1, + (PrimitiveObjectInspector) expressionDef.getOI()); + String s2 = PrimitiveObjectInspectorUtils.getString(v2, + (PrimitiveObjectInspector) expressionDef.getOI()); + return s1 != null && s2 != null && s1.compareTo(s2) > 0; + } + + @Override + public boolean isEqual(Object v1, Object v2) { + String s1 = PrimitiveObjectInspectorUtils.getString(v1, + (PrimitiveObjectInspector) expressionDef.getOI()); + String s2 = PrimitiveObjectInspectorUtils.getString(v2, + (PrimitiveObjectInspector) expressionDef.getOI()); + return (s1 == null && s2 == null) || (s1 != null && s1.equals(s2)); + } +} + +/* + */ + class MultiValueBoundaryScanner extends ValueBoundaryScanner { + OrderDef orderDef; + + public MultiValueBoundaryScanner(BoundaryDef start, BoundaryDef end, OrderDef orderDef) { + super(start, end); + this.orderDef = orderDef; + } + + /* +|------+----------------+----------------+----------+-------+-----------------------------------| +| Use | Boundary1.type | Boundary1. amt | Sort Key | Order | Behavior | +| Case | | | | | | +|------+----------------+----------------+----------+-------+-----------------------------------| +| 1. | PRECEDING | UNB | ANY | ANY | start = 0 | +| 2. | CURRENT ROW | | ANY | ANY | scan backwards until row R2 | +| | | | | | such R2.sk != R.sk | +| | | | | | start = R2.idx + 1 | +|------+----------------+----------------+----------+-------+-----------------------------------| + */ + @Override + public int computeStart(int rowIdx, PTFPartition p) throws HiveException { + switch(start.getDirection()) { + case PRECEDING: + return computeStartPreceding(rowIdx, p); + case CURRENT: + return computeStartCurrentRow(rowIdx, p); + case FOLLOWING: + default: + throw new HiveException( + "FOLLOWING not allowed for starting RANGE with multiple expressions in ORDER BY"); + } + } + + protected int computeStartPreceding(int rowIdx, PTFPartition p) throws HiveException { + int amt = start.getAmt(); + if ( amt == BoundarySpec.UNBOUNDED_AMOUNT ) { + return 0; + } + throw new HiveException( + "PRECEDING needs UNBOUNDED for RANGE with multiple expressions in ORDER BY"); + } + + protected int computeStartCurrentRow(int rowIdx, PTFPartition p) throws HiveException { + Object[] sortKey = computeValues(p.getAt(rowIdx)); + Object[] rowVal = sortKey; + int r = rowIdx; + + while (r >= 0 && isEqual(rowVal, sortKey) ) { + r--; + if ( r >= 0 ) { + rowVal = computeValues(p.getAt(r)); + } + } + return r + 1; + } + + /* +|------+----------------+---------------+----------+-------+-----------------------------------| +| Use | Boundary2.type | Boundary2.amt | Sort Key | Order | Behavior | +| Case | | | | | | +|------+----------------+---------------+----------+-------+-----------------------------------| +| 1. | CURRENT ROW | | ANY | ANY | scan forward until row R2 | +| | | | | | such that R2.sk != R.sk | +| | | | | | end = R2.idx | +| 2. | FOLLOWING | UNB | ANY | ANY | end = partition.size() | +|------+----------------+---------------+----------+-------+-----------------------------------| + */ + @Override + public int computeEnd(int rowIdx, PTFPartition p) throws HiveException { + switch(end.getDirection()) { + case PRECEDING: + throw new HiveException( + "PRECEDING not allowed for finishing RANGE with multiple expressions in ORDER BY"); + case CURRENT: + return computeEndCurrentRow(rowIdx, p); + case FOLLOWING: + default: + return computeEndFollowing(rowIdx, p); + } + } + + protected int computeEndCurrentRow(int rowIdx, PTFPartition p) throws HiveException { + Object[] sortKey = computeValues(p.getAt(rowIdx)); + Object[] rowVal = sortKey; + int r = rowIdx; + + while (r < p.size() && isEqual(sortKey, rowVal) ) { + r++; + if ( r < p.size() ) { + rowVal = computeValues(p.getAt(r)); + } + } + return r; + } + + protected int computeEndFollowing(int rowIdx, PTFPartition p) throws HiveException { + int amt = end.getAmt(); + if ( amt == BoundarySpec.UNBOUNDED_AMOUNT ) { + return p.size(); + } + throw new HiveException( + "FOLLOWING needs UNBOUNDED for RANGE with multiple expressions in ORDER BY"); + } + + public Object[] computeValues(Object row) throws HiveException { + Object[] objs = new Object[orderDef.getExpressions().size()]; + for (int i = 0; i < objs.length; i++) { + Object o = orderDef.getExpressions().get(i).getExprEvaluator().evaluate(row); + objs[i] = ObjectInspectorUtils.copyToStandardObject(o, orderDef.getExpressions().get(i).getOI()); + } + return objs; + } + + public boolean isEqual(Object[] v1, Object[] v2) { + assert v1.length == v2.length; + for (int i = 0; i < v1.length; i++) { + if (v1[i] == null && v2[i] == null) { + continue; + } + if (v1[i] == null || v2[i] == null) { + return false; + } + if (ObjectInspectorUtils.compare( + v1[i], orderDef.getExpressions().get(i).getOI(), + v2[i], orderDef.getExpressions().get(i).getOI()) != 0) { + return false; + } + } + return true; + } +} + diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/WindowingTableFunction.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/WindowingTableFunction.java index 2fdb492..86783be 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/WindowingTableFunction.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/ptf/WindowingTableFunction.java @@ -20,7 +20,6 @@ import java.util.AbstractList; import java.util.ArrayList; -import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -28,25 +27,19 @@ import org.apache.commons.lang.ArrayUtils; import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.hive.common.type.HiveDecimal; import org.apache.hadoop.hive.conf.HiveConf; import org.apache.hadoop.hive.conf.HiveConf.ConfVars; import org.apache.hadoop.hive.ql.exec.FunctionRegistry; -import org.apache.hadoop.hive.ql.exec.PTFOperator; import org.apache.hadoop.hive.ql.exec.PTFPartition; import org.apache.hadoop.hive.ql.exec.PTFPartition.PTFPartitionIterator; import org.apache.hadoop.hive.ql.exec.PTFRollingPartition; import org.apache.hadoop.hive.ql.exec.WindowFunctionInfo; import org.apache.hadoop.hive.ql.metadata.HiveException; -import org.apache.hadoop.hive.ql.parse.PTFInvocationSpec.Order; import org.apache.hadoop.hive.ql.parse.SemanticException; import org.apache.hadoop.hive.ql.parse.WindowingSpec.BoundarySpec; -import org.apache.hadoop.hive.ql.parse.WindowingSpec.Direction; import org.apache.hadoop.hive.ql.parse.WindowingSpec.WindowType; import org.apache.hadoop.hive.ql.plan.PTFDesc; import org.apache.hadoop.hive.ql.plan.ptf.BoundaryDef; -import org.apache.hadoop.hive.ql.plan.ptf.OrderDef; -import org.apache.hadoop.hive.ql.plan.ptf.OrderExpressionDef; import org.apache.hadoop.hive.ql.plan.ptf.PTFExpressionDef; import org.apache.hadoop.hive.ql.plan.ptf.PartitionedTableFunctionDef; import org.apache.hadoop.hive.ql.plan.ptf.WindowFrameDef; @@ -61,7 +54,6 @@ import org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector; import org.apache.hadoop.hive.serde2.objectinspector.StructField; import org.apache.hadoop.hive.serde2.objectinspector.StructObjectInspector; -import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -112,16 +104,16 @@ public void execute(PTFPartitionIterator pItr, PTFPartition outP) throws WindowTableFunctionDef wTFnDef = (WindowTableFunctionDef) getTableDef(); for(WindowFunctionDef wFn : wTFnDef.getWindowFunctions()) { - boolean processWindow = processWindow(wFn); + boolean processWindow = processWindow(wFn.getWindowFrame()); pItr.reset(); if ( !processWindow ) { - Object out = evaluateWindowFunction(wFn, pItr); + Object out = evaluateFunctionOnPartition(wFn, iPart); if ( !wFn.isPivotResult()) { out = new SameList(iPart.size(), out); } oColumns.add((List)out); } else { - oColumns.add(executeFnwithWindow(getQueryDef(), wFn, iPart)); + oColumns.add(executeFnwithWindow(wFn, iPart)); } } @@ -147,30 +139,36 @@ public void execute(PTFPartitionIterator pItr, PTFPartition outP) throws } } - Object evaluateWindowFunction(WindowFunctionDef wFn, - PTFPartitionIterator pItr) throws HiveException { - GenericUDAFEvaluator fEval = wFn.getWFnEval(); - Object[] args = new Object[wFn.getArgs() == null ? 0 : wFn.getArgs().size()]; - AggregationBuffer aggBuffer = fEval.getNewAggregationBuffer(); - while(pItr.hasNext()) - { - Object row = pItr.next(); - int i =0; - if ( wFn.getArgs() != null ) { - for(PTFExpressionDef arg : wFn.getArgs()) - { - args[i++] = arg.getExprEvaluator().evaluate(row); - } - } - fEval.aggregate(aggBuffer, args); + // Evaluate the result given a partition and the row number to process + private Object evaluateWindowFunction(WindowFunctionDef wFn, int rowToProcess, PTFPartition partition) + throws HiveException { + BasePartitionEvaluator partitionEval = wFn.getWFnEval() + .getPartitionWindowingEvaluator(wFn.getWindowFrame(), partition, wFn.getArgs(), wFn.getOI()); + return partitionEval.iterate(rowToProcess, ptfDesc.getLlInfo()); + } + + // Evaluate the result given a partition + private Object evaluateFunctionOnPartition(WindowFunctionDef wFn, + PTFPartition partition) throws HiveException { + BasePartitionEvaluator partitionEval = wFn.getWFnEval() + .getPartitionWindowingEvaluator(wFn.getWindowFrame(), partition, wFn.getArgs(), wFn.getOI()); + return partitionEval.getPartitionAgg(); + } + + // Evaluate the function result for each row in the partition + ArrayList executeFnwithWindow( + WindowFunctionDef wFnDef, + PTFPartition iPart) + throws HiveException { + ArrayList vals = new ArrayList(); + for(int i=0; i < iPart.size(); i++) { + Object out = evaluateWindowFunction(wFnDef, i, iPart); + vals.add(out); } - Object out = fEval.evaluate(aggBuffer); - out = ObjectInspectorUtils.copyToStandardObject(out, wFn.getOI()); - return out; + return vals; } - private boolean processWindow(WindowFunctionDef wFn) { - WindowFrameDef frame = wFn.getWindowFrame(); + private static boolean processWindow(WindowFrameDef frame) { if ( frame == null ) { return false; } @@ -391,7 +389,7 @@ public void startPartition() throws HiveException { streamingState.rollingPart.append(row); - WindowTableFunctionDef tabDef = (WindowTableFunctionDef) getTableDef(); + WindowTableFunctionDef tabDef = (WindowTableFunctionDef) tableDef; for (int i = 0; i < tabDef.getWindowFunctions().size(); i++) { WindowFunctionDef wFn = tabDef.getWindowFunctions().get(i); @@ -417,10 +415,7 @@ public void startPartition() throws HiveException { } else { int rowToProcess = streamingState.rollingPart.rowToProcess(wFn.getWindowFrame()); if (rowToProcess >= 0) { - Range rng = getRange(wFn, rowToProcess, streamingState.rollingPart); - PTFPartitionIterator rItr = rng.iterator(); - PTFOperator.connectLeadLagFunctionsToPartition(ptfDesc, rItr); - Object out = evaluateWindowFunction(wFn, rItr); + Object out = evaluateWindowFunction(wFn, rowToProcess, streamingState.rollingPart); streamingState.fnOutputs[i].add(out); } } @@ -495,10 +490,7 @@ public void startPartition() throws HiveException { while (numRowsRemaining > 0) { int rowToProcess = streamingState.rollingPart.size() - numRowsRemaining; if (rowToProcess >= 0) { - Range rng = getRange(wFn, rowToProcess, streamingState.rollingPart); - PTFPartitionIterator rItr = rng.iterator(); - PTFOperator.connectLeadLagFunctionsToPartition(ptfDesc, rItr); - Object out = evaluateWindowFunction(wFn, rItr); + Object out = evaluateWindowFunction(wFn, rowToProcess, streamingState.rollingPart); streamingState.fnOutputs[i].add(out); } numRowsRemaining--; @@ -540,10 +532,10 @@ public boolean canIterateOutput() { int i=0; for(WindowFunctionDef wFn : wTFnDef.getWindowFunctions()) { - boolean processWindow = processWindow(wFn); + boolean processWindow = processWindow(wFn.getWindowFrame()); pItr.reset(); if ( !processWindow && !wFn.isPivotResult() ) { - Object out = evaluateWindowFunction(wFn, pItr); + Object out = evaluateFunctionOnPartition(wFn, iPart); output.add(out); } else if (wFn.isPivotResult()) { GenericUDAFEvaluator streamingEval = wFn.getWFnEval().getWindowingEvaluator(wFn.getWindowFrame()); @@ -558,12 +550,11 @@ public boolean canIterateOutput() { output.add(null); wFnsWithWindows.add(i); } else { - outputFromPivotFunctions[i] = (List) evaluateWindowFunction(wFn, - pItr); + outputFromPivotFunctions[i] = (List) evaluateFunctionOnPartition(wFn, iPart); output.add(null); } } else { - outputFromPivotFunctions[i] = (List) evaluateWindowFunction(wFn, pItr); + outputFromPivotFunctions[i] = (List) evaluateFunctionOnPartition(wFn, iPart); output.add(null); } } else { @@ -652,797 +643,6 @@ public boolean carryForwardNames() { } - ArrayList executeFnwithWindow(PTFDesc ptfDesc, - WindowFunctionDef wFnDef, - PTFPartition iPart) - throws HiveException { - ArrayList vals = new ArrayList(); - for(int i=0; i < iPart.size(); i++) { - Range rng = getRange(wFnDef, i, iPart); - PTFPartitionIterator rItr = rng.iterator(); - PTFOperator.connectLeadLagFunctionsToPartition(ptfDesc, rItr); - Object out = evaluateWindowFunction(wFnDef, rItr); - vals.add(out); - } - return vals; - } - - private Range getRange(WindowFunctionDef wFnDef, int currRow, PTFPartition p) throws HiveException - { - WindowFrameDef winFrame = wFnDef.getWindowFrame(); - BoundaryDef startB = winFrame.getStart(); - BoundaryDef endB = winFrame.getEnd(); - - int start, end; - if (winFrame.getWindowType() == WindowType.ROWS) { - start = getRowBoundaryStart(startB, currRow); - end = getRowBoundaryEnd(endB, currRow, p); - } else { - ValueBoundaryScanner vbs = ValueBoundaryScanner.getScanner(winFrame); - start = vbs.computeStart(currRow, p); - end = vbs.computeEnd(currRow, p); - } - start = start < 0 ? 0 : start; - end = end > p.size() ? p.size() : end; - return new Range(start, end, p); - } - - private int getRowBoundaryStart(BoundaryDef b, int currRow) throws HiveException { - Direction d = b.getDirection(); - int amt = b.getAmt(); - switch(d) { - case PRECEDING: - if (amt == BoundarySpec.UNBOUNDED_AMOUNT) { - return 0; - } - else { - return currRow - amt; - } - case CURRENT: - return currRow; - case FOLLOWING: - return currRow + amt; - } - throw new HiveException("Unknown Start Boundary Direction: " + d); - } - - private int getRowBoundaryEnd(BoundaryDef b, int currRow, PTFPartition p) throws HiveException { - Direction d = b.getDirection(); - int amt = b.getAmt(); - switch(d) { - case PRECEDING: - if ( amt == 0 ) { - return currRow + 1; - } - return currRow - amt + 1; - case CURRENT: - return currRow + 1; - case FOLLOWING: - if (amt == BoundarySpec.UNBOUNDED_AMOUNT) { - return p.size(); - } - else { - return currRow + amt + 1; - } - } - throw new HiveException("Unknown End Boundary Direction: " + d); - } - - static class Range - { - int start; - int end; - PTFPartition p; - - public Range(int start, int end, PTFPartition p) - { - super(); - this.start = start; - this.end = end; - this.p = p; - } - - public PTFPartitionIterator iterator() - { - return p.range(start, end); - } - } - - - static abstract class ValueBoundaryScanner { - BoundaryDef start, end; - - public ValueBoundaryScanner(BoundaryDef start, BoundaryDef end) { - this.start = start; - this.end = end; - } - - protected abstract int computeStart(int rowIdx, PTFPartition p) throws HiveException; - - protected abstract int computeEnd(int rowIdx, PTFPartition p) throws HiveException; - - public static ValueBoundaryScanner getScanner(WindowFrameDef winFrameDef) - throws HiveException { - OrderDef orderDef = winFrameDef.getOrderDef(); - int numOrders = orderDef.getExpressions().size(); - if (numOrders != 1) { - return new MultiValueBoundaryScanner(winFrameDef.getStart(), winFrameDef.getEnd(), orderDef); - } else { - return SingleValueBoundaryScanner.getScanner(winFrameDef.getStart(), winFrameDef.getEnd(), orderDef); - } - } - } - - /* - * - starting from the given rowIdx scan in the given direction until a row's expr - * evaluates to an amt that crosses the 'amt' threshold specified in the BoundaryDef. - */ - static abstract class SingleValueBoundaryScanner extends ValueBoundaryScanner { - OrderExpressionDef expressionDef; - - public SingleValueBoundaryScanner(BoundaryDef start, BoundaryDef end, OrderExpressionDef expressionDef) { - super(start, end); - this.expressionDef = expressionDef; - } - - /* -| Use | Boundary1.type | Boundary1. amt | Sort Key | Order | Behavior | -| Case | | | | | | -|------+----------------+----------------+----------+-------+-----------------------------------| -| 1. | PRECEDING | UNB | ANY | ANY | start = 0 | -| 2. | PRECEDING | unsigned int | NULL | ASC | start = 0 | -| 3. | | | | DESC | scan backwards to row R2 | -| | | | | | such that R2.sk is not null | -| | | | | | start = R2.idx + 1 | -| 4. | PRECEDING | unsigned int | not NULL | DESC | scan backwards until row R2 | -| | | | | | such that R2.sk - R.sk > amt | -| | | | | | start = R2.idx + 1 | -| 5. | PRECEDING | unsigned int | not NULL | ASC | scan backward until row R2 | -| | | | | | such that R.sk - R2.sk > bnd1.amt | -| | | | | | start = R2.idx + 1 | -| 6. | CURRENT ROW | | NULL | ANY | scan backwards until row R2 | -| | | | | | such that R2.sk is not null | -| | | | | | start = R2.idx + 1 | -| 7. | CURRENT ROW | | not NULL | ANY | scan backwards until row R2 | -| | | | | | such R2.sk != R.sk | -| | | | | | start = R2.idx + 1 | -| 8. | FOLLOWING | UNB | ANY | ANY | Error | -| 9. | FOLLOWING | unsigned int | NULL | DESC | start = partition.size | -| 10. | | | | ASC | scan forward until R2 | -| | | | | | such that R2.sk is not null | -| | | | | | start = R2.idx | -| 11. | FOLLOWING | unsigned int | not NULL | DESC | scan forward until row R2 | -| | | | | | such that R.sk - R2.sk > amt | -| | | | | | start = R2.idx | -| 12. | | | | ASC | scan forward until row R2 | -| | | | | | such that R2.sk - R.sk > amt | -|------+----------------+----------------+----------+-------+-----------------------------------| - */ - @Override - protected int computeStart(int rowIdx, PTFPartition p) throws HiveException { - switch(start.getDirection()) { - case PRECEDING: - return computeStartPreceding(rowIdx, p); - case CURRENT: - return computeStartCurrentRow(rowIdx, p); - case FOLLOWING: - default: - return computeStartFollowing(rowIdx, p); - } - } - - protected int computeStartPreceding(int rowIdx, PTFPartition p) throws HiveException { - int amt = start.getAmt(); - // Use Case 1. - if ( amt == BoundarySpec.UNBOUNDED_AMOUNT ) { - return 0; - } - Object sortKey = computeValue(p.getAt(rowIdx)); - - if ( sortKey == null ) { - // Use Case 2. - if ( expressionDef.getOrder() == Order.ASC ) { - return 0; - } - else { // Use Case 3. - while ( sortKey == null && rowIdx >= 0 ) { - --rowIdx; - if ( rowIdx >= 0 ) { - sortKey = computeValue(p.getAt(rowIdx)); - } - } - return rowIdx+1; - } - } - - Object rowVal = sortKey; - int r = rowIdx; - - // Use Case 4. - if ( expressionDef.getOrder() == Order.DESC ) { - while (r >= 0 && !isDistanceGreater(rowVal, sortKey, amt) ) { - r--; - if ( r >= 0 ) { - rowVal = computeValue(p.getAt(r)); - } - } - return r + 1; - } - else { // Use Case 5. - while (r >= 0 && !isDistanceGreater(sortKey, rowVal, amt) ) { - r--; - if ( r >= 0 ) { - rowVal = computeValue(p.getAt(r)); - } - } - return r + 1; - } - } - - protected int computeStartCurrentRow(int rowIdx, PTFPartition p) throws HiveException { - Object sortKey = computeValue(p.getAt(rowIdx)); - - // Use Case 6. - if ( sortKey == null ) { - while ( sortKey == null && rowIdx >= 0 ) { - --rowIdx; - if ( rowIdx >= 0 ) { - sortKey = computeValue(p.getAt(rowIdx)); - } - } - return rowIdx+1; - } - - Object rowVal = sortKey; - int r = rowIdx; - - // Use Case 7. - while (r >= 0 && isEqual(rowVal, sortKey) ) { - r--; - if ( r >= 0 ) { - rowVal = computeValue(p.getAt(r)); - } - } - return r + 1; - } - - protected int computeStartFollowing(int rowIdx, PTFPartition p) throws HiveException { - int amt = start.getAmt(); - Object sortKey = computeValue(p.getAt(rowIdx)); - - Object rowVal = sortKey; - int r = rowIdx; - - if ( sortKey == null ) { - // Use Case 9. - if ( expressionDef.getOrder() == Order.DESC) { - return p.size(); - } - else { // Use Case 10. - while (r < p.size() && rowVal == null ) { - r++; - if ( r < p.size() ) { - rowVal = computeValue(p.getAt(r)); - } - } - return r; - } - } - - // Use Case 11. - if ( expressionDef.getOrder() == Order.DESC) { - while (r < p.size() && !isDistanceGreater(sortKey, rowVal, amt) ) { - r++; - if ( r < p.size() ) { - rowVal = computeValue(p.getAt(r)); - } - } - return r; - } - else { // Use Case 12. - while (r < p.size() && !isDistanceGreater(rowVal, sortKey, amt) ) { - r++; - if ( r < p.size() ) { - rowVal = computeValue(p.getAt(r)); - } - } - return r; - } - } - - /* -| Use | Boundary2.type | Boundary2.amt | Sort Key | Order | Behavior | -| Case | | | | | | -|------+----------------+---------------+----------+-------+-----------------------------------| -| 1. | PRECEDING | UNB | ANY | ANY | Error | -| 2. | PRECEDING | unsigned int | NULL | DESC | end = partition.size() | -| 3. | | | | ASC | end = 0 | -| 4. | PRECEDING | unsigned int | not null | DESC | scan backward until row R2 | -| | | | | | such that R2.sk - R.sk > bnd.amt | -| | | | | | end = R2.idx + 1 | -| 5. | PRECEDING | unsigned int | not null | ASC | scan backward until row R2 | -| | | | | | such that R.sk - R2.sk > bnd.amt | -| | | | | | end = R2.idx + 1 | -| 6. | CURRENT ROW | | NULL | ANY | scan forward until row R2 | -| | | | | | such that R2.sk is not null | -| | | | | | end = R2.idx | -| 7. | CURRENT ROW | | not null | ANY | scan forward until row R2 | -| | | | | | such that R2.sk != R.sk | -| | | | | | end = R2.idx | -| 8. | FOLLOWING | UNB | ANY | ANY | end = partition.size() | -| 9. | FOLLOWING | unsigned int | NULL | DESC | end = partition.size() | -| 10. | | | | ASC | scan forward until row R2 | -| | | | | | such that R2.sk is not null | -| | | | | | end = R2.idx | -| 11. | FOLLOWING | unsigned int | not NULL | DESC | scan forward until row R2 | -| | | | | | such R.sk - R2.sk > bnd.amt | -| | | | | | end = R2.idx | -| 12. | | | | ASC | scan forward until row R2 | -| | | | | | such R2.sk - R2.sk > bnd.amt | -| | | | | | end = R2.idx | -|------+----------------+---------------+----------+-------+-----------------------------------| - */ - @Override - protected int computeEnd(int rowIdx, PTFPartition p) throws HiveException { - switch(end.getDirection()) { - case PRECEDING: - return computeEndPreceding(rowIdx, p); - case CURRENT: - return computeEndCurrentRow(rowIdx, p); - case FOLLOWING: - default: - return computeEndFollowing(rowIdx, p); - } - } - - protected int computeEndPreceding(int rowIdx, PTFPartition p) throws HiveException { - int amt = end.getAmt(); - // Use Case 1. - // amt == UNBOUNDED, is caught during translation - - Object sortKey = computeValue(p.getAt(rowIdx)); - - if ( sortKey == null ) { - // Use Case 2. - if ( expressionDef.getOrder() == Order.DESC ) { - return p.size(); - } - else { // Use Case 3. - return 0; - } - } - - Object rowVal = sortKey; - int r = rowIdx; - - // Use Case 4. - if ( expressionDef.getOrder() == Order.DESC ) { - while (r >= 0 && !isDistanceGreater(rowVal, sortKey, amt) ) { - r--; - if ( r >= 0 ) { - rowVal = computeValue(p.getAt(r)); - } - } - return r + 1; - } - else { // Use Case 5. - while (r >= 0 && !isDistanceGreater(sortKey, rowVal, amt) ) { - r--; - if ( r >= 0 ) { - rowVal = computeValue(p.getAt(r)); - } - } - return r + 1; - } - } - - protected int computeEndCurrentRow(int rowIdx, PTFPartition p) throws HiveException { - Object sortKey = computeValue(p.getAt(rowIdx)); - - // Use Case 6. - if ( sortKey == null ) { - while ( sortKey == null && rowIdx < p.size() ) { - ++rowIdx; - if ( rowIdx < p.size() ) { - sortKey = computeValue(p.getAt(rowIdx)); - } - } - return rowIdx; - } - - Object rowVal = sortKey; - int r = rowIdx; - - // Use Case 7. - while (r < p.size() && isEqual(sortKey, rowVal) ) { - r++; - if ( r < p.size() ) { - rowVal = computeValue(p.getAt(r)); - } - } - return r; - } - - protected int computeEndFollowing(int rowIdx, PTFPartition p) throws HiveException { - int amt = end.getAmt(); - - // Use Case 8. - if ( amt == BoundarySpec.UNBOUNDED_AMOUNT ) { - return p.size(); - } - Object sortKey = computeValue(p.getAt(rowIdx)); - - Object rowVal = sortKey; - int r = rowIdx; - - if ( sortKey == null ) { - // Use Case 9. - if ( expressionDef.getOrder() == Order.DESC) { - return p.size(); - } - else { // Use Case 10. - while (r < p.size() && rowVal == null ) { - r++; - if ( r < p.size() ) { - rowVal = computeValue(p.getAt(r)); - } - } - return r; - } - } - - // Use Case 11. - if ( expressionDef.getOrder() == Order.DESC) { - while (r < p.size() && !isDistanceGreater(sortKey, rowVal, amt) ) { - r++; - if ( r < p.size() ) { - rowVal = computeValue(p.getAt(r)); - } - } - return r; - } - else { // Use Case 12. - while (r < p.size() && !isDistanceGreater(rowVal, sortKey, amt) ) { - r++; - if ( r < p.size() ) { - rowVal = computeValue(p.getAt(r)); - } - } - return r; - } - } - - public Object computeValue(Object row) throws HiveException { - Object o = expressionDef.getExprEvaluator().evaluate(row); - return ObjectInspectorUtils.copyToStandardObject(o, expressionDef.getOI()); - } - - /** - * Checks if the distance of v2 to v1 is greater than the given amt. - * @return True if the value of v1 - v2 is greater than amt or either value is null. - */ - public abstract boolean isDistanceGreater(Object v1, Object v2, int amt); - - /** - * Checks if the values of v1 or v2 are the same. - * @return True if both values are the same or both are nulls. - */ - public abstract boolean isEqual(Object v1, Object v2); - - - @SuppressWarnings("incomplete-switch") - public static SingleValueBoundaryScanner getScanner(BoundaryDef start, BoundaryDef end, OrderDef orderDef) - throws HiveException { - if (orderDef.getExpressions().size() != 1) { - throw new HiveException("Internal error: initializing SingleValueBoundaryScanner with" - + " multiple expression for sorting"); - } - OrderExpressionDef exprDef = orderDef.getExpressions().get(0); - PrimitiveObjectInspector pOI = (PrimitiveObjectInspector) exprDef.getOI(); - switch(pOI.getPrimitiveCategory()) { - case BYTE: - case INT: - case LONG: - case SHORT: - case TIMESTAMP: - return new LongValueBoundaryScanner(start, end, exprDef); - case DOUBLE: - case FLOAT: - return new DoubleValueBoundaryScanner(start, end, exprDef); - case DECIMAL: - return new HiveDecimalValueBoundaryScanner(start, end, exprDef); - case DATE: - return new DateValueBoundaryScanner(start, end, exprDef); - case STRING: - return new StringValueBoundaryScanner(start, end, exprDef); - } - throw new HiveException( - String.format("Internal Error: attempt to setup a Window for datatype %s", - pOI.getPrimitiveCategory())); - } - } - - public static class LongValueBoundaryScanner extends SingleValueBoundaryScanner { - public LongValueBoundaryScanner(BoundaryDef start, BoundaryDef end, OrderExpressionDef expressionDef) { - super(start, end,expressionDef); - } - - @Override - public boolean isDistanceGreater(Object v1, Object v2, int amt) { - if (v1 != null && v2 != null) { - long l1 = PrimitiveObjectInspectorUtils.getLong(v1, - (PrimitiveObjectInspector) expressionDef.getOI()); - long l2 = PrimitiveObjectInspectorUtils.getLong(v2, - (PrimitiveObjectInspector) expressionDef.getOI()); - return (l1 -l2) > amt; - } - - return v1 != null || v2 != null; // True if only one value is null - } - - @Override - public boolean isEqual(Object v1, Object v2) { - if (v1 != null && v2 != null) { - long l1 = PrimitiveObjectInspectorUtils.getLong(v1, - (PrimitiveObjectInspector) expressionDef.getOI()); - long l2 = PrimitiveObjectInspectorUtils.getLong(v2, - (PrimitiveObjectInspector) expressionDef.getOI()); - return l1 == l2; - } - - return v1 == null && v2 == null; // True if both are null - } - } - - public static class DoubleValueBoundaryScanner extends SingleValueBoundaryScanner { - public DoubleValueBoundaryScanner(BoundaryDef start, BoundaryDef end, OrderExpressionDef expressionDef) { - super(start, end,expressionDef); - } - - @Override - public boolean isDistanceGreater(Object v1, Object v2, int amt) { - if (v1 != null && v2 != null) { - double d1 = PrimitiveObjectInspectorUtils.getDouble(v1, - (PrimitiveObjectInspector) expressionDef.getOI()); - double d2 = PrimitiveObjectInspectorUtils.getDouble(v2, - (PrimitiveObjectInspector) expressionDef.getOI()); - return (d1 -d2) > amt; - } - - return v1 != null || v2 != null; // True if only one value is null - } - - @Override - public boolean isEqual(Object v1, Object v2) { - if (v1 != null && v2 != null) { - double d1 = PrimitiveObjectInspectorUtils.getDouble(v1, - (PrimitiveObjectInspector) expressionDef.getOI()); - double d2 = PrimitiveObjectInspectorUtils.getDouble(v2, - (PrimitiveObjectInspector) expressionDef.getOI()); - return d1 == d2; - } - - return v1 == null && v2 == null; // True if both are null - } - } - - public static class HiveDecimalValueBoundaryScanner extends SingleValueBoundaryScanner { - public HiveDecimalValueBoundaryScanner(BoundaryDef start, BoundaryDef end, OrderExpressionDef expressionDef) { - super(start, end,expressionDef); - } - - @Override - public boolean isDistanceGreater(Object v1, Object v2, int amt) { - HiveDecimal d1 = PrimitiveObjectInspectorUtils.getHiveDecimal(v1, - (PrimitiveObjectInspector) expressionDef.getOI()); - HiveDecimal d2 = PrimitiveObjectInspectorUtils.getHiveDecimal(v2, - (PrimitiveObjectInspector) expressionDef.getOI()); - if ( d1 != null && d2 != null ) { - return d1.subtract(d2).intValue() > amt; // TODO: lossy conversion! - } - - return d1 != null || d2 != null; // True if only one value is null - } - - @Override - public boolean isEqual(Object v1, Object v2) { - HiveDecimal d1 = PrimitiveObjectInspectorUtils.getHiveDecimal(v1, - (PrimitiveObjectInspector) expressionDef.getOI()); - HiveDecimal d2 = PrimitiveObjectInspectorUtils.getHiveDecimal(v2, - (PrimitiveObjectInspector) expressionDef.getOI()); - if ( d1 != null && d2 != null ) { - return d1.equals(d2); - } - - return d1 == null && d2 == null; // True if both are null - } - } - - public static class DateValueBoundaryScanner extends SingleValueBoundaryScanner { - public DateValueBoundaryScanner(BoundaryDef start, BoundaryDef end, OrderExpressionDef expressionDef) { - super(start, end,expressionDef); - } - - @Override - public boolean isDistanceGreater(Object v1, Object v2, int amt) { - Date l1 = PrimitiveObjectInspectorUtils.getDate(v1, - (PrimitiveObjectInspector) expressionDef.getOI()); - Date l2 = PrimitiveObjectInspectorUtils.getDate(v2, - (PrimitiveObjectInspector) expressionDef.getOI()); - if (l1 != null && l2 != null) { - return (double)(l1.getTime() - l2.getTime())/1000 > (long)amt * 24 * 3600; // Converts amt days to milliseconds - } - return l1 != l2; // True if only one date is null - } - - @Override - public boolean isEqual(Object v1, Object v2) { - Date l1 = PrimitiveObjectInspectorUtils.getDate(v1, - (PrimitiveObjectInspector) expressionDef.getOI()); - Date l2 = PrimitiveObjectInspectorUtils.getDate(v2, - (PrimitiveObjectInspector) expressionDef.getOI()); - return (l1 == null && l2 == null) || (l1 != null && l1.equals(l2)); - } - } - - public static class StringValueBoundaryScanner extends SingleValueBoundaryScanner { - public StringValueBoundaryScanner(BoundaryDef start, BoundaryDef end, OrderExpressionDef expressionDef) { - super(start, end,expressionDef); - } - - @Override - public boolean isDistanceGreater(Object v1, Object v2, int amt) { - String s1 = PrimitiveObjectInspectorUtils.getString(v1, - (PrimitiveObjectInspector) expressionDef.getOI()); - String s2 = PrimitiveObjectInspectorUtils.getString(v2, - (PrimitiveObjectInspector) expressionDef.getOI()); - return s1 != null && s2 != null && s1.compareTo(s2) > 0; - } - - @Override - public boolean isEqual(Object v1, Object v2) { - String s1 = PrimitiveObjectInspectorUtils.getString(v1, - (PrimitiveObjectInspector) expressionDef.getOI()); - String s2 = PrimitiveObjectInspectorUtils.getString(v2, - (PrimitiveObjectInspector) expressionDef.getOI()); - return (s1 == null && s2 == null) || (s1 != null && s1.equals(s2)); - } - } - - /* - */ - static class MultiValueBoundaryScanner extends ValueBoundaryScanner { - OrderDef orderDef; - - public MultiValueBoundaryScanner(BoundaryDef start, BoundaryDef end, OrderDef orderDef) { - super(start, end); - this.orderDef = orderDef; - } - - /* -|------+----------------+----------------+----------+-------+-----------------------------------| -| Use | Boundary1.type | Boundary1. amt | Sort Key | Order | Behavior | -| Case | | | | | | -|------+----------------+----------------+----------+-------+-----------------------------------| -| 1. | PRECEDING | UNB | ANY | ANY | start = 0 | -| 2. | CURRENT ROW | | ANY | ANY | scan backwards until row R2 | -| | | | | | such R2.sk != R.sk | -| | | | | | start = R2.idx + 1 | -|------+----------------+----------------+----------+-------+-----------------------------------| - */ - @Override - protected int computeStart(int rowIdx, PTFPartition p) throws HiveException { - switch(start.getDirection()) { - case PRECEDING: - return computeStartPreceding(rowIdx, p); - case CURRENT: - return computeStartCurrentRow(rowIdx, p); - case FOLLOWING: - default: - throw new HiveException( - "FOLLOWING not allowed for starting RANGE with multiple expressions in ORDER BY"); - } - } - - protected int computeStartPreceding(int rowIdx, PTFPartition p) throws HiveException { - int amt = start.getAmt(); - if ( amt == BoundarySpec.UNBOUNDED_AMOUNT ) { - return 0; - } - throw new HiveException( - "PRECEDING needs UNBOUNDED for RANGE with multiple expressions in ORDER BY"); - } - - protected int computeStartCurrentRow(int rowIdx, PTFPartition p) throws HiveException { - Object[] sortKey = computeValues(p.getAt(rowIdx)); - Object[] rowVal = sortKey; - int r = rowIdx; - - while (r >= 0 && isEqual(rowVal, sortKey) ) { - r--; - if ( r >= 0 ) { - rowVal = computeValues(p.getAt(r)); - } - } - return r + 1; - } - - /* -|------+----------------+---------------+----------+-------+-----------------------------------| -| Use | Boundary2.type | Boundary2.amt | Sort Key | Order | Behavior | -| Case | | | | | | -|------+----------------+---------------+----------+-------+-----------------------------------| -| 1. | CURRENT ROW | | ANY | ANY | scan forward until row R2 | -| | | | | | such that R2.sk != R.sk | -| | | | | | end = R2.idx | -| 2. | FOLLOWING | UNB | ANY | ANY | end = partition.size() | -|------+----------------+---------------+----------+-------+-----------------------------------| - */ - @Override - protected int computeEnd(int rowIdx, PTFPartition p) throws HiveException { - switch(end.getDirection()) { - case PRECEDING: - throw new HiveException( - "PRECEDING not allowed for finishing RANGE with multiple expressions in ORDER BY"); - case CURRENT: - return computeEndCurrentRow(rowIdx, p); - case FOLLOWING: - default: - return computeEndFollowing(rowIdx, p); - } - } - - protected int computeEndCurrentRow(int rowIdx, PTFPartition p) throws HiveException { - Object[] sortKey = computeValues(p.getAt(rowIdx)); - Object[] rowVal = sortKey; - int r = rowIdx; - - while (r < p.size() && isEqual(sortKey, rowVal) ) { - r++; - if ( r < p.size() ) { - rowVal = computeValues(p.getAt(r)); - } - } - return r; - } - - protected int computeEndFollowing(int rowIdx, PTFPartition p) throws HiveException { - int amt = end.getAmt(); - if ( amt == BoundarySpec.UNBOUNDED_AMOUNT ) { - return p.size(); - } - throw new HiveException( - "FOLLOWING needs UNBOUNDED for RANGE with multiple expressions in ORDER BY"); - } - - public Object[] computeValues(Object row) throws HiveException { - Object[] objs = new Object[orderDef.getExpressions().size()]; - for (int i = 0; i < objs.length; i++) { - Object o = orderDef.getExpressions().get(i).getExprEvaluator().evaluate(row); - objs[i] = ObjectInspectorUtils.copyToStandardObject(o, orderDef.getExpressions().get(i).getOI()); - } - return objs; - } - - public boolean isEqual(Object[] v1, Object[] v2) { - assert v1.length == v2.length; - for (int i = 0; i < v1.length; i++) { - if (v1[i] == null && v2[i] == null) { - continue; - } - if (v1[i] == null || v2[i] == null) { - return false; - } - if (ObjectInspectorUtils.compare( - v1[i], orderDef.getExpressions().get(i).getOI(), - v2[i], orderDef.getExpressions().get(i).getOI()) != 0) { - return false; - } - } - return true; - } - } - public static class SameList extends AbstractList { int sz; E val; @@ -1518,6 +718,8 @@ public boolean hasNext() { return currIdx < iPart.size(); } + // Given the data in a partition, evaluate the result for the next row for + // streaming and batch mode @Override public Object next() { int i; @@ -1550,10 +752,8 @@ public Object next() { } output.set(j, out); } else { - Range rng = getRange(wFn, currIdx, iPart); - PTFPartitionIterator rItr = rng.iterator(); - PTFOperator.connectLeadLagFunctionsToPartition(ptfDesc, rItr); - output.set(j, evaluateWindowFunction(wFn, rItr)); + Object out = evaluateWindowFunction(wFn, currIdx, iPart); + output.set(j, out); } } diff --git a/ql/src/test/queries/clientpositive/cbo_rp_windowing_2.q b/ql/src/test/queries/clientpositive/cbo_rp_windowing_2.q index 97f113c..1877927 100644 --- a/ql/src/test/queries/clientpositive/cbo_rp_windowing_2.q +++ b/ql/src/test/queries/clientpositive/cbo_rp_windowing_2.q @@ -9,7 +9,7 @@ set mapred.reduce.tasks=4; select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part ; @@ -44,7 +44,7 @@ select p_mfgr, p_name, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, count(p_size) over(distribute by p_mfgr sort by p_name) as cd, -p_retailprice, sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1, +p_retailprice, round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1, p_size, p_size - lag(p_size,1,p_size) over(distribute by p_mfgr sort by p_name) as deltaSz from part ; @@ -55,7 +55,7 @@ from (select p_mfgr, p_name, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, count(p_size) over(distribute by p_mfgr sort by p_name) as cd, -p_retailprice, sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1, +p_retailprice, round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1, p_size, p_size - lag(p_size,1,p_size) over(distribute by p_mfgr sort by p_name) as deltaSz from part ) sub1; @@ -64,7 +64,7 @@ from part select abc.p_mfgr, abc.p_name, rank() over(distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over(distribute by abc.p_mfgr sort by abc.p_name) as dr, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over(distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part partition by p_mfgr @@ -82,7 +82,7 @@ from part select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part ; @@ -90,7 +90,7 @@ from part select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part ; @@ -162,19 +162,19 @@ window w1 as (distribute by p_mfgr sort by p_mfgr, p_name rows between 2 precedi -- 18. testUDAFs select p_mfgr,p_name, p_size, -sum(p_retailprice) over w1 as s, +round(sum(p_retailprice) over w1,2) as s, min(p_retailprice) over w1 as mi, max(p_retailprice) over w1 as ma, -avg(p_retailprice) over w1 as ag +round(avg(p_retailprice) over w1,2) as ag from part window w1 as (distribute by p_mfgr sort by p_mfgr, p_name rows between 2 preceding and 2 following); -- 19. testUDAFsWithGBY select p_mfgr,p_name, p_size, p_retailprice, -sum(p_retailprice) over w1 as s, +round(sum(p_retailprice) over w1,2) as s, min(p_retailprice) as mi , max(p_retailprice) as ma , -avg(p_retailprice) over w1 as ag +round(avg(p_retailprice) over w1,2) as ag from part group by p_mfgr,p_name, p_size, p_retailprice window w1 as (distribute by p_mfgr sort by p_mfgr, p_name rows between 2 preceding and 2 following); @@ -222,7 +222,7 @@ window w1 as (distribute by p_mfgr sort by p_brand rows between 2 preceding and -- 23. testCreateViewWithWindowingQuery create view IF NOT EXISTS mfgr_brand_price_view as select p_mfgr, p_brand, -sum(p_retailprice) over w1 as s +round(sum(p_retailprice) over w1,2) as s from part window w1 as (distribute by p_mfgr sort by p_name rows between 2 preceding and current row); @@ -267,7 +267,7 @@ INSERT OVERWRITE TABLE part_1 select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name ) as r, dense_rank() over(distribute by p_mfgr sort by p_name ) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_2 select p_mfgr,p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, @@ -386,7 +386,7 @@ from part; -- 38. testPartitioningVariousForms2 select p_mfgr, p_name, p_size, -sum(p_retailprice) over (partition by p_mfgr, p_name order by p_mfgr, p_name rows between unbounded preceding and current row) as s1, +round(sum(p_retailprice) over (partition by p_mfgr, p_name order by p_mfgr, p_name rows between unbounded preceding and current row),2) as s1, min(p_retailprice) over (distribute by p_mfgr, p_name sort by p_mfgr, p_name rows between unbounded preceding and current row) as s2, max(p_retailprice) over (partition by p_mfgr, p_name order by p_name) as s3 from part; @@ -398,22 +398,22 @@ from part; -- 40. testNoBetweenForRows select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows unbounded preceding) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows unbounded preceding),2) as s1 from part ; -- 41. testNoBetweenForRange select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_size range unbounded preceding) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_size range unbounded preceding),2) as s1 from part ; -- 42. testUnboundedFollowingForRows select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between current row and unbounded following) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between current row and unbounded following),2) as s1 from part ; -- 43. testUnboundedFollowingForRange select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_size range between current row and unbounded following) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_size range between current row and unbounded following),2) as s1 from part ; -- 44. testOverNoPartitionSingleAggregate @@ -430,8 +430,8 @@ where p_mfgr = 'Manufacturer#6' ; -- 46. window sz is same as partition sz -select p_retailprice, avg(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following), -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following) +select p_retailprice, round(avg(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following),2), +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following),2) from part where p_mfgr='Manufacturer#1'; diff --git a/ql/src/test/queries/clientpositive/ptf.q b/ql/src/test/queries/clientpositive/ptf.q index b5b271b..5ab6cdc 100644 --- a/ql/src/test/queries/clientpositive/ptf.q +++ b/ql/src/test/queries/clientpositive/ptf.q @@ -6,7 +6,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name @@ -15,7 +15,7 @@ from noop(on part select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name @@ -54,7 +54,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name @@ -63,7 +63,7 @@ from noop(on part select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name @@ -162,7 +162,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noopwithmap(on part partition by p_mfgr order by p_name); @@ -170,7 +170,7 @@ from noopwithmap(on part select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noopwithmap(on part partition by p_mfgr order by p_name); @@ -180,7 +180,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name) @@ -189,7 +189,7 @@ order by p_name) select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name) @@ -200,7 +200,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on noopwithmap(on noop(on part partition by p_mfgr order by p_mfgr DESC, p_name @@ -209,7 +209,7 @@ order by p_mfgr DESC, p_name select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on noopwithmap(on noop(on part partition by p_mfgr order by p_mfgr DESC, p_name @@ -222,7 +222,7 @@ sub1.cd, sub1.s1 from (select p_mfgr, p_name, count(p_size) over (partition by p_mfgr order by p_name) as cd, p_retailprice, -sum(p_retailprice) over w1 as s1 +round(sum(p_retailprice) over w1,2) as s1 from noop(on part partition by p_mfgr order by p_name) @@ -234,7 +234,7 @@ sub1.cd, sub1.s1 from (select p_mfgr, p_name, count(p_size) over (partition by p_mfgr order by p_name) as cd, p_retailprice, -sum(p_retailprice) over w1 as s1 +round(sum(p_retailprice) over w1,2) as s1 from noop(on part partition by p_mfgr order by p_name) @@ -247,7 +247,7 @@ select abc.p_mfgr, abc.p_name, rank() over (distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over (distribute by abc.p_mfgr sort by abc.p_name) as dr, count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over (distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part partition by p_mfgr @@ -258,8 +258,8 @@ order by p_name select abc.p_mfgr, abc.p_name, rank() over (distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over (distribute by abc.p_mfgr sort by abc.p_name) as dr, -count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over (distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part partition by p_mfgr @@ -283,20 +283,20 @@ order by p_name); -- 16. testViewAsTableInputToPTF create view IF NOT EXISTS mfgr_price_view as select p_mfgr, p_brand, -sum(p_retailprice) as s +round(sum(p_retailprice),2) as s from part group by p_mfgr, p_brand; explain select p_mfgr, p_brand, s, -sum(s) over w1 as s1 +round(sum(s) over w1,2) as s1 from noop(on mfgr_price_view partition by p_mfgr order by p_mfgr) window w1 as ( partition by p_mfgr order by p_brand rows between 2 preceding and current row); select p_mfgr, p_brand, s, -sum(s) over w1 as s1 +round(sum(s) over w1,2) as s1 from noop(on mfgr_price_view partition by p_mfgr order by p_mfgr) @@ -328,7 +328,7 @@ order by p_name) INSERT OVERWRITE TABLE part_4 select p_mfgr, p_name, p_size, rank() over (distribute by p_mfgr sort by p_name) as r, dense_rank() over (distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_5 select p_mfgr,p_name, p_size, round(sum(p_size) over (distribute by p_mfgr sort by p_size range between 5 preceding and current row),1) as s2, rank() over (distribute by p_mfgr sort by p_mfgr, p_name) as r, @@ -343,7 +343,7 @@ order by p_name) INSERT OVERWRITE TABLE part_4 select p_mfgr, p_name, p_size, rank() over (distribute by p_mfgr sort by p_name) as r, dense_rank() over (distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_5 select p_mfgr,p_name, p_size, round(sum(p_size) over (distribute by p_mfgr sort by p_size range between 5 preceding and current row),1) as s2, rank() over (distribute by p_mfgr sort by p_mfgr, p_name) as r, diff --git a/ql/src/test/queries/clientpositive/vectorized_ptf.q b/ql/src/test/queries/clientpositive/vectorized_ptf.q index 64082e9..db2dbe1 100644 --- a/ql/src/test/queries/clientpositive/vectorized_ptf.q +++ b/ql/src/test/queries/clientpositive/vectorized_ptf.q @@ -46,7 +46,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name @@ -97,7 +97,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name @@ -106,7 +106,7 @@ from noop(on part_orc select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name @@ -211,7 +211,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noopwithmap(on part_orc partition by p_mfgr order by p_name); @@ -219,7 +219,7 @@ from noopwithmap(on part_orc select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noopwithmap(on part_orc partition by p_mfgr order by p_name); @@ -230,7 +230,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name) @@ -239,7 +239,7 @@ order by p_name) select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name) @@ -251,7 +251,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on noopwithmap(on noop(on part_orc partition by p_mfgr order by p_mfgr, p_name @@ -260,7 +260,7 @@ order by p_mfgr, p_name select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on noopwithmap(on noop(on part_orc partition by p_mfgr order by p_mfgr, p_name @@ -274,7 +274,7 @@ sub1.cd, sub1.s1 from (select p_mfgr, p_name, count(p_size) over (partition by p_mfgr order by p_name) as cd, p_retailprice, -sum(p_retailprice) over w1 as s1 +round(sum(p_retailprice) over w1,2) as s1 from noop(on part_orc partition by p_mfgr order by p_name) @@ -286,7 +286,7 @@ sub1.cd, sub1.s1 from (select p_mfgr, p_name, count(p_size) over (partition by p_mfgr order by p_name) as cd, p_retailprice, -sum(p_retailprice) over w1 as s1 +round(sum(p_retailprice) over w1,2) as s1 from noop(on part_orc partition by p_mfgr order by p_name) @@ -300,7 +300,7 @@ select abc.p_mfgr, abc.p_name, rank() over (distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over (distribute by abc.p_mfgr sort by abc.p_name) as dr, count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over (distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part_orc partition by p_mfgr @@ -312,7 +312,7 @@ select abc.p_mfgr, abc.p_name, rank() over (distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over (distribute by abc.p_mfgr sort by abc.p_name) as dr, count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over (distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part_orc partition by p_mfgr @@ -337,20 +337,20 @@ order by p_name); -- 16. testViewAsTableInputToPTF create view IF NOT EXISTS mfgr_price_view as select p_mfgr, p_brand, -sum(p_retailprice) as s +round(sum(p_retailprice),2) as s from part_orc group by p_mfgr, p_brand; explain extended select p_mfgr, p_brand, s, -sum(s) over w1 as s1 +round(sum(s) over w1,2) as s1 from noop(on mfgr_price_view partition by p_mfgr order by p_mfgr) window w1 as ( partition by p_mfgr order by p_brand rows between 2 preceding and current row); select p_mfgr, p_brand, s, -sum(s) over w1 as s1 +round(sum(s) over w1,2) as s1 from noop(on mfgr_price_view partition by p_mfgr order by p_mfgr) @@ -382,7 +382,7 @@ order by p_name) INSERT OVERWRITE TABLE part_4 select p_mfgr, p_name, p_size, rank() over (distribute by p_mfgr sort by p_name) as r, dense_rank() over (distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_5 select p_mfgr,p_name, p_size, round(sum(p_size) over (distribute by p_mfgr sort by p_size range between 5 preceding and current row),1) as s2, rank() over (distribute by p_mfgr sort by p_mfgr, p_name) as r, @@ -397,7 +397,7 @@ order by p_name) INSERT OVERWRITE TABLE part_4 select p_mfgr, p_name, p_size, rank() over (distribute by p_mfgr sort by p_name) as r, dense_rank() over (distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_5 select p_mfgr,p_name, p_size, round(sum(p_size) over (distribute by p_mfgr sort by p_size range between 5 preceding and current row),1) as s2, rank() over (distribute by p_mfgr sort by p_mfgr, p_name) as r, diff --git a/ql/src/test/queries/clientpositive/windowing.q b/ql/src/test/queries/clientpositive/windowing.q index e60a6ef..19fa1ad 100644 --- a/ql/src/test/queries/clientpositive/windowing.q +++ b/ql/src/test/queries/clientpositive/windowing.q @@ -6,7 +6,7 @@ set mapred.reduce.tasks=4; select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part ; @@ -41,7 +41,7 @@ select p_mfgr, p_name, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, count(p_size) over(distribute by p_mfgr sort by p_name) as cd, -p_retailprice, sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1, +p_retailprice, round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1, p_size, p_size - lag(p_size,1,p_size) over(distribute by p_mfgr sort by p_name) as deltaSz from part ; @@ -52,7 +52,7 @@ from (select p_mfgr, p_name, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, count(p_size) over(distribute by p_mfgr sort by p_name) as cd, -p_retailprice, sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1, +p_retailprice, round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1, p_size, p_size - lag(p_size,1,p_size) over(distribute by p_mfgr sort by p_name) as deltaSz from part ) sub1; @@ -61,7 +61,7 @@ from part select abc.p_mfgr, abc.p_name, rank() over(distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over(distribute by abc.p_mfgr sort by abc.p_name) as dr, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over(distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part partition by p_mfgr @@ -79,7 +79,7 @@ from part select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part ; @@ -87,7 +87,7 @@ from part select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part ; @@ -159,19 +159,19 @@ window w1 as (distribute by p_mfgr sort by p_mfgr, p_name rows between 2 precedi -- 18. testUDAFs select p_mfgr,p_name, p_size, -sum(p_retailprice) over w1 as s, +round(sum(p_retailprice) over w1,2) as s, min(p_retailprice) over w1 as mi, max(p_retailprice) over w1 as ma, -avg(p_retailprice) over w1 as ag +round(avg(p_retailprice) over w1,2) as ag from part window w1 as (distribute by p_mfgr sort by p_mfgr, p_name rows between 2 preceding and 2 following); -- 19. testUDAFsWithGBY select p_mfgr,p_name, p_size, p_retailprice, -sum(p_retailprice) over w1 as s, +round(sum(p_retailprice) over w1,2) as s, min(p_retailprice) as mi , max(p_retailprice) as ma , -avg(p_retailprice) over w1 as ag +round(avg(p_retailprice) over w1,2) as ag from part group by p_mfgr,p_name, p_size, p_retailprice window w1 as (distribute by p_mfgr sort by p_mfgr, p_name rows between 2 preceding and 2 following); @@ -219,7 +219,7 @@ window w1 as (distribute by p_mfgr sort by p_brand rows between 2 preceding and -- 23. testCreateViewWithWindowingQuery create view IF NOT EXISTS mfgr_brand_price_view as select p_mfgr, p_brand, -sum(p_retailprice) over w1 as s +round(sum(p_retailprice) over w1,2) as s from part window w1 as (distribute by p_mfgr sort by p_name rows between 2 preceding and current row); @@ -264,7 +264,7 @@ INSERT OVERWRITE TABLE part_1 select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name ) as r, dense_rank() over(distribute by p_mfgr sort by p_name ) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_2 select p_mfgr,p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, @@ -389,7 +389,7 @@ from part; -- 38. testPartitioningVariousForms2 select p_mfgr, p_name, p_size, -sum(p_retailprice) over (partition by p_mfgr, p_name order by p_mfgr, p_name rows between unbounded preceding and current row) as s1, +round(sum(p_retailprice) over (partition by p_mfgr, p_name order by p_mfgr, p_name rows between unbounded preceding and current row),2) as s1, min(p_retailprice) over (distribute by p_mfgr, p_name sort by p_mfgr, p_name rows between unbounded preceding and current row) as s2, max(p_retailprice) over (partition by p_mfgr, p_name order by p_name) as s3 from part; @@ -401,22 +401,22 @@ from part; -- 40. testNoBetweenForRows select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows unbounded preceding) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows unbounded preceding),2) as s1 from part ; -- 41. testNoBetweenForRange select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_size range unbounded preceding) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_size range unbounded preceding),2) as s1 from part ; -- 42. testUnboundedFollowingForRows select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between current row and unbounded following) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between current row and unbounded following),2) as s1 from part ; -- 43. testUnboundedFollowingForRange select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_size range between current row and unbounded following) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_size range between current row and unbounded following),2) as s1 from part ; -- 44. testOverNoPartitionSingleAggregate @@ -433,8 +433,8 @@ where p_mfgr = 'Manufacturer#6' ; -- 46. window sz is same as partition sz -select p_retailprice, avg(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following), -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following) +select p_retailprice, round(avg(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following),2), +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following),2) from part where p_mfgr='Manufacturer#1'; diff --git a/ql/src/test/results/clientpositive/cbo_rp_windowing_2.q.out b/ql/src/test/results/clientpositive/cbo_rp_windowing_2.q.out index aa34d3d..db68276 100644 --- a/ql/src/test/results/clientpositive/cbo_rp_windowing_2.q.out +++ b/ql/src/test/results/clientpositive/cbo_rp_windowing_2.q.out @@ -4,7 +4,7 @@ PREHOOK: query: -- SORT_QUERY_RESULTS select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -15,7 +15,7 @@ POSTHOOK: query: -- SORT_QUERY_RESULTS select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part @@ -23,12 +23,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -40,9 +40,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -185,7 +185,7 @@ select p_mfgr, p_name, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, count(p_size) over(distribute by p_mfgr sort by p_name) as cd, -p_retailprice, sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1, +p_retailprice, round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1, p_size, p_size - lag(p_size,1,p_size) over(distribute by p_mfgr sort by p_name) as deltaSz from part PREHOOK: type: QUERY @@ -196,7 +196,7 @@ select p_mfgr, p_name, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, count(p_size) over(distribute by p_mfgr sort by p_name) as cd, -p_retailprice, sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1, +p_retailprice, round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1, p_size, p_size - lag(p_size,1,p_size) over(distribute by p_mfgr sort by p_name) as deltaSz from part POSTHOOK: type: QUERY @@ -205,12 +205,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 1 1 2 1173.15 1173.15 2 0 Manufacturer#1 almond antique burnished rose metallic 1 1 2 1173.15 2346.3 2 0 Manufacturer#1 almond antique chartreuse lavender yellow 3 2 3 1753.76 4100.06 34 32 -Manufacturer#1 almond antique salmon chartreuse burlywood 4 3 4 1602.59 5702.650000000001 6 -28 -Manufacturer#1 almond aquamarine burnished black steel 5 4 5 1414.42 7117.070000000001 28 22 -Manufacturer#1 almond aquamarine pink moccasin thistle 6 5 6 1632.66 8749.730000000001 42 14 +Manufacturer#1 almond antique salmon chartreuse burlywood 4 3 4 1602.59 5702.65 6 -28 +Manufacturer#1 almond aquamarine burnished black steel 5 4 5 1414.42 7117.07 28 22 +Manufacturer#1 almond aquamarine pink moccasin thistle 6 5 6 1632.66 8749.73 42 14 Manufacturer#2 almond antique violet chocolate turquoise 1 1 1 1690.68 1690.68 14 0 Manufacturer#2 almond antique violet turquoise frosted 2 2 2 1800.7 3491.38 40 26 -Manufacturer#2 almond aquamarine midnight light salmon 3 3 3 2031.98 5523.360000000001 2 -38 +Manufacturer#2 almond aquamarine midnight light salmon 3 3 3 2031.98 5523.36 2 -38 Manufacturer#2 almond aquamarine rose maroon antique 4 4 4 1698.66 7222.02 25 23 Manufacturer#2 almond aquamarine sandy cyan gainsboro 5 5 5 1701.6 8923.62 18 -7 Manufacturer#3 almond antique chartreuse khaki white 1 1 1 1671.68 1671.68 17 0 @@ -222,9 +222,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 1 1 1 1620.67 1620.67 10 Manufacturer#4 almond antique violet mint lemon 2 2 2 1375.42 2996.09 39 29 Manufacturer#4 almond aquamarine floral ivory bisque 3 3 3 1206.26 4202.35 27 -12 Manufacturer#4 almond aquamarine yellow dodger mint 4 4 4 1844.92 6047.27 7 -20 -Manufacturer#4 almond azure aquamarine papaya violet 5 5 5 1290.35 7337.620000000001 12 5 +Manufacturer#4 almond azure aquamarine papaya violet 5 5 5 1290.35 7337.62 12 5 Manufacturer#5 almond antique blue firebrick mint 1 1 1 1789.69 1789.69 31 0 -Manufacturer#5 almond antique medium spring khaki 2 2 2 1611.66 3401.3500000000004 6 -25 +Manufacturer#5 almond antique medium spring khaki 2 2 2 1611.66 3401.35 6 -25 Manufacturer#5 almond antique sky peru orange 3 3 3 1788.73 5190.08 2 -4 Manufacturer#5 almond aquamarine dodger light gainsboro 4 4 4 1018.1 6208.18 46 44 Manufacturer#5 almond azure blanched chiffon midnight 5 5 5 1464.48 7672.66 23 -23 @@ -234,7 +234,7 @@ from (select p_mfgr, p_name, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, count(p_size) over(distribute by p_mfgr sort by p_name) as cd, -p_retailprice, sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1, +p_retailprice, round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1, p_size, p_size - lag(p_size,1,p_size) over(distribute by p_mfgr sort by p_name) as deltaSz from part ) sub1 @@ -247,7 +247,7 @@ from (select p_mfgr, p_name, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, count(p_size) over(distribute by p_mfgr sort by p_name) as cd, -p_retailprice, sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1, +p_retailprice, round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1, p_size, p_size - lag(p_size,1,p_size) over(distribute by p_mfgr sort by p_name) as deltaSz from part ) sub1 @@ -262,29 +262,29 @@ POSTHOOK: Input: default@part 1 1 2 2346.3 0 2 2 2 2861.95 -3 2 2 2 2996.09 29 -2 2 2 3401.3500000000004 -25 +2 2 2 3401.35 -25 2 2 2 3491.38 26 3 2 3 4100.06 32 3 3 3 4202.35 -12 3 3 3 4272.34 5 3 3 3 5190.08 -4 -3 3 3 5523.360000000001 -38 -4 3 4 5702.650000000001 -28 +3 3 3 5523.36 -38 +4 3 4 5702.65 -28 4 4 4 6047.27 -20 4 4 4 6195.32 -18 4 4 4 6208.18 44 4 4 4 7222.02 23 -5 4 5 7117.070000000001 22 -5 5 5 7337.620000000001 5 +5 4 5 7117.07 22 +5 5 5 7337.62 5 5 5 5 7532.61 44 5 5 5 7672.66 -23 5 5 5 8923.62 -7 -6 5 6 8749.730000000001 14 +6 5 6 8749.73 14 PREHOOK: query: -- 7. testJoinWithWindowingAndPTF select abc.p_mfgr, abc.p_name, rank() over(distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over(distribute by abc.p_mfgr sort by abc.p_name) as dr, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over(distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part partition by p_mfgr @@ -297,7 +297,7 @@ POSTHOOK: query: -- 7. testJoinWithWindowingAndPTF select abc.p_mfgr, abc.p_name, rank() over(distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over(distribute by abc.p_mfgr sort by abc.p_name) as dr, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over(distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part partition by p_mfgr @@ -308,15 +308,15 @@ POSTHOOK: Input: default@part #### A masked pattern was here #### Manufacturer#1 almond antique burnished rose metallic 1 1 1173.15 1173.15 2 0 Manufacturer#1 almond antique burnished rose metallic 1 1 1173.15 2346.3 2 0 -Manufacturer#1 almond antique burnished rose metallic 1 1 1173.15 3519.4500000000003 2 0 +Manufacturer#1 almond antique burnished rose metallic 1 1 1173.15 3519.45 2 0 Manufacturer#1 almond antique burnished rose metallic 1 1 1173.15 4692.6 2 0 -Manufacturer#1 almond antique chartreuse lavender yellow 5 2 1753.76 6446.360000000001 34 32 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 3 1602.59 8048.950000000001 6 -28 +Manufacturer#1 almond antique chartreuse lavender yellow 5 2 1753.76 6446.36 34 32 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 3 1602.59 8048.95 6 -28 Manufacturer#1 almond aquamarine burnished black steel 7 4 1414.42 9463.37 28 22 Manufacturer#1 almond aquamarine pink moccasin thistle 8 5 1632.66 11096.03 42 14 Manufacturer#2 almond antique violet chocolate turquoise 1 1 1690.68 1690.68 14 0 Manufacturer#2 almond antique violet turquoise frosted 2 2 1800.7 3491.38 40 26 -Manufacturer#2 almond aquamarine midnight light salmon 3 3 2031.98 5523.360000000001 2 -38 +Manufacturer#2 almond aquamarine midnight light salmon 3 3 2031.98 5523.36 2 -38 Manufacturer#2 almond aquamarine rose maroon antique 4 4 1698.66 7222.02 25 23 Manufacturer#2 almond aquamarine sandy cyan gainsboro 5 5 1701.6 8923.62 18 -7 Manufacturer#3 almond antique chartreuse khaki white 1 1 1671.68 1671.68 17 0 @@ -328,9 +328,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 1 1 1620.67 1620.67 10 0 Manufacturer#4 almond antique violet mint lemon 2 2 1375.42 2996.09 39 29 Manufacturer#4 almond aquamarine floral ivory bisque 3 3 1206.26 4202.35 27 -12 Manufacturer#4 almond aquamarine yellow dodger mint 4 4 1844.92 6047.27 7 -20 -Manufacturer#4 almond azure aquamarine papaya violet 5 5 1290.35 7337.620000000001 12 5 +Manufacturer#4 almond azure aquamarine papaya violet 5 5 1290.35 7337.62 12 5 Manufacturer#5 almond antique blue firebrick mint 1 1 1789.69 1789.69 31 0 -Manufacturer#5 almond antique medium spring khaki 2 2 1611.66 3401.3500000000004 6 -25 +Manufacturer#5 almond antique medium spring khaki 2 2 1611.66 3401.35 6 -25 Manufacturer#5 almond antique sky peru orange 3 3 1788.73 5190.08 2 -4 Manufacturer#5 almond aquamarine dodger light gainsboro 4 4 1018.1 6208.18 46 44 Manufacturer#5 almond azure blanched chiffon midnight 5 5 1464.48 7672.66 23 -23 @@ -378,7 +378,7 @@ PREHOOK: query: -- 9. testHavingWithWindowingNoGBY select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -387,7 +387,7 @@ POSTHOOK: query: -- 9. testHavingWithWindowingNoGBY select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part @@ -395,12 +395,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -412,9 +412,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -422,7 +422,7 @@ PREHOOK: query: -- 10. testHavingWithWindowingCondRankNoGBY select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -431,7 +431,7 @@ POSTHOOK: query: -- 10. testHavingWithWindowingCondRankNoGBY select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part @@ -439,12 +439,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -456,9 +456,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -785,10 +785,10 @@ Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 2 PREHOOK: query: -- 18. testUDAFs select p_mfgr,p_name, p_size, -sum(p_retailprice) over w1 as s, +round(sum(p_retailprice) over w1,2) as s, min(p_retailprice) over w1 as mi, max(p_retailprice) over w1 as ma, -avg(p_retailprice) over w1 as ag +round(avg(p_retailprice) over w1,2) as ag from part window w1 as (distribute by p_mfgr sort by p_mfgr, p_name rows between 2 preceding and 2 following) PREHOOK: type: QUERY @@ -796,47 +796,47 @@ PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 18. testUDAFs select p_mfgr,p_name, p_size, -sum(p_retailprice) over w1 as s, +round(sum(p_retailprice) over w1,2) as s, min(p_retailprice) over w1 as mi, max(p_retailprice) over w1 as ma, -avg(p_retailprice) over w1 as ag +round(avg(p_retailprice) over w1,2) as ag from part window w1 as (distribute by p_mfgr sort by p_mfgr, p_name rows between 2 preceding and 2 following) POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### -Manufacturer#1 almond antique burnished rose metallic 2 4100.06 1173.15 1753.76 1366.6866666666667 -Manufacturer#1 almond antique burnished rose metallic 2 5702.650000000001 1173.15 1753.76 1425.6625000000001 -Manufacturer#1 almond antique chartreuse lavender yellow 34 7117.070000000001 1173.15 1753.76 1423.4140000000002 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 7576.580000000002 1173.15 1753.76 1515.3160000000003 -Manufacturer#1 almond aquamarine burnished black steel 28 6403.430000000001 1414.42 1753.76 1600.8575000000003 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 4649.670000000001 1414.42 1632.66 1549.8900000000003 -Manufacturer#2 almond antique violet chocolate turquoise 14 5523.360000000001 1690.68 2031.98 1841.1200000000001 -Manufacturer#2 almond antique violet turquoise frosted 40 7222.02 1690.68 2031.98 1805.505 -Manufacturer#2 almond aquamarine midnight light salmon 2 8923.62 1690.68 2031.98 1784.7240000000002 -Manufacturer#2 almond aquamarine rose maroon antique 25 7232.9400000000005 1698.66 2031.98 1808.2350000000001 -Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5432.240000000001 1698.66 2031.98 1810.746666666667 -Manufacturer#3 almond antique chartreuse khaki white 17 4272.34 1190.27 1671.68 1424.1133333333335 +Manufacturer#1 almond antique burnished rose metallic 2 4100.06 1173.15 1753.76 1366.69 +Manufacturer#1 almond antique burnished rose metallic 2 5702.65 1173.15 1753.76 1425.66 +Manufacturer#1 almond antique chartreuse lavender yellow 34 7117.07 1173.15 1753.76 1423.41 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 7576.58 1173.15 1753.76 1515.32 +Manufacturer#1 almond aquamarine burnished black steel 28 6403.43 1414.42 1753.76 1600.86 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 4649.67 1414.42 1632.66 1549.89 +Manufacturer#2 almond antique violet chocolate turquoise 14 5523.36 1690.68 2031.98 1841.12 +Manufacturer#2 almond antique violet turquoise frosted 40 7222.02 1690.68 2031.98 1805.51 +Manufacturer#2 almond aquamarine midnight light salmon 2 8923.62 1690.68 2031.98 1784.72 +Manufacturer#2 almond aquamarine rose maroon antique 25 7232.94 1698.66 2031.98 1808.24 +Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5432.24 1698.66 2031.98 1810.75 +Manufacturer#3 almond antique chartreuse khaki white 17 4272.34 1190.27 1671.68 1424.11 Manufacturer#3 almond antique forest lavender goldenrod 14 6195.32 1190.27 1922.98 1548.83 -Manufacturer#3 almond antique metallic orange dim 19 7532.61 1190.27 1922.98 1506.522 -Manufacturer#3 almond antique misty red olive 1 5860.929999999999 1190.27 1922.98 1465.2324999999998 -Manufacturer#3 almond antique olive coral navajo 45 4670.66 1337.29 1922.98 1556.8866666666665 -Manufacturer#4 almond antique gainsboro frosted violet 10 4202.35 1206.26 1620.67 1400.7833333333335 -Manufacturer#4 almond antique violet mint lemon 39 6047.27 1206.26 1844.92 1511.8175 -Manufacturer#4 almond aquamarine floral ivory bisque 27 7337.620000000001 1206.26 1844.92 1467.5240000000001 -Manufacturer#4 almond aquamarine yellow dodger mint 7 5716.950000000001 1206.26 1844.92 1429.2375000000002 -Manufacturer#4 almond azure aquamarine papaya violet 12 4341.530000000001 1206.26 1844.92 1447.176666666667 -Manufacturer#5 almond antique blue firebrick mint 31 5190.08 1611.66 1789.69 1730.0266666666666 -Manufacturer#5 almond antique medium spring khaki 6 6208.18 1018.1 1789.69 1552.045 -Manufacturer#5 almond antique sky peru orange 2 7672.66 1018.1 1789.69 1534.532 -Manufacturer#5 almond aquamarine dodger light gainsboro 46 5882.969999999999 1018.1 1788.73 1470.7424999999998 -Manufacturer#5 almond azure blanched chiffon midnight 23 4271.3099999999995 1018.1 1788.73 1423.7699999999998 +Manufacturer#3 almond antique metallic orange dim 19 7532.61 1190.27 1922.98 1506.52 +Manufacturer#3 almond antique misty red olive 1 5860.93 1190.27 1922.98 1465.23 +Manufacturer#3 almond antique olive coral navajo 45 4670.66 1337.29 1922.98 1556.89 +Manufacturer#4 almond antique gainsboro frosted violet 10 4202.35 1206.26 1620.67 1400.78 +Manufacturer#4 almond antique violet mint lemon 39 6047.27 1206.26 1844.92 1511.82 +Manufacturer#4 almond aquamarine floral ivory bisque 27 7337.62 1206.26 1844.92 1467.52 +Manufacturer#4 almond aquamarine yellow dodger mint 7 5716.95 1206.26 1844.92 1429.24 +Manufacturer#4 almond azure aquamarine papaya violet 12 4341.53 1206.26 1844.92 1447.18 +Manufacturer#5 almond antique blue firebrick mint 31 5190.08 1611.66 1789.69 1730.03 +Manufacturer#5 almond antique medium spring khaki 6 6208.18 1018.1 1789.69 1552.05 +Manufacturer#5 almond antique sky peru orange 2 7672.66 1018.1 1789.69 1534.53 +Manufacturer#5 almond aquamarine dodger light gainsboro 46 5882.97 1018.1 1788.73 1470.74 +Manufacturer#5 almond azure blanched chiffon midnight 23 4271.31 1018.1 1788.73 1423.77 PREHOOK: query: -- 19. testUDAFsWithGBY select p_mfgr,p_name, p_size, p_retailprice, -sum(p_retailprice) over w1 as s, +round(sum(p_retailprice) over w1,2) as s, min(p_retailprice) as mi , max(p_retailprice) as ma , -avg(p_retailprice) over w1 as ag +round(avg(p_retailprice) over w1,2) as ag from part group by p_mfgr,p_name, p_size, p_retailprice window w1 as (distribute by p_mfgr sort by p_mfgr, p_name rows between 2 preceding and 2 following) @@ -845,41 +845,41 @@ PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 19. testUDAFsWithGBY select p_mfgr,p_name, p_size, p_retailprice, -sum(p_retailprice) over w1 as s, +round(sum(p_retailprice) over w1,2) as s, min(p_retailprice) as mi , max(p_retailprice) as ma , -avg(p_retailprice) over w1 as ag +round(avg(p_retailprice) over w1,2) as ag from part group by p_mfgr,p_name, p_size, p_retailprice window w1 as (distribute by p_mfgr sort by p_mfgr, p_name rows between 2 preceding and 2 following) POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### -Manufacturer#1 almond antique burnished rose metallic 2 1173.15 4529.5 1173.15 1173.15 1509.8333333333333 +Manufacturer#1 almond antique burnished rose metallic 2 1173.15 4529.5 1173.15 1173.15 1509.83 Manufacturer#1 almond antique chartreuse lavender yellow 34 1753.76 5943.92 1753.76 1753.76 1485.98 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 1602.59 7576.58 1602.59 1602.59 1515.316 -Manufacturer#1 almond aquamarine burnished black steel 28 1414.42 6403.43 1414.42 1414.42 1600.8575 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 1602.59 7576.58 1602.59 1602.59 1515.32 +Manufacturer#1 almond aquamarine burnished black steel 28 1414.42 6403.43 1414.42 1414.42 1600.86 Manufacturer#1 almond aquamarine pink moccasin thistle 42 1632.66 4649.67 1632.66 1632.66 1549.89 -Manufacturer#2 almond antique violet chocolate turquoise 14 1690.68 5523.360000000001 1690.68 1690.68 1841.1200000000001 -Manufacturer#2 almond antique violet turquoise frosted 40 1800.7 7222.02 1800.7 1800.7 1805.505 -Manufacturer#2 almond aquamarine midnight light salmon 2 2031.98 8923.62 2031.98 2031.98 1784.7240000000002 -Manufacturer#2 almond aquamarine rose maroon antique 25 1698.66 7232.9400000000005 1698.66 1698.66 1808.2350000000001 -Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 1701.6 5432.240000000001 1701.6 1701.6 1810.746666666667 -Manufacturer#3 almond antique chartreuse khaki white 17 1671.68 4272.34 1671.68 1671.68 1424.1133333333335 +Manufacturer#2 almond antique violet chocolate turquoise 14 1690.68 5523.36 1690.68 1690.68 1841.12 +Manufacturer#2 almond antique violet turquoise frosted 40 1800.7 7222.02 1800.7 1800.7 1805.51 +Manufacturer#2 almond aquamarine midnight light salmon 2 2031.98 8923.62 2031.98 2031.98 1784.72 +Manufacturer#2 almond aquamarine rose maroon antique 25 1698.66 7232.94 1698.66 1698.66 1808.24 +Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 1701.6 5432.24 1701.6 1701.6 1810.75 +Manufacturer#3 almond antique chartreuse khaki white 17 1671.68 4272.34 1671.68 1671.68 1424.11 Manufacturer#3 almond antique forest lavender goldenrod 14 1190.27 6195.32 1190.27 1190.27 1548.83 -Manufacturer#3 almond antique metallic orange dim 19 1410.39 7532.61 1410.39 1410.39 1506.522 -Manufacturer#3 almond antique misty red olive 1 1922.98 5860.929999999999 1922.98 1922.98 1465.2324999999998 -Manufacturer#3 almond antique olive coral navajo 45 1337.29 4670.66 1337.29 1337.29 1556.8866666666665 -Manufacturer#4 almond antique gainsboro frosted violet 10 1620.67 4202.35 1620.67 1620.67 1400.7833333333335 -Manufacturer#4 almond antique violet mint lemon 39 1375.42 6047.27 1375.42 1375.42 1511.8175 -Manufacturer#4 almond aquamarine floral ivory bisque 27 1206.26 7337.620000000001 1206.26 1206.26 1467.5240000000001 -Manufacturer#4 almond aquamarine yellow dodger mint 7 1844.92 5716.950000000001 1844.92 1844.92 1429.2375000000002 -Manufacturer#4 almond azure aquamarine papaya violet 12 1290.35 4341.530000000001 1290.35 1290.35 1447.176666666667 -Manufacturer#5 almond antique blue firebrick mint 31 1789.69 5190.08 1789.69 1789.69 1730.0266666666666 -Manufacturer#5 almond antique medium spring khaki 6 1611.66 6208.18 1611.66 1611.66 1552.045 -Manufacturer#5 almond antique sky peru orange 2 1788.73 7672.66 1788.73 1788.73 1534.532 -Manufacturer#5 almond aquamarine dodger light gainsboro 46 1018.1 5882.969999999999 1018.1 1018.1 1470.7424999999998 -Manufacturer#5 almond azure blanched chiffon midnight 23 1464.48 4271.3099999999995 1464.48 1464.48 1423.7699999999998 +Manufacturer#3 almond antique metallic orange dim 19 1410.39 7532.61 1410.39 1410.39 1506.52 +Manufacturer#3 almond antique misty red olive 1 1922.98 5860.93 1922.98 1922.98 1465.23 +Manufacturer#3 almond antique olive coral navajo 45 1337.29 4670.66 1337.29 1337.29 1556.89 +Manufacturer#4 almond antique gainsboro frosted violet 10 1620.67 4202.35 1620.67 1620.67 1400.78 +Manufacturer#4 almond antique violet mint lemon 39 1375.42 6047.27 1375.42 1375.42 1511.82 +Manufacturer#4 almond aquamarine floral ivory bisque 27 1206.26 7337.62 1206.26 1206.26 1467.52 +Manufacturer#4 almond aquamarine yellow dodger mint 7 1844.92 5716.95 1844.92 1844.92 1429.24 +Manufacturer#4 almond azure aquamarine papaya violet 12 1290.35 4341.53 1290.35 1290.35 1447.18 +Manufacturer#5 almond antique blue firebrick mint 31 1789.69 5190.08 1789.69 1789.69 1730.03 +Manufacturer#5 almond antique medium spring khaki 6 1611.66 6208.18 1611.66 1611.66 1552.05 +Manufacturer#5 almond antique sky peru orange 2 1788.73 7672.66 1788.73 1788.73 1534.53 +Manufacturer#5 almond aquamarine dodger light gainsboro 46 1018.1 5882.97 1018.1 1018.1 1470.74 +Manufacturer#5 almond azure blanched chiffon midnight 23 1464.48 4271.31 1464.48 1464.48 1423.77 PREHOOK: query: -- 20. testSTATs select p_mfgr,p_name, p_size, stddev(p_retailprice) over w1 as sdev, @@ -1073,7 +1073,7 @@ Manufacturer#5 Brand#53 2806.83 7672.66 PREHOOK: query: -- 23. testCreateViewWithWindowingQuery create view IF NOT EXISTS mfgr_brand_price_view as select p_mfgr, p_brand, -sum(p_retailprice) over w1 as s +round(sum(p_retailprice) over w1,2) as s from part window w1 as (distribute by p_mfgr sort by p_name rows between 2 preceding and current row) PREHOOK: type: CREATEVIEW @@ -1083,7 +1083,7 @@ PREHOOK: Output: default@mfgr_brand_price_view POSTHOOK: query: -- 23. testCreateViewWithWindowingQuery create view IF NOT EXISTS mfgr_brand_price_view as select p_mfgr, p_brand, -sum(p_retailprice) over w1 as s +round(sum(p_retailprice) over w1,2) as s from part window w1 as (distribute by p_mfgr sort by p_name rows between 2 preceding and current row) POSTHOOK: type: CREATEVIEW @@ -1101,29 +1101,29 @@ POSTHOOK: Input: default@mfgr_brand_price_view POSTHOOK: Input: default@part #### A masked pattern was here #### Manufacturer#1 Brand#12 4100.06 -Manufacturer#1 Brand#12 4649.670000000001 +Manufacturer#1 Brand#12 4649.67 Manufacturer#1 Brand#12 4770.77 Manufacturer#1 Brand#14 1173.15 Manufacturer#1 Brand#14 2346.3 Manufacturer#1 Brand#15 4529.5 Manufacturer#2 Brand#22 1690.68 Manufacturer#2 Brand#22 3491.38 -Manufacturer#2 Brand#23 5523.360000000001 +Manufacturer#2 Brand#23 5523.36 Manufacturer#2 Brand#24 5531.34 -Manufacturer#2 Brand#25 5432.240000000001 +Manufacturer#2 Brand#25 5432.24 Manufacturer#3 Brand#31 1671.68 Manufacturer#3 Brand#32 4272.34 -Manufacturer#3 Brand#32 4523.639999999999 +Manufacturer#3 Brand#32 4523.64 Manufacturer#3 Brand#34 4670.66 Manufacturer#3 Brand#35 2861.95 Manufacturer#4 Brand#41 1620.67 -Manufacturer#4 Brand#41 4341.530000000001 +Manufacturer#4 Brand#41 4341.53 Manufacturer#4 Brand#41 4426.6 Manufacturer#4 Brand#42 2996.09 Manufacturer#4 Brand#42 4202.35 -Manufacturer#5 Brand#51 3401.3500000000004 +Manufacturer#5 Brand#51 3401.35 Manufacturer#5 Brand#52 1789.69 -Manufacturer#5 Brand#52 4271.3099999999995 +Manufacturer#5 Brand#52 4271.31 Manufacturer#5 Brand#53 4418.49 Manufacturer#5 Brand#53 5190.08 PREHOOK: query: -- 24. testLateralViews @@ -1293,7 +1293,7 @@ INSERT OVERWRITE TABLE part_1 select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name ) as r, dense_rank() over(distribute by p_mfgr sort by p_name ) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_2 select p_mfgr,p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, @@ -1318,7 +1318,7 @@ INSERT OVERWRITE TABLE part_1 select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name ) as r, dense_rank() over(distribute by p_mfgr sort by p_name ) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_2 select p_mfgr,p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, @@ -1369,12 +1369,12 @@ POSTHOOK: Input: default@part_1 Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -1386,9 +1386,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -1887,8 +1887,9 @@ window w1 as (distribute by p_mfgr sort by p_name rows between 2 preceding and 2 POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### -Manufacturer#1 almond antique burnished rose metallic 2 42 -Manufacturer#1 almond antique chartreuse lavender yellow 34 70 +Manufacturer#1 almond antique burnished rose metallic 2 38 +Manufacturer#1 almond antique burnished rose metallic 2 44 +Manufacturer#1 almond antique chartreuse lavender yellow 34 72 Manufacturer#1 almond antique salmon chartreuse burlywood 6 112 Manufacturer#1 almond aquamarine burnished black steel 28 110 Manufacturer#1 almond aquamarine pink moccasin thistle 42 76 @@ -2002,7 +2003,7 @@ Manufacturer#5 7672.66 1018.1 1789.69 1534.53 5 Manufacturer#5 7672.66 1018.1 1789.69 1534.53 5 PREHOOK: query: -- 38. testPartitioningVariousForms2 select p_mfgr, p_name, p_size, -sum(p_retailprice) over (partition by p_mfgr, p_name order by p_mfgr, p_name rows between unbounded preceding and current row) as s1, +round(sum(p_retailprice) over (partition by p_mfgr, p_name order by p_mfgr, p_name rows between unbounded preceding and current row),2) as s1, min(p_retailprice) over (distribute by p_mfgr, p_name sort by p_mfgr, p_name rows between unbounded preceding and current row) as s2, max(p_retailprice) over (partition by p_mfgr, p_name order by p_name) as s3 from part @@ -2011,7 +2012,7 @@ PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 38. testPartitioningVariousForms2 select p_mfgr, p_name, p_size, -sum(p_retailprice) over (partition by p_mfgr, p_name order by p_mfgr, p_name rows between unbounded preceding and current row) as s1, +round(sum(p_retailprice) over (partition by p_mfgr, p_name order by p_mfgr, p_name rows between unbounded preceding and current row),2) as s1, min(p_retailprice) over (distribute by p_mfgr, p_name sort by p_mfgr, p_name rows between unbounded preceding and current row) as s2, max(p_retailprice) over (partition by p_mfgr, p_name order by p_name) as s3 from part @@ -2086,14 +2087,14 @@ Manufacturer#5 SMALL PLATED BRASS MALL PLATED BRASS 4 Manufacturer#5 STANDARD BURNISHED TIN TANDARD BURNISHED TIN 5 PREHOOK: query: -- 40. testNoBetweenForRows select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows unbounded preceding) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows unbounded preceding),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 40. testNoBetweenForRows select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows unbounded preceding) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows unbounded preceding),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part @@ -2101,12 +2102,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1671.68 @@ -2118,32 +2119,32 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 3401.35 Manufacturer#5 almond antique sky peru orange 2 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 7672.66 PREHOOK: query: -- 41. testNoBetweenForRange select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_size range unbounded preceding) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_size range unbounded preceding),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 41. testNoBetweenForRange select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_size range unbounded preceding) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_size range unbounded preceding),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### Manufacturer#1 almond antique burnished rose metallic 2 2346.3 Manufacturer#1 almond antique burnished rose metallic 2 2346.3 -Manufacturer#1 almond antique chartreuse lavender yellow 34 7117.070000000001 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 3948.8900000000003 +Manufacturer#1 almond antique chartreuse lavender yellow 34 7117.07 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 3948.89 Manufacturer#1 almond aquamarine burnished black steel 28 5363.31 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 8749.730000000001 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 3722.66 Manufacturer#2 almond antique violet turquoise frosted 40 8923.62 Manufacturer#2 almond aquamarine midnight light salmon 2 2031.98 @@ -2151,97 +2152,97 @@ Manufacturer#2 almond aquamarine rose maroon antique 25 7122.92 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5424.26 Manufacturer#3 almond antique chartreuse khaki white 17 4784.93 Manufacturer#3 almond antique forest lavender goldenrod 14 3113.25 -Manufacturer#3 almond antique metallic orange dim 19 6195.320000000001 +Manufacturer#3 almond antique metallic orange dim 19 6195.32 Manufacturer#3 almond antique misty red olive 1 1922.98 -Manufacturer#3 almond antique olive coral navajo 45 7532.610000000001 +Manufacturer#3 almond antique olive coral navajo 45 7532.61 Manufacturer#4 almond antique gainsboro frosted violet 10 3465.59 -Manufacturer#4 almond antique violet mint lemon 39 7337.620000000001 -Manufacturer#4 almond aquamarine floral ivory bisque 27 5962.200000000001 +Manufacturer#4 almond antique violet mint lemon 39 7337.62 +Manufacturer#4 almond aquamarine floral ivory bisque 27 5962.2 Manufacturer#4 almond aquamarine yellow dodger mint 7 1844.92 -Manufacturer#4 almond azure aquamarine papaya violet 12 4755.9400000000005 -Manufacturer#5 almond antique blue firebrick mint 31 6654.560000000001 -Manufacturer#5 almond antique medium spring khaki 6 3400.3900000000003 +Manufacturer#4 almond azure aquamarine papaya violet 12 4755.94 +Manufacturer#5 almond antique blue firebrick mint 31 6654.56 +Manufacturer#5 almond antique medium spring khaki 6 3400.39 Manufacturer#5 almond antique sky peru orange 2 1788.73 -Manufacturer#5 almond aquamarine dodger light gainsboro 46 7672.660000000002 -Manufacturer#5 almond azure blanched chiffon midnight 23 4864.870000000001 +Manufacturer#5 almond aquamarine dodger light gainsboro 46 7672.66 +Manufacturer#5 almond azure blanched chiffon midnight 23 4864.87 PREHOOK: query: -- 42. testUnboundedFollowingForRows select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between current row and unbounded following) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between current row and unbounded following),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 42. testUnboundedFollowingForRows select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between current row and unbounded following) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between current row and unbounded following),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### Manufacturer#1 almond antique burnished rose metallic 2 7576.58 -Manufacturer#1 almond antique burnished rose metallic 2 8749.730000000001 +Manufacturer#1 almond antique burnished rose metallic 2 8749.73 Manufacturer#1 almond antique chartreuse lavender yellow 34 6403.43 Manufacturer#1 almond antique salmon chartreuse burlywood 6 4649.67 Manufacturer#1 almond aquamarine burnished black steel 28 3047.08 Manufacturer#1 almond aquamarine pink moccasin thistle 42 1632.66 Manufacturer#2 almond antique violet chocolate turquoise 14 8923.62 -Manufacturer#2 almond antique violet turquoise frosted 40 7232.9400000000005 +Manufacturer#2 almond antique violet turquoise frosted 40 7232.94 Manufacturer#2 almond aquamarine midnight light salmon 2 5432.24 Manufacturer#2 almond aquamarine rose maroon antique 25 3400.26 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 1701.6 Manufacturer#3 almond antique chartreuse khaki white 17 7532.61 -Manufacturer#3 almond antique forest lavender goldenrod 14 5860.929999999999 +Manufacturer#3 almond antique forest lavender goldenrod 14 5860.93 Manufacturer#3 almond antique metallic orange dim 19 4670.66 Manufacturer#3 almond antique misty red olive 1 3260.27 Manufacturer#3 almond antique olive coral navajo 45 1337.29 -Manufacturer#4 almond antique gainsboro frosted violet 10 7337.620000000001 -Manufacturer#4 almond antique violet mint lemon 39 5716.950000000001 -Manufacturer#4 almond aquamarine floral ivory bisque 27 4341.530000000001 +Manufacturer#4 almond antique gainsboro frosted violet 10 7337.62 +Manufacturer#4 almond antique violet mint lemon 39 5716.95 +Manufacturer#4 almond aquamarine floral ivory bisque 27 4341.53 Manufacturer#4 almond aquamarine yellow dodger mint 7 3135.27 Manufacturer#4 almond azure aquamarine papaya violet 12 1290.35 Manufacturer#5 almond antique blue firebrick mint 31 7672.66 -Manufacturer#5 almond antique medium spring khaki 6 5882.970000000001 -Manufacturer#5 almond antique sky peru orange 2 4271.3099999999995 +Manufacturer#5 almond antique medium spring khaki 6 5882.97 +Manufacturer#5 almond antique sky peru orange 2 4271.31 Manufacturer#5 almond aquamarine dodger light gainsboro 46 2482.58 Manufacturer#5 almond azure blanched chiffon midnight 23 1464.48 PREHOOK: query: -- 43. testUnboundedFollowingForRange select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_size range between current row and unbounded following) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_size range between current row and unbounded following),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 43. testUnboundedFollowingForRange select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_size range between current row and unbounded following) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_size range between current row and unbounded following),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### -Manufacturer#1 almond antique burnished rose metallic 2 8749.730000000001 -Manufacturer#1 almond antique burnished rose metallic 2 8749.730000000001 +Manufacturer#1 almond antique burnished rose metallic 2 8749.73 +Manufacturer#1 almond antique burnished rose metallic 2 8749.73 Manufacturer#1 almond antique chartreuse lavender yellow 34 3386.42 Manufacturer#1 almond antique salmon chartreuse burlywood 6 6403.43 Manufacturer#1 almond aquamarine burnished black steel 28 4800.84 Manufacturer#1 almond aquamarine pink moccasin thistle 42 1632.66 -Manufacturer#2 almond antique violet chocolate turquoise 14 6891.639999999999 +Manufacturer#2 almond antique violet chocolate turquoise 14 6891.64 Manufacturer#2 almond antique violet turquoise frosted 40 1800.7 Manufacturer#2 almond aquamarine midnight light salmon 2 8923.62 Manufacturer#2 almond aquamarine rose maroon antique 25 3499.36 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5200.96 -Manufacturer#3 almond antique chartreuse khaki white 17 4419.360000000001 +Manufacturer#3 almond antique chartreuse khaki white 17 4419.36 Manufacturer#3 almond antique forest lavender goldenrod 14 5609.63 -Manufacturer#3 almond antique metallic orange dim 19 2747.6800000000003 -Manufacturer#3 almond antique misty red olive 1 7532.610000000001 +Manufacturer#3 almond antique metallic orange dim 19 2747.68 +Manufacturer#3 almond antique misty red olive 1 7532.61 Manufacturer#3 almond antique olive coral navajo 45 1337.29 Manufacturer#4 almond antique gainsboro frosted violet 10 5492.7 Manufacturer#4 almond antique violet mint lemon 39 1375.42 -Manufacturer#4 almond aquamarine floral ivory bisque 27 2581.6800000000003 -Manufacturer#4 almond aquamarine yellow dodger mint 7 7337.620000000001 -Manufacturer#4 almond azure aquamarine papaya violet 12 3872.0299999999997 +Manufacturer#4 almond aquamarine floral ivory bisque 27 2581.68 +Manufacturer#4 almond aquamarine yellow dodger mint 7 7337.62 +Manufacturer#4 almond azure aquamarine papaya violet 12 3872.03 Manufacturer#5 almond antique blue firebrick mint 31 2807.79 Manufacturer#5 almond antique medium spring khaki 6 5883.93 -Manufacturer#5 almond antique sky peru orange 2 7672.660000000002 +Manufacturer#5 almond antique sky peru orange 2 7672.66 Manufacturer#5 almond aquamarine dodger light gainsboro 46 1018.1 Manufacturer#5 almond azure blanched chiffon midnight 23 4272.27 PREHOOK: query: -- 44. testOverNoPartitionSingleAggregate @@ -2303,27 +2304,27 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### PREHOOK: query: -- 46. window sz is same as partition sz -select p_retailprice, avg(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following), -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following) +select p_retailprice, round(avg(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following),2), +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following),2) from part where p_mfgr='Manufacturer#1' PREHOOK: type: QUERY PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 46. window sz is same as partition sz -select p_retailprice, avg(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following), -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following) +select p_retailprice, round(avg(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following),2), +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following),2) from part where p_mfgr='Manufacturer#1' POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### -1173.15 1458.2883333333336 8749.730000000001 -1173.15 1515.3160000000003 7576.580000000002 -1414.42 1523.5400000000004 3047.080000000001 -1602.59 1549.8900000000003 4649.670000000001 -1632.66 1632.6600000000008 1632.6600000000008 -1753.76 1600.8575000000003 6403.430000000001 +1173.15 1458.29 8749.73 +1173.15 1515.32 7576.58 +1414.42 1523.54 3047.08 +1602.59 1549.89 4649.67 +1632.66 1632.66 1632.66 +1753.76 1600.86 6403.43 PREHOOK: query: -- 47. empty partition select sum(p_size) over (partition by p_mfgr ) from part where p_mfgr = 'm1' diff --git a/ql/src/test/results/clientpositive/leadlag.q.out b/ql/src/test/results/clientpositive/leadlag.q.out index 86718ae..77eaeff 100644 --- a/ql/src/test/results/clientpositive/leadlag.q.out +++ b/ql/src/test/results/clientpositive/leadlag.q.out @@ -200,28 +200,28 @@ Manufacturer#1 almond antique burnished rose metallic 2 32 Manufacturer#1 almond antique burnished rose metallic 2 4 Manufacturer#1 almond antique chartreuse lavender yellow 34 26 Manufacturer#1 almond antique salmon chartreuse burlywood 6 40 -Manufacturer#1 almond aquamarine burnished black steel 28 8 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 36 +Manufacturer#1 almond aquamarine burnished black steel 28 40 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 8 Manufacturer#2 almond antique violet chocolate turquoise 14 -12 Manufacturer#2 almond antique violet turquoise frosted 40 11 Manufacturer#2 almond aquamarine midnight light salmon 2 4 -Manufacturer#2 almond aquamarine rose maroon antique 25 -22 -Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 16 +Manufacturer#2 almond aquamarine rose maroon antique 25 4 +Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 -22 Manufacturer#3 almond antique chartreuse khaki white 17 2 Manufacturer#3 almond antique forest lavender goldenrod 14 -16 Manufacturer#3 almond antique metallic orange dim 19 28 -Manufacturer#3 almond antique misty red olive 1 31 -Manufacturer#3 almond antique olive coral navajo 45 26 +Manufacturer#3 almond antique misty red olive 1 28 +Manufacturer#3 almond antique olive coral navajo 45 31 Manufacturer#4 almond antique gainsboro frosted violet 10 17 Manufacturer#4 almond antique violet mint lemon 39 -3 Manufacturer#4 almond aquamarine floral ivory bisque 27 2 -Manufacturer#4 almond aquamarine yellow dodger mint 7 -27 -Manufacturer#4 almond azure aquamarine papaya violet 12 -15 +Manufacturer#4 almond aquamarine yellow dodger mint 7 2 +Manufacturer#4 almond azure aquamarine papaya violet 12 -27 Manufacturer#5 almond antique blue firebrick mint 31 -29 Manufacturer#5 almond antique medium spring khaki 6 15 Manufacturer#5 almond antique sky peru orange 2 -8 -Manufacturer#5 almond aquamarine dodger light gainsboro 46 17 -Manufacturer#5 almond azure blanched chiffon midnight 23 21 +Manufacturer#5 almond aquamarine dodger light gainsboro 46 -8 +Manufacturer#5 almond azure blanched chiffon midnight 23 17 PREHOOK: query: -- 6. testRankInLead -- disable cbo because of CALCITE-653 diff --git a/ql/src/test/results/clientpositive/llap/cbo_rp_windowing_2.q.out b/ql/src/test/results/clientpositive/llap/cbo_rp_windowing_2.q.out index 3434336..db68276 100644 --- a/ql/src/test/results/clientpositive/llap/cbo_rp_windowing_2.q.out +++ b/ql/src/test/results/clientpositive/llap/cbo_rp_windowing_2.q.out @@ -4,7 +4,7 @@ PREHOOK: query: -- SORT_QUERY_RESULTS select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -15,7 +15,7 @@ POSTHOOK: query: -- SORT_QUERY_RESULTS select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part @@ -23,12 +23,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -40,9 +40,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -185,7 +185,7 @@ select p_mfgr, p_name, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, count(p_size) over(distribute by p_mfgr sort by p_name) as cd, -p_retailprice, sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1, +p_retailprice, round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1, p_size, p_size - lag(p_size,1,p_size) over(distribute by p_mfgr sort by p_name) as deltaSz from part PREHOOK: type: QUERY @@ -196,7 +196,7 @@ select p_mfgr, p_name, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, count(p_size) over(distribute by p_mfgr sort by p_name) as cd, -p_retailprice, sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1, +p_retailprice, round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1, p_size, p_size - lag(p_size,1,p_size) over(distribute by p_mfgr sort by p_name) as deltaSz from part POSTHOOK: type: QUERY @@ -205,12 +205,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 1 1 2 1173.15 1173.15 2 0 Manufacturer#1 almond antique burnished rose metallic 1 1 2 1173.15 2346.3 2 0 Manufacturer#1 almond antique chartreuse lavender yellow 3 2 3 1753.76 4100.06 34 32 -Manufacturer#1 almond antique salmon chartreuse burlywood 4 3 4 1602.59 5702.650000000001 6 -28 -Manufacturer#1 almond aquamarine burnished black steel 5 4 5 1414.42 7117.070000000001 28 22 -Manufacturer#1 almond aquamarine pink moccasin thistle 6 5 6 1632.66 8749.730000000001 42 14 +Manufacturer#1 almond antique salmon chartreuse burlywood 4 3 4 1602.59 5702.65 6 -28 +Manufacturer#1 almond aquamarine burnished black steel 5 4 5 1414.42 7117.07 28 22 +Manufacturer#1 almond aquamarine pink moccasin thistle 6 5 6 1632.66 8749.73 42 14 Manufacturer#2 almond antique violet chocolate turquoise 1 1 1 1690.68 1690.68 14 0 Manufacturer#2 almond antique violet turquoise frosted 2 2 2 1800.7 3491.38 40 26 -Manufacturer#2 almond aquamarine midnight light salmon 3 3 3 2031.98 5523.360000000001 2 -38 +Manufacturer#2 almond aquamarine midnight light salmon 3 3 3 2031.98 5523.36 2 -38 Manufacturer#2 almond aquamarine rose maroon antique 4 4 4 1698.66 7222.02 25 23 Manufacturer#2 almond aquamarine sandy cyan gainsboro 5 5 5 1701.6 8923.62 18 -7 Manufacturer#3 almond antique chartreuse khaki white 1 1 1 1671.68 1671.68 17 0 @@ -222,9 +222,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 1 1 1 1620.67 1620.67 10 Manufacturer#4 almond antique violet mint lemon 2 2 2 1375.42 2996.09 39 29 Manufacturer#4 almond aquamarine floral ivory bisque 3 3 3 1206.26 4202.35 27 -12 Manufacturer#4 almond aquamarine yellow dodger mint 4 4 4 1844.92 6047.27 7 -20 -Manufacturer#4 almond azure aquamarine papaya violet 5 5 5 1290.35 7337.620000000001 12 5 +Manufacturer#4 almond azure aquamarine papaya violet 5 5 5 1290.35 7337.62 12 5 Manufacturer#5 almond antique blue firebrick mint 1 1 1 1789.69 1789.69 31 0 -Manufacturer#5 almond antique medium spring khaki 2 2 2 1611.66 3401.3500000000004 6 -25 +Manufacturer#5 almond antique medium spring khaki 2 2 2 1611.66 3401.35 6 -25 Manufacturer#5 almond antique sky peru orange 3 3 3 1788.73 5190.08 2 -4 Manufacturer#5 almond aquamarine dodger light gainsboro 4 4 4 1018.1 6208.18 46 44 Manufacturer#5 almond azure blanched chiffon midnight 5 5 5 1464.48 7672.66 23 -23 @@ -234,7 +234,7 @@ from (select p_mfgr, p_name, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, count(p_size) over(distribute by p_mfgr sort by p_name) as cd, -p_retailprice, sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1, +p_retailprice, round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1, p_size, p_size - lag(p_size,1,p_size) over(distribute by p_mfgr sort by p_name) as deltaSz from part ) sub1 @@ -247,7 +247,7 @@ from (select p_mfgr, p_name, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, count(p_size) over(distribute by p_mfgr sort by p_name) as cd, -p_retailprice, sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1, +p_retailprice, round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1, p_size, p_size - lag(p_size,1,p_size) over(distribute by p_mfgr sort by p_name) as deltaSz from part ) sub1 @@ -262,29 +262,29 @@ POSTHOOK: Input: default@part 1 1 2 2346.3 0 2 2 2 2861.95 -3 2 2 2 2996.09 29 -2 2 2 3401.3500000000004 -25 +2 2 2 3401.35 -25 2 2 2 3491.38 26 3 2 3 4100.06 32 3 3 3 4202.35 -12 3 3 3 4272.34 5 3 3 3 5190.08 -4 -3 3 3 5523.360000000001 -38 -4 3 4 5702.650000000001 -28 +3 3 3 5523.36 -38 +4 3 4 5702.65 -28 4 4 4 6047.27 -20 4 4 4 6195.32 -18 4 4 4 6208.18 44 4 4 4 7222.02 23 -5 4 5 7117.070000000001 22 -5 5 5 7337.620000000001 5 +5 4 5 7117.07 22 +5 5 5 7337.62 5 5 5 5 7532.61 44 5 5 5 7672.66 -23 5 5 5 8923.62 -7 -6 5 6 8749.730000000001 14 +6 5 6 8749.73 14 PREHOOK: query: -- 7. testJoinWithWindowingAndPTF select abc.p_mfgr, abc.p_name, rank() over(distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over(distribute by abc.p_mfgr sort by abc.p_name) as dr, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over(distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part partition by p_mfgr @@ -297,7 +297,7 @@ POSTHOOK: query: -- 7. testJoinWithWindowingAndPTF select abc.p_mfgr, abc.p_name, rank() over(distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over(distribute by abc.p_mfgr sort by abc.p_name) as dr, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over(distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part partition by p_mfgr @@ -308,15 +308,15 @@ POSTHOOK: Input: default@part #### A masked pattern was here #### Manufacturer#1 almond antique burnished rose metallic 1 1 1173.15 1173.15 2 0 Manufacturer#1 almond antique burnished rose metallic 1 1 1173.15 2346.3 2 0 -Manufacturer#1 almond antique burnished rose metallic 1 1 1173.15 3519.4500000000003 2 0 +Manufacturer#1 almond antique burnished rose metallic 1 1 1173.15 3519.45 2 0 Manufacturer#1 almond antique burnished rose metallic 1 1 1173.15 4692.6 2 0 -Manufacturer#1 almond antique chartreuse lavender yellow 5 2 1753.76 6446.360000000001 34 32 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 3 1602.59 8048.950000000001 6 -28 +Manufacturer#1 almond antique chartreuse lavender yellow 5 2 1753.76 6446.36 34 32 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 3 1602.59 8048.95 6 -28 Manufacturer#1 almond aquamarine burnished black steel 7 4 1414.42 9463.37 28 22 Manufacturer#1 almond aquamarine pink moccasin thistle 8 5 1632.66 11096.03 42 14 Manufacturer#2 almond antique violet chocolate turquoise 1 1 1690.68 1690.68 14 0 Manufacturer#2 almond antique violet turquoise frosted 2 2 1800.7 3491.38 40 26 -Manufacturer#2 almond aquamarine midnight light salmon 3 3 2031.98 5523.360000000001 2 -38 +Manufacturer#2 almond aquamarine midnight light salmon 3 3 2031.98 5523.36 2 -38 Manufacturer#2 almond aquamarine rose maroon antique 4 4 1698.66 7222.02 25 23 Manufacturer#2 almond aquamarine sandy cyan gainsboro 5 5 1701.6 8923.62 18 -7 Manufacturer#3 almond antique chartreuse khaki white 1 1 1671.68 1671.68 17 0 @@ -328,9 +328,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 1 1 1620.67 1620.67 10 0 Manufacturer#4 almond antique violet mint lemon 2 2 1375.42 2996.09 39 29 Manufacturer#4 almond aquamarine floral ivory bisque 3 3 1206.26 4202.35 27 -12 Manufacturer#4 almond aquamarine yellow dodger mint 4 4 1844.92 6047.27 7 -20 -Manufacturer#4 almond azure aquamarine papaya violet 5 5 1290.35 7337.620000000001 12 5 +Manufacturer#4 almond azure aquamarine papaya violet 5 5 1290.35 7337.62 12 5 Manufacturer#5 almond antique blue firebrick mint 1 1 1789.69 1789.69 31 0 -Manufacturer#5 almond antique medium spring khaki 2 2 1611.66 3401.3500000000004 6 -25 +Manufacturer#5 almond antique medium spring khaki 2 2 1611.66 3401.35 6 -25 Manufacturer#5 almond antique sky peru orange 3 3 1788.73 5190.08 2 -4 Manufacturer#5 almond aquamarine dodger light gainsboro 4 4 1018.1 6208.18 46 44 Manufacturer#5 almond azure blanched chiffon midnight 5 5 1464.48 7672.66 23 -23 @@ -378,7 +378,7 @@ PREHOOK: query: -- 9. testHavingWithWindowingNoGBY select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -387,7 +387,7 @@ POSTHOOK: query: -- 9. testHavingWithWindowingNoGBY select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part @@ -395,12 +395,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -412,9 +412,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -422,7 +422,7 @@ PREHOOK: query: -- 10. testHavingWithWindowingCondRankNoGBY select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -431,7 +431,7 @@ POSTHOOK: query: -- 10. testHavingWithWindowingCondRankNoGBY select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part @@ -439,12 +439,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -456,9 +456,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -785,10 +785,10 @@ Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 2 PREHOOK: query: -- 18. testUDAFs select p_mfgr,p_name, p_size, -sum(p_retailprice) over w1 as s, +round(sum(p_retailprice) over w1,2) as s, min(p_retailprice) over w1 as mi, max(p_retailprice) over w1 as ma, -avg(p_retailprice) over w1 as ag +round(avg(p_retailprice) over w1,2) as ag from part window w1 as (distribute by p_mfgr sort by p_mfgr, p_name rows between 2 preceding and 2 following) PREHOOK: type: QUERY @@ -796,47 +796,47 @@ PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 18. testUDAFs select p_mfgr,p_name, p_size, -sum(p_retailprice) over w1 as s, +round(sum(p_retailprice) over w1,2) as s, min(p_retailprice) over w1 as mi, max(p_retailprice) over w1 as ma, -avg(p_retailprice) over w1 as ag +round(avg(p_retailprice) over w1,2) as ag from part window w1 as (distribute by p_mfgr sort by p_mfgr, p_name rows between 2 preceding and 2 following) POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### -Manufacturer#1 almond antique burnished rose metallic 2 4100.06 1173.15 1753.76 1366.6866666666667 -Manufacturer#1 almond antique burnished rose metallic 2 5702.650000000001 1173.15 1753.76 1425.6625000000001 -Manufacturer#1 almond antique chartreuse lavender yellow 34 7117.070000000001 1173.15 1753.76 1423.4140000000002 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 7576.580000000002 1173.15 1753.76 1515.3160000000003 -Manufacturer#1 almond aquamarine burnished black steel 28 6403.430000000001 1414.42 1753.76 1600.8575000000003 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 4649.670000000001 1414.42 1632.66 1549.8900000000003 -Manufacturer#2 almond antique violet chocolate turquoise 14 5523.360000000001 1690.68 2031.98 1841.1200000000001 -Manufacturer#2 almond antique violet turquoise frosted 40 7222.02 1690.68 2031.98 1805.505 -Manufacturer#2 almond aquamarine midnight light salmon 2 8923.62 1690.68 2031.98 1784.7240000000002 -Manufacturer#2 almond aquamarine rose maroon antique 25 7232.9400000000005 1698.66 2031.98 1808.2350000000001 -Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5432.240000000001 1698.66 2031.98 1810.746666666667 -Manufacturer#3 almond antique chartreuse khaki white 17 4272.34 1190.27 1671.68 1424.1133333333335 +Manufacturer#1 almond antique burnished rose metallic 2 4100.06 1173.15 1753.76 1366.69 +Manufacturer#1 almond antique burnished rose metallic 2 5702.65 1173.15 1753.76 1425.66 +Manufacturer#1 almond antique chartreuse lavender yellow 34 7117.07 1173.15 1753.76 1423.41 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 7576.58 1173.15 1753.76 1515.32 +Manufacturer#1 almond aquamarine burnished black steel 28 6403.43 1414.42 1753.76 1600.86 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 4649.67 1414.42 1632.66 1549.89 +Manufacturer#2 almond antique violet chocolate turquoise 14 5523.36 1690.68 2031.98 1841.12 +Manufacturer#2 almond antique violet turquoise frosted 40 7222.02 1690.68 2031.98 1805.51 +Manufacturer#2 almond aquamarine midnight light salmon 2 8923.62 1690.68 2031.98 1784.72 +Manufacturer#2 almond aquamarine rose maroon antique 25 7232.94 1698.66 2031.98 1808.24 +Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5432.24 1698.66 2031.98 1810.75 +Manufacturer#3 almond antique chartreuse khaki white 17 4272.34 1190.27 1671.68 1424.11 Manufacturer#3 almond antique forest lavender goldenrod 14 6195.32 1190.27 1922.98 1548.83 -Manufacturer#3 almond antique metallic orange dim 19 7532.61 1190.27 1922.98 1506.522 -Manufacturer#3 almond antique misty red olive 1 5860.929999999999 1190.27 1922.98 1465.2324999999998 -Manufacturer#3 almond antique olive coral navajo 45 4670.66 1337.29 1922.98 1556.8866666666665 -Manufacturer#4 almond antique gainsboro frosted violet 10 4202.35 1206.26 1620.67 1400.7833333333335 -Manufacturer#4 almond antique violet mint lemon 39 6047.27 1206.26 1844.92 1511.8175 -Manufacturer#4 almond aquamarine floral ivory bisque 27 7337.620000000001 1206.26 1844.92 1467.5240000000001 -Manufacturer#4 almond aquamarine yellow dodger mint 7 5716.950000000001 1206.26 1844.92 1429.2375000000002 -Manufacturer#4 almond azure aquamarine papaya violet 12 4341.530000000001 1206.26 1844.92 1447.176666666667 -Manufacturer#5 almond antique blue firebrick mint 31 5190.08 1611.66 1789.69 1730.0266666666666 -Manufacturer#5 almond antique medium spring khaki 6 6208.18 1018.1 1789.69 1552.045 -Manufacturer#5 almond antique sky peru orange 2 7672.66 1018.1 1789.69 1534.532 -Manufacturer#5 almond aquamarine dodger light gainsboro 46 5882.969999999999 1018.1 1788.73 1470.7424999999998 -Manufacturer#5 almond azure blanched chiffon midnight 23 4271.3099999999995 1018.1 1788.73 1423.7699999999998 +Manufacturer#3 almond antique metallic orange dim 19 7532.61 1190.27 1922.98 1506.52 +Manufacturer#3 almond antique misty red olive 1 5860.93 1190.27 1922.98 1465.23 +Manufacturer#3 almond antique olive coral navajo 45 4670.66 1337.29 1922.98 1556.89 +Manufacturer#4 almond antique gainsboro frosted violet 10 4202.35 1206.26 1620.67 1400.78 +Manufacturer#4 almond antique violet mint lemon 39 6047.27 1206.26 1844.92 1511.82 +Manufacturer#4 almond aquamarine floral ivory bisque 27 7337.62 1206.26 1844.92 1467.52 +Manufacturer#4 almond aquamarine yellow dodger mint 7 5716.95 1206.26 1844.92 1429.24 +Manufacturer#4 almond azure aquamarine papaya violet 12 4341.53 1206.26 1844.92 1447.18 +Manufacturer#5 almond antique blue firebrick mint 31 5190.08 1611.66 1789.69 1730.03 +Manufacturer#5 almond antique medium spring khaki 6 6208.18 1018.1 1789.69 1552.05 +Manufacturer#5 almond antique sky peru orange 2 7672.66 1018.1 1789.69 1534.53 +Manufacturer#5 almond aquamarine dodger light gainsboro 46 5882.97 1018.1 1788.73 1470.74 +Manufacturer#5 almond azure blanched chiffon midnight 23 4271.31 1018.1 1788.73 1423.77 PREHOOK: query: -- 19. testUDAFsWithGBY select p_mfgr,p_name, p_size, p_retailprice, -sum(p_retailprice) over w1 as s, +round(sum(p_retailprice) over w1,2) as s, min(p_retailprice) as mi , max(p_retailprice) as ma , -avg(p_retailprice) over w1 as ag +round(avg(p_retailprice) over w1,2) as ag from part group by p_mfgr,p_name, p_size, p_retailprice window w1 as (distribute by p_mfgr sort by p_mfgr, p_name rows between 2 preceding and 2 following) @@ -845,41 +845,41 @@ PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 19. testUDAFsWithGBY select p_mfgr,p_name, p_size, p_retailprice, -sum(p_retailprice) over w1 as s, +round(sum(p_retailprice) over w1,2) as s, min(p_retailprice) as mi , max(p_retailprice) as ma , -avg(p_retailprice) over w1 as ag +round(avg(p_retailprice) over w1,2) as ag from part group by p_mfgr,p_name, p_size, p_retailprice window w1 as (distribute by p_mfgr sort by p_mfgr, p_name rows between 2 preceding and 2 following) POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### -Manufacturer#1 almond antique burnished rose metallic 2 1173.15 4529.5 1173.15 1173.15 1509.8333333333333 +Manufacturer#1 almond antique burnished rose metallic 2 1173.15 4529.5 1173.15 1173.15 1509.83 Manufacturer#1 almond antique chartreuse lavender yellow 34 1753.76 5943.92 1753.76 1753.76 1485.98 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 1602.59 7576.58 1602.59 1602.59 1515.316 -Manufacturer#1 almond aquamarine burnished black steel 28 1414.42 6403.43 1414.42 1414.42 1600.8575 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 1602.59 7576.58 1602.59 1602.59 1515.32 +Manufacturer#1 almond aquamarine burnished black steel 28 1414.42 6403.43 1414.42 1414.42 1600.86 Manufacturer#1 almond aquamarine pink moccasin thistle 42 1632.66 4649.67 1632.66 1632.66 1549.89 -Manufacturer#2 almond antique violet chocolate turquoise 14 1690.68 5523.360000000001 1690.68 1690.68 1841.1200000000001 -Manufacturer#2 almond antique violet turquoise frosted 40 1800.7 7222.02 1800.7 1800.7 1805.505 -Manufacturer#2 almond aquamarine midnight light salmon 2 2031.98 8923.62 2031.98 2031.98 1784.7240000000002 -Manufacturer#2 almond aquamarine rose maroon antique 25 1698.66 7232.9400000000005 1698.66 1698.66 1808.2350000000001 -Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 1701.6 5432.240000000001 1701.6 1701.6 1810.746666666667 -Manufacturer#3 almond antique chartreuse khaki white 17 1671.68 4272.34 1671.68 1671.68 1424.1133333333335 +Manufacturer#2 almond antique violet chocolate turquoise 14 1690.68 5523.36 1690.68 1690.68 1841.12 +Manufacturer#2 almond antique violet turquoise frosted 40 1800.7 7222.02 1800.7 1800.7 1805.51 +Manufacturer#2 almond aquamarine midnight light salmon 2 2031.98 8923.62 2031.98 2031.98 1784.72 +Manufacturer#2 almond aquamarine rose maroon antique 25 1698.66 7232.94 1698.66 1698.66 1808.24 +Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 1701.6 5432.24 1701.6 1701.6 1810.75 +Manufacturer#3 almond antique chartreuse khaki white 17 1671.68 4272.34 1671.68 1671.68 1424.11 Manufacturer#3 almond antique forest lavender goldenrod 14 1190.27 6195.32 1190.27 1190.27 1548.83 -Manufacturer#3 almond antique metallic orange dim 19 1410.39 7532.61 1410.39 1410.39 1506.522 -Manufacturer#3 almond antique misty red olive 1 1922.98 5860.929999999999 1922.98 1922.98 1465.2324999999998 -Manufacturer#3 almond antique olive coral navajo 45 1337.29 4670.66 1337.29 1337.29 1556.8866666666665 -Manufacturer#4 almond antique gainsboro frosted violet 10 1620.67 4202.35 1620.67 1620.67 1400.7833333333335 -Manufacturer#4 almond antique violet mint lemon 39 1375.42 6047.27 1375.42 1375.42 1511.8175 -Manufacturer#4 almond aquamarine floral ivory bisque 27 1206.26 7337.620000000001 1206.26 1206.26 1467.5240000000001 -Manufacturer#4 almond aquamarine yellow dodger mint 7 1844.92 5716.950000000001 1844.92 1844.92 1429.2375000000002 -Manufacturer#4 almond azure aquamarine papaya violet 12 1290.35 4341.530000000001 1290.35 1290.35 1447.176666666667 -Manufacturer#5 almond antique blue firebrick mint 31 1789.69 5190.08 1789.69 1789.69 1730.0266666666666 -Manufacturer#5 almond antique medium spring khaki 6 1611.66 6208.18 1611.66 1611.66 1552.045 -Manufacturer#5 almond antique sky peru orange 2 1788.73 7672.66 1788.73 1788.73 1534.532 -Manufacturer#5 almond aquamarine dodger light gainsboro 46 1018.1 5882.969999999999 1018.1 1018.1 1470.7424999999998 -Manufacturer#5 almond azure blanched chiffon midnight 23 1464.48 4271.3099999999995 1464.48 1464.48 1423.7699999999998 +Manufacturer#3 almond antique metallic orange dim 19 1410.39 7532.61 1410.39 1410.39 1506.52 +Manufacturer#3 almond antique misty red olive 1 1922.98 5860.93 1922.98 1922.98 1465.23 +Manufacturer#3 almond antique olive coral navajo 45 1337.29 4670.66 1337.29 1337.29 1556.89 +Manufacturer#4 almond antique gainsboro frosted violet 10 1620.67 4202.35 1620.67 1620.67 1400.78 +Manufacturer#4 almond antique violet mint lemon 39 1375.42 6047.27 1375.42 1375.42 1511.82 +Manufacturer#4 almond aquamarine floral ivory bisque 27 1206.26 7337.62 1206.26 1206.26 1467.52 +Manufacturer#4 almond aquamarine yellow dodger mint 7 1844.92 5716.95 1844.92 1844.92 1429.24 +Manufacturer#4 almond azure aquamarine papaya violet 12 1290.35 4341.53 1290.35 1290.35 1447.18 +Manufacturer#5 almond antique blue firebrick mint 31 1789.69 5190.08 1789.69 1789.69 1730.03 +Manufacturer#5 almond antique medium spring khaki 6 1611.66 6208.18 1611.66 1611.66 1552.05 +Manufacturer#5 almond antique sky peru orange 2 1788.73 7672.66 1788.73 1788.73 1534.53 +Manufacturer#5 almond aquamarine dodger light gainsboro 46 1018.1 5882.97 1018.1 1018.1 1470.74 +Manufacturer#5 almond azure blanched chiffon midnight 23 1464.48 4271.31 1464.48 1464.48 1423.77 PREHOOK: query: -- 20. testSTATs select p_mfgr,p_name, p_size, stddev(p_retailprice) over w1 as sdev, @@ -1073,7 +1073,7 @@ Manufacturer#5 Brand#53 2806.83 7672.66 PREHOOK: query: -- 23. testCreateViewWithWindowingQuery create view IF NOT EXISTS mfgr_brand_price_view as select p_mfgr, p_brand, -sum(p_retailprice) over w1 as s +round(sum(p_retailprice) over w1,2) as s from part window w1 as (distribute by p_mfgr sort by p_name rows between 2 preceding and current row) PREHOOK: type: CREATEVIEW @@ -1083,7 +1083,7 @@ PREHOOK: Output: default@mfgr_brand_price_view POSTHOOK: query: -- 23. testCreateViewWithWindowingQuery create view IF NOT EXISTS mfgr_brand_price_view as select p_mfgr, p_brand, -sum(p_retailprice) over w1 as s +round(sum(p_retailprice) over w1,2) as s from part window w1 as (distribute by p_mfgr sort by p_name rows between 2 preceding and current row) POSTHOOK: type: CREATEVIEW @@ -1101,29 +1101,29 @@ POSTHOOK: Input: default@mfgr_brand_price_view POSTHOOK: Input: default@part #### A masked pattern was here #### Manufacturer#1 Brand#12 4100.06 -Manufacturer#1 Brand#12 4649.670000000001 +Manufacturer#1 Brand#12 4649.67 Manufacturer#1 Brand#12 4770.77 Manufacturer#1 Brand#14 1173.15 Manufacturer#1 Brand#14 2346.3 Manufacturer#1 Brand#15 4529.5 Manufacturer#2 Brand#22 1690.68 Manufacturer#2 Brand#22 3491.38 -Manufacturer#2 Brand#23 5523.360000000001 +Manufacturer#2 Brand#23 5523.36 Manufacturer#2 Brand#24 5531.34 -Manufacturer#2 Brand#25 5432.240000000001 +Manufacturer#2 Brand#25 5432.24 Manufacturer#3 Brand#31 1671.68 Manufacturer#3 Brand#32 4272.34 -Manufacturer#3 Brand#32 4523.639999999999 +Manufacturer#3 Brand#32 4523.64 Manufacturer#3 Brand#34 4670.66 Manufacturer#3 Brand#35 2861.95 Manufacturer#4 Brand#41 1620.67 -Manufacturer#4 Brand#41 4341.530000000001 +Manufacturer#4 Brand#41 4341.53 Manufacturer#4 Brand#41 4426.6 Manufacturer#4 Brand#42 2996.09 Manufacturer#4 Brand#42 4202.35 -Manufacturer#5 Brand#51 3401.3500000000004 +Manufacturer#5 Brand#51 3401.35 Manufacturer#5 Brand#52 1789.69 -Manufacturer#5 Brand#52 4271.3099999999995 +Manufacturer#5 Brand#52 4271.31 Manufacturer#5 Brand#53 4418.49 Manufacturer#5 Brand#53 5190.08 PREHOOK: query: -- 24. testLateralViews @@ -1293,7 +1293,7 @@ INSERT OVERWRITE TABLE part_1 select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name ) as r, dense_rank() over(distribute by p_mfgr sort by p_name ) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_2 select p_mfgr,p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, @@ -1318,7 +1318,7 @@ INSERT OVERWRITE TABLE part_1 select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name ) as r, dense_rank() over(distribute by p_mfgr sort by p_name ) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_2 select p_mfgr,p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, @@ -1369,12 +1369,12 @@ POSTHOOK: Input: default@part_1 Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -1386,9 +1386,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -2003,7 +2003,7 @@ Manufacturer#5 7672.66 1018.1 1789.69 1534.53 5 Manufacturer#5 7672.66 1018.1 1789.69 1534.53 5 PREHOOK: query: -- 38. testPartitioningVariousForms2 select p_mfgr, p_name, p_size, -sum(p_retailprice) over (partition by p_mfgr, p_name order by p_mfgr, p_name rows between unbounded preceding and current row) as s1, +round(sum(p_retailprice) over (partition by p_mfgr, p_name order by p_mfgr, p_name rows between unbounded preceding and current row),2) as s1, min(p_retailprice) over (distribute by p_mfgr, p_name sort by p_mfgr, p_name rows between unbounded preceding and current row) as s2, max(p_retailprice) over (partition by p_mfgr, p_name order by p_name) as s3 from part @@ -2012,7 +2012,7 @@ PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 38. testPartitioningVariousForms2 select p_mfgr, p_name, p_size, -sum(p_retailprice) over (partition by p_mfgr, p_name order by p_mfgr, p_name rows between unbounded preceding and current row) as s1, +round(sum(p_retailprice) over (partition by p_mfgr, p_name order by p_mfgr, p_name rows between unbounded preceding and current row),2) as s1, min(p_retailprice) over (distribute by p_mfgr, p_name sort by p_mfgr, p_name rows between unbounded preceding and current row) as s2, max(p_retailprice) over (partition by p_mfgr, p_name order by p_name) as s3 from part @@ -2087,14 +2087,14 @@ Manufacturer#5 SMALL PLATED BRASS MALL PLATED BRASS 4 Manufacturer#5 STANDARD BURNISHED TIN TANDARD BURNISHED TIN 5 PREHOOK: query: -- 40. testNoBetweenForRows select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows unbounded preceding) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows unbounded preceding),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 40. testNoBetweenForRows select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows unbounded preceding) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows unbounded preceding),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part @@ -2102,12 +2102,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1671.68 @@ -2119,32 +2119,32 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 3401.35 Manufacturer#5 almond antique sky peru orange 2 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 7672.66 PREHOOK: query: -- 41. testNoBetweenForRange select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_size range unbounded preceding) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_size range unbounded preceding),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 41. testNoBetweenForRange select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_size range unbounded preceding) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_size range unbounded preceding),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### Manufacturer#1 almond antique burnished rose metallic 2 2346.3 Manufacturer#1 almond antique burnished rose metallic 2 2346.3 -Manufacturer#1 almond antique chartreuse lavender yellow 34 7117.070000000001 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 3948.8900000000003 +Manufacturer#1 almond antique chartreuse lavender yellow 34 7117.07 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 3948.89 Manufacturer#1 almond aquamarine burnished black steel 28 5363.31 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 8749.730000000001 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 3722.66 Manufacturer#2 almond antique violet turquoise frosted 40 8923.62 Manufacturer#2 almond aquamarine midnight light salmon 2 2031.98 @@ -2152,97 +2152,97 @@ Manufacturer#2 almond aquamarine rose maroon antique 25 7122.92 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5424.26 Manufacturer#3 almond antique chartreuse khaki white 17 4784.93 Manufacturer#3 almond antique forest lavender goldenrod 14 3113.25 -Manufacturer#3 almond antique metallic orange dim 19 6195.320000000001 +Manufacturer#3 almond antique metallic orange dim 19 6195.32 Manufacturer#3 almond antique misty red olive 1 1922.98 -Manufacturer#3 almond antique olive coral navajo 45 7532.610000000001 +Manufacturer#3 almond antique olive coral navajo 45 7532.61 Manufacturer#4 almond antique gainsboro frosted violet 10 3465.59 -Manufacturer#4 almond antique violet mint lemon 39 7337.620000000001 -Manufacturer#4 almond aquamarine floral ivory bisque 27 5962.200000000001 +Manufacturer#4 almond antique violet mint lemon 39 7337.62 +Manufacturer#4 almond aquamarine floral ivory bisque 27 5962.2 Manufacturer#4 almond aquamarine yellow dodger mint 7 1844.92 -Manufacturer#4 almond azure aquamarine papaya violet 12 4755.9400000000005 -Manufacturer#5 almond antique blue firebrick mint 31 6654.560000000001 -Manufacturer#5 almond antique medium spring khaki 6 3400.3900000000003 +Manufacturer#4 almond azure aquamarine papaya violet 12 4755.94 +Manufacturer#5 almond antique blue firebrick mint 31 6654.56 +Manufacturer#5 almond antique medium spring khaki 6 3400.39 Manufacturer#5 almond antique sky peru orange 2 1788.73 -Manufacturer#5 almond aquamarine dodger light gainsboro 46 7672.660000000002 -Manufacturer#5 almond azure blanched chiffon midnight 23 4864.870000000001 +Manufacturer#5 almond aquamarine dodger light gainsboro 46 7672.66 +Manufacturer#5 almond azure blanched chiffon midnight 23 4864.87 PREHOOK: query: -- 42. testUnboundedFollowingForRows select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between current row and unbounded following) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between current row and unbounded following),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 42. testUnboundedFollowingForRows select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between current row and unbounded following) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between current row and unbounded following),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### Manufacturer#1 almond antique burnished rose metallic 2 7576.58 -Manufacturer#1 almond antique burnished rose metallic 2 8749.730000000001 +Manufacturer#1 almond antique burnished rose metallic 2 8749.73 Manufacturer#1 almond antique chartreuse lavender yellow 34 6403.43 Manufacturer#1 almond antique salmon chartreuse burlywood 6 4649.67 Manufacturer#1 almond aquamarine burnished black steel 28 3047.08 Manufacturer#1 almond aquamarine pink moccasin thistle 42 1632.66 Manufacturer#2 almond antique violet chocolate turquoise 14 8923.62 -Manufacturer#2 almond antique violet turquoise frosted 40 7232.9400000000005 +Manufacturer#2 almond antique violet turquoise frosted 40 7232.94 Manufacturer#2 almond aquamarine midnight light salmon 2 5432.24 Manufacturer#2 almond aquamarine rose maroon antique 25 3400.26 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 1701.6 Manufacturer#3 almond antique chartreuse khaki white 17 7532.61 -Manufacturer#3 almond antique forest lavender goldenrod 14 5860.929999999999 +Manufacturer#3 almond antique forest lavender goldenrod 14 5860.93 Manufacturer#3 almond antique metallic orange dim 19 4670.66 Manufacturer#3 almond antique misty red olive 1 3260.27 Manufacturer#3 almond antique olive coral navajo 45 1337.29 -Manufacturer#4 almond antique gainsboro frosted violet 10 7337.620000000001 -Manufacturer#4 almond antique violet mint lemon 39 5716.950000000001 -Manufacturer#4 almond aquamarine floral ivory bisque 27 4341.530000000001 +Manufacturer#4 almond antique gainsboro frosted violet 10 7337.62 +Manufacturer#4 almond antique violet mint lemon 39 5716.95 +Manufacturer#4 almond aquamarine floral ivory bisque 27 4341.53 Manufacturer#4 almond aquamarine yellow dodger mint 7 3135.27 Manufacturer#4 almond azure aquamarine papaya violet 12 1290.35 Manufacturer#5 almond antique blue firebrick mint 31 7672.66 -Manufacturer#5 almond antique medium spring khaki 6 5882.970000000001 -Manufacturer#5 almond antique sky peru orange 2 4271.3099999999995 +Manufacturer#5 almond antique medium spring khaki 6 5882.97 +Manufacturer#5 almond antique sky peru orange 2 4271.31 Manufacturer#5 almond aquamarine dodger light gainsboro 46 2482.58 Manufacturer#5 almond azure blanched chiffon midnight 23 1464.48 PREHOOK: query: -- 43. testUnboundedFollowingForRange select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_size range between current row and unbounded following) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_size range between current row and unbounded following),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 43. testUnboundedFollowingForRange select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_size range between current row and unbounded following) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_size range between current row and unbounded following),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### -Manufacturer#1 almond antique burnished rose metallic 2 8749.730000000001 -Manufacturer#1 almond antique burnished rose metallic 2 8749.730000000001 +Manufacturer#1 almond antique burnished rose metallic 2 8749.73 +Manufacturer#1 almond antique burnished rose metallic 2 8749.73 Manufacturer#1 almond antique chartreuse lavender yellow 34 3386.42 Manufacturer#1 almond antique salmon chartreuse burlywood 6 6403.43 Manufacturer#1 almond aquamarine burnished black steel 28 4800.84 Manufacturer#1 almond aquamarine pink moccasin thistle 42 1632.66 -Manufacturer#2 almond antique violet chocolate turquoise 14 6891.639999999999 +Manufacturer#2 almond antique violet chocolate turquoise 14 6891.64 Manufacturer#2 almond antique violet turquoise frosted 40 1800.7 Manufacturer#2 almond aquamarine midnight light salmon 2 8923.62 Manufacturer#2 almond aquamarine rose maroon antique 25 3499.36 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5200.96 -Manufacturer#3 almond antique chartreuse khaki white 17 4419.360000000001 +Manufacturer#3 almond antique chartreuse khaki white 17 4419.36 Manufacturer#3 almond antique forest lavender goldenrod 14 5609.63 -Manufacturer#3 almond antique metallic orange dim 19 2747.6800000000003 -Manufacturer#3 almond antique misty red olive 1 7532.610000000001 +Manufacturer#3 almond antique metallic orange dim 19 2747.68 +Manufacturer#3 almond antique misty red olive 1 7532.61 Manufacturer#3 almond antique olive coral navajo 45 1337.29 Manufacturer#4 almond antique gainsboro frosted violet 10 5492.7 Manufacturer#4 almond antique violet mint lemon 39 1375.42 -Manufacturer#4 almond aquamarine floral ivory bisque 27 2581.6800000000003 -Manufacturer#4 almond aquamarine yellow dodger mint 7 7337.620000000001 -Manufacturer#4 almond azure aquamarine papaya violet 12 3872.0299999999997 +Manufacturer#4 almond aquamarine floral ivory bisque 27 2581.68 +Manufacturer#4 almond aquamarine yellow dodger mint 7 7337.62 +Manufacturer#4 almond azure aquamarine papaya violet 12 3872.03 Manufacturer#5 almond antique blue firebrick mint 31 2807.79 Manufacturer#5 almond antique medium spring khaki 6 5883.93 -Manufacturer#5 almond antique sky peru orange 2 7672.660000000002 +Manufacturer#5 almond antique sky peru orange 2 7672.66 Manufacturer#5 almond aquamarine dodger light gainsboro 46 1018.1 Manufacturer#5 almond azure blanched chiffon midnight 23 4272.27 PREHOOK: query: -- 44. testOverNoPartitionSingleAggregate @@ -2304,27 +2304,27 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### PREHOOK: query: -- 46. window sz is same as partition sz -select p_retailprice, avg(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following), -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following) +select p_retailprice, round(avg(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following),2), +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following),2) from part where p_mfgr='Manufacturer#1' PREHOOK: type: QUERY PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 46. window sz is same as partition sz -select p_retailprice, avg(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following), -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following) +select p_retailprice, round(avg(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following),2), +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following),2) from part where p_mfgr='Manufacturer#1' POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### -1173.15 1458.2883333333336 8749.730000000001 -1173.15 1515.3160000000003 7576.580000000002 -1414.42 1523.5400000000004 3047.080000000001 -1602.59 1549.8900000000003 4649.670000000001 -1632.66 1632.6600000000008 1632.6600000000008 -1753.76 1600.8575000000003 6403.430000000001 +1173.15 1458.29 8749.73 +1173.15 1515.32 7576.58 +1414.42 1523.54 3047.08 +1602.59 1549.89 4649.67 +1632.66 1632.66 1632.66 +1753.76 1600.86 6403.43 PREHOOK: query: -- 47. empty partition select sum(p_size) over (partition by p_mfgr ) from part where p_mfgr = 'm1' diff --git a/ql/src/test/results/clientpositive/llap/ptf.q.out b/ql/src/test/results/clientpositive/llap/ptf.q.out index 542347d2..c97f1ce 100644 --- a/ql/src/test/results/clientpositive/llap/ptf.q.out +++ b/ql/src/test/results/clientpositive/llap/ptf.q.out @@ -5,7 +5,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name @@ -18,7 +18,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name @@ -119,7 +119,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 12974 Basic stats: COMPLETE Column stats: COMPLETE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 6214 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator @@ -139,7 +139,7 @@ STAGE PLANS: PREHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name @@ -150,7 +150,7 @@ PREHOOK: Input: default@part POSTHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name @@ -161,12 +161,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -178,9 +178,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -502,7 +502,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name @@ -513,7 +513,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name @@ -614,7 +614,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 12974 Basic stats: COMPLETE Column stats: COMPLETE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 6214 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator @@ -634,7 +634,7 @@ STAGE PLANS: PREHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name @@ -645,7 +645,7 @@ PREHOOK: Input: default@part POSTHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name @@ -656,12 +656,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -673,9 +673,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -1550,7 +1550,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noopwithmap(on part partition by p_mfgr order by p_name) @@ -1560,7 +1560,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noopwithmap(on part partition by p_mfgr order by p_name) @@ -1677,7 +1677,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 12974 Basic stats: COMPLETE Column stats: COMPLETE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 6214 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator @@ -1697,7 +1697,7 @@ STAGE PLANS: PREHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noopwithmap(on part partition by p_mfgr order by p_name) @@ -1707,7 +1707,7 @@ PREHOOK: Input: default@part POSTHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noopwithmap(on part partition by p_mfgr order by p_name) @@ -1717,12 +1717,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -1734,9 +1734,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -1745,7 +1745,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name) @@ -1755,7 +1755,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name) @@ -1855,7 +1855,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 12974 Basic stats: COMPLETE Column stats: COMPLETE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 6214 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator @@ -1875,7 +1875,7 @@ STAGE PLANS: PREHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name) @@ -1885,7 +1885,7 @@ PREHOOK: Input: default@part POSTHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name) @@ -1895,12 +1895,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -1912,9 +1912,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -1923,7 +1923,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on noopwithmap(on noop(on part partition by p_mfgr order by p_mfgr DESC, p_name @@ -1934,7 +1934,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on noopwithmap(on noop(on part partition by p_mfgr order by p_mfgr DESC, p_name @@ -2094,7 +2094,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 12974 Basic stats: COMPLETE Column stats: COMPLETE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 6214 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator @@ -2114,7 +2114,7 @@ STAGE PLANS: PREHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on noopwithmap(on noop(on part partition by p_mfgr order by p_mfgr DESC, p_name @@ -2125,7 +2125,7 @@ PREHOOK: Input: default@part POSTHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on noopwithmap(on noop(on part partition by p_mfgr order by p_mfgr DESC, p_name @@ -2136,12 +2136,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -2153,9 +2153,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -2166,7 +2166,7 @@ sub1.cd, sub1.s1 from (select p_mfgr, p_name, count(p_size) over (partition by p_mfgr order by p_name) as cd, p_retailprice, -sum(p_retailprice) over w1 as s1 +round(sum(p_retailprice) over w1,2) as s1 from noop(on part partition by p_mfgr order by p_name) @@ -2180,7 +2180,7 @@ sub1.cd, sub1.s1 from (select p_mfgr, p_name, count(p_size) over (partition by p_mfgr order by p_name) as cd, p_retailprice, -sum(p_retailprice) over w1 as s1 +round(sum(p_retailprice) over w1,2) as s1 from noop(on part partition by p_mfgr order by p_name) @@ -2274,7 +2274,7 @@ STAGE PLANS: window frame: PRECEDING(2)~FOLLOWING(2) Statistics: Num rows: 26 Data size: 12974 Basic stats: COMPLETE Column stats: COMPLETE Select Operator - expressions: _col2 (type: string), _col1 (type: string), count_window_0 (type: bigint), sum_window_1 (type: double) + expressions: _col2 (type: string), _col1 (type: string), count_window_0 (type: bigint), round(sum_window_1, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 26 Data size: 6110 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator @@ -2296,7 +2296,7 @@ sub1.cd, sub1.s1 from (select p_mfgr, p_name, count(p_size) over (partition by p_mfgr order by p_name) as cd, p_retailprice, -sum(p_retailprice) over w1 as s1 +round(sum(p_retailprice) over w1,2) as s1 from noop(on part partition by p_mfgr order by p_name) @@ -2310,7 +2310,7 @@ sub1.cd, sub1.s1 from (select p_mfgr, p_name, count(p_size) over (partition by p_mfgr order by p_name) as cd, p_retailprice, -sum(p_retailprice) over w1 as s1 +round(sum(p_retailprice) over w1,2) as s1 from noop(on part partition by p_mfgr order by p_name) @@ -2320,38 +2320,38 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### Manufacturer#1 almond antique burnished rose metallic 2 4100.06 -Manufacturer#1 almond antique burnished rose metallic 2 5702.650000000001 -Manufacturer#1 almond antique chartreuse lavender yellow 3 7117.070000000001 +Manufacturer#1 almond antique burnished rose metallic 2 5702.65 +Manufacturer#1 almond antique chartreuse lavender yellow 3 7117.07 Manufacturer#1 almond antique salmon chartreuse burlywood 4 7576.58 Manufacturer#1 almond aquamarine burnished black steel 5 6403.43 Manufacturer#1 almond aquamarine pink moccasin thistle 6 4649.67 -Manufacturer#2 almond antique violet chocolate turquoise 1 5523.360000000001 +Manufacturer#2 almond antique violet chocolate turquoise 1 5523.36 Manufacturer#2 almond antique violet turquoise frosted 2 7222.02 Manufacturer#2 almond aquamarine midnight light salmon 3 8923.62 -Manufacturer#2 almond aquamarine rose maroon antique 4 7232.9400000000005 +Manufacturer#2 almond aquamarine rose maroon antique 4 7232.94 Manufacturer#2 almond aquamarine sandy cyan gainsboro 5 5432.24 Manufacturer#3 almond antique chartreuse khaki white 1 4272.34 Manufacturer#3 almond antique forest lavender goldenrod 2 6195.32 Manufacturer#3 almond antique metallic orange dim 3 7532.61 -Manufacturer#3 almond antique misty red olive 4 5860.929999999999 +Manufacturer#3 almond antique misty red olive 4 5860.93 Manufacturer#3 almond antique olive coral navajo 5 4670.66 Manufacturer#4 almond antique gainsboro frosted violet 1 4202.35 Manufacturer#4 almond antique violet mint lemon 2 6047.27 -Manufacturer#4 almond aquamarine floral ivory bisque 3 7337.620000000001 -Manufacturer#4 almond aquamarine yellow dodger mint 4 5716.950000000001 -Manufacturer#4 almond azure aquamarine papaya violet 5 4341.530000000001 +Manufacturer#4 almond aquamarine floral ivory bisque 3 7337.62 +Manufacturer#4 almond aquamarine yellow dodger mint 4 5716.95 +Manufacturer#4 almond azure aquamarine papaya violet 5 4341.53 Manufacturer#5 almond antique blue firebrick mint 1 5190.08 Manufacturer#5 almond antique medium spring khaki 2 6208.18 Manufacturer#5 almond antique sky peru orange 3 7672.66 -Manufacturer#5 almond aquamarine dodger light gainsboro 4 5882.970000000001 -Manufacturer#5 almond azure blanched chiffon midnight 5 4271.3099999999995 +Manufacturer#5 almond aquamarine dodger light gainsboro 4 5882.97 +Manufacturer#5 almond azure blanched chiffon midnight 5 4271.31 PREHOOK: query: -- 14. testPTFJoinWithWindowingWithCount explain select abc.p_mfgr, abc.p_name, rank() over (distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over (distribute by abc.p_mfgr sort by abc.p_name) as dr, count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over (distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part partition by p_mfgr @@ -2364,7 +2364,7 @@ select abc.p_mfgr, abc.p_name, rank() over (distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over (distribute by abc.p_mfgr sort by abc.p_name) as dr, count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over (distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part partition by p_mfgr @@ -2515,7 +2515,7 @@ STAGE PLANS: isPivotResult: true Statistics: Num rows: 29 Data size: 22243 Basic stats: COMPLETE Column stats: COMPLETE Select Operator - expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), count_window_2 (type: bigint), _col7 (type: double), sum_window_3 (type: double), _col5 (type: int), (_col5 - lag_window_4) (type: int) + expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), count_window_2 (type: bigint), _col7 (type: double), round(sum_window_3, 2) (type: double), _col5 (type: int), (_col5 - lag_window_4) (type: int) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8 Statistics: Num rows: 29 Data size: 7511 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator @@ -2535,8 +2535,8 @@ STAGE PLANS: PREHOOK: query: select abc.p_mfgr, abc.p_name, rank() over (distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over (distribute by abc.p_mfgr sort by abc.p_name) as dr, -count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over (distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part partition by p_mfgr @@ -2548,8 +2548,8 @@ PREHOOK: Input: default@part POSTHOOK: query: select abc.p_mfgr, abc.p_name, rank() over (distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over (distribute by abc.p_mfgr sort by abc.p_name) as dr, -count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over (distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part partition by p_mfgr @@ -2560,15 +2560,15 @@ POSTHOOK: Input: default@part #### A masked pattern was here #### Manufacturer#1 almond antique burnished rose metallic 1 1 4 1173.15 1173.15 2 0 Manufacturer#1 almond antique burnished rose metallic 1 1 4 1173.15 2346.3 2 0 -Manufacturer#1 almond antique burnished rose metallic 1 1 4 1173.15 3519.4500000000003 2 0 +Manufacturer#1 almond antique burnished rose metallic 1 1 4 1173.15 3519.45 2 0 Manufacturer#1 almond antique burnished rose metallic 1 1 4 1173.15 4692.6 2 0 -Manufacturer#1 almond antique chartreuse lavender yellow 5 2 5 1753.76 6446.360000000001 34 32 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 3 6 1602.59 8048.950000000001 6 -28 +Manufacturer#1 almond antique chartreuse lavender yellow 5 2 5 1753.76 6446.36 34 32 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 3 6 1602.59 8048.95 6 -28 Manufacturer#1 almond aquamarine burnished black steel 7 4 7 1414.42 9463.37 28 22 Manufacturer#1 almond aquamarine pink moccasin thistle 8 5 8 1632.66 11096.03 42 14 Manufacturer#2 almond antique violet chocolate turquoise 1 1 1 1690.68 1690.68 14 0 Manufacturer#2 almond antique violet turquoise frosted 2 2 2 1800.7 3491.38 40 26 -Manufacturer#2 almond aquamarine midnight light salmon 3 3 3 2031.98 5523.360000000001 2 -38 +Manufacturer#2 almond aquamarine midnight light salmon 3 3 3 2031.98 5523.36 2 -38 Manufacturer#2 almond aquamarine rose maroon antique 4 4 4 1698.66 7222.02 25 23 Manufacturer#2 almond aquamarine sandy cyan gainsboro 5 5 5 1701.6 8923.62 18 -7 Manufacturer#3 almond antique chartreuse khaki white 1 1 1 1671.68 1671.68 17 0 @@ -2580,9 +2580,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 1 1 1 1620.67 1620.67 10 Manufacturer#4 almond antique violet mint lemon 2 2 2 1375.42 2996.09 39 29 Manufacturer#4 almond aquamarine floral ivory bisque 3 3 3 1206.26 4202.35 27 -12 Manufacturer#4 almond aquamarine yellow dodger mint 4 4 4 1844.92 6047.27 7 -20 -Manufacturer#4 almond azure aquamarine papaya violet 5 5 5 1290.35 7337.620000000001 12 5 +Manufacturer#4 almond azure aquamarine papaya violet 5 5 5 1290.35 7337.62 12 5 Manufacturer#5 almond antique blue firebrick mint 1 1 1 1789.69 1789.69 31 0 -Manufacturer#5 almond antique medium spring khaki 2 2 2 1611.66 3401.3500000000004 6 -25 +Manufacturer#5 almond antique medium spring khaki 2 2 2 1611.66 3401.35 6 -25 Manufacturer#5 almond antique sky peru orange 3 3 3 1788.73 5190.08 2 -4 Manufacturer#5 almond aquamarine dodger light gainsboro 4 4 4 1018.1 6208.18 46 44 Manufacturer#5 almond azure blanched chiffon midnight 5 5 5 1464.48 7672.66 23 -23 @@ -2725,7 +2725,7 @@ Manufacturer#5 almond azure blanched chiffon midnight 23 PREHOOK: query: -- 16. testViewAsTableInputToPTF create view IF NOT EXISTS mfgr_price_view as select p_mfgr, p_brand, -sum(p_retailprice) as s +round(sum(p_retailprice),2) as s from part group by p_mfgr, p_brand PREHOOK: type: CREATEVIEW @@ -2735,7 +2735,7 @@ PREHOOK: Output: default@mfgr_price_view POSTHOOK: query: -- 16. testViewAsTableInputToPTF create view IF NOT EXISTS mfgr_price_view as select p_mfgr, p_brand, -sum(p_retailprice) as s +round(sum(p_retailprice),2) as s from part group by p_mfgr, p_brand POSTHOOK: type: CREATEVIEW @@ -2744,7 +2744,7 @@ POSTHOOK: Output: database:default POSTHOOK: Output: default@mfgr_price_view PREHOOK: query: explain select p_mfgr, p_brand, s, -sum(s) over w1 as s1 +round(sum(s) over w1,2) as s1 from noop(on mfgr_price_view partition by p_mfgr order by p_mfgr) @@ -2752,7 +2752,7 @@ window w1 as ( partition by p_mfgr order by p_brand rows between 2 preceding and PREHOOK: type: QUERY POSTHOOK: query: explain select p_mfgr, p_brand, s, -sum(s) over w1 as s1 +round(sum(s) over w1,2) as s1 from noop(on mfgr_price_view partition by p_mfgr order by p_mfgr) @@ -2803,26 +2803,30 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 13 Data size: 2574 Basic stats: COMPLETE Column stats: COMPLETE - PTF Operator - Function definitions: - Input definition - input alias: mfgr_price_view - output shape: _col0: string, _col1: string, _col2: double - type: TABLE - Partition table definition - input alias: ptf_1 - name: noop - order by: _col0 ASC NULLS FIRST - output shape: _col0: string, _col1: string, _col2: double - partition by: _col0 - raw input shape: + Select Operator + expressions: _col0 (type: string), _col1 (type: string), round(_col2, 2) (type: double) + outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 13 Data size: 2574 Basic stats: COMPLETE Column stats: COMPLETE - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string) - sort order: ++ - Map-reduce partition columns: _col0 (type: string) + PTF Operator + Function definitions: + Input definition + input alias: mfgr_price_view + output shape: _col0: string, _col1: string, _col2: double + type: TABLE + Partition table definition + input alias: ptf_1 + name: noop + order by: _col0 ASC NULLS FIRST + output shape: _col0: string, _col1: string, _col2: double + partition by: _col0 + raw input shape: Statistics: Num rows: 13 Data size: 2574 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col2 (type: double) + Reduce Output Operator + key expressions: _col0 (type: string), _col1 (type: string) + sort order: ++ + Map-reduce partition columns: _col0 (type: string) + Statistics: Num rows: 13 Data size: 2574 Basic stats: COMPLETE Column stats: COMPLETE + value expressions: _col2 (type: double) Reducer 3 Execution mode: llap Reduce Operator Tree: @@ -2851,7 +2855,7 @@ STAGE PLANS: window frame: PRECEDING(2)~CURRENT Statistics: Num rows: 13 Data size: 2574 Basic stats: COMPLETE Column stats: COMPLETE Select Operator - expressions: _col0 (type: string), _col1 (type: string), _col2 (type: double), sum_window_0 (type: double) + expressions: _col0 (type: string), _col1 (type: string), _col2 (type: double), round(sum_window_0, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 13 Data size: 2678 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator @@ -2869,7 +2873,7 @@ STAGE PLANS: ListSink PREHOOK: query: select p_mfgr, p_brand, s, -sum(s) over w1 as s1 +round(sum(s) over w1,2) as s1 from noop(on mfgr_price_view partition by p_mfgr order by p_mfgr) @@ -2879,7 +2883,7 @@ PREHOOK: Input: default@mfgr_price_view PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: select p_mfgr, p_brand, s, -sum(s) over w1 as s1 +round(sum(s) over w1,2) as s1 from noop(on mfgr_price_view partition by p_mfgr order by p_mfgr) @@ -2892,15 +2896,15 @@ Manufacturer#1 Brand#12 4800.84 4800.84 Manufacturer#1 Brand#14 2346.3 7147.14 Manufacturer#1 Brand#15 1602.59 8749.73 Manufacturer#2 Brand#22 3491.38 3491.38 -Manufacturer#2 Brand#23 2031.98 5523.360000000001 +Manufacturer#2 Brand#23 2031.98 5523.36 Manufacturer#2 Brand#24 1698.66 7222.02 -Manufacturer#2 Brand#25 1701.6 5432.240000000001 +Manufacturer#2 Brand#25 1701.6 5432.24 Manufacturer#3 Brand#31 1671.68 1671.68 Manufacturer#3 Brand#32 3333.37 5005.05 Manufacturer#3 Brand#34 1337.29 6342.34 Manufacturer#3 Brand#35 1190.27 5860.93 -Manufacturer#4 Brand#41 4755.9400000000005 4755.9400000000005 -Manufacturer#4 Brand#42 2581.6800000000003 7337.620000000001 +Manufacturer#4 Brand#41 4755.94 4755.94 +Manufacturer#4 Brand#42 2581.68 7337.62 Manufacturer#5 Brand#51 1611.66 1611.66 Manufacturer#5 Brand#52 3254.17 4865.83 Manufacturer#5 Brand#53 2806.83 7672.66 @@ -2957,7 +2961,7 @@ order by p_name) INSERT OVERWRITE TABLE part_4 select p_mfgr, p_name, p_size, rank() over (distribute by p_mfgr sort by p_name) as r, dense_rank() over (distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_5 select p_mfgr,p_name, p_size, round(sum(p_size) over (distribute by p_mfgr sort by p_size range between 5 preceding and current row),1) as s2, rank() over (distribute by p_mfgr sort by p_mfgr, p_name) as r, @@ -2973,7 +2977,7 @@ order by p_name) INSERT OVERWRITE TABLE part_4 select p_mfgr, p_name, p_size, rank() over (distribute by p_mfgr sort by p_name) as r, dense_rank() over (distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_5 select p_mfgr,p_name, p_size, round(sum(p_size) over (distribute by p_mfgr sort by p_size range between 5 preceding and current row),1) as s2, rank() over (distribute by p_mfgr sort by p_mfgr, p_name) as r, @@ -3089,7 +3093,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 12974 Basic stats: COMPLETE Column stats: COMPLETE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 6214 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator @@ -3233,7 +3237,7 @@ order by p_name) INSERT OVERWRITE TABLE part_4 select p_mfgr, p_name, p_size, rank() over (distribute by p_mfgr sort by p_name) as r, dense_rank() over (distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_5 select p_mfgr,p_name, p_size, round(sum(p_size) over (distribute by p_mfgr sort by p_size range between 5 preceding and current row),1) as s2, rank() over (distribute by p_mfgr sort by p_mfgr, p_name) as r, @@ -3251,7 +3255,7 @@ order by p_name) INSERT OVERWRITE TABLE part_4 select p_mfgr, p_name, p_size, rank() over (distribute by p_mfgr sort by p_name) as r, dense_rank() over (distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_5 select p_mfgr,p_name, p_size, round(sum(p_size) over (distribute by p_mfgr sort by p_size range between 5 preceding and current row),1) as s2, rank() over (distribute by p_mfgr sort by p_mfgr, p_name) as r, @@ -3288,12 +3292,12 @@ POSTHOOK: Input: default@part_4 Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -3305,9 +3309,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 diff --git a/ql/src/test/results/clientpositive/llap/vectorized_ptf.q.out b/ql/src/test/results/clientpositive/llap/vectorized_ptf.q.out index 7efb739..127dee7 100644 --- a/ql/src/test/results/clientpositive/llap/vectorized_ptf.q.out +++ b/ql/src/test/results/clientpositive/llap/vectorized_ptf.q.out @@ -124,7 +124,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name @@ -136,7 +136,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name @@ -295,7 +295,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -900,7 +900,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name @@ -912,7 +912,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name @@ -1071,7 +1071,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -1106,7 +1106,7 @@ STAGE PLANS: PREHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name @@ -1117,7 +1117,7 @@ PREHOOK: Input: default@part_orc POSTHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name @@ -1128,12 +1128,12 @@ POSTHOOK: Input: default@part_orc Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -1145,9 +1145,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -2510,7 +2510,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noopwithmap(on part_orc partition by p_mfgr order by p_name) @@ -2521,7 +2521,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noopwithmap(on part_orc partition by p_mfgr order by p_name) @@ -2696,7 +2696,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -2731,7 +2731,7 @@ STAGE PLANS: PREHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noopwithmap(on part_orc partition by p_mfgr order by p_name) @@ -2741,7 +2741,7 @@ PREHOOK: Input: default@part_orc POSTHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noopwithmap(on part_orc partition by p_mfgr order by p_name) @@ -2751,12 +2751,12 @@ POSTHOOK: Input: default@part_orc Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -2768,9 +2768,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -2780,7 +2780,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name) @@ -2791,7 +2791,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name) @@ -2949,7 +2949,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -2984,7 +2984,7 @@ STAGE PLANS: PREHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name) @@ -2994,7 +2994,7 @@ PREHOOK: Input: default@part_orc POSTHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name) @@ -3004,12 +3004,12 @@ POSTHOOK: Input: default@part_orc Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -3021,9 +3021,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -3033,7 +3033,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on noopwithmap(on noop(on part_orc partition by p_mfgr order by p_mfgr, p_name @@ -3045,7 +3045,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on noopwithmap(on noop(on part_orc partition by p_mfgr order by p_mfgr, p_name @@ -3267,7 +3267,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -3302,7 +3302,7 @@ STAGE PLANS: PREHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on noopwithmap(on noop(on part_orc partition by p_mfgr order by p_mfgr, p_name @@ -3313,7 +3313,7 @@ PREHOOK: Input: default@part_orc POSTHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on noopwithmap(on noop(on part_orc partition by p_mfgr order by p_mfgr, p_name @@ -3324,12 +3324,12 @@ POSTHOOK: Input: default@part_orc Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -3341,9 +3341,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -3355,7 +3355,7 @@ sub1.cd, sub1.s1 from (select p_mfgr, p_name, count(p_size) over (partition by p_mfgr order by p_name) as cd, p_retailprice, -sum(p_retailprice) over w1 as s1 +round(sum(p_retailprice) over w1,2) as s1 from noop(on part_orc partition by p_mfgr order by p_name) @@ -3370,7 +3370,7 @@ sub1.cd, sub1.s1 from (select p_mfgr, p_name, count(p_size) over (partition by p_mfgr order by p_name) as cd, p_retailprice, -sum(p_retailprice) over w1 as s1 +round(sum(p_retailprice) over w1,2) as s1 from noop(on part_orc partition by p_mfgr order by p_name) @@ -3522,7 +3522,7 @@ STAGE PLANS: window frame: PRECEDING(2)~FOLLOWING(2) Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), count_window_0 (type: bigint), sum_window_1 (type: double) + expressions: _col2 (type: string), _col1 (type: string), count_window_0 (type: bigint), round(sum_window_1, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -3559,7 +3559,7 @@ sub1.cd, sub1.s1 from (select p_mfgr, p_name, count(p_size) over (partition by p_mfgr order by p_name) as cd, p_retailprice, -sum(p_retailprice) over w1 as s1 +round(sum(p_retailprice) over w1,2) as s1 from noop(on part_orc partition by p_mfgr order by p_name) @@ -3573,7 +3573,7 @@ sub1.cd, sub1.s1 from (select p_mfgr, p_name, count(p_size) over (partition by p_mfgr order by p_name) as cd, p_retailprice, -sum(p_retailprice) over w1 as s1 +round(sum(p_retailprice) over w1,2) as s1 from noop(on part_orc partition by p_mfgr order by p_name) @@ -3583,31 +3583,31 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@part_orc #### A masked pattern was here #### Manufacturer#1 almond antique burnished rose metallic 2 4100.06 -Manufacturer#1 almond antique burnished rose metallic 2 5702.650000000001 -Manufacturer#1 almond antique chartreuse lavender yellow 3 7117.070000000001 +Manufacturer#1 almond antique burnished rose metallic 2 5702.65 +Manufacturer#1 almond antique chartreuse lavender yellow 3 7117.07 Manufacturer#1 almond antique salmon chartreuse burlywood 4 7576.58 Manufacturer#1 almond aquamarine burnished black steel 5 6403.43 Manufacturer#1 almond aquamarine pink moccasin thistle 6 4649.67 -Manufacturer#2 almond antique violet chocolate turquoise 1 5523.360000000001 +Manufacturer#2 almond antique violet chocolate turquoise 1 5523.36 Manufacturer#2 almond antique violet turquoise frosted 2 7222.02 Manufacturer#2 almond aquamarine midnight light salmon 3 8923.62 -Manufacturer#2 almond aquamarine rose maroon antique 4 7232.9400000000005 +Manufacturer#2 almond aquamarine rose maroon antique 4 7232.94 Manufacturer#2 almond aquamarine sandy cyan gainsboro 5 5432.24 Manufacturer#3 almond antique chartreuse khaki white 1 4272.34 Manufacturer#3 almond antique forest lavender goldenrod 2 6195.32 Manufacturer#3 almond antique metallic orange dim 3 7532.61 -Manufacturer#3 almond antique misty red olive 4 5860.929999999999 +Manufacturer#3 almond antique misty red olive 4 5860.93 Manufacturer#3 almond antique olive coral navajo 5 4670.66 Manufacturer#4 almond antique gainsboro frosted violet 1 4202.35 Manufacturer#4 almond antique violet mint lemon 2 6047.27 -Manufacturer#4 almond aquamarine floral ivory bisque 3 7337.620000000001 -Manufacturer#4 almond aquamarine yellow dodger mint 4 5716.950000000001 -Manufacturer#4 almond azure aquamarine papaya violet 5 4341.530000000001 +Manufacturer#4 almond aquamarine floral ivory bisque 3 7337.62 +Manufacturer#4 almond aquamarine yellow dodger mint 4 5716.95 +Manufacturer#4 almond azure aquamarine papaya violet 5 4341.53 Manufacturer#5 almond antique blue firebrick mint 1 5190.08 Manufacturer#5 almond antique medium spring khaki 2 6208.18 Manufacturer#5 almond antique sky peru orange 3 7672.66 -Manufacturer#5 almond aquamarine dodger light gainsboro 4 5882.970000000001 -Manufacturer#5 almond azure blanched chiffon midnight 5 4271.3099999999995 +Manufacturer#5 almond aquamarine dodger light gainsboro 4 5882.97 +Manufacturer#5 almond azure blanched chiffon midnight 5 4271.31 PREHOOK: query: -- 14. testPTFJoinWithWindowingWithCount explain extended @@ -3615,7 +3615,7 @@ select abc.p_mfgr, abc.p_name, rank() over (distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over (distribute by abc.p_mfgr sort by abc.p_name) as dr, count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over (distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part_orc partition by p_mfgr @@ -3629,7 +3629,7 @@ select abc.p_mfgr, abc.p_name, rank() over (distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over (distribute by abc.p_mfgr sort by abc.p_name) as dr, count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over (distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part_orc partition by p_mfgr @@ -3898,7 +3898,7 @@ STAGE PLANS: isPivotResult: true Statistics: Num rows: 28 Data size: 17646 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), count_window_2 (type: bigint), _col7 (type: double), sum_window_3 (type: double), _col5 (type: int), (_col5 - lag_window_4) (type: int) + expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), count_window_2 (type: bigint), _col7 (type: double), round(sum_window_3, 2) (type: double), _col5 (type: int), (_col5 - lag_window_4) (type: int) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8 Statistics: Num rows: 28 Data size: 17646 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -3934,7 +3934,7 @@ PREHOOK: query: select abc.p_mfgr, abc.p_name, rank() over (distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over (distribute by abc.p_mfgr sort by abc.p_name) as dr, count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over (distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part_orc partition by p_mfgr @@ -3947,7 +3947,7 @@ POSTHOOK: query: select abc.p_mfgr, abc.p_name, rank() over (distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over (distribute by abc.p_mfgr sort by abc.p_name) as dr, count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over (distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part_orc partition by p_mfgr @@ -3958,15 +3958,15 @@ POSTHOOK: Input: default@part_orc #### A masked pattern was here #### Manufacturer#1 almond antique burnished rose metallic 1 1 4 1173.15 1173.15 2 0 Manufacturer#1 almond antique burnished rose metallic 1 1 4 1173.15 2346.3 2 0 -Manufacturer#1 almond antique burnished rose metallic 1 1 4 1173.15 3519.4500000000003 2 0 +Manufacturer#1 almond antique burnished rose metallic 1 1 4 1173.15 3519.45 2 0 Manufacturer#1 almond antique burnished rose metallic 1 1 4 1173.15 4692.6 2 0 -Manufacturer#1 almond antique chartreuse lavender yellow 5 2 5 1753.76 6446.360000000001 34 32 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 3 6 1602.59 8048.950000000001 6 -28 +Manufacturer#1 almond antique chartreuse lavender yellow 5 2 5 1753.76 6446.36 34 32 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 3 6 1602.59 8048.95 6 -28 Manufacturer#1 almond aquamarine burnished black steel 7 4 7 1414.42 9463.37 28 22 Manufacturer#1 almond aquamarine pink moccasin thistle 8 5 8 1632.66 11096.03 42 14 Manufacturer#2 almond antique violet chocolate turquoise 1 1 1 1690.68 1690.68 14 0 Manufacturer#2 almond antique violet turquoise frosted 2 2 2 1800.7 3491.38 40 26 -Manufacturer#2 almond aquamarine midnight light salmon 3 3 3 2031.98 5523.360000000001 2 -38 +Manufacturer#2 almond aquamarine midnight light salmon 3 3 3 2031.98 5523.36 2 -38 Manufacturer#2 almond aquamarine rose maroon antique 4 4 4 1698.66 7222.02 25 23 Manufacturer#2 almond aquamarine sandy cyan gainsboro 5 5 5 1701.6 8923.62 18 -7 Manufacturer#3 almond antique chartreuse khaki white 1 1 1 1671.68 1671.68 17 0 @@ -3978,9 +3978,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 1 1 1 1620.67 1620.67 10 Manufacturer#4 almond antique violet mint lemon 2 2 2 1375.42 2996.09 39 29 Manufacturer#4 almond aquamarine floral ivory bisque 3 3 3 1206.26 4202.35 27 -12 Manufacturer#4 almond aquamarine yellow dodger mint 4 4 4 1844.92 6047.27 7 -20 -Manufacturer#4 almond azure aquamarine papaya violet 5 5 5 1290.35 7337.620000000001 12 5 +Manufacturer#4 almond azure aquamarine papaya violet 5 5 5 1290.35 7337.62 12 5 Manufacturer#5 almond antique blue firebrick mint 1 1 1 1789.69 1789.69 31 0 -Manufacturer#5 almond antique medium spring khaki 2 2 2 1611.66 3401.3500000000004 6 -25 +Manufacturer#5 almond antique medium spring khaki 2 2 2 1611.66 3401.35 6 -25 Manufacturer#5 almond antique sky peru orange 3 3 3 1788.73 5190.08 2 -4 Manufacturer#5 almond aquamarine dodger light gainsboro 4 4 4 1018.1 6208.18 46 44 Manufacturer#5 almond azure blanched chiffon midnight 5 5 5 1464.48 7672.66 23 -23 @@ -4198,7 +4198,7 @@ Manufacturer#5 almond azure blanched chiffon midnight 23 PREHOOK: query: -- 16. testViewAsTableInputToPTF create view IF NOT EXISTS mfgr_price_view as select p_mfgr, p_brand, -sum(p_retailprice) as s +round(sum(p_retailprice),2) as s from part_orc group by p_mfgr, p_brand PREHOOK: type: CREATEVIEW @@ -4208,7 +4208,7 @@ PREHOOK: Output: default@mfgr_price_view POSTHOOK: query: -- 16. testViewAsTableInputToPTF create view IF NOT EXISTS mfgr_price_view as select p_mfgr, p_brand, -sum(p_retailprice) as s +round(sum(p_retailprice),2) as s from part_orc group by p_mfgr, p_brand POSTHOOK: type: CREATEVIEW @@ -4217,7 +4217,7 @@ POSTHOOK: Output: database:default POSTHOOK: Output: default@mfgr_price_view PREHOOK: query: explain extended select p_mfgr, p_brand, s, -sum(s) over w1 as s1 +round(sum(s) over w1,2) as s1 from noop(on mfgr_price_view partition by p_mfgr order by p_mfgr) @@ -4225,7 +4225,7 @@ window w1 as ( partition by p_mfgr order by p_brand rows between 2 preceding and PREHOOK: type: QUERY POSTHOOK: query: explain extended select p_mfgr, p_brand, s, -sum(s) over w1 as s1 +round(sum(s) over w1,2) as s1 from noop(on mfgr_price_view partition by p_mfgr order by p_mfgr) @@ -4330,29 +4330,33 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 13 Data size: 8021 Basic stats: COMPLETE Column stats: NONE - PTF Operator - Function definitions: - Input definition - input alias: mfgr_price_view - output shape: _col0: string, _col1: string, _col2: double - type: TABLE - Partition table definition - input alias: ptf_1 - name: noop - order by: _col0 ASC NULLS FIRST - output shape: _col0: string, _col1: string, _col2: double - partition by: _col0 - raw input shape: + Select Operator + expressions: _col0 (type: string), _col1 (type: string), round(_col2, 2) (type: double) + outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 13 Data size: 8021 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string) - null sort order: aa - sort order: ++ - Map-reduce partition columns: _col0 (type: string) + PTF Operator + Function definitions: + Input definition + input alias: mfgr_price_view + output shape: _col0: string, _col1: string, _col2: double + type: TABLE + Partition table definition + input alias: ptf_1 + name: noop + order by: _col0 ASC NULLS FIRST + output shape: _col0: string, _col1: string, _col2: double + partition by: _col0 + raw input shape: Statistics: Num rows: 13 Data size: 8021 Basic stats: COMPLETE Column stats: NONE - tag: -1 - value expressions: _col2 (type: double) - auto parallelism: true + Reduce Output Operator + key expressions: _col0 (type: string), _col1 (type: string) + null sort order: aa + sort order: ++ + Map-reduce partition columns: _col0 (type: string) + Statistics: Num rows: 13 Data size: 8021 Basic stats: COMPLETE Column stats: NONE + tag: -1 + value expressions: _col2 (type: double) + auto parallelism: true Reducer 3 Execution mode: llap Needs Tagging: false @@ -4382,7 +4386,7 @@ STAGE PLANS: window frame: PRECEDING(2)~CURRENT Statistics: Num rows: 13 Data size: 8021 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: string), _col1 (type: string), _col2 (type: double), sum_window_0 (type: double) + expressions: _col0 (type: string), _col1 (type: string), _col2 (type: double), round(sum_window_0, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 13 Data size: 8021 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -4415,7 +4419,7 @@ STAGE PLANS: ListSink PREHOOK: query: select p_mfgr, p_brand, s, -sum(s) over w1 as s1 +round(sum(s) over w1,2) as s1 from noop(on mfgr_price_view partition by p_mfgr order by p_mfgr) @@ -4425,7 +4429,7 @@ PREHOOK: Input: default@mfgr_price_view PREHOOK: Input: default@part_orc #### A masked pattern was here #### POSTHOOK: query: select p_mfgr, p_brand, s, -sum(s) over w1 as s1 +round(sum(s) over w1,2) as s1 from noop(on mfgr_price_view partition by p_mfgr order by p_mfgr) @@ -4438,15 +4442,15 @@ Manufacturer#1 Brand#12 4800.84 4800.84 Manufacturer#1 Brand#14 2346.3 7147.14 Manufacturer#1 Brand#15 1602.59 8749.73 Manufacturer#2 Brand#22 3491.38 3491.38 -Manufacturer#2 Brand#23 2031.98 5523.360000000001 +Manufacturer#2 Brand#23 2031.98 5523.36 Manufacturer#2 Brand#24 1698.66 7222.02 -Manufacturer#2 Brand#25 1701.6 5432.240000000001 +Manufacturer#2 Brand#25 1701.6 5432.24 Manufacturer#3 Brand#31 1671.68 1671.68 Manufacturer#3 Brand#32 3333.37 5005.05 Manufacturer#3 Brand#34 1337.29 6342.34 Manufacturer#3 Brand#35 1190.27 5860.93 -Manufacturer#4 Brand#41 4755.9400000000005 4755.9400000000005 -Manufacturer#4 Brand#42 2581.6800000000003 7337.620000000001 +Manufacturer#4 Brand#41 4755.94 4755.94 +Manufacturer#4 Brand#42 2581.68 7337.62 Manufacturer#5 Brand#51 1611.66 1611.66 Manufacturer#5 Brand#52 3254.17 4865.83 Manufacturer#5 Brand#53 2806.83 7672.66 @@ -4503,7 +4507,7 @@ order by p_name) INSERT OVERWRITE TABLE part_4 select p_mfgr, p_name, p_size, rank() over (distribute by p_mfgr sort by p_name) as r, dense_rank() over (distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_5 select p_mfgr,p_name, p_size, round(sum(p_size) over (distribute by p_mfgr sort by p_size range between 5 preceding and current row),1) as s2, rank() over (distribute by p_mfgr sort by p_mfgr, p_name) as r, @@ -4519,7 +4523,7 @@ order by p_name) INSERT OVERWRITE TABLE part_4 select p_mfgr, p_name, p_size, rank() over (distribute by p_mfgr sort by p_name) as r, dense_rank() over (distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_5 select p_mfgr,p_name, p_size, round(sum(p_size) over (distribute by p_mfgr sort by p_size range between 5 preceding and current row),1) as s2, rank() over (distribute by p_mfgr sort by p_mfgr, p_name) as r, @@ -4696,7 +4700,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -4927,7 +4931,7 @@ order by p_name) INSERT OVERWRITE TABLE part_4 select p_mfgr, p_name, p_size, rank() over (distribute by p_mfgr sort by p_name) as r, dense_rank() over (distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_5 select p_mfgr,p_name, p_size, round(sum(p_size) over (distribute by p_mfgr sort by p_size range between 5 preceding and current row),1) as s2, rank() over (distribute by p_mfgr sort by p_mfgr, p_name) as r, @@ -4945,7 +4949,7 @@ order by p_name) INSERT OVERWRITE TABLE part_4 select p_mfgr, p_name, p_size, rank() over (distribute by p_mfgr sort by p_name) as r, dense_rank() over (distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_5 select p_mfgr,p_name, p_size, round(sum(p_size) over (distribute by p_mfgr sort by p_size range between 5 preceding and current row),1) as s2, rank() over (distribute by p_mfgr sort by p_mfgr, p_name) as r, @@ -4982,12 +4986,12 @@ POSTHOOK: Input: default@part_4 Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -4999,9 +5003,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 diff --git a/ql/src/test/results/clientpositive/llap/windowing.q.out b/ql/src/test/results/clientpositive/llap/windowing.q.out index 190d13b..175a128 100644 --- a/ql/src/test/results/clientpositive/llap/windowing.q.out +++ b/ql/src/test/results/clientpositive/llap/windowing.q.out @@ -4,7 +4,7 @@ PREHOOK: query: -- SORT_QUERY_RESULTS select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -15,7 +15,7 @@ POSTHOOK: query: -- SORT_QUERY_RESULTS select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part @@ -23,12 +23,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -40,9 +40,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -185,7 +185,7 @@ select p_mfgr, p_name, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, count(p_size) over(distribute by p_mfgr sort by p_name) as cd, -p_retailprice, sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1, +p_retailprice, round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1, p_size, p_size - lag(p_size,1,p_size) over(distribute by p_mfgr sort by p_name) as deltaSz from part PREHOOK: type: QUERY @@ -196,7 +196,7 @@ select p_mfgr, p_name, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, count(p_size) over(distribute by p_mfgr sort by p_name) as cd, -p_retailprice, sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1, +p_retailprice, round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1, p_size, p_size - lag(p_size,1,p_size) over(distribute by p_mfgr sort by p_name) as deltaSz from part POSTHOOK: type: QUERY @@ -205,12 +205,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 1 1 2 1173.15 1173.15 2 0 Manufacturer#1 almond antique burnished rose metallic 1 1 2 1173.15 2346.3 2 0 Manufacturer#1 almond antique chartreuse lavender yellow 3 2 3 1753.76 4100.06 34 32 -Manufacturer#1 almond antique salmon chartreuse burlywood 4 3 4 1602.59 5702.650000000001 6 -28 -Manufacturer#1 almond aquamarine burnished black steel 5 4 5 1414.42 7117.070000000001 28 22 -Manufacturer#1 almond aquamarine pink moccasin thistle 6 5 6 1632.66 8749.730000000001 42 14 +Manufacturer#1 almond antique salmon chartreuse burlywood 4 3 4 1602.59 5702.65 6 -28 +Manufacturer#1 almond aquamarine burnished black steel 5 4 5 1414.42 7117.07 28 22 +Manufacturer#1 almond aquamarine pink moccasin thistle 6 5 6 1632.66 8749.73 42 14 Manufacturer#2 almond antique violet chocolate turquoise 1 1 1 1690.68 1690.68 14 0 Manufacturer#2 almond antique violet turquoise frosted 2 2 2 1800.7 3491.38 40 26 -Manufacturer#2 almond aquamarine midnight light salmon 3 3 3 2031.98 5523.360000000001 2 -38 +Manufacturer#2 almond aquamarine midnight light salmon 3 3 3 2031.98 5523.36 2 -38 Manufacturer#2 almond aquamarine rose maroon antique 4 4 4 1698.66 7222.02 25 23 Manufacturer#2 almond aquamarine sandy cyan gainsboro 5 5 5 1701.6 8923.62 18 -7 Manufacturer#3 almond antique chartreuse khaki white 1 1 1 1671.68 1671.68 17 0 @@ -222,9 +222,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 1 1 1 1620.67 1620.67 10 Manufacturer#4 almond antique violet mint lemon 2 2 2 1375.42 2996.09 39 29 Manufacturer#4 almond aquamarine floral ivory bisque 3 3 3 1206.26 4202.35 27 -12 Manufacturer#4 almond aquamarine yellow dodger mint 4 4 4 1844.92 6047.27 7 -20 -Manufacturer#4 almond azure aquamarine papaya violet 5 5 5 1290.35 7337.620000000001 12 5 +Manufacturer#4 almond azure aquamarine papaya violet 5 5 5 1290.35 7337.62 12 5 Manufacturer#5 almond antique blue firebrick mint 1 1 1 1789.69 1789.69 31 0 -Manufacturer#5 almond antique medium spring khaki 2 2 2 1611.66 3401.3500000000004 6 -25 +Manufacturer#5 almond antique medium spring khaki 2 2 2 1611.66 3401.35 6 -25 Manufacturer#5 almond antique sky peru orange 3 3 3 1788.73 5190.08 2 -4 Manufacturer#5 almond aquamarine dodger light gainsboro 4 4 4 1018.1 6208.18 46 44 Manufacturer#5 almond azure blanched chiffon midnight 5 5 5 1464.48 7672.66 23 -23 @@ -234,7 +234,7 @@ from (select p_mfgr, p_name, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, count(p_size) over(distribute by p_mfgr sort by p_name) as cd, -p_retailprice, sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1, +p_retailprice, round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1, p_size, p_size - lag(p_size,1,p_size) over(distribute by p_mfgr sort by p_name) as deltaSz from part ) sub1 @@ -247,7 +247,7 @@ from (select p_mfgr, p_name, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, count(p_size) over(distribute by p_mfgr sort by p_name) as cd, -p_retailprice, sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1, +p_retailprice, round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1, p_size, p_size - lag(p_size,1,p_size) over(distribute by p_mfgr sort by p_name) as deltaSz from part ) sub1 @@ -262,29 +262,29 @@ POSTHOOK: Input: default@part 1 1 2 2346.3 0 2 2 2 2861.95 -3 2 2 2 2996.09 29 -2 2 2 3401.3500000000004 -25 +2 2 2 3401.35 -25 2 2 2 3491.38 26 3 2 3 4100.06 32 3 3 3 4202.35 -12 3 3 3 4272.34 5 3 3 3 5190.08 -4 -3 3 3 5523.360000000001 -38 -4 3 4 5702.650000000001 -28 +3 3 3 5523.36 -38 +4 3 4 5702.65 -28 4 4 4 6047.27 -20 4 4 4 6195.32 -18 4 4 4 6208.18 44 4 4 4 7222.02 23 -5 4 5 7117.070000000001 22 -5 5 5 7337.620000000001 5 +5 4 5 7117.07 22 +5 5 5 7337.62 5 5 5 5 7532.61 44 5 5 5 7672.66 -23 5 5 5 8923.62 -7 -6 5 6 8749.730000000001 14 +6 5 6 8749.73 14 PREHOOK: query: -- 7. testJoinWithWindowingAndPTF select abc.p_mfgr, abc.p_name, rank() over(distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over(distribute by abc.p_mfgr sort by abc.p_name) as dr, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over(distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part partition by p_mfgr @@ -297,7 +297,7 @@ POSTHOOK: query: -- 7. testJoinWithWindowingAndPTF select abc.p_mfgr, abc.p_name, rank() over(distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over(distribute by abc.p_mfgr sort by abc.p_name) as dr, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over(distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part partition by p_mfgr @@ -308,15 +308,15 @@ POSTHOOK: Input: default@part #### A masked pattern was here #### Manufacturer#1 almond antique burnished rose metallic 1 1 1173.15 1173.15 2 0 Manufacturer#1 almond antique burnished rose metallic 1 1 1173.15 2346.3 2 0 -Manufacturer#1 almond antique burnished rose metallic 1 1 1173.15 3519.4500000000003 2 0 +Manufacturer#1 almond antique burnished rose metallic 1 1 1173.15 3519.45 2 0 Manufacturer#1 almond antique burnished rose metallic 1 1 1173.15 4692.6 2 0 -Manufacturer#1 almond antique chartreuse lavender yellow 5 2 1753.76 6446.360000000001 34 32 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 3 1602.59 8048.950000000001 6 -28 +Manufacturer#1 almond antique chartreuse lavender yellow 5 2 1753.76 6446.36 34 32 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 3 1602.59 8048.95 6 -28 Manufacturer#1 almond aquamarine burnished black steel 7 4 1414.42 9463.37 28 22 Manufacturer#1 almond aquamarine pink moccasin thistle 8 5 1632.66 11096.03 42 14 Manufacturer#2 almond antique violet chocolate turquoise 1 1 1690.68 1690.68 14 0 Manufacturer#2 almond antique violet turquoise frosted 2 2 1800.7 3491.38 40 26 -Manufacturer#2 almond aquamarine midnight light salmon 3 3 2031.98 5523.360000000001 2 -38 +Manufacturer#2 almond aquamarine midnight light salmon 3 3 2031.98 5523.36 2 -38 Manufacturer#2 almond aquamarine rose maroon antique 4 4 1698.66 7222.02 25 23 Manufacturer#2 almond aquamarine sandy cyan gainsboro 5 5 1701.6 8923.62 18 -7 Manufacturer#3 almond antique chartreuse khaki white 1 1 1671.68 1671.68 17 0 @@ -328,9 +328,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 1 1 1620.67 1620.67 10 0 Manufacturer#4 almond antique violet mint lemon 2 2 1375.42 2996.09 39 29 Manufacturer#4 almond aquamarine floral ivory bisque 3 3 1206.26 4202.35 27 -12 Manufacturer#4 almond aquamarine yellow dodger mint 4 4 1844.92 6047.27 7 -20 -Manufacturer#4 almond azure aquamarine papaya violet 5 5 1290.35 7337.620000000001 12 5 +Manufacturer#4 almond azure aquamarine papaya violet 5 5 1290.35 7337.62 12 5 Manufacturer#5 almond antique blue firebrick mint 1 1 1789.69 1789.69 31 0 -Manufacturer#5 almond antique medium spring khaki 2 2 1611.66 3401.3500000000004 6 -25 +Manufacturer#5 almond antique medium spring khaki 2 2 1611.66 3401.35 6 -25 Manufacturer#5 almond antique sky peru orange 3 3 1788.73 5190.08 2 -4 Manufacturer#5 almond aquamarine dodger light gainsboro 4 4 1018.1 6208.18 46 44 Manufacturer#5 almond azure blanched chiffon midnight 5 5 1464.48 7672.66 23 -23 @@ -378,7 +378,7 @@ PREHOOK: query: -- 9. testHavingWithWindowingNoGBY select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -387,7 +387,7 @@ POSTHOOK: query: -- 9. testHavingWithWindowingNoGBY select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part @@ -395,12 +395,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -412,9 +412,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -422,7 +422,7 @@ PREHOOK: query: -- 10. testHavingWithWindowingCondRankNoGBY select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -431,7 +431,7 @@ POSTHOOK: query: -- 10. testHavingWithWindowingCondRankNoGBY select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part @@ -439,12 +439,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -456,9 +456,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -785,10 +785,10 @@ Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 2 PREHOOK: query: -- 18. testUDAFs select p_mfgr,p_name, p_size, -sum(p_retailprice) over w1 as s, +round(sum(p_retailprice) over w1,2) as s, min(p_retailprice) over w1 as mi, max(p_retailprice) over w1 as ma, -avg(p_retailprice) over w1 as ag +round(avg(p_retailprice) over w1,2) as ag from part window w1 as (distribute by p_mfgr sort by p_mfgr, p_name rows between 2 preceding and 2 following) PREHOOK: type: QUERY @@ -796,47 +796,47 @@ PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 18. testUDAFs select p_mfgr,p_name, p_size, -sum(p_retailprice) over w1 as s, +round(sum(p_retailprice) over w1,2) as s, min(p_retailprice) over w1 as mi, max(p_retailprice) over w1 as ma, -avg(p_retailprice) over w1 as ag +round(avg(p_retailprice) over w1,2) as ag from part window w1 as (distribute by p_mfgr sort by p_mfgr, p_name rows between 2 preceding and 2 following) POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### -Manufacturer#1 almond antique burnished rose metallic 2 4100.06 1173.15 1753.76 1366.6866666666667 -Manufacturer#1 almond antique burnished rose metallic 2 5702.650000000001 1173.15 1753.76 1425.6625000000001 -Manufacturer#1 almond antique chartreuse lavender yellow 34 7117.070000000001 1173.15 1753.76 1423.4140000000002 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 7576.580000000002 1173.15 1753.76 1515.3160000000003 -Manufacturer#1 almond aquamarine burnished black steel 28 6403.430000000001 1414.42 1753.76 1600.8575000000003 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 4649.670000000001 1414.42 1632.66 1549.8900000000003 -Manufacturer#2 almond antique violet chocolate turquoise 14 5523.360000000001 1690.68 2031.98 1841.1200000000001 -Manufacturer#2 almond antique violet turquoise frosted 40 7222.02 1690.68 2031.98 1805.505 -Manufacturer#2 almond aquamarine midnight light salmon 2 8923.62 1690.68 2031.98 1784.7240000000002 -Manufacturer#2 almond aquamarine rose maroon antique 25 7232.9400000000005 1698.66 2031.98 1808.2350000000001 -Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5432.240000000001 1698.66 2031.98 1810.746666666667 -Manufacturer#3 almond antique chartreuse khaki white 17 4272.34 1190.27 1671.68 1424.1133333333335 +Manufacturer#1 almond antique burnished rose metallic 2 4100.06 1173.15 1753.76 1366.69 +Manufacturer#1 almond antique burnished rose metallic 2 5702.65 1173.15 1753.76 1425.66 +Manufacturer#1 almond antique chartreuse lavender yellow 34 7117.07 1173.15 1753.76 1423.41 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 7576.58 1173.15 1753.76 1515.32 +Manufacturer#1 almond aquamarine burnished black steel 28 6403.43 1414.42 1753.76 1600.86 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 4649.67 1414.42 1632.66 1549.89 +Manufacturer#2 almond antique violet chocolate turquoise 14 5523.36 1690.68 2031.98 1841.12 +Manufacturer#2 almond antique violet turquoise frosted 40 7222.02 1690.68 2031.98 1805.51 +Manufacturer#2 almond aquamarine midnight light salmon 2 8923.62 1690.68 2031.98 1784.72 +Manufacturer#2 almond aquamarine rose maroon antique 25 7232.94 1698.66 2031.98 1808.24 +Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5432.24 1698.66 2031.98 1810.75 +Manufacturer#3 almond antique chartreuse khaki white 17 4272.34 1190.27 1671.68 1424.11 Manufacturer#3 almond antique forest lavender goldenrod 14 6195.32 1190.27 1922.98 1548.83 -Manufacturer#3 almond antique metallic orange dim 19 7532.61 1190.27 1922.98 1506.522 -Manufacturer#3 almond antique misty red olive 1 5860.929999999999 1190.27 1922.98 1465.2324999999998 -Manufacturer#3 almond antique olive coral navajo 45 4670.66 1337.29 1922.98 1556.8866666666665 -Manufacturer#4 almond antique gainsboro frosted violet 10 4202.35 1206.26 1620.67 1400.7833333333335 -Manufacturer#4 almond antique violet mint lemon 39 6047.27 1206.26 1844.92 1511.8175 -Manufacturer#4 almond aquamarine floral ivory bisque 27 7337.620000000001 1206.26 1844.92 1467.5240000000001 -Manufacturer#4 almond aquamarine yellow dodger mint 7 5716.950000000001 1206.26 1844.92 1429.2375000000002 -Manufacturer#4 almond azure aquamarine papaya violet 12 4341.530000000001 1206.26 1844.92 1447.176666666667 -Manufacturer#5 almond antique blue firebrick mint 31 5190.08 1611.66 1789.69 1730.0266666666666 -Manufacturer#5 almond antique medium spring khaki 6 6208.18 1018.1 1789.69 1552.045 -Manufacturer#5 almond antique sky peru orange 2 7672.66 1018.1 1789.69 1534.532 -Manufacturer#5 almond aquamarine dodger light gainsboro 46 5882.969999999999 1018.1 1788.73 1470.7424999999998 -Manufacturer#5 almond azure blanched chiffon midnight 23 4271.3099999999995 1018.1 1788.73 1423.7699999999998 +Manufacturer#3 almond antique metallic orange dim 19 7532.61 1190.27 1922.98 1506.52 +Manufacturer#3 almond antique misty red olive 1 5860.93 1190.27 1922.98 1465.23 +Manufacturer#3 almond antique olive coral navajo 45 4670.66 1337.29 1922.98 1556.89 +Manufacturer#4 almond antique gainsboro frosted violet 10 4202.35 1206.26 1620.67 1400.78 +Manufacturer#4 almond antique violet mint lemon 39 6047.27 1206.26 1844.92 1511.82 +Manufacturer#4 almond aquamarine floral ivory bisque 27 7337.62 1206.26 1844.92 1467.52 +Manufacturer#4 almond aquamarine yellow dodger mint 7 5716.95 1206.26 1844.92 1429.24 +Manufacturer#4 almond azure aquamarine papaya violet 12 4341.53 1206.26 1844.92 1447.18 +Manufacturer#5 almond antique blue firebrick mint 31 5190.08 1611.66 1789.69 1730.03 +Manufacturer#5 almond antique medium spring khaki 6 6208.18 1018.1 1789.69 1552.05 +Manufacturer#5 almond antique sky peru orange 2 7672.66 1018.1 1789.69 1534.53 +Manufacturer#5 almond aquamarine dodger light gainsboro 46 5882.97 1018.1 1788.73 1470.74 +Manufacturer#5 almond azure blanched chiffon midnight 23 4271.31 1018.1 1788.73 1423.77 PREHOOK: query: -- 19. testUDAFsWithGBY select p_mfgr,p_name, p_size, p_retailprice, -sum(p_retailprice) over w1 as s, +round(sum(p_retailprice) over w1,2) as s, min(p_retailprice) as mi , max(p_retailprice) as ma , -avg(p_retailprice) over w1 as ag +round(avg(p_retailprice) over w1,2) as ag from part group by p_mfgr,p_name, p_size, p_retailprice window w1 as (distribute by p_mfgr sort by p_mfgr, p_name rows between 2 preceding and 2 following) @@ -845,41 +845,41 @@ PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 19. testUDAFsWithGBY select p_mfgr,p_name, p_size, p_retailprice, -sum(p_retailprice) over w1 as s, +round(sum(p_retailprice) over w1,2) as s, min(p_retailprice) as mi , max(p_retailprice) as ma , -avg(p_retailprice) over w1 as ag +round(avg(p_retailprice) over w1,2) as ag from part group by p_mfgr,p_name, p_size, p_retailprice window w1 as (distribute by p_mfgr sort by p_mfgr, p_name rows between 2 preceding and 2 following) POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### -Manufacturer#1 almond antique burnished rose metallic 2 1173.15 4529.5 1173.15 1173.15 1509.8333333333333 +Manufacturer#1 almond antique burnished rose metallic 2 1173.15 4529.5 1173.15 1173.15 1509.83 Manufacturer#1 almond antique chartreuse lavender yellow 34 1753.76 5943.92 1753.76 1753.76 1485.98 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 1602.59 7576.58 1602.59 1602.59 1515.316 -Manufacturer#1 almond aquamarine burnished black steel 28 1414.42 6403.43 1414.42 1414.42 1600.8575 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 1602.59 7576.58 1602.59 1602.59 1515.32 +Manufacturer#1 almond aquamarine burnished black steel 28 1414.42 6403.43 1414.42 1414.42 1600.86 Manufacturer#1 almond aquamarine pink moccasin thistle 42 1632.66 4649.67 1632.66 1632.66 1549.89 -Manufacturer#2 almond antique violet chocolate turquoise 14 1690.68 5523.360000000001 1690.68 1690.68 1841.1200000000001 -Manufacturer#2 almond antique violet turquoise frosted 40 1800.7 7222.02 1800.7 1800.7 1805.505 -Manufacturer#2 almond aquamarine midnight light salmon 2 2031.98 8923.62 2031.98 2031.98 1784.7240000000002 -Manufacturer#2 almond aquamarine rose maroon antique 25 1698.66 7232.9400000000005 1698.66 1698.66 1808.2350000000001 -Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 1701.6 5432.240000000001 1701.6 1701.6 1810.746666666667 -Manufacturer#3 almond antique chartreuse khaki white 17 1671.68 4272.34 1671.68 1671.68 1424.1133333333335 +Manufacturer#2 almond antique violet chocolate turquoise 14 1690.68 5523.36 1690.68 1690.68 1841.12 +Manufacturer#2 almond antique violet turquoise frosted 40 1800.7 7222.02 1800.7 1800.7 1805.51 +Manufacturer#2 almond aquamarine midnight light salmon 2 2031.98 8923.62 2031.98 2031.98 1784.72 +Manufacturer#2 almond aquamarine rose maroon antique 25 1698.66 7232.94 1698.66 1698.66 1808.24 +Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 1701.6 5432.24 1701.6 1701.6 1810.75 +Manufacturer#3 almond antique chartreuse khaki white 17 1671.68 4272.34 1671.68 1671.68 1424.11 Manufacturer#3 almond antique forest lavender goldenrod 14 1190.27 6195.32 1190.27 1190.27 1548.83 -Manufacturer#3 almond antique metallic orange dim 19 1410.39 7532.61 1410.39 1410.39 1506.522 -Manufacturer#3 almond antique misty red olive 1 1922.98 5860.929999999999 1922.98 1922.98 1465.2324999999998 -Manufacturer#3 almond antique olive coral navajo 45 1337.29 4670.66 1337.29 1337.29 1556.8866666666665 -Manufacturer#4 almond antique gainsboro frosted violet 10 1620.67 4202.35 1620.67 1620.67 1400.7833333333335 -Manufacturer#4 almond antique violet mint lemon 39 1375.42 6047.27 1375.42 1375.42 1511.8175 -Manufacturer#4 almond aquamarine floral ivory bisque 27 1206.26 7337.620000000001 1206.26 1206.26 1467.5240000000001 -Manufacturer#4 almond aquamarine yellow dodger mint 7 1844.92 5716.950000000001 1844.92 1844.92 1429.2375000000002 -Manufacturer#4 almond azure aquamarine papaya violet 12 1290.35 4341.530000000001 1290.35 1290.35 1447.176666666667 -Manufacturer#5 almond antique blue firebrick mint 31 1789.69 5190.08 1789.69 1789.69 1730.0266666666666 -Manufacturer#5 almond antique medium spring khaki 6 1611.66 6208.18 1611.66 1611.66 1552.045 -Manufacturer#5 almond antique sky peru orange 2 1788.73 7672.66 1788.73 1788.73 1534.532 -Manufacturer#5 almond aquamarine dodger light gainsboro 46 1018.1 5882.969999999999 1018.1 1018.1 1470.7424999999998 -Manufacturer#5 almond azure blanched chiffon midnight 23 1464.48 4271.3099999999995 1464.48 1464.48 1423.7699999999998 +Manufacturer#3 almond antique metallic orange dim 19 1410.39 7532.61 1410.39 1410.39 1506.52 +Manufacturer#3 almond antique misty red olive 1 1922.98 5860.93 1922.98 1922.98 1465.23 +Manufacturer#3 almond antique olive coral navajo 45 1337.29 4670.66 1337.29 1337.29 1556.89 +Manufacturer#4 almond antique gainsboro frosted violet 10 1620.67 4202.35 1620.67 1620.67 1400.78 +Manufacturer#4 almond antique violet mint lemon 39 1375.42 6047.27 1375.42 1375.42 1511.82 +Manufacturer#4 almond aquamarine floral ivory bisque 27 1206.26 7337.62 1206.26 1206.26 1467.52 +Manufacturer#4 almond aquamarine yellow dodger mint 7 1844.92 5716.95 1844.92 1844.92 1429.24 +Manufacturer#4 almond azure aquamarine papaya violet 12 1290.35 4341.53 1290.35 1290.35 1447.18 +Manufacturer#5 almond antique blue firebrick mint 31 1789.69 5190.08 1789.69 1789.69 1730.03 +Manufacturer#5 almond antique medium spring khaki 6 1611.66 6208.18 1611.66 1611.66 1552.05 +Manufacturer#5 almond antique sky peru orange 2 1788.73 7672.66 1788.73 1788.73 1534.53 +Manufacturer#5 almond aquamarine dodger light gainsboro 46 1018.1 5882.97 1018.1 1018.1 1470.74 +Manufacturer#5 almond azure blanched chiffon midnight 23 1464.48 4271.31 1464.48 1464.48 1423.77 PREHOOK: query: -- 20. testSTATs select p_mfgr,p_name, p_size, stddev(p_retailprice) over w1 as sdev, @@ -1073,7 +1073,7 @@ Manufacturer#5 Brand#53 2806.83 7672.66 PREHOOK: query: -- 23. testCreateViewWithWindowingQuery create view IF NOT EXISTS mfgr_brand_price_view as select p_mfgr, p_brand, -sum(p_retailprice) over w1 as s +round(sum(p_retailprice) over w1,2) as s from part window w1 as (distribute by p_mfgr sort by p_name rows between 2 preceding and current row) PREHOOK: type: CREATEVIEW @@ -1083,7 +1083,7 @@ PREHOOK: Output: default@mfgr_brand_price_view POSTHOOK: query: -- 23. testCreateViewWithWindowingQuery create view IF NOT EXISTS mfgr_brand_price_view as select p_mfgr, p_brand, -sum(p_retailprice) over w1 as s +round(sum(p_retailprice) over w1,2) as s from part window w1 as (distribute by p_mfgr sort by p_name rows between 2 preceding and current row) POSTHOOK: type: CREATEVIEW @@ -1101,29 +1101,29 @@ POSTHOOK: Input: default@mfgr_brand_price_view POSTHOOK: Input: default@part #### A masked pattern was here #### Manufacturer#1 Brand#12 4100.06 -Manufacturer#1 Brand#12 4649.670000000001 +Manufacturer#1 Brand#12 4649.67 Manufacturer#1 Brand#12 4770.77 Manufacturer#1 Brand#14 1173.15 Manufacturer#1 Brand#14 2346.3 Manufacturer#1 Brand#15 4529.5 Manufacturer#2 Brand#22 1690.68 Manufacturer#2 Brand#22 3491.38 -Manufacturer#2 Brand#23 5523.360000000001 +Manufacturer#2 Brand#23 5523.36 Manufacturer#2 Brand#24 5531.34 -Manufacturer#2 Brand#25 5432.240000000001 +Manufacturer#2 Brand#25 5432.24 Manufacturer#3 Brand#31 1671.68 Manufacturer#3 Brand#32 4272.34 -Manufacturer#3 Brand#32 4523.639999999999 +Manufacturer#3 Brand#32 4523.64 Manufacturer#3 Brand#34 4670.66 Manufacturer#3 Brand#35 2861.95 Manufacturer#4 Brand#41 1620.67 -Manufacturer#4 Brand#41 4341.530000000001 +Manufacturer#4 Brand#41 4341.53 Manufacturer#4 Brand#41 4426.6 Manufacturer#4 Brand#42 2996.09 Manufacturer#4 Brand#42 4202.35 -Manufacturer#5 Brand#51 3401.3500000000004 +Manufacturer#5 Brand#51 3401.35 Manufacturer#5 Brand#52 1789.69 -Manufacturer#5 Brand#52 4271.3099999999995 +Manufacturer#5 Brand#52 4271.31 Manufacturer#5 Brand#53 4418.49 Manufacturer#5 Brand#53 5190.08 PREHOOK: query: -- 24. testLateralViews @@ -1293,7 +1293,7 @@ INSERT OVERWRITE TABLE part_1 select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name ) as r, dense_rank() over(distribute by p_mfgr sort by p_name ) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_2 select p_mfgr,p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, @@ -1318,7 +1318,7 @@ INSERT OVERWRITE TABLE part_1 select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name ) as r, dense_rank() over(distribute by p_mfgr sort by p_name ) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_2 select p_mfgr,p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, @@ -1369,12 +1369,12 @@ POSTHOOK: Input: default@part_1 Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -1386,9 +1386,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -2104,7 +2104,7 @@ Manufacturer#5 7672.66 1018.1 1789.69 1534.53 5 Manufacturer#5 7672.66 1018.1 1789.69 1534.53 5 PREHOOK: query: -- 38. testPartitioningVariousForms2 select p_mfgr, p_name, p_size, -sum(p_retailprice) over (partition by p_mfgr, p_name order by p_mfgr, p_name rows between unbounded preceding and current row) as s1, +round(sum(p_retailprice) over (partition by p_mfgr, p_name order by p_mfgr, p_name rows between unbounded preceding and current row),2) as s1, min(p_retailprice) over (distribute by p_mfgr, p_name sort by p_mfgr, p_name rows between unbounded preceding and current row) as s2, max(p_retailprice) over (partition by p_mfgr, p_name order by p_name) as s3 from part @@ -2113,7 +2113,7 @@ PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 38. testPartitioningVariousForms2 select p_mfgr, p_name, p_size, -sum(p_retailprice) over (partition by p_mfgr, p_name order by p_mfgr, p_name rows between unbounded preceding and current row) as s1, +round(sum(p_retailprice) over (partition by p_mfgr, p_name order by p_mfgr, p_name rows between unbounded preceding and current row),2) as s1, min(p_retailprice) over (distribute by p_mfgr, p_name sort by p_mfgr, p_name rows between unbounded preceding and current row) as s2, max(p_retailprice) over (partition by p_mfgr, p_name order by p_name) as s3 from part @@ -2188,14 +2188,14 @@ Manufacturer#5 SMALL PLATED BRASS MALL PLATED BRASS 4 Manufacturer#5 STANDARD BURNISHED TIN TANDARD BURNISHED TIN 5 PREHOOK: query: -- 40. testNoBetweenForRows select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows unbounded preceding) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows unbounded preceding),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 40. testNoBetweenForRows select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows unbounded preceding) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows unbounded preceding),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part @@ -2203,12 +2203,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1671.68 @@ -2220,32 +2220,32 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 3401.35 Manufacturer#5 almond antique sky peru orange 2 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 7672.66 PREHOOK: query: -- 41. testNoBetweenForRange select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_size range unbounded preceding) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_size range unbounded preceding),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 41. testNoBetweenForRange select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_size range unbounded preceding) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_size range unbounded preceding),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### Manufacturer#1 almond antique burnished rose metallic 2 2346.3 Manufacturer#1 almond antique burnished rose metallic 2 2346.3 -Manufacturer#1 almond antique chartreuse lavender yellow 34 7117.070000000001 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 3948.8900000000003 +Manufacturer#1 almond antique chartreuse lavender yellow 34 7117.07 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 3948.89 Manufacturer#1 almond aquamarine burnished black steel 28 5363.31 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 8749.730000000001 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 3722.66 Manufacturer#2 almond antique violet turquoise frosted 40 8923.62 Manufacturer#2 almond aquamarine midnight light salmon 2 2031.98 @@ -2253,97 +2253,97 @@ Manufacturer#2 almond aquamarine rose maroon antique 25 7122.92 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5424.26 Manufacturer#3 almond antique chartreuse khaki white 17 4784.93 Manufacturer#3 almond antique forest lavender goldenrod 14 3113.25 -Manufacturer#3 almond antique metallic orange dim 19 6195.320000000001 +Manufacturer#3 almond antique metallic orange dim 19 6195.32 Manufacturer#3 almond antique misty red olive 1 1922.98 -Manufacturer#3 almond antique olive coral navajo 45 7532.610000000001 +Manufacturer#3 almond antique olive coral navajo 45 7532.61 Manufacturer#4 almond antique gainsboro frosted violet 10 3465.59 -Manufacturer#4 almond antique violet mint lemon 39 7337.620000000001 -Manufacturer#4 almond aquamarine floral ivory bisque 27 5962.200000000001 +Manufacturer#4 almond antique violet mint lemon 39 7337.62 +Manufacturer#4 almond aquamarine floral ivory bisque 27 5962.2 Manufacturer#4 almond aquamarine yellow dodger mint 7 1844.92 -Manufacturer#4 almond azure aquamarine papaya violet 12 4755.9400000000005 -Manufacturer#5 almond antique blue firebrick mint 31 6654.560000000001 -Manufacturer#5 almond antique medium spring khaki 6 3400.3900000000003 +Manufacturer#4 almond azure aquamarine papaya violet 12 4755.94 +Manufacturer#5 almond antique blue firebrick mint 31 6654.56 +Manufacturer#5 almond antique medium spring khaki 6 3400.39 Manufacturer#5 almond antique sky peru orange 2 1788.73 -Manufacturer#5 almond aquamarine dodger light gainsboro 46 7672.660000000002 -Manufacturer#5 almond azure blanched chiffon midnight 23 4864.870000000001 +Manufacturer#5 almond aquamarine dodger light gainsboro 46 7672.66 +Manufacturer#5 almond azure blanched chiffon midnight 23 4864.87 PREHOOK: query: -- 42. testUnboundedFollowingForRows select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between current row and unbounded following) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between current row and unbounded following),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 42. testUnboundedFollowingForRows select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between current row and unbounded following) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between current row and unbounded following),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### Manufacturer#1 almond antique burnished rose metallic 2 7576.58 -Manufacturer#1 almond antique burnished rose metallic 2 8749.730000000001 +Manufacturer#1 almond antique burnished rose metallic 2 8749.73 Manufacturer#1 almond antique chartreuse lavender yellow 34 6403.43 Manufacturer#1 almond antique salmon chartreuse burlywood 6 4649.67 Manufacturer#1 almond aquamarine burnished black steel 28 3047.08 Manufacturer#1 almond aquamarine pink moccasin thistle 42 1632.66 Manufacturer#2 almond antique violet chocolate turquoise 14 8923.62 -Manufacturer#2 almond antique violet turquoise frosted 40 7232.9400000000005 +Manufacturer#2 almond antique violet turquoise frosted 40 7232.94 Manufacturer#2 almond aquamarine midnight light salmon 2 5432.24 Manufacturer#2 almond aquamarine rose maroon antique 25 3400.26 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 1701.6 Manufacturer#3 almond antique chartreuse khaki white 17 7532.61 -Manufacturer#3 almond antique forest lavender goldenrod 14 5860.929999999999 +Manufacturer#3 almond antique forest lavender goldenrod 14 5860.93 Manufacturer#3 almond antique metallic orange dim 19 4670.66 Manufacturer#3 almond antique misty red olive 1 3260.27 Manufacturer#3 almond antique olive coral navajo 45 1337.29 -Manufacturer#4 almond antique gainsboro frosted violet 10 7337.620000000001 -Manufacturer#4 almond antique violet mint lemon 39 5716.950000000001 -Manufacturer#4 almond aquamarine floral ivory bisque 27 4341.530000000001 +Manufacturer#4 almond antique gainsboro frosted violet 10 7337.62 +Manufacturer#4 almond antique violet mint lemon 39 5716.95 +Manufacturer#4 almond aquamarine floral ivory bisque 27 4341.53 Manufacturer#4 almond aquamarine yellow dodger mint 7 3135.27 Manufacturer#4 almond azure aquamarine papaya violet 12 1290.35 Manufacturer#5 almond antique blue firebrick mint 31 7672.66 -Manufacturer#5 almond antique medium spring khaki 6 5882.970000000001 -Manufacturer#5 almond antique sky peru orange 2 4271.3099999999995 +Manufacturer#5 almond antique medium spring khaki 6 5882.97 +Manufacturer#5 almond antique sky peru orange 2 4271.31 Manufacturer#5 almond aquamarine dodger light gainsboro 46 2482.58 Manufacturer#5 almond azure blanched chiffon midnight 23 1464.48 PREHOOK: query: -- 43. testUnboundedFollowingForRange select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_size range between current row and unbounded following) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_size range between current row and unbounded following),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 43. testUnboundedFollowingForRange select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_size range between current row and unbounded following) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_size range between current row and unbounded following),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### -Manufacturer#1 almond antique burnished rose metallic 2 8749.730000000001 -Manufacturer#1 almond antique burnished rose metallic 2 8749.730000000001 +Manufacturer#1 almond antique burnished rose metallic 2 8749.73 +Manufacturer#1 almond antique burnished rose metallic 2 8749.73 Manufacturer#1 almond antique chartreuse lavender yellow 34 3386.42 Manufacturer#1 almond antique salmon chartreuse burlywood 6 6403.43 Manufacturer#1 almond aquamarine burnished black steel 28 4800.84 Manufacturer#1 almond aquamarine pink moccasin thistle 42 1632.66 -Manufacturer#2 almond antique violet chocolate turquoise 14 6891.639999999999 +Manufacturer#2 almond antique violet chocolate turquoise 14 6891.64 Manufacturer#2 almond antique violet turquoise frosted 40 1800.7 Manufacturer#2 almond aquamarine midnight light salmon 2 8923.62 Manufacturer#2 almond aquamarine rose maroon antique 25 3499.36 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5200.96 -Manufacturer#3 almond antique chartreuse khaki white 17 4419.360000000001 +Manufacturer#3 almond antique chartreuse khaki white 17 4419.36 Manufacturer#3 almond antique forest lavender goldenrod 14 5609.63 -Manufacturer#3 almond antique metallic orange dim 19 2747.6800000000003 -Manufacturer#3 almond antique misty red olive 1 7532.610000000001 +Manufacturer#3 almond antique metallic orange dim 19 2747.68 +Manufacturer#3 almond antique misty red olive 1 7532.61 Manufacturer#3 almond antique olive coral navajo 45 1337.29 Manufacturer#4 almond antique gainsboro frosted violet 10 5492.7 Manufacturer#4 almond antique violet mint lemon 39 1375.42 -Manufacturer#4 almond aquamarine floral ivory bisque 27 2581.6800000000003 -Manufacturer#4 almond aquamarine yellow dodger mint 7 7337.620000000001 -Manufacturer#4 almond azure aquamarine papaya violet 12 3872.0299999999997 +Manufacturer#4 almond aquamarine floral ivory bisque 27 2581.68 +Manufacturer#4 almond aquamarine yellow dodger mint 7 7337.62 +Manufacturer#4 almond azure aquamarine papaya violet 12 3872.03 Manufacturer#5 almond antique blue firebrick mint 31 2807.79 Manufacturer#5 almond antique medium spring khaki 6 5883.93 -Manufacturer#5 almond antique sky peru orange 2 7672.660000000002 +Manufacturer#5 almond antique sky peru orange 2 7672.66 Manufacturer#5 almond aquamarine dodger light gainsboro 46 1018.1 Manufacturer#5 almond azure blanched chiffon midnight 23 4272.27 PREHOOK: query: -- 44. testOverNoPartitionSingleAggregate @@ -2405,27 +2405,27 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### PREHOOK: query: -- 46. window sz is same as partition sz -select p_retailprice, avg(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following), -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following) +select p_retailprice, round(avg(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following),2), +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following),2) from part where p_mfgr='Manufacturer#1' PREHOOK: type: QUERY PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 46. window sz is same as partition sz -select p_retailprice, avg(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following), -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following) +select p_retailprice, round(avg(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following),2), +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following),2) from part where p_mfgr='Manufacturer#1' POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### -1173.15 1458.2883333333336 8749.730000000001 -1173.15 1515.3160000000003 7576.580000000002 -1414.42 1523.5400000000004 3047.080000000001 -1602.59 1549.8900000000003 4649.670000000001 -1632.66 1632.6600000000008 1632.6600000000008 -1753.76 1600.8575000000003 6403.430000000001 +1173.15 1458.29 8749.73 +1173.15 1515.32 7576.58 +1414.42 1523.54 3047.08 +1602.59 1549.89 4649.67 +1632.66 1632.66 1632.66 +1753.76 1600.86 6403.43 PREHOOK: query: -- 47. empty partition select sum(p_size) over (partition by p_mfgr ) from part where p_mfgr = 'm1' diff --git a/ql/src/test/results/clientpositive/ptf.q.out b/ql/src/test/results/clientpositive/ptf.q.out index c4c7f59..3549c62 100644 --- a/ql/src/test/results/clientpositive/ptf.q.out +++ b/ql/src/test/results/clientpositive/ptf.q.out @@ -5,7 +5,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name @@ -18,7 +18,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name @@ -118,7 +118,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -138,7 +138,7 @@ STAGE PLANS: PREHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name @@ -149,7 +149,7 @@ PREHOOK: Input: default@part POSTHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name @@ -160,12 +160,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -177,9 +177,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -495,7 +495,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name @@ -506,7 +506,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name @@ -606,7 +606,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -626,7 +626,7 @@ STAGE PLANS: PREHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name @@ -637,7 +637,7 @@ PREHOOK: Input: default@part POSTHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name @@ -648,12 +648,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -665,9 +665,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -1529,7 +1529,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noopwithmap(on part partition by p_mfgr order by p_name) @@ -1539,7 +1539,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noopwithmap(on part partition by p_mfgr order by p_name) @@ -1655,7 +1655,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -1675,7 +1675,7 @@ STAGE PLANS: PREHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noopwithmap(on part partition by p_mfgr order by p_name) @@ -1685,7 +1685,7 @@ PREHOOK: Input: default@part POSTHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noopwithmap(on part partition by p_mfgr order by p_name) @@ -1695,12 +1695,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -1712,9 +1712,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -1723,7 +1723,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name) @@ -1733,7 +1733,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name) @@ -1832,7 +1832,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -1852,7 +1852,7 @@ STAGE PLANS: PREHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name) @@ -1862,7 +1862,7 @@ PREHOOK: Input: default@part POSTHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name) @@ -1872,12 +1872,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -1889,9 +1889,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -1900,7 +1900,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on noopwithmap(on noop(on part partition by p_mfgr order by p_mfgr DESC, p_name @@ -1911,7 +1911,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on noopwithmap(on noop(on part partition by p_mfgr order by p_mfgr DESC, p_name @@ -2079,7 +2079,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -2099,7 +2099,7 @@ STAGE PLANS: PREHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on noopwithmap(on noop(on part partition by p_mfgr order by p_mfgr DESC, p_name @@ -2110,7 +2110,7 @@ PREHOOK: Input: default@part POSTHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on noopwithmap(on noop(on part partition by p_mfgr order by p_mfgr DESC, p_name @@ -2121,12 +2121,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -2138,9 +2138,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -2151,7 +2151,7 @@ sub1.cd, sub1.s1 from (select p_mfgr, p_name, count(p_size) over (partition by p_mfgr order by p_name) as cd, p_retailprice, -sum(p_retailprice) over w1 as s1 +round(sum(p_retailprice) over w1,2) as s1 from noop(on part partition by p_mfgr order by p_name) @@ -2165,7 +2165,7 @@ sub1.cd, sub1.s1 from (select p_mfgr, p_name, count(p_size) over (partition by p_mfgr order by p_name) as cd, p_retailprice, -sum(p_retailprice) over w1 as s1 +round(sum(p_retailprice) over w1,2) as s1 from noop(on part partition by p_mfgr order by p_name) @@ -2258,7 +2258,7 @@ STAGE PLANS: window frame: PRECEDING(2)~FOLLOWING(2) Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), count_window_0 (type: bigint), sum_window_1 (type: double) + expressions: _col2 (type: string), _col1 (type: string), count_window_0 (type: bigint), round(sum_window_1, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -2280,7 +2280,7 @@ sub1.cd, sub1.s1 from (select p_mfgr, p_name, count(p_size) over (partition by p_mfgr order by p_name) as cd, p_retailprice, -sum(p_retailprice) over w1 as s1 +round(sum(p_retailprice) over w1,2) as s1 from noop(on part partition by p_mfgr order by p_name) @@ -2294,7 +2294,7 @@ sub1.cd, sub1.s1 from (select p_mfgr, p_name, count(p_size) over (partition by p_mfgr order by p_name) as cd, p_retailprice, -sum(p_retailprice) over w1 as s1 +round(sum(p_retailprice) over w1,2) as s1 from noop(on part partition by p_mfgr order by p_name) @@ -2304,38 +2304,38 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### Manufacturer#1 almond antique burnished rose metallic 2 4100.06 -Manufacturer#1 almond antique burnished rose metallic 2 5702.650000000001 -Manufacturer#1 almond antique chartreuse lavender yellow 3 7117.070000000001 +Manufacturer#1 almond antique burnished rose metallic 2 5702.65 +Manufacturer#1 almond antique chartreuse lavender yellow 3 7117.07 Manufacturer#1 almond antique salmon chartreuse burlywood 4 7576.58 Manufacturer#1 almond aquamarine burnished black steel 5 6403.43 Manufacturer#1 almond aquamarine pink moccasin thistle 6 4649.67 -Manufacturer#2 almond antique violet chocolate turquoise 1 5523.360000000001 +Manufacturer#2 almond antique violet chocolate turquoise 1 5523.36 Manufacturer#2 almond antique violet turquoise frosted 2 7222.02 Manufacturer#2 almond aquamarine midnight light salmon 3 8923.62 -Manufacturer#2 almond aquamarine rose maroon antique 4 7232.9400000000005 +Manufacturer#2 almond aquamarine rose maroon antique 4 7232.94 Manufacturer#2 almond aquamarine sandy cyan gainsboro 5 5432.24 Manufacturer#3 almond antique chartreuse khaki white 1 4272.34 Manufacturer#3 almond antique forest lavender goldenrod 2 6195.32 Manufacturer#3 almond antique metallic orange dim 3 7532.61 -Manufacturer#3 almond antique misty red olive 4 5860.929999999999 +Manufacturer#3 almond antique misty red olive 4 5860.93 Manufacturer#3 almond antique olive coral navajo 5 4670.66 Manufacturer#4 almond antique gainsboro frosted violet 1 4202.35 Manufacturer#4 almond antique violet mint lemon 2 6047.27 -Manufacturer#4 almond aquamarine floral ivory bisque 3 7337.620000000001 -Manufacturer#4 almond aquamarine yellow dodger mint 4 5716.950000000001 -Manufacturer#4 almond azure aquamarine papaya violet 5 4341.530000000001 +Manufacturer#4 almond aquamarine floral ivory bisque 3 7337.62 +Manufacturer#4 almond aquamarine yellow dodger mint 4 5716.95 +Manufacturer#4 almond azure aquamarine papaya violet 5 4341.53 Manufacturer#5 almond antique blue firebrick mint 1 5190.08 Manufacturer#5 almond antique medium spring khaki 2 6208.18 Manufacturer#5 almond antique sky peru orange 3 7672.66 -Manufacturer#5 almond aquamarine dodger light gainsboro 4 5882.970000000001 -Manufacturer#5 almond azure blanched chiffon midnight 5 4271.3099999999995 +Manufacturer#5 almond aquamarine dodger light gainsboro 4 5882.97 +Manufacturer#5 almond azure blanched chiffon midnight 5 4271.31 PREHOOK: query: -- 14. testPTFJoinWithWindowingWithCount explain select abc.p_mfgr, abc.p_name, rank() over (distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over (distribute by abc.p_mfgr sort by abc.p_name) as dr, count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over (distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part partition by p_mfgr @@ -2348,7 +2348,7 @@ select abc.p_mfgr, abc.p_name, rank() over (distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over (distribute by abc.p_mfgr sort by abc.p_name) as dr, count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over (distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part partition by p_mfgr @@ -2503,7 +2503,7 @@ STAGE PLANS: isPivotResult: true Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), count_window_2 (type: bigint), _col7 (type: double), sum_window_3 (type: double), _col5 (type: int), (_col5 - lag_window_4) (type: int) + expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), count_window_2 (type: bigint), _col7 (type: double), round(sum_window_3, 2) (type: double), _col5 (type: int), (_col5 - lag_window_4) (type: int) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8 Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -2523,8 +2523,8 @@ STAGE PLANS: PREHOOK: query: select abc.p_mfgr, abc.p_name, rank() over (distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over (distribute by abc.p_mfgr sort by abc.p_name) as dr, -count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over (distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part partition by p_mfgr @@ -2536,8 +2536,8 @@ PREHOOK: Input: default@part POSTHOOK: query: select abc.p_mfgr, abc.p_name, rank() over (distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over (distribute by abc.p_mfgr sort by abc.p_name) as dr, -count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over (distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part partition by p_mfgr @@ -2548,15 +2548,15 @@ POSTHOOK: Input: default@part #### A masked pattern was here #### Manufacturer#1 almond antique burnished rose metallic 1 1 4 1173.15 1173.15 2 0 Manufacturer#1 almond antique burnished rose metallic 1 1 4 1173.15 2346.3 2 0 -Manufacturer#1 almond antique burnished rose metallic 1 1 4 1173.15 3519.4500000000003 2 0 +Manufacturer#1 almond antique burnished rose metallic 1 1 4 1173.15 3519.45 2 0 Manufacturer#1 almond antique burnished rose metallic 1 1 4 1173.15 4692.6 2 0 -Manufacturer#1 almond antique chartreuse lavender yellow 5 2 5 1753.76 6446.360000000001 34 32 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 3 6 1602.59 8048.950000000001 6 -28 +Manufacturer#1 almond antique chartreuse lavender yellow 5 2 5 1753.76 6446.36 34 32 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 3 6 1602.59 8048.95 6 -28 Manufacturer#1 almond aquamarine burnished black steel 7 4 7 1414.42 9463.37 28 22 Manufacturer#1 almond aquamarine pink moccasin thistle 8 5 8 1632.66 11096.03 42 14 Manufacturer#2 almond antique violet chocolate turquoise 1 1 1 1690.68 1690.68 14 0 Manufacturer#2 almond antique violet turquoise frosted 2 2 2 1800.7 3491.38 40 26 -Manufacturer#2 almond aquamarine midnight light salmon 3 3 3 2031.98 5523.360000000001 2 -38 +Manufacturer#2 almond aquamarine midnight light salmon 3 3 3 2031.98 5523.36 2 -38 Manufacturer#2 almond aquamarine rose maroon antique 4 4 4 1698.66 7222.02 25 23 Manufacturer#2 almond aquamarine sandy cyan gainsboro 5 5 5 1701.6 8923.62 18 -7 Manufacturer#3 almond antique chartreuse khaki white 1 1 1 1671.68 1671.68 17 0 @@ -2568,9 +2568,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 1 1 1 1620.67 1620.67 10 Manufacturer#4 almond antique violet mint lemon 2 2 2 1375.42 2996.09 39 29 Manufacturer#4 almond aquamarine floral ivory bisque 3 3 3 1206.26 4202.35 27 -12 Manufacturer#4 almond aquamarine yellow dodger mint 4 4 4 1844.92 6047.27 7 -20 -Manufacturer#4 almond azure aquamarine papaya violet 5 5 5 1290.35 7337.620000000001 12 5 +Manufacturer#4 almond azure aquamarine papaya violet 5 5 5 1290.35 7337.62 12 5 Manufacturer#5 almond antique blue firebrick mint 1 1 1 1789.69 1789.69 31 0 -Manufacturer#5 almond antique medium spring khaki 2 2 2 1611.66 3401.3500000000004 6 -25 +Manufacturer#5 almond antique medium spring khaki 2 2 2 1611.66 3401.35 6 -25 Manufacturer#5 almond antique sky peru orange 3 3 3 1788.73 5190.08 2 -4 Manufacturer#5 almond aquamarine dodger light gainsboro 4 4 4 1018.1 6208.18 46 44 Manufacturer#5 almond azure blanched chiffon midnight 5 5 5 1464.48 7672.66 23 -23 @@ -2712,7 +2712,7 @@ Manufacturer#5 almond azure blanched chiffon midnight 23 PREHOOK: query: -- 16. testViewAsTableInputToPTF create view IF NOT EXISTS mfgr_price_view as select p_mfgr, p_brand, -sum(p_retailprice) as s +round(sum(p_retailprice),2) as s from part group by p_mfgr, p_brand PREHOOK: type: CREATEVIEW @@ -2722,7 +2722,7 @@ PREHOOK: Output: default@mfgr_price_view POSTHOOK: query: -- 16. testViewAsTableInputToPTF create view IF NOT EXISTS mfgr_price_view as select p_mfgr, p_brand, -sum(p_retailprice) as s +round(sum(p_retailprice),2) as s from part group by p_mfgr, p_brand POSTHOOK: type: CREATEVIEW @@ -2731,7 +2731,7 @@ POSTHOOK: Output: database:default POSTHOOK: Output: default@mfgr_price_view PREHOOK: query: explain select p_mfgr, p_brand, s, -sum(s) over w1 as s1 +round(sum(s) over w1,2) as s1 from noop(on mfgr_price_view partition by p_mfgr order by p_mfgr) @@ -2739,7 +2739,7 @@ window w1 as ( partition by p_mfgr order by p_brand rows between 2 preceding and PREHOOK: type: QUERY POSTHOOK: query: explain select p_mfgr, p_brand, s, -sum(s) over w1 as s1 +round(sum(s) over w1,2) as s1 from noop(on mfgr_price_view partition by p_mfgr order by p_mfgr) @@ -2780,26 +2780,30 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE - PTF Operator - Function definitions: - Input definition - input alias: mfgr_price_view - output shape: _col0: string, _col1: string, _col2: double - type: TABLE - Partition table definition - input alias: ptf_1 - name: noop - order by: _col0 ASC NULLS FIRST - output shape: _col0: string, _col1: string, _col2: double - partition by: _col0 - raw input shape: + Select Operator + expressions: _col0 (type: string), _col1 (type: string), round(_col2, 2) (type: double) + outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe + PTF Operator + Function definitions: + Input definition + input alias: mfgr_price_view + output shape: _col0: string, _col1: string, _col2: double + type: TABLE + Partition table definition + input alias: ptf_1 + name: noop + order by: _col0 ASC NULLS FIRST + output shape: _col0: string, _col1: string, _col2: double + partition by: _col0 + raw input shape: + Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe Stage: Stage-2 Map Reduce @@ -2837,7 +2841,7 @@ STAGE PLANS: window frame: PRECEDING(2)~CURRENT Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: string), _col1 (type: string), _col2 (type: double), sum_window_0 (type: double) + expressions: _col0 (type: string), _col1 (type: string), _col2 (type: double), round(sum_window_0, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -2855,7 +2859,7 @@ STAGE PLANS: ListSink PREHOOK: query: select p_mfgr, p_brand, s, -sum(s) over w1 as s1 +round(sum(s) over w1,2) as s1 from noop(on mfgr_price_view partition by p_mfgr order by p_mfgr) @@ -2865,7 +2869,7 @@ PREHOOK: Input: default@mfgr_price_view PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: select p_mfgr, p_brand, s, -sum(s) over w1 as s1 +round(sum(s) over w1,2) as s1 from noop(on mfgr_price_view partition by p_mfgr order by p_mfgr) @@ -2878,15 +2882,15 @@ Manufacturer#1 Brand#12 4800.84 4800.84 Manufacturer#1 Brand#14 2346.3 7147.14 Manufacturer#1 Brand#15 1602.59 8749.73 Manufacturer#2 Brand#22 3491.38 3491.38 -Manufacturer#2 Brand#23 2031.98 5523.360000000001 +Manufacturer#2 Brand#23 2031.98 5523.36 Manufacturer#2 Brand#24 1698.66 7222.02 -Manufacturer#2 Brand#25 1701.6 5432.240000000001 +Manufacturer#2 Brand#25 1701.6 5432.24 Manufacturer#3 Brand#31 1671.68 1671.68 Manufacturer#3 Brand#32 3333.37 5005.05 Manufacturer#3 Brand#34 1337.29 6342.34 Manufacturer#3 Brand#35 1190.27 5860.93 -Manufacturer#4 Brand#41 4755.9400000000005 4755.9400000000005 -Manufacturer#4 Brand#42 2581.6800000000003 7337.620000000001 +Manufacturer#4 Brand#41 4755.94 4755.94 +Manufacturer#4 Brand#42 2581.68 7337.62 Manufacturer#5 Brand#51 1611.66 1611.66 Manufacturer#5 Brand#52 3254.17 4865.83 Manufacturer#5 Brand#53 2806.83 7672.66 @@ -2943,7 +2947,7 @@ order by p_name) INSERT OVERWRITE TABLE part_4 select p_mfgr, p_name, p_size, rank() over (distribute by p_mfgr sort by p_name) as r, dense_rank() over (distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_5 select p_mfgr,p_name, p_size, round(sum(p_size) over (distribute by p_mfgr sort by p_size range between 5 preceding and current row),1) as s2, rank() over (distribute by p_mfgr sort by p_mfgr, p_name) as r, @@ -2959,7 +2963,7 @@ order by p_name) INSERT OVERWRITE TABLE part_4 select p_mfgr, p_name, p_size, rank() over (distribute by p_mfgr sort by p_name) as r, dense_rank() over (distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_5 select p_mfgr,p_name, p_size, round(sum(p_size) over (distribute by p_mfgr sort by p_size range between 5 preceding and current row),1) as s2, rank() over (distribute by p_mfgr sort by p_mfgr, p_name) as r, @@ -3073,7 +3077,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -3232,7 +3236,7 @@ order by p_name) INSERT OVERWRITE TABLE part_4 select p_mfgr, p_name, p_size, rank() over (distribute by p_mfgr sort by p_name) as r, dense_rank() over (distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_5 select p_mfgr,p_name, p_size, round(sum(p_size) over (distribute by p_mfgr sort by p_size range between 5 preceding and current row),1) as s2, rank() over (distribute by p_mfgr sort by p_mfgr, p_name) as r, @@ -3250,7 +3254,7 @@ order by p_name) INSERT OVERWRITE TABLE part_4 select p_mfgr, p_name, p_size, rank() over (distribute by p_mfgr sort by p_name) as r, dense_rank() over (distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_5 select p_mfgr,p_name, p_size, round(sum(p_size) over (distribute by p_mfgr sort by p_size range between 5 preceding and current row),1) as s2, rank() over (distribute by p_mfgr sort by p_mfgr, p_name) as r, @@ -3287,12 +3291,12 @@ POSTHOOK: Input: default@part_4 Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -3304,9 +3308,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 diff --git a/ql/src/test/results/clientpositive/spark/ptf.q.out b/ql/src/test/results/clientpositive/spark/ptf.q.out index 2903003..eafe457 100644 --- a/ql/src/test/results/clientpositive/spark/ptf.q.out +++ b/ql/src/test/results/clientpositive/spark/ptf.q.out @@ -5,7 +5,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name @@ -18,7 +18,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name @@ -114,7 +114,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -134,7 +134,7 @@ STAGE PLANS: PREHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name @@ -145,7 +145,7 @@ PREHOOK: Input: default@part POSTHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name @@ -156,12 +156,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -173,9 +173,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -485,7 +485,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name @@ -496,7 +496,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name @@ -592,7 +592,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -612,7 +612,7 @@ STAGE PLANS: PREHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name @@ -623,7 +623,7 @@ PREHOOK: Input: default@part POSTHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name @@ -634,12 +634,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -651,9 +651,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -1499,7 +1499,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noopwithmap(on part partition by p_mfgr order by p_name) @@ -1509,7 +1509,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noopwithmap(on part partition by p_mfgr order by p_name) @@ -1621,7 +1621,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -1641,7 +1641,7 @@ STAGE PLANS: PREHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noopwithmap(on part partition by p_mfgr order by p_name) @@ -1651,7 +1651,7 @@ PREHOOK: Input: default@part POSTHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noopwithmap(on part partition by p_mfgr order by p_name) @@ -1661,12 +1661,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -1678,9 +1678,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -1689,7 +1689,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name) @@ -1699,7 +1699,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name) @@ -1794,7 +1794,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -1814,7 +1814,7 @@ STAGE PLANS: PREHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name) @@ -1824,7 +1824,7 @@ PREHOOK: Input: default@part POSTHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part partition by p_mfgr order by p_name) @@ -1834,12 +1834,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -1851,9 +1851,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -1862,7 +1862,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on noopwithmap(on noop(on part partition by p_mfgr order by p_mfgr DESC, p_name @@ -1873,7 +1873,7 @@ explain select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on noopwithmap(on noop(on part partition by p_mfgr order by p_mfgr DESC, p_name @@ -2027,7 +2027,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -2047,7 +2047,7 @@ STAGE PLANS: PREHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on noopwithmap(on noop(on part partition by p_mfgr order by p_mfgr DESC, p_name @@ -2058,7 +2058,7 @@ PREHOOK: Input: default@part POSTHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on noopwithmap(on noop(on part partition by p_mfgr order by p_mfgr DESC, p_name @@ -2069,12 +2069,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -2086,9 +2086,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -2099,7 +2099,7 @@ sub1.cd, sub1.s1 from (select p_mfgr, p_name, count(p_size) over (partition by p_mfgr order by p_name) as cd, p_retailprice, -sum(p_retailprice) over w1 as s1 +round(sum(p_retailprice) over w1,2) as s1 from noop(on part partition by p_mfgr order by p_name) @@ -2113,7 +2113,7 @@ sub1.cd, sub1.s1 from (select p_mfgr, p_name, count(p_size) over (partition by p_mfgr order by p_name) as cd, p_retailprice, -sum(p_retailprice) over w1 as s1 +round(sum(p_retailprice) over w1,2) as s1 from noop(on part partition by p_mfgr order by p_name) @@ -2202,7 +2202,7 @@ STAGE PLANS: window frame: PRECEDING(2)~FOLLOWING(2) Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), count_window_0 (type: bigint), sum_window_1 (type: double) + expressions: _col2 (type: string), _col1 (type: string), count_window_0 (type: bigint), round(sum_window_1, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -2224,7 +2224,7 @@ sub1.cd, sub1.s1 from (select p_mfgr, p_name, count(p_size) over (partition by p_mfgr order by p_name) as cd, p_retailprice, -sum(p_retailprice) over w1 as s1 +round(sum(p_retailprice) over w1,2) as s1 from noop(on part partition by p_mfgr order by p_name) @@ -2238,7 +2238,7 @@ sub1.cd, sub1.s1 from (select p_mfgr, p_name, count(p_size) over (partition by p_mfgr order by p_name) as cd, p_retailprice, -sum(p_retailprice) over w1 as s1 +round(sum(p_retailprice) over w1,2) as s1 from noop(on part partition by p_mfgr order by p_name) @@ -2248,38 +2248,38 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### Manufacturer#1 almond antique burnished rose metallic 2 4100.06 -Manufacturer#1 almond antique burnished rose metallic 2 5702.650000000001 -Manufacturer#1 almond antique chartreuse lavender yellow 3 7117.070000000001 +Manufacturer#1 almond antique burnished rose metallic 2 5702.65 +Manufacturer#1 almond antique chartreuse lavender yellow 3 7117.07 Manufacturer#1 almond antique salmon chartreuse burlywood 4 7576.58 Manufacturer#1 almond aquamarine burnished black steel 5 6403.43 Manufacturer#1 almond aquamarine pink moccasin thistle 6 4649.67 -Manufacturer#2 almond antique violet chocolate turquoise 1 5523.360000000001 +Manufacturer#2 almond antique violet chocolate turquoise 1 5523.36 Manufacturer#2 almond antique violet turquoise frosted 2 7222.02 Manufacturer#2 almond aquamarine midnight light salmon 3 8923.62 -Manufacturer#2 almond aquamarine rose maroon antique 4 7232.9400000000005 +Manufacturer#2 almond aquamarine rose maroon antique 4 7232.94 Manufacturer#2 almond aquamarine sandy cyan gainsboro 5 5432.24 Manufacturer#3 almond antique chartreuse khaki white 1 4272.34 Manufacturer#3 almond antique forest lavender goldenrod 2 6195.32 Manufacturer#3 almond antique metallic orange dim 3 7532.61 -Manufacturer#3 almond antique misty red olive 4 5860.929999999999 +Manufacturer#3 almond antique misty red olive 4 5860.93 Manufacturer#3 almond antique olive coral navajo 5 4670.66 Manufacturer#4 almond antique gainsboro frosted violet 1 4202.35 Manufacturer#4 almond antique violet mint lemon 2 6047.27 -Manufacturer#4 almond aquamarine floral ivory bisque 3 7337.620000000001 -Manufacturer#4 almond aquamarine yellow dodger mint 4 5716.950000000001 -Manufacturer#4 almond azure aquamarine papaya violet 5 4341.530000000001 +Manufacturer#4 almond aquamarine floral ivory bisque 3 7337.62 +Manufacturer#4 almond aquamarine yellow dodger mint 4 5716.95 +Manufacturer#4 almond azure aquamarine papaya violet 5 4341.53 Manufacturer#5 almond antique blue firebrick mint 1 5190.08 Manufacturer#5 almond antique medium spring khaki 2 6208.18 Manufacturer#5 almond antique sky peru orange 3 7672.66 -Manufacturer#5 almond aquamarine dodger light gainsboro 4 5882.970000000001 -Manufacturer#5 almond azure blanched chiffon midnight 5 4271.3099999999995 +Manufacturer#5 almond aquamarine dodger light gainsboro 4 5882.97 +Manufacturer#5 almond azure blanched chiffon midnight 5 4271.31 PREHOOK: query: -- 14. testPTFJoinWithWindowingWithCount explain select abc.p_mfgr, abc.p_name, rank() over (distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over (distribute by abc.p_mfgr sort by abc.p_name) as dr, count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over (distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part partition by p_mfgr @@ -2292,7 +2292,7 @@ select abc.p_mfgr, abc.p_name, rank() over (distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over (distribute by abc.p_mfgr sort by abc.p_name) as dr, count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over (distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part partition by p_mfgr @@ -2435,7 +2435,7 @@ STAGE PLANS: isPivotResult: true Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), count_window_2 (type: bigint), _col7 (type: double), sum_window_3 (type: double), _col5 (type: int), (_col5 - lag_window_4) (type: int) + expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), count_window_2 (type: bigint), _col7 (type: double), round(sum_window_3, 2) (type: double), _col5 (type: int), (_col5 - lag_window_4) (type: int) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8 Statistics: Num rows: 28 Data size: 3461 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -2455,8 +2455,8 @@ STAGE PLANS: PREHOOK: query: select abc.p_mfgr, abc.p_name, rank() over (distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over (distribute by abc.p_mfgr sort by abc.p_name) as dr, -count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over (distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part partition by p_mfgr @@ -2468,8 +2468,8 @@ PREHOOK: Input: default@part POSTHOOK: query: select abc.p_mfgr, abc.p_name, rank() over (distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over (distribute by abc.p_mfgr sort by abc.p_name) as dr, -count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over (distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part partition by p_mfgr @@ -2480,15 +2480,15 @@ POSTHOOK: Input: default@part #### A masked pattern was here #### Manufacturer#1 almond antique burnished rose metallic 1 1 4 1173.15 1173.15 2 0 Manufacturer#1 almond antique burnished rose metallic 1 1 4 1173.15 2346.3 2 0 -Manufacturer#1 almond antique burnished rose metallic 1 1 4 1173.15 3519.4500000000003 2 0 +Manufacturer#1 almond antique burnished rose metallic 1 1 4 1173.15 3519.45 2 0 Manufacturer#1 almond antique burnished rose metallic 1 1 4 1173.15 4692.6 2 0 -Manufacturer#1 almond antique chartreuse lavender yellow 5 2 5 1753.76 6446.360000000001 34 32 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 3 6 1602.59 8048.950000000001 6 -28 +Manufacturer#1 almond antique chartreuse lavender yellow 5 2 5 1753.76 6446.36 34 32 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 3 6 1602.59 8048.95 6 -28 Manufacturer#1 almond aquamarine burnished black steel 7 4 7 1414.42 9463.37 28 22 Manufacturer#1 almond aquamarine pink moccasin thistle 8 5 8 1632.66 11096.03 42 14 Manufacturer#2 almond antique violet chocolate turquoise 1 1 1 1690.68 1690.68 14 0 Manufacturer#2 almond antique violet turquoise frosted 2 2 2 1800.7 3491.38 40 26 -Manufacturer#2 almond aquamarine midnight light salmon 3 3 3 2031.98 5523.360000000001 2 -38 +Manufacturer#2 almond aquamarine midnight light salmon 3 3 3 2031.98 5523.36 2 -38 Manufacturer#2 almond aquamarine rose maroon antique 4 4 4 1698.66 7222.02 25 23 Manufacturer#2 almond aquamarine sandy cyan gainsboro 5 5 5 1701.6 8923.62 18 -7 Manufacturer#3 almond antique chartreuse khaki white 1 1 1 1671.68 1671.68 17 0 @@ -2500,9 +2500,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 1 1 1 1620.67 1620.67 10 Manufacturer#4 almond antique violet mint lemon 2 2 2 1375.42 2996.09 39 29 Manufacturer#4 almond aquamarine floral ivory bisque 3 3 3 1206.26 4202.35 27 -12 Manufacturer#4 almond aquamarine yellow dodger mint 4 4 4 1844.92 6047.27 7 -20 -Manufacturer#4 almond azure aquamarine papaya violet 5 5 5 1290.35 7337.620000000001 12 5 +Manufacturer#4 almond azure aquamarine papaya violet 5 5 5 1290.35 7337.62 12 5 Manufacturer#5 almond antique blue firebrick mint 1 1 1 1789.69 1789.69 31 0 -Manufacturer#5 almond antique medium spring khaki 2 2 2 1611.66 3401.3500000000004 6 -25 +Manufacturer#5 almond antique medium spring khaki 2 2 2 1611.66 3401.35 6 -25 Manufacturer#5 almond antique sky peru orange 3 3 3 1788.73 5190.08 2 -4 Manufacturer#5 almond aquamarine dodger light gainsboro 4 4 4 1018.1 6208.18 46 44 Manufacturer#5 almond azure blanched chiffon midnight 5 5 5 1464.48 7672.66 23 -23 @@ -2640,7 +2640,7 @@ Manufacturer#5 almond azure blanched chiffon midnight 23 PREHOOK: query: -- 16. testViewAsTableInputToPTF create view IF NOT EXISTS mfgr_price_view as select p_mfgr, p_brand, -sum(p_retailprice) as s +round(sum(p_retailprice),2) as s from part group by p_mfgr, p_brand PREHOOK: type: CREATEVIEW @@ -2650,7 +2650,7 @@ PREHOOK: Output: default@mfgr_price_view POSTHOOK: query: -- 16. testViewAsTableInputToPTF create view IF NOT EXISTS mfgr_price_view as select p_mfgr, p_brand, -sum(p_retailprice) as s +round(sum(p_retailprice),2) as s from part group by p_mfgr, p_brand POSTHOOK: type: CREATEVIEW @@ -2659,7 +2659,7 @@ POSTHOOK: Output: database:default POSTHOOK: Output: default@mfgr_price_view PREHOOK: query: explain select p_mfgr, p_brand, s, -sum(s) over w1 as s1 +round(sum(s) over w1,2) as s1 from noop(on mfgr_price_view partition by p_mfgr order by p_mfgr) @@ -2667,7 +2667,7 @@ window w1 as ( partition by p_mfgr order by p_brand rows between 2 preceding and PREHOOK: type: QUERY POSTHOOK: query: explain select p_mfgr, p_brand, s, -sum(s) over w1 as s1 +round(sum(s) over w1,2) as s1 from noop(on mfgr_price_view partition by p_mfgr order by p_mfgr) @@ -2714,26 +2714,30 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE - PTF Operator - Function definitions: - Input definition - input alias: mfgr_price_view - output shape: _col0: string, _col1: string, _col2: double - type: TABLE - Partition table definition - input alias: ptf_1 - name: noop - order by: _col0 ASC NULLS FIRST - output shape: _col0: string, _col1: string, _col2: double - partition by: _col0 - raw input shape: + Select Operator + expressions: _col0 (type: string), _col1 (type: string), round(_col2, 2) (type: double) + outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string) - sort order: ++ - Map-reduce partition columns: _col0 (type: string) + PTF Operator + Function definitions: + Input definition + input alias: mfgr_price_view + output shape: _col0: string, _col1: string, _col2: double + type: TABLE + Partition table definition + input alias: ptf_1 + name: noop + order by: _col0 ASC NULLS FIRST + output shape: _col0: string, _col1: string, _col2: double + partition by: _col0 + raw input shape: Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE - value expressions: _col2 (type: double) + Reduce Output Operator + key expressions: _col0 (type: string), _col1 (type: string) + sort order: ++ + Map-reduce partition columns: _col0 (type: string) + Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE + value expressions: _col2 (type: double) Reducer 3 Reduce Operator Tree: Select Operator @@ -2761,7 +2765,7 @@ STAGE PLANS: window frame: PRECEDING(2)~CURRENT Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: string), _col1 (type: string), _col2 (type: double), sum_window_0 (type: double) + expressions: _col0 (type: string), _col1 (type: string), _col2 (type: double), round(sum_window_0, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -2779,7 +2783,7 @@ STAGE PLANS: ListSink PREHOOK: query: select p_mfgr, p_brand, s, -sum(s) over w1 as s1 +round(sum(s) over w1,2) as s1 from noop(on mfgr_price_view partition by p_mfgr order by p_mfgr) @@ -2789,7 +2793,7 @@ PREHOOK: Input: default@mfgr_price_view PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: select p_mfgr, p_brand, s, -sum(s) over w1 as s1 +round(sum(s) over w1,2) as s1 from noop(on mfgr_price_view partition by p_mfgr order by p_mfgr) @@ -2802,15 +2806,15 @@ Manufacturer#1 Brand#12 4800.84 4800.84 Manufacturer#1 Brand#14 2346.3 7147.14 Manufacturer#1 Brand#15 1602.59 8749.73 Manufacturer#2 Brand#22 3491.38 3491.38 -Manufacturer#2 Brand#23 2031.98 5523.360000000001 +Manufacturer#2 Brand#23 2031.98 5523.36 Manufacturer#2 Brand#24 1698.66 7222.02 -Manufacturer#2 Brand#25 1701.6 5432.240000000001 +Manufacturer#2 Brand#25 1701.6 5432.24 Manufacturer#3 Brand#31 1671.68 1671.68 Manufacturer#3 Brand#32 3333.37 5005.05 Manufacturer#3 Brand#34 1337.29 6342.34 Manufacturer#3 Brand#35 1190.27 5860.93 -Manufacturer#4 Brand#41 4755.9400000000005 4755.9400000000005 -Manufacturer#4 Brand#42 2581.6800000000003 7337.620000000001 +Manufacturer#4 Brand#41 4755.94 4755.94 +Manufacturer#4 Brand#42 2581.68 7337.62 Manufacturer#5 Brand#51 1611.66 1611.66 Manufacturer#5 Brand#52 3254.17 4865.83 Manufacturer#5 Brand#53 2806.83 7672.66 @@ -2867,7 +2871,7 @@ order by p_name) INSERT OVERWRITE TABLE part_4 select p_mfgr, p_name, p_size, rank() over (distribute by p_mfgr sort by p_name) as r, dense_rank() over (distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_5 select p_mfgr,p_name, p_size, round(sum(p_size) over (distribute by p_mfgr sort by p_size range between 5 preceding and current row),1) as s2, rank() over (distribute by p_mfgr sort by p_mfgr, p_name) as r, @@ -2883,7 +2887,7 @@ order by p_name) INSERT OVERWRITE TABLE part_4 select p_mfgr, p_name, p_size, rank() over (distribute by p_mfgr sort by p_name) as r, dense_rank() over (distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_5 select p_mfgr,p_name, p_size, round(sum(p_size) over (distribute by p_mfgr sort by p_size range between 5 preceding and current row),1) as s2, rank() over (distribute by p_mfgr sort by p_mfgr, p_name) as r, @@ -2962,7 +2966,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -3149,7 +3153,7 @@ order by p_name) INSERT OVERWRITE TABLE part_4 select p_mfgr, p_name, p_size, rank() over (distribute by p_mfgr sort by p_name) as r, dense_rank() over (distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_5 select p_mfgr,p_name, p_size, round(sum(p_size) over (distribute by p_mfgr sort by p_size range between 5 preceding and current row),1) as s2, rank() over (distribute by p_mfgr sort by p_mfgr, p_name) as r, @@ -3167,7 +3171,7 @@ order by p_name) INSERT OVERWRITE TABLE part_4 select p_mfgr, p_name, p_size, rank() over (distribute by p_mfgr sort by p_name) as r, dense_rank() over (distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_5 select p_mfgr,p_name, p_size, round(sum(p_size) over (distribute by p_mfgr sort by p_size range between 5 preceding and current row),1) as s2, rank() over (distribute by p_mfgr sort by p_mfgr, p_name) as r, @@ -3204,12 +3208,12 @@ POSTHOOK: Input: default@part_4 Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -3221,9 +3225,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 diff --git a/ql/src/test/results/clientpositive/spark/vectorized_ptf.q.out b/ql/src/test/results/clientpositive/spark/vectorized_ptf.q.out index 9ab7a0b..c1cf0e8 100644 --- a/ql/src/test/results/clientpositive/spark/vectorized_ptf.q.out +++ b/ql/src/test/results/clientpositive/spark/vectorized_ptf.q.out @@ -124,7 +124,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name @@ -136,7 +136,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name @@ -291,7 +291,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -886,7 +886,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name @@ -898,7 +898,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name @@ -1053,7 +1053,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -1088,7 +1088,7 @@ STAGE PLANS: PREHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name @@ -1099,7 +1099,7 @@ PREHOOK: Input: default@part_orc POSTHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name @@ -1110,12 +1110,12 @@ POSTHOOK: Input: default@part_orc Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -1127,9 +1127,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -2467,7 +2467,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noopwithmap(on part_orc partition by p_mfgr order by p_name) @@ -2478,7 +2478,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noopwithmap(on part_orc partition by p_mfgr order by p_name) @@ -2648,7 +2648,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -2683,7 +2683,7 @@ STAGE PLANS: PREHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noopwithmap(on part_orc partition by p_mfgr order by p_name) @@ -2693,7 +2693,7 @@ PREHOOK: Input: default@part_orc POSTHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noopwithmap(on part_orc partition by p_mfgr order by p_name) @@ -2703,12 +2703,12 @@ POSTHOOK: Input: default@part_orc Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -2720,9 +2720,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -2732,7 +2732,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name) @@ -2743,7 +2743,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name) @@ -2897,7 +2897,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -2932,7 +2932,7 @@ STAGE PLANS: PREHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name) @@ -2942,7 +2942,7 @@ PREHOOK: Input: default@part_orc POSTHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name) @@ -2952,12 +2952,12 @@ POSTHOOK: Input: default@part_orc Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -2969,9 +2969,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -2981,7 +2981,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on noopwithmap(on noop(on part_orc partition by p_mfgr order by p_mfgr, p_name @@ -2993,7 +2993,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on noopwithmap(on noop(on part_orc partition by p_mfgr order by p_mfgr, p_name @@ -3210,7 +3210,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -3245,7 +3245,7 @@ STAGE PLANS: PREHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on noopwithmap(on noop(on part_orc partition by p_mfgr order by p_mfgr, p_name @@ -3256,7 +3256,7 @@ PREHOOK: Input: default@part_orc POSTHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on noopwithmap(on noop(on part_orc partition by p_mfgr order by p_mfgr, p_name @@ -3267,12 +3267,12 @@ POSTHOOK: Input: default@part_orc Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -3284,9 +3284,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -3298,7 +3298,7 @@ sub1.cd, sub1.s1 from (select p_mfgr, p_name, count(p_size) over (partition by p_mfgr order by p_name) as cd, p_retailprice, -sum(p_retailprice) over w1 as s1 +round(sum(p_retailprice) over w1,2) as s1 from noop(on part_orc partition by p_mfgr order by p_name) @@ -3313,7 +3313,7 @@ sub1.cd, sub1.s1 from (select p_mfgr, p_name, count(p_size) over (partition by p_mfgr order by p_name) as cd, p_retailprice, -sum(p_retailprice) over w1 as s1 +round(sum(p_retailprice) over w1,2) as s1 from noop(on part_orc partition by p_mfgr order by p_name) @@ -3461,7 +3461,7 @@ STAGE PLANS: window frame: PRECEDING(2)~FOLLOWING(2) Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), count_window_0 (type: bigint), sum_window_1 (type: double) + expressions: _col2 (type: string), _col1 (type: string), count_window_0 (type: bigint), round(sum_window_1, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -3498,7 +3498,7 @@ sub1.cd, sub1.s1 from (select p_mfgr, p_name, count(p_size) over (partition by p_mfgr order by p_name) as cd, p_retailprice, -sum(p_retailprice) over w1 as s1 +round(sum(p_retailprice) over w1,2) as s1 from noop(on part_orc partition by p_mfgr order by p_name) @@ -3512,7 +3512,7 @@ sub1.cd, sub1.s1 from (select p_mfgr, p_name, count(p_size) over (partition by p_mfgr order by p_name) as cd, p_retailprice, -sum(p_retailprice) over w1 as s1 +round(sum(p_retailprice) over w1,2) as s1 from noop(on part_orc partition by p_mfgr order by p_name) @@ -3522,31 +3522,31 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@part_orc #### A masked pattern was here #### Manufacturer#1 almond antique burnished rose metallic 2 4100.06 -Manufacturer#1 almond antique burnished rose metallic 2 5702.650000000001 -Manufacturer#1 almond antique chartreuse lavender yellow 3 7117.070000000001 +Manufacturer#1 almond antique burnished rose metallic 2 5702.65 +Manufacturer#1 almond antique chartreuse lavender yellow 3 7117.07 Manufacturer#1 almond antique salmon chartreuse burlywood 4 7576.58 Manufacturer#1 almond aquamarine burnished black steel 5 6403.43 Manufacturer#1 almond aquamarine pink moccasin thistle 6 4649.67 -Manufacturer#2 almond antique violet chocolate turquoise 1 5523.360000000001 +Manufacturer#2 almond antique violet chocolate turquoise 1 5523.36 Manufacturer#2 almond antique violet turquoise frosted 2 7222.02 Manufacturer#2 almond aquamarine midnight light salmon 3 8923.62 -Manufacturer#2 almond aquamarine rose maroon antique 4 7232.9400000000005 +Manufacturer#2 almond aquamarine rose maroon antique 4 7232.94 Manufacturer#2 almond aquamarine sandy cyan gainsboro 5 5432.24 Manufacturer#3 almond antique chartreuse khaki white 1 4272.34 Manufacturer#3 almond antique forest lavender goldenrod 2 6195.32 Manufacturer#3 almond antique metallic orange dim 3 7532.61 -Manufacturer#3 almond antique misty red olive 4 5860.929999999999 +Manufacturer#3 almond antique misty red olive 4 5860.93 Manufacturer#3 almond antique olive coral navajo 5 4670.66 Manufacturer#4 almond antique gainsboro frosted violet 1 4202.35 Manufacturer#4 almond antique violet mint lemon 2 6047.27 -Manufacturer#4 almond aquamarine floral ivory bisque 3 7337.620000000001 -Manufacturer#4 almond aquamarine yellow dodger mint 4 5716.950000000001 -Manufacturer#4 almond azure aquamarine papaya violet 5 4341.530000000001 +Manufacturer#4 almond aquamarine floral ivory bisque 3 7337.62 +Manufacturer#4 almond aquamarine yellow dodger mint 4 5716.95 +Manufacturer#4 almond azure aquamarine papaya violet 5 4341.53 Manufacturer#5 almond antique blue firebrick mint 1 5190.08 Manufacturer#5 almond antique medium spring khaki 2 6208.18 Manufacturer#5 almond antique sky peru orange 3 7672.66 -Manufacturer#5 almond aquamarine dodger light gainsboro 4 5882.970000000001 -Manufacturer#5 almond azure blanched chiffon midnight 5 4271.3099999999995 +Manufacturer#5 almond aquamarine dodger light gainsboro 4 5882.97 +Manufacturer#5 almond azure blanched chiffon midnight 5 4271.31 PREHOOK: query: -- 14. testPTFJoinWithWindowingWithCount explain extended @@ -3554,7 +3554,7 @@ select abc.p_mfgr, abc.p_name, rank() over (distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over (distribute by abc.p_mfgr sort by abc.p_name) as dr, count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over (distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part_orc partition by p_mfgr @@ -3568,7 +3568,7 @@ select abc.p_mfgr, abc.p_name, rank() over (distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over (distribute by abc.p_mfgr sort by abc.p_name) as dr, count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over (distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part_orc partition by p_mfgr @@ -3830,7 +3830,7 @@ STAGE PLANS: isPivotResult: true Statistics: Num rows: 28 Data size: 17646 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), count_window_2 (type: bigint), _col7 (type: double), sum_window_3 (type: double), _col5 (type: int), (_col5 - lag_window_4) (type: int) + expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), count_window_2 (type: bigint), _col7 (type: double), round(sum_window_3, 2) (type: double), _col5 (type: int), (_col5 - lag_window_4) (type: int) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8 Statistics: Num rows: 28 Data size: 17646 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -3866,7 +3866,7 @@ PREHOOK: query: select abc.p_mfgr, abc.p_name, rank() over (distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over (distribute by abc.p_mfgr sort by abc.p_name) as dr, count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over (distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part_orc partition by p_mfgr @@ -3879,7 +3879,7 @@ POSTHOOK: query: select abc.p_mfgr, abc.p_name, rank() over (distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over (distribute by abc.p_mfgr sort by abc.p_name) as dr, count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over (distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part_orc partition by p_mfgr @@ -3890,15 +3890,15 @@ POSTHOOK: Input: default@part_orc #### A masked pattern was here #### Manufacturer#1 almond antique burnished rose metallic 1 1 4 1173.15 1173.15 2 0 Manufacturer#1 almond antique burnished rose metallic 1 1 4 1173.15 2346.3 2 0 -Manufacturer#1 almond antique burnished rose metallic 1 1 4 1173.15 3519.4500000000003 2 0 +Manufacturer#1 almond antique burnished rose metallic 1 1 4 1173.15 3519.45 2 0 Manufacturer#1 almond antique burnished rose metallic 1 1 4 1173.15 4692.6 2 0 -Manufacturer#1 almond antique chartreuse lavender yellow 5 2 5 1753.76 6446.360000000001 34 32 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 3 6 1602.59 8048.950000000001 6 -28 +Manufacturer#1 almond antique chartreuse lavender yellow 5 2 5 1753.76 6446.36 34 32 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 3 6 1602.59 8048.95 6 -28 Manufacturer#1 almond aquamarine burnished black steel 7 4 7 1414.42 9463.37 28 22 Manufacturer#1 almond aquamarine pink moccasin thistle 8 5 8 1632.66 11096.03 42 14 Manufacturer#2 almond antique violet chocolate turquoise 1 1 1 1690.68 1690.68 14 0 Manufacturer#2 almond antique violet turquoise frosted 2 2 2 1800.7 3491.38 40 26 -Manufacturer#2 almond aquamarine midnight light salmon 3 3 3 2031.98 5523.360000000001 2 -38 +Manufacturer#2 almond aquamarine midnight light salmon 3 3 3 2031.98 5523.36 2 -38 Manufacturer#2 almond aquamarine rose maroon antique 4 4 4 1698.66 7222.02 25 23 Manufacturer#2 almond aquamarine sandy cyan gainsboro 5 5 5 1701.6 8923.62 18 -7 Manufacturer#3 almond antique chartreuse khaki white 1 1 1 1671.68 1671.68 17 0 @@ -3910,9 +3910,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 1 1 1 1620.67 1620.67 10 Manufacturer#4 almond antique violet mint lemon 2 2 2 1375.42 2996.09 39 29 Manufacturer#4 almond aquamarine floral ivory bisque 3 3 3 1206.26 4202.35 27 -12 Manufacturer#4 almond aquamarine yellow dodger mint 4 4 4 1844.92 6047.27 7 -20 -Manufacturer#4 almond azure aquamarine papaya violet 5 5 5 1290.35 7337.620000000001 12 5 +Manufacturer#4 almond azure aquamarine papaya violet 5 5 5 1290.35 7337.62 12 5 Manufacturer#5 almond antique blue firebrick mint 1 1 1 1789.69 1789.69 31 0 -Manufacturer#5 almond antique medium spring khaki 2 2 2 1611.66 3401.3500000000004 6 -25 +Manufacturer#5 almond antique medium spring khaki 2 2 2 1611.66 3401.35 6 -25 Manufacturer#5 almond antique sky peru orange 3 3 3 1788.73 5190.08 2 -4 Manufacturer#5 almond aquamarine dodger light gainsboro 4 4 4 1018.1 6208.18 46 44 Manufacturer#5 almond azure blanched chiffon midnight 5 5 5 1464.48 7672.66 23 -23 @@ -4127,7 +4127,7 @@ Manufacturer#5 almond azure blanched chiffon midnight 23 PREHOOK: query: -- 16. testViewAsTableInputToPTF create view IF NOT EXISTS mfgr_price_view as select p_mfgr, p_brand, -sum(p_retailprice) as s +round(sum(p_retailprice),2) as s from part_orc group by p_mfgr, p_brand PREHOOK: type: CREATEVIEW @@ -4137,7 +4137,7 @@ PREHOOK: Output: default@mfgr_price_view POSTHOOK: query: -- 16. testViewAsTableInputToPTF create view IF NOT EXISTS mfgr_price_view as select p_mfgr, p_brand, -sum(p_retailprice) as s +round(sum(p_retailprice),2) as s from part_orc group by p_mfgr, p_brand POSTHOOK: type: CREATEVIEW @@ -4146,7 +4146,7 @@ POSTHOOK: Output: database:default POSTHOOK: Output: default@mfgr_price_view PREHOOK: query: explain extended select p_mfgr, p_brand, s, -sum(s) over w1 as s1 +round(sum(s) over w1,2) as s1 from noop(on mfgr_price_view partition by p_mfgr order by p_mfgr) @@ -4154,7 +4154,7 @@ window w1 as ( partition by p_mfgr order by p_brand rows between 2 preceding and PREHOOK: type: QUERY POSTHOOK: query: explain extended select p_mfgr, p_brand, s, -sum(s) over w1 as s1 +round(sum(s) over w1,2) as s1 from noop(on mfgr_price_view partition by p_mfgr order by p_mfgr) @@ -4256,29 +4256,33 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 13 Data size: 8021 Basic stats: COMPLETE Column stats: NONE - PTF Operator - Function definitions: - Input definition - input alias: mfgr_price_view - output shape: _col0: string, _col1: string, _col2: double - type: TABLE - Partition table definition - input alias: ptf_1 - name: noop - order by: _col0 ASC NULLS FIRST - output shape: _col0: string, _col1: string, _col2: double - partition by: _col0 - raw input shape: + Select Operator + expressions: _col0 (type: string), _col1 (type: string), round(_col2, 2) (type: double) + outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 13 Data size: 8021 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: string) - null sort order: aa - sort order: ++ - Map-reduce partition columns: _col0 (type: string) + PTF Operator + Function definitions: + Input definition + input alias: mfgr_price_view + output shape: _col0: string, _col1: string, _col2: double + type: TABLE + Partition table definition + input alias: ptf_1 + name: noop + order by: _col0 ASC NULLS FIRST + output shape: _col0: string, _col1: string, _col2: double + partition by: _col0 + raw input shape: Statistics: Num rows: 13 Data size: 8021 Basic stats: COMPLETE Column stats: NONE - tag: -1 - value expressions: _col2 (type: double) - auto parallelism: false + Reduce Output Operator + key expressions: _col0 (type: string), _col1 (type: string) + null sort order: aa + sort order: ++ + Map-reduce partition columns: _col0 (type: string) + Statistics: Num rows: 13 Data size: 8021 Basic stats: COMPLETE Column stats: NONE + tag: -1 + value expressions: _col2 (type: double) + auto parallelism: false Reducer 3 Needs Tagging: false Reduce Operator Tree: @@ -4307,7 +4311,7 @@ STAGE PLANS: window frame: PRECEDING(2)~CURRENT Statistics: Num rows: 13 Data size: 8021 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: string), _col1 (type: string), _col2 (type: double), sum_window_0 (type: double) + expressions: _col0 (type: string), _col1 (type: string), _col2 (type: double), round(sum_window_0, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 13 Data size: 8021 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -4340,7 +4344,7 @@ STAGE PLANS: ListSink PREHOOK: query: select p_mfgr, p_brand, s, -sum(s) over w1 as s1 +round(sum(s) over w1,2) as s1 from noop(on mfgr_price_view partition by p_mfgr order by p_mfgr) @@ -4350,7 +4354,7 @@ PREHOOK: Input: default@mfgr_price_view PREHOOK: Input: default@part_orc #### A masked pattern was here #### POSTHOOK: query: select p_mfgr, p_brand, s, -sum(s) over w1 as s1 +round(sum(s) over w1,2) as s1 from noop(on mfgr_price_view partition by p_mfgr order by p_mfgr) @@ -4363,15 +4367,15 @@ Manufacturer#1 Brand#12 4800.84 4800.84 Manufacturer#1 Brand#14 2346.3 7147.14 Manufacturer#1 Brand#15 1602.59 8749.73 Manufacturer#2 Brand#22 3491.38 3491.38 -Manufacturer#2 Brand#23 2031.98 5523.360000000001 +Manufacturer#2 Brand#23 2031.98 5523.36 Manufacturer#2 Brand#24 1698.66 7222.02 -Manufacturer#2 Brand#25 1701.6 5432.240000000001 +Manufacturer#2 Brand#25 1701.6 5432.24 Manufacturer#3 Brand#31 1671.68 1671.68 Manufacturer#3 Brand#32 3333.37 5005.05 Manufacturer#3 Brand#34 1337.29 6342.34 Manufacturer#3 Brand#35 1190.27 5860.93 -Manufacturer#4 Brand#41 4755.9400000000005 4755.9400000000005 -Manufacturer#4 Brand#42 2581.6800000000003 7337.620000000001 +Manufacturer#4 Brand#41 4755.94 4755.94 +Manufacturer#4 Brand#42 2581.68 7337.62 Manufacturer#5 Brand#51 1611.66 1611.66 Manufacturer#5 Brand#52 3254.17 4865.83 Manufacturer#5 Brand#53 2806.83 7672.66 @@ -4428,7 +4432,7 @@ order by p_name) INSERT OVERWRITE TABLE part_4 select p_mfgr, p_name, p_size, rank() over (distribute by p_mfgr sort by p_name) as r, dense_rank() over (distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_5 select p_mfgr,p_name, p_size, round(sum(p_size) over (distribute by p_mfgr sort by p_size range between 5 preceding and current row),1) as s2, rank() over (distribute by p_mfgr sort by p_mfgr, p_name) as r, @@ -4444,7 +4448,7 @@ order by p_name) INSERT OVERWRITE TABLE part_4 select p_mfgr, p_name, p_size, rank() over (distribute by p_mfgr sort by p_name) as r, dense_rank() over (distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_5 select p_mfgr,p_name, p_size, round(sum(p_size) over (distribute by p_mfgr sort by p_size range between 5 preceding and current row),1) as s2, rank() over (distribute by p_mfgr sort by p_mfgr, p_name) as r, @@ -4578,7 +4582,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -4860,7 +4864,7 @@ order by p_name) INSERT OVERWRITE TABLE part_4 select p_mfgr, p_name, p_size, rank() over (distribute by p_mfgr sort by p_name) as r, dense_rank() over (distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_5 select p_mfgr,p_name, p_size, round(sum(p_size) over (distribute by p_mfgr sort by p_size range between 5 preceding and current row),1) as s2, rank() over (distribute by p_mfgr sort by p_mfgr, p_name) as r, @@ -4878,7 +4882,7 @@ order by p_name) INSERT OVERWRITE TABLE part_4 select p_mfgr, p_name, p_size, rank() over (distribute by p_mfgr sort by p_name) as r, dense_rank() over (distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_5 select p_mfgr,p_name, p_size, round(sum(p_size) over (distribute by p_mfgr sort by p_size range between 5 preceding and current row),1) as s2, rank() over (distribute by p_mfgr sort by p_mfgr, p_name) as r, @@ -4915,12 +4919,12 @@ POSTHOOK: Input: default@part_4 Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -4932,9 +4936,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 diff --git a/ql/src/test/results/clientpositive/spark/windowing.q.out b/ql/src/test/results/clientpositive/spark/windowing.q.out index 72b2245..23f0b91 100644 --- a/ql/src/test/results/clientpositive/spark/windowing.q.out +++ b/ql/src/test/results/clientpositive/spark/windowing.q.out @@ -4,7 +4,7 @@ PREHOOK: query: -- SORT_QUERY_RESULTS select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -15,7 +15,7 @@ POSTHOOK: query: -- SORT_QUERY_RESULTS select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part @@ -23,12 +23,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -40,9 +40,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -185,7 +185,7 @@ select p_mfgr, p_name, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, count(p_size) over(distribute by p_mfgr sort by p_name) as cd, -p_retailprice, sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1, +p_retailprice, round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1, p_size, p_size - lag(p_size,1,p_size) over(distribute by p_mfgr sort by p_name) as deltaSz from part PREHOOK: type: QUERY @@ -196,7 +196,7 @@ select p_mfgr, p_name, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, count(p_size) over(distribute by p_mfgr sort by p_name) as cd, -p_retailprice, sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1, +p_retailprice, round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1, p_size, p_size - lag(p_size,1,p_size) over(distribute by p_mfgr sort by p_name) as deltaSz from part POSTHOOK: type: QUERY @@ -205,12 +205,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 1 1 2 1173.15 1173.15 2 0 Manufacturer#1 almond antique burnished rose metallic 1 1 2 1173.15 2346.3 2 0 Manufacturer#1 almond antique chartreuse lavender yellow 3 2 3 1753.76 4100.06 34 32 -Manufacturer#1 almond antique salmon chartreuse burlywood 4 3 4 1602.59 5702.650000000001 6 -28 -Manufacturer#1 almond aquamarine burnished black steel 5 4 5 1414.42 7117.070000000001 28 22 -Manufacturer#1 almond aquamarine pink moccasin thistle 6 5 6 1632.66 8749.730000000001 42 14 +Manufacturer#1 almond antique salmon chartreuse burlywood 4 3 4 1602.59 5702.65 6 -28 +Manufacturer#1 almond aquamarine burnished black steel 5 4 5 1414.42 7117.07 28 22 +Manufacturer#1 almond aquamarine pink moccasin thistle 6 5 6 1632.66 8749.73 42 14 Manufacturer#2 almond antique violet chocolate turquoise 1 1 1 1690.68 1690.68 14 0 Manufacturer#2 almond antique violet turquoise frosted 2 2 2 1800.7 3491.38 40 26 -Manufacturer#2 almond aquamarine midnight light salmon 3 3 3 2031.98 5523.360000000001 2 -38 +Manufacturer#2 almond aquamarine midnight light salmon 3 3 3 2031.98 5523.36 2 -38 Manufacturer#2 almond aquamarine rose maroon antique 4 4 4 1698.66 7222.02 25 23 Manufacturer#2 almond aquamarine sandy cyan gainsboro 5 5 5 1701.6 8923.62 18 -7 Manufacturer#3 almond antique chartreuse khaki white 1 1 1 1671.68 1671.68 17 0 @@ -222,9 +222,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 1 1 1 1620.67 1620.67 10 Manufacturer#4 almond antique violet mint lemon 2 2 2 1375.42 2996.09 39 29 Manufacturer#4 almond aquamarine floral ivory bisque 3 3 3 1206.26 4202.35 27 -12 Manufacturer#4 almond aquamarine yellow dodger mint 4 4 4 1844.92 6047.27 7 -20 -Manufacturer#4 almond azure aquamarine papaya violet 5 5 5 1290.35 7337.620000000001 12 5 +Manufacturer#4 almond azure aquamarine papaya violet 5 5 5 1290.35 7337.62 12 5 Manufacturer#5 almond antique blue firebrick mint 1 1 1 1789.69 1789.69 31 0 -Manufacturer#5 almond antique medium spring khaki 2 2 2 1611.66 3401.3500000000004 6 -25 +Manufacturer#5 almond antique medium spring khaki 2 2 2 1611.66 3401.35 6 -25 Manufacturer#5 almond antique sky peru orange 3 3 3 1788.73 5190.08 2 -4 Manufacturer#5 almond aquamarine dodger light gainsboro 4 4 4 1018.1 6208.18 46 44 Manufacturer#5 almond azure blanched chiffon midnight 5 5 5 1464.48 7672.66 23 -23 @@ -234,7 +234,7 @@ from (select p_mfgr, p_name, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, count(p_size) over(distribute by p_mfgr sort by p_name) as cd, -p_retailprice, sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1, +p_retailprice, round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1, p_size, p_size - lag(p_size,1,p_size) over(distribute by p_mfgr sort by p_name) as deltaSz from part ) sub1 @@ -247,7 +247,7 @@ from (select p_mfgr, p_name, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, count(p_size) over(distribute by p_mfgr sort by p_name) as cd, -p_retailprice, sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1, +p_retailprice, round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1, p_size, p_size - lag(p_size,1,p_size) over(distribute by p_mfgr sort by p_name) as deltaSz from part ) sub1 @@ -262,29 +262,29 @@ POSTHOOK: Input: default@part 1 1 2 2346.3 0 2 2 2 2861.95 -3 2 2 2 2996.09 29 -2 2 2 3401.3500000000004 -25 +2 2 2 3401.35 -25 2 2 2 3491.38 26 3 2 3 4100.06 32 3 3 3 4202.35 -12 3 3 3 4272.34 5 3 3 3 5190.08 -4 -3 3 3 5523.360000000001 -38 -4 3 4 5702.650000000001 -28 +3 3 3 5523.36 -38 +4 3 4 5702.65 -28 4 4 4 6047.27 -20 4 4 4 6195.32 -18 4 4 4 6208.18 44 4 4 4 7222.02 23 -5 4 5 7117.070000000001 22 -5 5 5 7337.620000000001 5 +5 4 5 7117.07 22 +5 5 5 7337.62 5 5 5 5 7532.61 44 5 5 5 7672.66 -23 5 5 5 8923.62 -7 -6 5 6 8749.730000000001 14 +6 5 6 8749.73 14 PREHOOK: query: -- 7. testJoinWithWindowingAndPTF select abc.p_mfgr, abc.p_name, rank() over(distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over(distribute by abc.p_mfgr sort by abc.p_name) as dr, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over(distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part partition by p_mfgr @@ -297,7 +297,7 @@ POSTHOOK: query: -- 7. testJoinWithWindowingAndPTF select abc.p_mfgr, abc.p_name, rank() over(distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over(distribute by abc.p_mfgr sort by abc.p_name) as dr, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over(distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part partition by p_mfgr @@ -308,15 +308,15 @@ POSTHOOK: Input: default@part #### A masked pattern was here #### Manufacturer#1 almond antique burnished rose metallic 1 1 1173.15 1173.15 2 0 Manufacturer#1 almond antique burnished rose metallic 1 1 1173.15 2346.3 2 0 -Manufacturer#1 almond antique burnished rose metallic 1 1 1173.15 3519.4500000000003 2 0 +Manufacturer#1 almond antique burnished rose metallic 1 1 1173.15 3519.45 2 0 Manufacturer#1 almond antique burnished rose metallic 1 1 1173.15 4692.6 2 0 -Manufacturer#1 almond antique chartreuse lavender yellow 5 2 1753.76 6446.360000000001 34 32 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 3 1602.59 8048.950000000001 6 -28 +Manufacturer#1 almond antique chartreuse lavender yellow 5 2 1753.76 6446.36 34 32 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 3 1602.59 8048.95 6 -28 Manufacturer#1 almond aquamarine burnished black steel 7 4 1414.42 9463.37 28 22 Manufacturer#1 almond aquamarine pink moccasin thistle 8 5 1632.66 11096.03 42 14 Manufacturer#2 almond antique violet chocolate turquoise 1 1 1690.68 1690.68 14 0 Manufacturer#2 almond antique violet turquoise frosted 2 2 1800.7 3491.38 40 26 -Manufacturer#2 almond aquamarine midnight light salmon 3 3 2031.98 5523.360000000001 2 -38 +Manufacturer#2 almond aquamarine midnight light salmon 3 3 2031.98 5523.36 2 -38 Manufacturer#2 almond aquamarine rose maroon antique 4 4 1698.66 7222.02 25 23 Manufacturer#2 almond aquamarine sandy cyan gainsboro 5 5 1701.6 8923.62 18 -7 Manufacturer#3 almond antique chartreuse khaki white 1 1 1671.68 1671.68 17 0 @@ -328,9 +328,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 1 1 1620.67 1620.67 10 0 Manufacturer#4 almond antique violet mint lemon 2 2 1375.42 2996.09 39 29 Manufacturer#4 almond aquamarine floral ivory bisque 3 3 1206.26 4202.35 27 -12 Manufacturer#4 almond aquamarine yellow dodger mint 4 4 1844.92 6047.27 7 -20 -Manufacturer#4 almond azure aquamarine papaya violet 5 5 1290.35 7337.620000000001 12 5 +Manufacturer#4 almond azure aquamarine papaya violet 5 5 1290.35 7337.62 12 5 Manufacturer#5 almond antique blue firebrick mint 1 1 1789.69 1789.69 31 0 -Manufacturer#5 almond antique medium spring khaki 2 2 1611.66 3401.3500000000004 6 -25 +Manufacturer#5 almond antique medium spring khaki 2 2 1611.66 3401.35 6 -25 Manufacturer#5 almond antique sky peru orange 3 3 1788.73 5190.08 2 -4 Manufacturer#5 almond aquamarine dodger light gainsboro 4 4 1018.1 6208.18 46 44 Manufacturer#5 almond azure blanched chiffon midnight 5 5 1464.48 7672.66 23 -23 @@ -378,7 +378,7 @@ PREHOOK: query: -- 9. testHavingWithWindowingNoGBY select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -387,7 +387,7 @@ POSTHOOK: query: -- 9. testHavingWithWindowingNoGBY select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part @@ -395,12 +395,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -412,9 +412,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -422,7 +422,7 @@ PREHOOK: query: -- 10. testHavingWithWindowingCondRankNoGBY select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -431,7 +431,7 @@ POSTHOOK: query: -- 10. testHavingWithWindowingCondRankNoGBY select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part @@ -439,12 +439,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -456,9 +456,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -785,10 +785,10 @@ Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 2 PREHOOK: query: -- 18. testUDAFs select p_mfgr,p_name, p_size, -sum(p_retailprice) over w1 as s, +round(sum(p_retailprice) over w1,2) as s, min(p_retailprice) over w1 as mi, max(p_retailprice) over w1 as ma, -avg(p_retailprice) over w1 as ag +round(avg(p_retailprice) over w1,2) as ag from part window w1 as (distribute by p_mfgr sort by p_mfgr, p_name rows between 2 preceding and 2 following) PREHOOK: type: QUERY @@ -796,47 +796,47 @@ PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 18. testUDAFs select p_mfgr,p_name, p_size, -sum(p_retailprice) over w1 as s, +round(sum(p_retailprice) over w1,2) as s, min(p_retailprice) over w1 as mi, max(p_retailprice) over w1 as ma, -avg(p_retailprice) over w1 as ag +round(avg(p_retailprice) over w1,2) as ag from part window w1 as (distribute by p_mfgr sort by p_mfgr, p_name rows between 2 preceding and 2 following) POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### -Manufacturer#1 almond antique burnished rose metallic 2 4100.06 1173.15 1753.76 1366.6866666666667 -Manufacturer#1 almond antique burnished rose metallic 2 5702.650000000001 1173.15 1753.76 1425.6625000000001 -Manufacturer#1 almond antique chartreuse lavender yellow 34 7117.070000000001 1173.15 1753.76 1423.4140000000002 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 7576.580000000002 1173.15 1753.76 1515.3160000000003 -Manufacturer#1 almond aquamarine burnished black steel 28 6403.430000000001 1414.42 1753.76 1600.8575000000003 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 4649.670000000001 1414.42 1632.66 1549.8900000000003 -Manufacturer#2 almond antique violet chocolate turquoise 14 5523.360000000001 1690.68 2031.98 1841.1200000000001 -Manufacturer#2 almond antique violet turquoise frosted 40 7222.02 1690.68 2031.98 1805.505 -Manufacturer#2 almond aquamarine midnight light salmon 2 8923.62 1690.68 2031.98 1784.7240000000002 -Manufacturer#2 almond aquamarine rose maroon antique 25 7232.9400000000005 1698.66 2031.98 1808.2350000000001 -Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5432.240000000001 1698.66 2031.98 1810.746666666667 -Manufacturer#3 almond antique chartreuse khaki white 17 4272.34 1190.27 1671.68 1424.1133333333335 +Manufacturer#1 almond antique burnished rose metallic 2 4100.06 1173.15 1753.76 1366.69 +Manufacturer#1 almond antique burnished rose metallic 2 5702.65 1173.15 1753.76 1425.66 +Manufacturer#1 almond antique chartreuse lavender yellow 34 7117.07 1173.15 1753.76 1423.41 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 7576.58 1173.15 1753.76 1515.32 +Manufacturer#1 almond aquamarine burnished black steel 28 6403.43 1414.42 1753.76 1600.86 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 4649.67 1414.42 1632.66 1549.89 +Manufacturer#2 almond antique violet chocolate turquoise 14 5523.36 1690.68 2031.98 1841.12 +Manufacturer#2 almond antique violet turquoise frosted 40 7222.02 1690.68 2031.98 1805.51 +Manufacturer#2 almond aquamarine midnight light salmon 2 8923.62 1690.68 2031.98 1784.72 +Manufacturer#2 almond aquamarine rose maroon antique 25 7232.94 1698.66 2031.98 1808.24 +Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5432.24 1698.66 2031.98 1810.75 +Manufacturer#3 almond antique chartreuse khaki white 17 4272.34 1190.27 1671.68 1424.11 Manufacturer#3 almond antique forest lavender goldenrod 14 6195.32 1190.27 1922.98 1548.83 -Manufacturer#3 almond antique metallic orange dim 19 7532.61 1190.27 1922.98 1506.522 -Manufacturer#3 almond antique misty red olive 1 5860.929999999999 1190.27 1922.98 1465.2324999999998 -Manufacturer#3 almond antique olive coral navajo 45 4670.66 1337.29 1922.98 1556.8866666666665 -Manufacturer#4 almond antique gainsboro frosted violet 10 4202.35 1206.26 1620.67 1400.7833333333335 -Manufacturer#4 almond antique violet mint lemon 39 6047.27 1206.26 1844.92 1511.8175 -Manufacturer#4 almond aquamarine floral ivory bisque 27 7337.620000000001 1206.26 1844.92 1467.5240000000001 -Manufacturer#4 almond aquamarine yellow dodger mint 7 5716.950000000001 1206.26 1844.92 1429.2375000000002 -Manufacturer#4 almond azure aquamarine papaya violet 12 4341.530000000001 1206.26 1844.92 1447.176666666667 -Manufacturer#5 almond antique blue firebrick mint 31 5190.08 1611.66 1789.69 1730.0266666666666 -Manufacturer#5 almond antique medium spring khaki 6 6208.18 1018.1 1789.69 1552.045 -Manufacturer#5 almond antique sky peru orange 2 7672.66 1018.1 1789.69 1534.532 -Manufacturer#5 almond aquamarine dodger light gainsboro 46 5882.969999999999 1018.1 1788.73 1470.7424999999998 -Manufacturer#5 almond azure blanched chiffon midnight 23 4271.3099999999995 1018.1 1788.73 1423.7699999999998 +Manufacturer#3 almond antique metallic orange dim 19 7532.61 1190.27 1922.98 1506.52 +Manufacturer#3 almond antique misty red olive 1 5860.93 1190.27 1922.98 1465.23 +Manufacturer#3 almond antique olive coral navajo 45 4670.66 1337.29 1922.98 1556.89 +Manufacturer#4 almond antique gainsboro frosted violet 10 4202.35 1206.26 1620.67 1400.78 +Manufacturer#4 almond antique violet mint lemon 39 6047.27 1206.26 1844.92 1511.82 +Manufacturer#4 almond aquamarine floral ivory bisque 27 7337.62 1206.26 1844.92 1467.52 +Manufacturer#4 almond aquamarine yellow dodger mint 7 5716.95 1206.26 1844.92 1429.24 +Manufacturer#4 almond azure aquamarine papaya violet 12 4341.53 1206.26 1844.92 1447.18 +Manufacturer#5 almond antique blue firebrick mint 31 5190.08 1611.66 1789.69 1730.03 +Manufacturer#5 almond antique medium spring khaki 6 6208.18 1018.1 1789.69 1552.05 +Manufacturer#5 almond antique sky peru orange 2 7672.66 1018.1 1789.69 1534.53 +Manufacturer#5 almond aquamarine dodger light gainsboro 46 5882.97 1018.1 1788.73 1470.74 +Manufacturer#5 almond azure blanched chiffon midnight 23 4271.31 1018.1 1788.73 1423.77 PREHOOK: query: -- 19. testUDAFsWithGBY select p_mfgr,p_name, p_size, p_retailprice, -sum(p_retailprice) over w1 as s, +round(sum(p_retailprice) over w1,2) as s, min(p_retailprice) as mi , max(p_retailprice) as ma , -avg(p_retailprice) over w1 as ag +round(avg(p_retailprice) over w1,2) as ag from part group by p_mfgr,p_name, p_size, p_retailprice window w1 as (distribute by p_mfgr sort by p_mfgr, p_name rows between 2 preceding and 2 following) @@ -845,41 +845,41 @@ PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 19. testUDAFsWithGBY select p_mfgr,p_name, p_size, p_retailprice, -sum(p_retailprice) over w1 as s, +round(sum(p_retailprice) over w1,2) as s, min(p_retailprice) as mi , max(p_retailprice) as ma , -avg(p_retailprice) over w1 as ag +round(avg(p_retailprice) over w1,2) as ag from part group by p_mfgr,p_name, p_size, p_retailprice window w1 as (distribute by p_mfgr sort by p_mfgr, p_name rows between 2 preceding and 2 following) POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### -Manufacturer#1 almond antique burnished rose metallic 2 1173.15 4529.5 1173.15 1173.15 1509.8333333333333 +Manufacturer#1 almond antique burnished rose metallic 2 1173.15 4529.5 1173.15 1173.15 1509.83 Manufacturer#1 almond antique chartreuse lavender yellow 34 1753.76 5943.92 1753.76 1753.76 1485.98 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 1602.59 7576.58 1602.59 1602.59 1515.316 -Manufacturer#1 almond aquamarine burnished black steel 28 1414.42 6403.43 1414.42 1414.42 1600.8575 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 1602.59 7576.58 1602.59 1602.59 1515.32 +Manufacturer#1 almond aquamarine burnished black steel 28 1414.42 6403.43 1414.42 1414.42 1600.86 Manufacturer#1 almond aquamarine pink moccasin thistle 42 1632.66 4649.67 1632.66 1632.66 1549.89 -Manufacturer#2 almond antique violet chocolate turquoise 14 1690.68 5523.360000000001 1690.68 1690.68 1841.1200000000001 -Manufacturer#2 almond antique violet turquoise frosted 40 1800.7 7222.02 1800.7 1800.7 1805.505 -Manufacturer#2 almond aquamarine midnight light salmon 2 2031.98 8923.62 2031.98 2031.98 1784.7240000000002 -Manufacturer#2 almond aquamarine rose maroon antique 25 1698.66 7232.9400000000005 1698.66 1698.66 1808.2350000000001 -Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 1701.6 5432.240000000001 1701.6 1701.6 1810.746666666667 -Manufacturer#3 almond antique chartreuse khaki white 17 1671.68 4272.34 1671.68 1671.68 1424.1133333333335 +Manufacturer#2 almond antique violet chocolate turquoise 14 1690.68 5523.36 1690.68 1690.68 1841.12 +Manufacturer#2 almond antique violet turquoise frosted 40 1800.7 7222.02 1800.7 1800.7 1805.51 +Manufacturer#2 almond aquamarine midnight light salmon 2 2031.98 8923.62 2031.98 2031.98 1784.72 +Manufacturer#2 almond aquamarine rose maroon antique 25 1698.66 7232.94 1698.66 1698.66 1808.24 +Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 1701.6 5432.24 1701.6 1701.6 1810.75 +Manufacturer#3 almond antique chartreuse khaki white 17 1671.68 4272.34 1671.68 1671.68 1424.11 Manufacturer#3 almond antique forest lavender goldenrod 14 1190.27 6195.32 1190.27 1190.27 1548.83 -Manufacturer#3 almond antique metallic orange dim 19 1410.39 7532.61 1410.39 1410.39 1506.522 -Manufacturer#3 almond antique misty red olive 1 1922.98 5860.929999999999 1922.98 1922.98 1465.2324999999998 -Manufacturer#3 almond antique olive coral navajo 45 1337.29 4670.66 1337.29 1337.29 1556.8866666666665 -Manufacturer#4 almond antique gainsboro frosted violet 10 1620.67 4202.35 1620.67 1620.67 1400.7833333333335 -Manufacturer#4 almond antique violet mint lemon 39 1375.42 6047.27 1375.42 1375.42 1511.8175 -Manufacturer#4 almond aquamarine floral ivory bisque 27 1206.26 7337.620000000001 1206.26 1206.26 1467.5240000000001 -Manufacturer#4 almond aquamarine yellow dodger mint 7 1844.92 5716.950000000001 1844.92 1844.92 1429.2375000000002 -Manufacturer#4 almond azure aquamarine papaya violet 12 1290.35 4341.530000000001 1290.35 1290.35 1447.176666666667 -Manufacturer#5 almond antique blue firebrick mint 31 1789.69 5190.08 1789.69 1789.69 1730.0266666666666 -Manufacturer#5 almond antique medium spring khaki 6 1611.66 6208.18 1611.66 1611.66 1552.045 -Manufacturer#5 almond antique sky peru orange 2 1788.73 7672.66 1788.73 1788.73 1534.532 -Manufacturer#5 almond aquamarine dodger light gainsboro 46 1018.1 5882.969999999999 1018.1 1018.1 1470.7424999999998 -Manufacturer#5 almond azure blanched chiffon midnight 23 1464.48 4271.3099999999995 1464.48 1464.48 1423.7699999999998 +Manufacturer#3 almond antique metallic orange dim 19 1410.39 7532.61 1410.39 1410.39 1506.52 +Manufacturer#3 almond antique misty red olive 1 1922.98 5860.93 1922.98 1922.98 1465.23 +Manufacturer#3 almond antique olive coral navajo 45 1337.29 4670.66 1337.29 1337.29 1556.89 +Manufacturer#4 almond antique gainsboro frosted violet 10 1620.67 4202.35 1620.67 1620.67 1400.78 +Manufacturer#4 almond antique violet mint lemon 39 1375.42 6047.27 1375.42 1375.42 1511.82 +Manufacturer#4 almond aquamarine floral ivory bisque 27 1206.26 7337.62 1206.26 1206.26 1467.52 +Manufacturer#4 almond aquamarine yellow dodger mint 7 1844.92 5716.95 1844.92 1844.92 1429.24 +Manufacturer#4 almond azure aquamarine papaya violet 12 1290.35 4341.53 1290.35 1290.35 1447.18 +Manufacturer#5 almond antique blue firebrick mint 31 1789.69 5190.08 1789.69 1789.69 1730.03 +Manufacturer#5 almond antique medium spring khaki 6 1611.66 6208.18 1611.66 1611.66 1552.05 +Manufacturer#5 almond antique sky peru orange 2 1788.73 7672.66 1788.73 1788.73 1534.53 +Manufacturer#5 almond aquamarine dodger light gainsboro 46 1018.1 5882.97 1018.1 1018.1 1470.74 +Manufacturer#5 almond azure blanched chiffon midnight 23 1464.48 4271.31 1464.48 1464.48 1423.77 PREHOOK: query: -- 20. testSTATs select p_mfgr,p_name, p_size, stddev(p_retailprice) over w1 as sdev, @@ -1073,7 +1073,7 @@ Manufacturer#5 Brand#53 2806.83 7672.66 PREHOOK: query: -- 23. testCreateViewWithWindowingQuery create view IF NOT EXISTS mfgr_brand_price_view as select p_mfgr, p_brand, -sum(p_retailprice) over w1 as s +round(sum(p_retailprice) over w1,2) as s from part window w1 as (distribute by p_mfgr sort by p_name rows between 2 preceding and current row) PREHOOK: type: CREATEVIEW @@ -1083,7 +1083,7 @@ PREHOOK: Output: default@mfgr_brand_price_view POSTHOOK: query: -- 23. testCreateViewWithWindowingQuery create view IF NOT EXISTS mfgr_brand_price_view as select p_mfgr, p_brand, -sum(p_retailprice) over w1 as s +round(sum(p_retailprice) over w1,2) as s from part window w1 as (distribute by p_mfgr sort by p_name rows between 2 preceding and current row) POSTHOOK: type: CREATEVIEW @@ -1101,29 +1101,29 @@ POSTHOOK: Input: default@mfgr_brand_price_view POSTHOOK: Input: default@part #### A masked pattern was here #### Manufacturer#1 Brand#12 4100.06 -Manufacturer#1 Brand#12 4649.670000000001 +Manufacturer#1 Brand#12 4649.67 Manufacturer#1 Brand#12 4770.77 Manufacturer#1 Brand#14 1173.15 Manufacturer#1 Brand#14 2346.3 Manufacturer#1 Brand#15 4529.5 Manufacturer#2 Brand#22 1690.68 Manufacturer#2 Brand#22 3491.38 -Manufacturer#2 Brand#23 5523.360000000001 +Manufacturer#2 Brand#23 5523.36 Manufacturer#2 Brand#24 5531.34 -Manufacturer#2 Brand#25 5432.240000000001 +Manufacturer#2 Brand#25 5432.24 Manufacturer#3 Brand#31 1671.68 Manufacturer#3 Brand#32 4272.34 -Manufacturer#3 Brand#32 4523.639999999999 +Manufacturer#3 Brand#32 4523.64 Manufacturer#3 Brand#34 4670.66 Manufacturer#3 Brand#35 2861.95 Manufacturer#4 Brand#41 1620.67 -Manufacturer#4 Brand#41 4341.530000000001 +Manufacturer#4 Brand#41 4341.53 Manufacturer#4 Brand#41 4426.6 Manufacturer#4 Brand#42 2996.09 Manufacturer#4 Brand#42 4202.35 -Manufacturer#5 Brand#51 3401.3500000000004 +Manufacturer#5 Brand#51 3401.35 Manufacturer#5 Brand#52 1789.69 -Manufacturer#5 Brand#52 4271.3099999999995 +Manufacturer#5 Brand#52 4271.31 Manufacturer#5 Brand#53 4418.49 Manufacturer#5 Brand#53 5190.08 PREHOOK: query: -- 24. testLateralViews @@ -1293,7 +1293,7 @@ INSERT OVERWRITE TABLE part_1 select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name ) as r, dense_rank() over(distribute by p_mfgr sort by p_name ) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_2 select p_mfgr,p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, @@ -1318,7 +1318,7 @@ INSERT OVERWRITE TABLE part_1 select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name ) as r, dense_rank() over(distribute by p_mfgr sort by p_name ) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_2 select p_mfgr,p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, @@ -1369,12 +1369,12 @@ POSTHOOK: Input: default@part_1 Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -1386,9 +1386,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -2099,7 +2099,7 @@ Manufacturer#5 7672.66 1018.1 1789.69 1534.53 5 Manufacturer#5 7672.66 1018.1 1789.69 1534.53 5 PREHOOK: query: -- 38. testPartitioningVariousForms2 select p_mfgr, p_name, p_size, -sum(p_retailprice) over (partition by p_mfgr, p_name order by p_mfgr, p_name rows between unbounded preceding and current row) as s1, +round(sum(p_retailprice) over (partition by p_mfgr, p_name order by p_mfgr, p_name rows between unbounded preceding and current row),2) as s1, min(p_retailprice) over (distribute by p_mfgr, p_name sort by p_mfgr, p_name rows between unbounded preceding and current row) as s2, max(p_retailprice) over (partition by p_mfgr, p_name order by p_name) as s3 from part @@ -2108,7 +2108,7 @@ PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 38. testPartitioningVariousForms2 select p_mfgr, p_name, p_size, -sum(p_retailprice) over (partition by p_mfgr, p_name order by p_mfgr, p_name rows between unbounded preceding and current row) as s1, +round(sum(p_retailprice) over (partition by p_mfgr, p_name order by p_mfgr, p_name rows between unbounded preceding and current row),2) as s1, min(p_retailprice) over (distribute by p_mfgr, p_name sort by p_mfgr, p_name rows between unbounded preceding and current row) as s2, max(p_retailprice) over (partition by p_mfgr, p_name order by p_name) as s3 from part @@ -2183,14 +2183,14 @@ Manufacturer#5 SMALL PLATED BRASS MALL PLATED BRASS 4 Manufacturer#5 STANDARD BURNISHED TIN TANDARD BURNISHED TIN 5 PREHOOK: query: -- 40. testNoBetweenForRows select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows unbounded preceding) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows unbounded preceding),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 40. testNoBetweenForRows select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows unbounded preceding) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows unbounded preceding),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part @@ -2198,12 +2198,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1671.68 @@ -2215,32 +2215,32 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 3401.35 Manufacturer#5 almond antique sky peru orange 2 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 7672.66 PREHOOK: query: -- 41. testNoBetweenForRange select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_size range unbounded preceding) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_size range unbounded preceding),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 41. testNoBetweenForRange select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_size range unbounded preceding) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_size range unbounded preceding),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### Manufacturer#1 almond antique burnished rose metallic 2 2346.3 Manufacturer#1 almond antique burnished rose metallic 2 2346.3 -Manufacturer#1 almond antique chartreuse lavender yellow 34 7117.070000000001 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 3948.8900000000003 +Manufacturer#1 almond antique chartreuse lavender yellow 34 7117.07 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 3948.89 Manufacturer#1 almond aquamarine burnished black steel 28 5363.31 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 8749.730000000001 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 3722.66 Manufacturer#2 almond antique violet turquoise frosted 40 8923.62 Manufacturer#2 almond aquamarine midnight light salmon 2 2031.98 @@ -2248,97 +2248,97 @@ Manufacturer#2 almond aquamarine rose maroon antique 25 7122.92 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5424.26 Manufacturer#3 almond antique chartreuse khaki white 17 4784.93 Manufacturer#3 almond antique forest lavender goldenrod 14 3113.25 -Manufacturer#3 almond antique metallic orange dim 19 6195.320000000001 +Manufacturer#3 almond antique metallic orange dim 19 6195.32 Manufacturer#3 almond antique misty red olive 1 1922.98 -Manufacturer#3 almond antique olive coral navajo 45 7532.610000000001 +Manufacturer#3 almond antique olive coral navajo 45 7532.61 Manufacturer#4 almond antique gainsboro frosted violet 10 3465.59 -Manufacturer#4 almond antique violet mint lemon 39 7337.620000000001 -Manufacturer#4 almond aquamarine floral ivory bisque 27 5962.200000000001 +Manufacturer#4 almond antique violet mint lemon 39 7337.62 +Manufacturer#4 almond aquamarine floral ivory bisque 27 5962.2 Manufacturer#4 almond aquamarine yellow dodger mint 7 1844.92 -Manufacturer#4 almond azure aquamarine papaya violet 12 4755.9400000000005 -Manufacturer#5 almond antique blue firebrick mint 31 6654.560000000001 -Manufacturer#5 almond antique medium spring khaki 6 3400.3900000000003 +Manufacturer#4 almond azure aquamarine papaya violet 12 4755.94 +Manufacturer#5 almond antique blue firebrick mint 31 6654.56 +Manufacturer#5 almond antique medium spring khaki 6 3400.39 Manufacturer#5 almond antique sky peru orange 2 1788.73 -Manufacturer#5 almond aquamarine dodger light gainsboro 46 7672.660000000002 -Manufacturer#5 almond azure blanched chiffon midnight 23 4864.870000000001 +Manufacturer#5 almond aquamarine dodger light gainsboro 46 7672.66 +Manufacturer#5 almond azure blanched chiffon midnight 23 4864.87 PREHOOK: query: -- 42. testUnboundedFollowingForRows select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between current row and unbounded following) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between current row and unbounded following),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 42. testUnboundedFollowingForRows select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between current row and unbounded following) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between current row and unbounded following),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### Manufacturer#1 almond antique burnished rose metallic 2 7576.58 -Manufacturer#1 almond antique burnished rose metallic 2 8749.730000000001 +Manufacturer#1 almond antique burnished rose metallic 2 8749.73 Manufacturer#1 almond antique chartreuse lavender yellow 34 6403.43 Manufacturer#1 almond antique salmon chartreuse burlywood 6 4649.67 Manufacturer#1 almond aquamarine burnished black steel 28 3047.08 Manufacturer#1 almond aquamarine pink moccasin thistle 42 1632.66 Manufacturer#2 almond antique violet chocolate turquoise 14 8923.62 -Manufacturer#2 almond antique violet turquoise frosted 40 7232.9400000000005 +Manufacturer#2 almond antique violet turquoise frosted 40 7232.94 Manufacturer#2 almond aquamarine midnight light salmon 2 5432.24 Manufacturer#2 almond aquamarine rose maroon antique 25 3400.26 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 1701.6 Manufacturer#3 almond antique chartreuse khaki white 17 7532.61 -Manufacturer#3 almond antique forest lavender goldenrod 14 5860.929999999999 +Manufacturer#3 almond antique forest lavender goldenrod 14 5860.93 Manufacturer#3 almond antique metallic orange dim 19 4670.66 Manufacturer#3 almond antique misty red olive 1 3260.27 Manufacturer#3 almond antique olive coral navajo 45 1337.29 -Manufacturer#4 almond antique gainsboro frosted violet 10 7337.620000000001 -Manufacturer#4 almond antique violet mint lemon 39 5716.950000000001 -Manufacturer#4 almond aquamarine floral ivory bisque 27 4341.530000000001 +Manufacturer#4 almond antique gainsboro frosted violet 10 7337.62 +Manufacturer#4 almond antique violet mint lemon 39 5716.95 +Manufacturer#4 almond aquamarine floral ivory bisque 27 4341.53 Manufacturer#4 almond aquamarine yellow dodger mint 7 3135.27 Manufacturer#4 almond azure aquamarine papaya violet 12 1290.35 Manufacturer#5 almond antique blue firebrick mint 31 7672.66 -Manufacturer#5 almond antique medium spring khaki 6 5882.970000000001 -Manufacturer#5 almond antique sky peru orange 2 4271.3099999999995 +Manufacturer#5 almond antique medium spring khaki 6 5882.97 +Manufacturer#5 almond antique sky peru orange 2 4271.31 Manufacturer#5 almond aquamarine dodger light gainsboro 46 2482.58 Manufacturer#5 almond azure blanched chiffon midnight 23 1464.48 PREHOOK: query: -- 43. testUnboundedFollowingForRange select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_size range between current row and unbounded following) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_size range between current row and unbounded following),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 43. testUnboundedFollowingForRange select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_size range between current row and unbounded following) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_size range between current row and unbounded following),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### -Manufacturer#1 almond antique burnished rose metallic 2 8749.730000000001 -Manufacturer#1 almond antique burnished rose metallic 2 8749.730000000001 +Manufacturer#1 almond antique burnished rose metallic 2 8749.73 +Manufacturer#1 almond antique burnished rose metallic 2 8749.73 Manufacturer#1 almond antique chartreuse lavender yellow 34 3386.42 Manufacturer#1 almond antique salmon chartreuse burlywood 6 6403.43 Manufacturer#1 almond aquamarine burnished black steel 28 4800.84 Manufacturer#1 almond aquamarine pink moccasin thistle 42 1632.66 -Manufacturer#2 almond antique violet chocolate turquoise 14 6891.639999999999 +Manufacturer#2 almond antique violet chocolate turquoise 14 6891.64 Manufacturer#2 almond antique violet turquoise frosted 40 1800.7 Manufacturer#2 almond aquamarine midnight light salmon 2 8923.62 Manufacturer#2 almond aquamarine rose maroon antique 25 3499.36 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5200.96 -Manufacturer#3 almond antique chartreuse khaki white 17 4419.360000000001 +Manufacturer#3 almond antique chartreuse khaki white 17 4419.36 Manufacturer#3 almond antique forest lavender goldenrod 14 5609.63 -Manufacturer#3 almond antique metallic orange dim 19 2747.6800000000003 -Manufacturer#3 almond antique misty red olive 1 7532.610000000001 +Manufacturer#3 almond antique metallic orange dim 19 2747.68 +Manufacturer#3 almond antique misty red olive 1 7532.61 Manufacturer#3 almond antique olive coral navajo 45 1337.29 Manufacturer#4 almond antique gainsboro frosted violet 10 5492.7 Manufacturer#4 almond antique violet mint lemon 39 1375.42 -Manufacturer#4 almond aquamarine floral ivory bisque 27 2581.6800000000003 -Manufacturer#4 almond aquamarine yellow dodger mint 7 7337.620000000001 -Manufacturer#4 almond azure aquamarine papaya violet 12 3872.0299999999997 +Manufacturer#4 almond aquamarine floral ivory bisque 27 2581.68 +Manufacturer#4 almond aquamarine yellow dodger mint 7 7337.62 +Manufacturer#4 almond azure aquamarine papaya violet 12 3872.03 Manufacturer#5 almond antique blue firebrick mint 31 2807.79 Manufacturer#5 almond antique medium spring khaki 6 5883.93 -Manufacturer#5 almond antique sky peru orange 2 7672.660000000002 +Manufacturer#5 almond antique sky peru orange 2 7672.66 Manufacturer#5 almond aquamarine dodger light gainsboro 46 1018.1 Manufacturer#5 almond azure blanched chiffon midnight 23 4272.27 PREHOOK: query: -- 44. testOverNoPartitionSingleAggregate @@ -2400,27 +2400,27 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### PREHOOK: query: -- 46. window sz is same as partition sz -select p_retailprice, avg(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following), -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following) +select p_retailprice, round(avg(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following),2), +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following),2) from part where p_mfgr='Manufacturer#1' PREHOOK: type: QUERY PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 46. window sz is same as partition sz -select p_retailprice, avg(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following), -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following) +select p_retailprice, round(avg(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following),2), +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following),2) from part where p_mfgr='Manufacturer#1' POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### -1173.15 1458.2883333333336 8749.730000000001 -1173.15 1515.3160000000003 7576.580000000002 -1414.42 1523.5400000000004 3047.080000000001 -1602.59 1549.8900000000003 4649.670000000001 -1632.66 1632.6600000000008 1632.6600000000008 -1753.76 1600.8575000000003 6403.430000000001 +1173.15 1458.29 8749.73 +1173.15 1515.32 7576.58 +1414.42 1523.54 3047.08 +1602.59 1549.89 4649.67 +1632.66 1632.66 1632.66 +1753.76 1600.86 6403.43 PREHOOK: query: -- 47. empty partition select sum(p_size) over (partition by p_mfgr ) from part where p_mfgr = 'm1' diff --git a/ql/src/test/results/clientpositive/vectorized_ptf.q.out b/ql/src/test/results/clientpositive/vectorized_ptf.q.out index dd6c62c..77b5075 100644 --- a/ql/src/test/results/clientpositive/vectorized_ptf.q.out +++ b/ql/src/test/results/clientpositive/vectorized_ptf.q.out @@ -124,7 +124,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name @@ -136,7 +136,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name @@ -332,7 +332,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -956,7 +956,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name @@ -968,7 +968,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name @@ -1164,7 +1164,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -1199,7 +1199,7 @@ STAGE PLANS: PREHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name @@ -1210,7 +1210,7 @@ PREHOOK: Input: default@part_orc POSTHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name @@ -1221,12 +1221,12 @@ POSTHOOK: Input: default@part_orc Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -1238,9 +1238,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -2769,7 +2769,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noopwithmap(on part_orc partition by p_mfgr order by p_name) @@ -2780,7 +2780,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noopwithmap(on part_orc partition by p_mfgr order by p_name) @@ -2991,7 +2991,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -3026,7 +3026,7 @@ STAGE PLANS: PREHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noopwithmap(on part_orc partition by p_mfgr order by p_name) @@ -3036,7 +3036,7 @@ PREHOOK: Input: default@part_orc POSTHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noopwithmap(on part_orc partition by p_mfgr order by p_name) @@ -3046,12 +3046,12 @@ POSTHOOK: Input: default@part_orc Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -3063,9 +3063,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -3075,7 +3075,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name) @@ -3086,7 +3086,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name) @@ -3281,7 +3281,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -3316,7 +3316,7 @@ STAGE PLANS: PREHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name) @@ -3326,7 +3326,7 @@ PREHOOK: Input: default@part_orc POSTHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on part_orc partition by p_mfgr order by p_name) @@ -3336,12 +3336,12 @@ POSTHOOK: Input: default@part_orc Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -3353,9 +3353,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -3365,7 +3365,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on noopwithmap(on noop(on part_orc partition by p_mfgr order by p_mfgr, p_name @@ -3377,7 +3377,7 @@ explain extended select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on noopwithmap(on noop(on part_orc partition by p_mfgr order by p_mfgr, p_name @@ -3682,7 +3682,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -3717,7 +3717,7 @@ STAGE PLANS: PREHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on noopwithmap(on noop(on part_orc partition by p_mfgr order by p_mfgr, p_name @@ -3728,7 +3728,7 @@ PREHOOK: Input: default@part_orc POSTHOOK: query: select p_mfgr, p_name, p_size, rank() over (partition by p_mfgr order by p_name) as r, dense_rank() over (partition by p_mfgr order by p_name) as dr, -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between unbounded preceding and current row),2) as s1 from noop(on noopwithmap(on noop(on part_orc partition by p_mfgr order by p_mfgr, p_name @@ -3739,12 +3739,12 @@ POSTHOOK: Input: default@part_orc Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -3756,9 +3756,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -3770,7 +3770,7 @@ sub1.cd, sub1.s1 from (select p_mfgr, p_name, count(p_size) over (partition by p_mfgr order by p_name) as cd, p_retailprice, -sum(p_retailprice) over w1 as s1 +round(sum(p_retailprice) over w1,2) as s1 from noop(on part_orc partition by p_mfgr order by p_name) @@ -3785,7 +3785,7 @@ sub1.cd, sub1.s1 from (select p_mfgr, p_name, count(p_size) over (partition by p_mfgr order by p_name) as cd, p_retailprice, -sum(p_retailprice) over w1 as s1 +round(sum(p_retailprice) over w1,2) as s1 from noop(on part_orc partition by p_mfgr order by p_name) @@ -3974,7 +3974,7 @@ STAGE PLANS: window frame: PRECEDING(2)~FOLLOWING(2) Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), count_window_0 (type: bigint), sum_window_1 (type: double) + expressions: _col2 (type: string), _col1 (type: string), count_window_0 (type: bigint), round(sum_window_1, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -4011,7 +4011,7 @@ sub1.cd, sub1.s1 from (select p_mfgr, p_name, count(p_size) over (partition by p_mfgr order by p_name) as cd, p_retailprice, -sum(p_retailprice) over w1 as s1 +round(sum(p_retailprice) over w1,2) as s1 from noop(on part_orc partition by p_mfgr order by p_name) @@ -4025,7 +4025,7 @@ sub1.cd, sub1.s1 from (select p_mfgr, p_name, count(p_size) over (partition by p_mfgr order by p_name) as cd, p_retailprice, -sum(p_retailprice) over w1 as s1 +round(sum(p_retailprice) over w1,2) as s1 from noop(on part_orc partition by p_mfgr order by p_name) @@ -4035,31 +4035,31 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@part_orc #### A masked pattern was here #### Manufacturer#1 almond antique burnished rose metallic 2 4100.06 -Manufacturer#1 almond antique burnished rose metallic 2 5702.650000000001 -Manufacturer#1 almond antique chartreuse lavender yellow 3 7117.070000000001 +Manufacturer#1 almond antique burnished rose metallic 2 5702.65 +Manufacturer#1 almond antique chartreuse lavender yellow 3 7117.07 Manufacturer#1 almond antique salmon chartreuse burlywood 4 7576.58 Manufacturer#1 almond aquamarine burnished black steel 5 6403.43 Manufacturer#1 almond aquamarine pink moccasin thistle 6 4649.67 -Manufacturer#2 almond antique violet chocolate turquoise 1 5523.360000000001 +Manufacturer#2 almond antique violet chocolate turquoise 1 5523.36 Manufacturer#2 almond antique violet turquoise frosted 2 7222.02 Manufacturer#2 almond aquamarine midnight light salmon 3 8923.62 -Manufacturer#2 almond aquamarine rose maroon antique 4 7232.9400000000005 +Manufacturer#2 almond aquamarine rose maroon antique 4 7232.94 Manufacturer#2 almond aquamarine sandy cyan gainsboro 5 5432.24 Manufacturer#3 almond antique chartreuse khaki white 1 4272.34 Manufacturer#3 almond antique forest lavender goldenrod 2 6195.32 Manufacturer#3 almond antique metallic orange dim 3 7532.61 -Manufacturer#3 almond antique misty red olive 4 5860.929999999999 +Manufacturer#3 almond antique misty red olive 4 5860.93 Manufacturer#3 almond antique olive coral navajo 5 4670.66 Manufacturer#4 almond antique gainsboro frosted violet 1 4202.35 Manufacturer#4 almond antique violet mint lemon 2 6047.27 -Manufacturer#4 almond aquamarine floral ivory bisque 3 7337.620000000001 -Manufacturer#4 almond aquamarine yellow dodger mint 4 5716.950000000001 -Manufacturer#4 almond azure aquamarine papaya violet 5 4341.530000000001 +Manufacturer#4 almond aquamarine floral ivory bisque 3 7337.62 +Manufacturer#4 almond aquamarine yellow dodger mint 4 5716.95 +Manufacturer#4 almond azure aquamarine papaya violet 5 4341.53 Manufacturer#5 almond antique blue firebrick mint 1 5190.08 Manufacturer#5 almond antique medium spring khaki 2 6208.18 Manufacturer#5 almond antique sky peru orange 3 7672.66 -Manufacturer#5 almond aquamarine dodger light gainsboro 4 5882.970000000001 -Manufacturer#5 almond azure blanched chiffon midnight 5 4271.3099999999995 +Manufacturer#5 almond aquamarine dodger light gainsboro 4 5882.97 +Manufacturer#5 almond azure blanched chiffon midnight 5 4271.31 PREHOOK: query: -- 14. testPTFJoinWithWindowingWithCount explain extended @@ -4067,7 +4067,7 @@ select abc.p_mfgr, abc.p_name, rank() over (distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over (distribute by abc.p_mfgr sort by abc.p_name) as dr, count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over (distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part_orc partition by p_mfgr @@ -4081,7 +4081,7 @@ select abc.p_mfgr, abc.p_name, rank() over (distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over (distribute by abc.p_mfgr sort by abc.p_name) as dr, count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over (distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part_orc partition by p_mfgr @@ -4424,7 +4424,7 @@ STAGE PLANS: isPivotResult: true Statistics: Num rows: 28 Data size: 17646 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), count_window_2 (type: bigint), _col7 (type: double), sum_window_3 (type: double), _col5 (type: int), (_col5 - lag_window_4) (type: int) + expressions: _col2 (type: string), _col1 (type: string), rank_window_0 (type: int), dense_rank_window_1 (type: int), count_window_2 (type: bigint), _col7 (type: double), round(sum_window_3, 2) (type: double), _col5 (type: int), (_col5 - lag_window_4) (type: int) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8 Statistics: Num rows: 28 Data size: 17646 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -4460,7 +4460,7 @@ PREHOOK: query: select abc.p_mfgr, abc.p_name, rank() over (distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over (distribute by abc.p_mfgr sort by abc.p_name) as dr, count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over (distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part_orc partition by p_mfgr @@ -4473,7 +4473,7 @@ POSTHOOK: query: select abc.p_mfgr, abc.p_name, rank() over (distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over (distribute by abc.p_mfgr sort by abc.p_name) as dr, count(abc.p_name) over (distribute by abc.p_mfgr sort by abc.p_name) as cd, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over (distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part_orc partition by p_mfgr @@ -4484,15 +4484,15 @@ POSTHOOK: Input: default@part_orc #### A masked pattern was here #### Manufacturer#1 almond antique burnished rose metallic 1 1 4 1173.15 1173.15 2 0 Manufacturer#1 almond antique burnished rose metallic 1 1 4 1173.15 2346.3 2 0 -Manufacturer#1 almond antique burnished rose metallic 1 1 4 1173.15 3519.4500000000003 2 0 +Manufacturer#1 almond antique burnished rose metallic 1 1 4 1173.15 3519.45 2 0 Manufacturer#1 almond antique burnished rose metallic 1 1 4 1173.15 4692.6 2 0 -Manufacturer#1 almond antique chartreuse lavender yellow 5 2 5 1753.76 6446.360000000001 34 32 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 3 6 1602.59 8048.950000000001 6 -28 +Manufacturer#1 almond antique chartreuse lavender yellow 5 2 5 1753.76 6446.36 34 32 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 3 6 1602.59 8048.95 6 -28 Manufacturer#1 almond aquamarine burnished black steel 7 4 7 1414.42 9463.37 28 22 Manufacturer#1 almond aquamarine pink moccasin thistle 8 5 8 1632.66 11096.03 42 14 Manufacturer#2 almond antique violet chocolate turquoise 1 1 1 1690.68 1690.68 14 0 Manufacturer#2 almond antique violet turquoise frosted 2 2 2 1800.7 3491.38 40 26 -Manufacturer#2 almond aquamarine midnight light salmon 3 3 3 2031.98 5523.360000000001 2 -38 +Manufacturer#2 almond aquamarine midnight light salmon 3 3 3 2031.98 5523.36 2 -38 Manufacturer#2 almond aquamarine rose maroon antique 4 4 4 1698.66 7222.02 25 23 Manufacturer#2 almond aquamarine sandy cyan gainsboro 5 5 5 1701.6 8923.62 18 -7 Manufacturer#3 almond antique chartreuse khaki white 1 1 1 1671.68 1671.68 17 0 @@ -4504,9 +4504,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 1 1 1 1620.67 1620.67 10 Manufacturer#4 almond antique violet mint lemon 2 2 2 1375.42 2996.09 39 29 Manufacturer#4 almond aquamarine floral ivory bisque 3 3 3 1206.26 4202.35 27 -12 Manufacturer#4 almond aquamarine yellow dodger mint 4 4 4 1844.92 6047.27 7 -20 -Manufacturer#4 almond azure aquamarine papaya violet 5 5 5 1290.35 7337.620000000001 12 5 +Manufacturer#4 almond azure aquamarine papaya violet 5 5 5 1290.35 7337.62 12 5 Manufacturer#5 almond antique blue firebrick mint 1 1 1 1789.69 1789.69 31 0 -Manufacturer#5 almond antique medium spring khaki 2 2 2 1611.66 3401.3500000000004 6 -25 +Manufacturer#5 almond antique medium spring khaki 2 2 2 1611.66 3401.35 6 -25 Manufacturer#5 almond antique sky peru orange 3 3 3 1788.73 5190.08 2 -4 Manufacturer#5 almond aquamarine dodger light gainsboro 4 4 4 1018.1 6208.18 46 44 Manufacturer#5 almond azure blanched chiffon midnight 5 5 5 1464.48 7672.66 23 -23 @@ -4761,7 +4761,7 @@ Manufacturer#5 almond azure blanched chiffon midnight 23 PREHOOK: query: -- 16. testViewAsTableInputToPTF create view IF NOT EXISTS mfgr_price_view as select p_mfgr, p_brand, -sum(p_retailprice) as s +round(sum(p_retailprice),2) as s from part_orc group by p_mfgr, p_brand PREHOOK: type: CREATEVIEW @@ -4771,7 +4771,7 @@ PREHOOK: Output: default@mfgr_price_view POSTHOOK: query: -- 16. testViewAsTableInputToPTF create view IF NOT EXISTS mfgr_price_view as select p_mfgr, p_brand, -sum(p_retailprice) as s +round(sum(p_retailprice),2) as s from part_orc group by p_mfgr, p_brand POSTHOOK: type: CREATEVIEW @@ -4780,7 +4780,7 @@ POSTHOOK: Output: database:default POSTHOOK: Output: default@mfgr_price_view PREHOOK: query: explain extended select p_mfgr, p_brand, s, -sum(s) over w1 as s1 +round(sum(s) over w1,2) as s1 from noop(on mfgr_price_view partition by p_mfgr order by p_mfgr) @@ -4788,7 +4788,7 @@ window w1 as ( partition by p_mfgr order by p_brand rows between 2 preceding and PREHOOK: type: QUERY POSTHOOK: query: explain extended select p_mfgr, p_brand, s, -sum(s) over w1 as s1 +round(sum(s) over w1,2) as s1 from noop(on mfgr_price_view partition by p_mfgr order by p_mfgr) @@ -4884,37 +4884,41 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 13 Data size: 8021 Basic stats: COMPLETE Column stats: NONE - PTF Operator - Function definitions: - Input definition - input alias: mfgr_price_view - output shape: _col0: string, _col1: string, _col2: double - type: TABLE - Partition table definition - input alias: ptf_1 - name: noop - order by: _col0 ASC NULLS FIRST - output shape: _col0: string, _col1: string, _col2: double - partition by: _col0 - raw input shape: + Select Operator + expressions: _col0 (type: string), _col1 (type: string), round(_col2, 2) (type: double) + outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 13 Data size: 8021 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - GlobalTableId: 0 + PTF Operator + Function definitions: + Input definition + input alias: mfgr_price_view + output shape: _col0: string, _col1: string, _col2: double + type: TABLE + Partition table definition + input alias: ptf_1 + name: noop + order by: _col0 ASC NULLS FIRST + output shape: _col0: string, _col1: string, _col2: double + partition by: _col0 + raw input shape: + Statistics: Num rows: 13 Data size: 8021 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + GlobalTableId: 0 #### A masked pattern was here #### - NumFilesPerFileSink: 1 - table: - input format: org.apache.hadoop.mapred.SequenceFileInputFormat - output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat - properties: - columns _col0,_col1,_col2 - columns.types string,string,double - escape.delim \ - serialization.lib org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe - TotalFiles: 1 - GatherStats: false - MultiFileSpray: false + NumFilesPerFileSink: 1 + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + properties: + columns _col0,_col1,_col2 + columns.types string,string,double + escape.delim \ + serialization.lib org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe + serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe + TotalFiles: 1 + GatherStats: false + MultiFileSpray: false Stage: Stage-2 Map Reduce @@ -4982,7 +4986,7 @@ STAGE PLANS: window frame: PRECEDING(2)~CURRENT Statistics: Num rows: 13 Data size: 8021 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: string), _col1 (type: string), _col2 (type: double), sum_window_0 (type: double) + expressions: _col0 (type: string), _col1 (type: string), _col2 (type: double), round(sum_window_0, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 13 Data size: 8021 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -5015,7 +5019,7 @@ STAGE PLANS: ListSink PREHOOK: query: select p_mfgr, p_brand, s, -sum(s) over w1 as s1 +round(sum(s) over w1,2) as s1 from noop(on mfgr_price_view partition by p_mfgr order by p_mfgr) @@ -5025,7 +5029,7 @@ PREHOOK: Input: default@mfgr_price_view PREHOOK: Input: default@part_orc #### A masked pattern was here #### POSTHOOK: query: select p_mfgr, p_brand, s, -sum(s) over w1 as s1 +round(sum(s) over w1,2) as s1 from noop(on mfgr_price_view partition by p_mfgr order by p_mfgr) @@ -5038,15 +5042,15 @@ Manufacturer#1 Brand#12 4800.84 4800.84 Manufacturer#1 Brand#14 2346.3 7147.14 Manufacturer#1 Brand#15 1602.59 8749.73 Manufacturer#2 Brand#22 3491.38 3491.38 -Manufacturer#2 Brand#23 2031.98 5523.360000000001 +Manufacturer#2 Brand#23 2031.98 5523.36 Manufacturer#2 Brand#24 1698.66 7222.02 -Manufacturer#2 Brand#25 1701.6 5432.240000000001 +Manufacturer#2 Brand#25 1701.6 5432.24 Manufacturer#3 Brand#31 1671.68 1671.68 Manufacturer#3 Brand#32 3333.37 5005.05 Manufacturer#3 Brand#34 1337.29 6342.34 Manufacturer#3 Brand#35 1190.27 5860.93 -Manufacturer#4 Brand#41 4755.9400000000005 4755.9400000000005 -Manufacturer#4 Brand#42 2581.6800000000003 7337.620000000001 +Manufacturer#4 Brand#41 4755.94 4755.94 +Manufacturer#4 Brand#42 2581.68 7337.62 Manufacturer#5 Brand#51 1611.66 1611.66 Manufacturer#5 Brand#52 3254.17 4865.83 Manufacturer#5 Brand#53 2806.83 7672.66 @@ -5103,7 +5107,7 @@ order by p_name) INSERT OVERWRITE TABLE part_4 select p_mfgr, p_name, p_size, rank() over (distribute by p_mfgr sort by p_name) as r, dense_rank() over (distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_5 select p_mfgr,p_name, p_size, round(sum(p_size) over (distribute by p_mfgr sort by p_size range between 5 preceding and current row),1) as s2, rank() over (distribute by p_mfgr sort by p_mfgr, p_name) as r, @@ -5119,7 +5123,7 @@ order by p_name) INSERT OVERWRITE TABLE part_4 select p_mfgr, p_name, p_size, rank() over (distribute by p_mfgr sort by p_name) as r, dense_rank() over (distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_5 select p_mfgr,p_name, p_size, round(sum(p_size) over (distribute by p_mfgr sort by p_size range between 5 preceding and current row),1) as s2, rank() over (distribute by p_mfgr sort by p_mfgr, p_name) as r, @@ -5340,7 +5344,7 @@ STAGE PLANS: window frame: PRECEDING(MAX)~CURRENT Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), sum_window_2 (type: double) + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), rank_window_0 (type: int), dense_rank_window_1 (type: int), round(sum_window_2, 2) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 26 Data size: 16042 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -5652,7 +5656,7 @@ order by p_name) INSERT OVERWRITE TABLE part_4 select p_mfgr, p_name, p_size, rank() over (distribute by p_mfgr sort by p_name) as r, dense_rank() over (distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_5 select p_mfgr,p_name, p_size, round(sum(p_size) over (distribute by p_mfgr sort by p_size range between 5 preceding and current row),1) as s2, rank() over (distribute by p_mfgr sort by p_mfgr, p_name) as r, @@ -5670,7 +5674,7 @@ order by p_name) INSERT OVERWRITE TABLE part_4 select p_mfgr, p_name, p_size, rank() over (distribute by p_mfgr sort by p_name) as r, dense_rank() over (distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_5 select p_mfgr,p_name, p_size, round(sum(p_size) over (distribute by p_mfgr sort by p_size range between 5 preceding and current row),1) as s2, rank() over (distribute by p_mfgr sort by p_mfgr, p_name) as r, @@ -5707,12 +5711,12 @@ POSTHOOK: Input: default@part_4 Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -5724,9 +5728,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 diff --git a/ql/src/test/results/clientpositive/windowing.q.out b/ql/src/test/results/clientpositive/windowing.q.out index b17bfc1..4665c97 100644 --- a/ql/src/test/results/clientpositive/windowing.q.out +++ b/ql/src/test/results/clientpositive/windowing.q.out @@ -4,7 +4,7 @@ PREHOOK: query: -- SORT_QUERY_RESULTS select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -15,7 +15,7 @@ POSTHOOK: query: -- SORT_QUERY_RESULTS select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part @@ -23,12 +23,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -40,9 +40,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -185,7 +185,7 @@ select p_mfgr, p_name, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, count(p_size) over(distribute by p_mfgr sort by p_name) as cd, -p_retailprice, sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1, +p_retailprice, round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1, p_size, p_size - lag(p_size,1,p_size) over(distribute by p_mfgr sort by p_name) as deltaSz from part PREHOOK: type: QUERY @@ -196,7 +196,7 @@ select p_mfgr, p_name, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, count(p_size) over(distribute by p_mfgr sort by p_name) as cd, -p_retailprice, sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1, +p_retailprice, round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1, p_size, p_size - lag(p_size,1,p_size) over(distribute by p_mfgr sort by p_name) as deltaSz from part POSTHOOK: type: QUERY @@ -205,12 +205,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 1 1 2 1173.15 1173.15 2 0 Manufacturer#1 almond antique burnished rose metallic 1 1 2 1173.15 2346.3 2 0 Manufacturer#1 almond antique chartreuse lavender yellow 3 2 3 1753.76 4100.06 34 32 -Manufacturer#1 almond antique salmon chartreuse burlywood 4 3 4 1602.59 5702.650000000001 6 -28 -Manufacturer#1 almond aquamarine burnished black steel 5 4 5 1414.42 7117.070000000001 28 22 -Manufacturer#1 almond aquamarine pink moccasin thistle 6 5 6 1632.66 8749.730000000001 42 14 +Manufacturer#1 almond antique salmon chartreuse burlywood 4 3 4 1602.59 5702.65 6 -28 +Manufacturer#1 almond aquamarine burnished black steel 5 4 5 1414.42 7117.07 28 22 +Manufacturer#1 almond aquamarine pink moccasin thistle 6 5 6 1632.66 8749.73 42 14 Manufacturer#2 almond antique violet chocolate turquoise 1 1 1 1690.68 1690.68 14 0 Manufacturer#2 almond antique violet turquoise frosted 2 2 2 1800.7 3491.38 40 26 -Manufacturer#2 almond aquamarine midnight light salmon 3 3 3 2031.98 5523.360000000001 2 -38 +Manufacturer#2 almond aquamarine midnight light salmon 3 3 3 2031.98 5523.36 2 -38 Manufacturer#2 almond aquamarine rose maroon antique 4 4 4 1698.66 7222.02 25 23 Manufacturer#2 almond aquamarine sandy cyan gainsboro 5 5 5 1701.6 8923.62 18 -7 Manufacturer#3 almond antique chartreuse khaki white 1 1 1 1671.68 1671.68 17 0 @@ -222,9 +222,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 1 1 1 1620.67 1620.67 10 Manufacturer#4 almond antique violet mint lemon 2 2 2 1375.42 2996.09 39 29 Manufacturer#4 almond aquamarine floral ivory bisque 3 3 3 1206.26 4202.35 27 -12 Manufacturer#4 almond aquamarine yellow dodger mint 4 4 4 1844.92 6047.27 7 -20 -Manufacturer#4 almond azure aquamarine papaya violet 5 5 5 1290.35 7337.620000000001 12 5 +Manufacturer#4 almond azure aquamarine papaya violet 5 5 5 1290.35 7337.62 12 5 Manufacturer#5 almond antique blue firebrick mint 1 1 1 1789.69 1789.69 31 0 -Manufacturer#5 almond antique medium spring khaki 2 2 2 1611.66 3401.3500000000004 6 -25 +Manufacturer#5 almond antique medium spring khaki 2 2 2 1611.66 3401.35 6 -25 Manufacturer#5 almond antique sky peru orange 3 3 3 1788.73 5190.08 2 -4 Manufacturer#5 almond aquamarine dodger light gainsboro 4 4 4 1018.1 6208.18 46 44 Manufacturer#5 almond azure blanched chiffon midnight 5 5 5 1464.48 7672.66 23 -23 @@ -234,7 +234,7 @@ from (select p_mfgr, p_name, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, count(p_size) over(distribute by p_mfgr sort by p_name) as cd, -p_retailprice, sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1, +p_retailprice, round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1, p_size, p_size - lag(p_size,1,p_size) over(distribute by p_mfgr sort by p_name) as deltaSz from part ) sub1 @@ -247,7 +247,7 @@ from (select p_mfgr, p_name, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, count(p_size) over(distribute by p_mfgr sort by p_name) as cd, -p_retailprice, sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1, +p_retailprice, round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1, p_size, p_size - lag(p_size,1,p_size) over(distribute by p_mfgr sort by p_name) as deltaSz from part ) sub1 @@ -262,29 +262,29 @@ POSTHOOK: Input: default@part 1 1 2 2346.3 0 2 2 2 2861.95 -3 2 2 2 2996.09 29 -2 2 2 3401.3500000000004 -25 +2 2 2 3401.35 -25 2 2 2 3491.38 26 3 2 3 4100.06 32 3 3 3 4202.35 -12 3 3 3 4272.34 5 3 3 3 5190.08 -4 -3 3 3 5523.360000000001 -38 -4 3 4 5702.650000000001 -28 +3 3 3 5523.36 -38 +4 3 4 5702.65 -28 4 4 4 6047.27 -20 4 4 4 6195.32 -18 4 4 4 6208.18 44 4 4 4 7222.02 23 -5 4 5 7117.070000000001 22 -5 5 5 7337.620000000001 5 +5 4 5 7117.07 22 +5 5 5 7337.62 5 5 5 5 7532.61 44 5 5 5 7672.66 -23 5 5 5 8923.62 -7 -6 5 6 8749.730000000001 14 +6 5 6 8749.73 14 PREHOOK: query: -- 7. testJoinWithWindowingAndPTF select abc.p_mfgr, abc.p_name, rank() over(distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over(distribute by abc.p_mfgr sort by abc.p_name) as dr, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over(distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part partition by p_mfgr @@ -297,7 +297,7 @@ POSTHOOK: query: -- 7. testJoinWithWindowingAndPTF select abc.p_mfgr, abc.p_name, rank() over(distribute by abc.p_mfgr sort by abc.p_name) as r, dense_rank() over(distribute by abc.p_mfgr sort by abc.p_name) as dr, -abc.p_retailprice, sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row) as s1, +abc.p_retailprice, round(sum(abc.p_retailprice) over (distribute by abc.p_mfgr sort by abc.p_name rows between unbounded preceding and current row),2) as s1, abc.p_size, abc.p_size - lag(abc.p_size,1,abc.p_size) over(distribute by abc.p_mfgr sort by abc.p_name) as deltaSz from noop(on part partition by p_mfgr @@ -308,15 +308,15 @@ POSTHOOK: Input: default@part #### A masked pattern was here #### Manufacturer#1 almond antique burnished rose metallic 1 1 1173.15 1173.15 2 0 Manufacturer#1 almond antique burnished rose metallic 1 1 1173.15 2346.3 2 0 -Manufacturer#1 almond antique burnished rose metallic 1 1 1173.15 3519.4500000000003 2 0 +Manufacturer#1 almond antique burnished rose metallic 1 1 1173.15 3519.45 2 0 Manufacturer#1 almond antique burnished rose metallic 1 1 1173.15 4692.6 2 0 -Manufacturer#1 almond antique chartreuse lavender yellow 5 2 1753.76 6446.360000000001 34 32 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 3 1602.59 8048.950000000001 6 -28 +Manufacturer#1 almond antique chartreuse lavender yellow 5 2 1753.76 6446.36 34 32 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 3 1602.59 8048.95 6 -28 Manufacturer#1 almond aquamarine burnished black steel 7 4 1414.42 9463.37 28 22 Manufacturer#1 almond aquamarine pink moccasin thistle 8 5 1632.66 11096.03 42 14 Manufacturer#2 almond antique violet chocolate turquoise 1 1 1690.68 1690.68 14 0 Manufacturer#2 almond antique violet turquoise frosted 2 2 1800.7 3491.38 40 26 -Manufacturer#2 almond aquamarine midnight light salmon 3 3 2031.98 5523.360000000001 2 -38 +Manufacturer#2 almond aquamarine midnight light salmon 3 3 2031.98 5523.36 2 -38 Manufacturer#2 almond aquamarine rose maroon antique 4 4 1698.66 7222.02 25 23 Manufacturer#2 almond aquamarine sandy cyan gainsboro 5 5 1701.6 8923.62 18 -7 Manufacturer#3 almond antique chartreuse khaki white 1 1 1671.68 1671.68 17 0 @@ -328,9 +328,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 1 1 1620.67 1620.67 10 0 Manufacturer#4 almond antique violet mint lemon 2 2 1375.42 2996.09 39 29 Manufacturer#4 almond aquamarine floral ivory bisque 3 3 1206.26 4202.35 27 -12 Manufacturer#4 almond aquamarine yellow dodger mint 4 4 1844.92 6047.27 7 -20 -Manufacturer#4 almond azure aquamarine papaya violet 5 5 1290.35 7337.620000000001 12 5 +Manufacturer#4 almond azure aquamarine papaya violet 5 5 1290.35 7337.62 12 5 Manufacturer#5 almond antique blue firebrick mint 1 1 1789.69 1789.69 31 0 -Manufacturer#5 almond antique medium spring khaki 2 2 1611.66 3401.3500000000004 6 -25 +Manufacturer#5 almond antique medium spring khaki 2 2 1611.66 3401.35 6 -25 Manufacturer#5 almond antique sky peru orange 3 3 1788.73 5190.08 2 -4 Manufacturer#5 almond aquamarine dodger light gainsboro 4 4 1018.1 6208.18 46 44 Manufacturer#5 almond azure blanched chiffon midnight 5 5 1464.48 7672.66 23 -23 @@ -378,7 +378,7 @@ PREHOOK: query: -- 9. testHavingWithWindowingNoGBY select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -387,7 +387,7 @@ POSTHOOK: query: -- 9. testHavingWithWindowingNoGBY select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part @@ -395,12 +395,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -412,9 +412,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -422,7 +422,7 @@ PREHOOK: query: -- 10. testHavingWithWindowingCondRankNoGBY select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part @@ -431,7 +431,7 @@ POSTHOOK: query: -- 10. testHavingWithWindowingCondRankNoGBY select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, dense_rank() over(distribute by p_mfgr sort by p_name) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s1 +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part @@ -439,12 +439,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -456,9 +456,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -785,10 +785,10 @@ Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 2 PREHOOK: query: -- 18. testUDAFs select p_mfgr,p_name, p_size, -sum(p_retailprice) over w1 as s, +round(sum(p_retailprice) over w1,2) as s, min(p_retailprice) over w1 as mi, max(p_retailprice) over w1 as ma, -avg(p_retailprice) over w1 as ag +round(avg(p_retailprice) over w1,2) as ag from part window w1 as (distribute by p_mfgr sort by p_mfgr, p_name rows between 2 preceding and 2 following) PREHOOK: type: QUERY @@ -796,47 +796,47 @@ PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 18. testUDAFs select p_mfgr,p_name, p_size, -sum(p_retailprice) over w1 as s, +round(sum(p_retailprice) over w1,2) as s, min(p_retailprice) over w1 as mi, max(p_retailprice) over w1 as ma, -avg(p_retailprice) over w1 as ag +round(avg(p_retailprice) over w1,2) as ag from part window w1 as (distribute by p_mfgr sort by p_mfgr, p_name rows between 2 preceding and 2 following) POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### -Manufacturer#1 almond antique burnished rose metallic 2 4100.06 1173.15 1753.76 1366.6866666666667 -Manufacturer#1 almond antique burnished rose metallic 2 5702.650000000001 1173.15 1753.76 1425.6625000000001 -Manufacturer#1 almond antique chartreuse lavender yellow 34 7117.070000000001 1173.15 1753.76 1423.4140000000002 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 7576.580000000002 1173.15 1753.76 1515.3160000000003 -Manufacturer#1 almond aquamarine burnished black steel 28 6403.430000000001 1414.42 1753.76 1600.8575000000003 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 4649.670000000001 1414.42 1632.66 1549.8900000000003 -Manufacturer#2 almond antique violet chocolate turquoise 14 5523.360000000001 1690.68 2031.98 1841.1200000000001 -Manufacturer#2 almond antique violet turquoise frosted 40 7222.02 1690.68 2031.98 1805.505 -Manufacturer#2 almond aquamarine midnight light salmon 2 8923.62 1690.68 2031.98 1784.7240000000002 -Manufacturer#2 almond aquamarine rose maroon antique 25 7232.9400000000005 1698.66 2031.98 1808.2350000000001 -Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5432.240000000001 1698.66 2031.98 1810.746666666667 -Manufacturer#3 almond antique chartreuse khaki white 17 4272.34 1190.27 1671.68 1424.1133333333335 +Manufacturer#1 almond antique burnished rose metallic 2 4100.06 1173.15 1753.76 1366.69 +Manufacturer#1 almond antique burnished rose metallic 2 5702.65 1173.15 1753.76 1425.66 +Manufacturer#1 almond antique chartreuse lavender yellow 34 7117.07 1173.15 1753.76 1423.41 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 7576.58 1173.15 1753.76 1515.32 +Manufacturer#1 almond aquamarine burnished black steel 28 6403.43 1414.42 1753.76 1600.86 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 4649.67 1414.42 1632.66 1549.89 +Manufacturer#2 almond antique violet chocolate turquoise 14 5523.36 1690.68 2031.98 1841.12 +Manufacturer#2 almond antique violet turquoise frosted 40 7222.02 1690.68 2031.98 1805.51 +Manufacturer#2 almond aquamarine midnight light salmon 2 8923.62 1690.68 2031.98 1784.72 +Manufacturer#2 almond aquamarine rose maroon antique 25 7232.94 1698.66 2031.98 1808.24 +Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5432.24 1698.66 2031.98 1810.75 +Manufacturer#3 almond antique chartreuse khaki white 17 4272.34 1190.27 1671.68 1424.11 Manufacturer#3 almond antique forest lavender goldenrod 14 6195.32 1190.27 1922.98 1548.83 -Manufacturer#3 almond antique metallic orange dim 19 7532.61 1190.27 1922.98 1506.522 -Manufacturer#3 almond antique misty red olive 1 5860.929999999999 1190.27 1922.98 1465.2324999999998 -Manufacturer#3 almond antique olive coral navajo 45 4670.66 1337.29 1922.98 1556.8866666666665 -Manufacturer#4 almond antique gainsboro frosted violet 10 4202.35 1206.26 1620.67 1400.7833333333335 -Manufacturer#4 almond antique violet mint lemon 39 6047.27 1206.26 1844.92 1511.8175 -Manufacturer#4 almond aquamarine floral ivory bisque 27 7337.620000000001 1206.26 1844.92 1467.5240000000001 -Manufacturer#4 almond aquamarine yellow dodger mint 7 5716.950000000001 1206.26 1844.92 1429.2375000000002 -Manufacturer#4 almond azure aquamarine papaya violet 12 4341.530000000001 1206.26 1844.92 1447.176666666667 -Manufacturer#5 almond antique blue firebrick mint 31 5190.08 1611.66 1789.69 1730.0266666666666 -Manufacturer#5 almond antique medium spring khaki 6 6208.18 1018.1 1789.69 1552.045 -Manufacturer#5 almond antique sky peru orange 2 7672.66 1018.1 1789.69 1534.532 -Manufacturer#5 almond aquamarine dodger light gainsboro 46 5882.969999999999 1018.1 1788.73 1470.7424999999998 -Manufacturer#5 almond azure blanched chiffon midnight 23 4271.3099999999995 1018.1 1788.73 1423.7699999999998 +Manufacturer#3 almond antique metallic orange dim 19 7532.61 1190.27 1922.98 1506.52 +Manufacturer#3 almond antique misty red olive 1 5860.93 1190.27 1922.98 1465.23 +Manufacturer#3 almond antique olive coral navajo 45 4670.66 1337.29 1922.98 1556.89 +Manufacturer#4 almond antique gainsboro frosted violet 10 4202.35 1206.26 1620.67 1400.78 +Manufacturer#4 almond antique violet mint lemon 39 6047.27 1206.26 1844.92 1511.82 +Manufacturer#4 almond aquamarine floral ivory bisque 27 7337.62 1206.26 1844.92 1467.52 +Manufacturer#4 almond aquamarine yellow dodger mint 7 5716.95 1206.26 1844.92 1429.24 +Manufacturer#4 almond azure aquamarine papaya violet 12 4341.53 1206.26 1844.92 1447.18 +Manufacturer#5 almond antique blue firebrick mint 31 5190.08 1611.66 1789.69 1730.03 +Manufacturer#5 almond antique medium spring khaki 6 6208.18 1018.1 1789.69 1552.05 +Manufacturer#5 almond antique sky peru orange 2 7672.66 1018.1 1789.69 1534.53 +Manufacturer#5 almond aquamarine dodger light gainsboro 46 5882.97 1018.1 1788.73 1470.74 +Manufacturer#5 almond azure blanched chiffon midnight 23 4271.31 1018.1 1788.73 1423.77 PREHOOK: query: -- 19. testUDAFsWithGBY select p_mfgr,p_name, p_size, p_retailprice, -sum(p_retailprice) over w1 as s, +round(sum(p_retailprice) over w1,2) as s, min(p_retailprice) as mi , max(p_retailprice) as ma , -avg(p_retailprice) over w1 as ag +round(avg(p_retailprice) over w1,2) as ag from part group by p_mfgr,p_name, p_size, p_retailprice window w1 as (distribute by p_mfgr sort by p_mfgr, p_name rows between 2 preceding and 2 following) @@ -845,41 +845,41 @@ PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 19. testUDAFsWithGBY select p_mfgr,p_name, p_size, p_retailprice, -sum(p_retailprice) over w1 as s, +round(sum(p_retailprice) over w1,2) as s, min(p_retailprice) as mi , max(p_retailprice) as ma , -avg(p_retailprice) over w1 as ag +round(avg(p_retailprice) over w1,2) as ag from part group by p_mfgr,p_name, p_size, p_retailprice window w1 as (distribute by p_mfgr sort by p_mfgr, p_name rows between 2 preceding and 2 following) POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### -Manufacturer#1 almond antique burnished rose metallic 2 1173.15 4529.5 1173.15 1173.15 1509.8333333333333 +Manufacturer#1 almond antique burnished rose metallic 2 1173.15 4529.5 1173.15 1173.15 1509.83 Manufacturer#1 almond antique chartreuse lavender yellow 34 1753.76 5943.92 1753.76 1753.76 1485.98 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 1602.59 7576.58 1602.59 1602.59 1515.316 -Manufacturer#1 almond aquamarine burnished black steel 28 1414.42 6403.43 1414.42 1414.42 1600.8575 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 1602.59 7576.58 1602.59 1602.59 1515.32 +Manufacturer#1 almond aquamarine burnished black steel 28 1414.42 6403.43 1414.42 1414.42 1600.86 Manufacturer#1 almond aquamarine pink moccasin thistle 42 1632.66 4649.67 1632.66 1632.66 1549.89 -Manufacturer#2 almond antique violet chocolate turquoise 14 1690.68 5523.360000000001 1690.68 1690.68 1841.1200000000001 -Manufacturer#2 almond antique violet turquoise frosted 40 1800.7 7222.02 1800.7 1800.7 1805.505 -Manufacturer#2 almond aquamarine midnight light salmon 2 2031.98 8923.62 2031.98 2031.98 1784.7240000000002 -Manufacturer#2 almond aquamarine rose maroon antique 25 1698.66 7232.9400000000005 1698.66 1698.66 1808.2350000000001 -Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 1701.6 5432.240000000001 1701.6 1701.6 1810.746666666667 -Manufacturer#3 almond antique chartreuse khaki white 17 1671.68 4272.34 1671.68 1671.68 1424.1133333333335 +Manufacturer#2 almond antique violet chocolate turquoise 14 1690.68 5523.36 1690.68 1690.68 1841.12 +Manufacturer#2 almond antique violet turquoise frosted 40 1800.7 7222.02 1800.7 1800.7 1805.51 +Manufacturer#2 almond aquamarine midnight light salmon 2 2031.98 8923.62 2031.98 2031.98 1784.72 +Manufacturer#2 almond aquamarine rose maroon antique 25 1698.66 7232.94 1698.66 1698.66 1808.24 +Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 1701.6 5432.24 1701.6 1701.6 1810.75 +Manufacturer#3 almond antique chartreuse khaki white 17 1671.68 4272.34 1671.68 1671.68 1424.11 Manufacturer#3 almond antique forest lavender goldenrod 14 1190.27 6195.32 1190.27 1190.27 1548.83 -Manufacturer#3 almond antique metallic orange dim 19 1410.39 7532.61 1410.39 1410.39 1506.522 -Manufacturer#3 almond antique misty red olive 1 1922.98 5860.929999999999 1922.98 1922.98 1465.2324999999998 -Manufacturer#3 almond antique olive coral navajo 45 1337.29 4670.66 1337.29 1337.29 1556.8866666666665 -Manufacturer#4 almond antique gainsboro frosted violet 10 1620.67 4202.35 1620.67 1620.67 1400.7833333333335 -Manufacturer#4 almond antique violet mint lemon 39 1375.42 6047.27 1375.42 1375.42 1511.8175 -Manufacturer#4 almond aquamarine floral ivory bisque 27 1206.26 7337.620000000001 1206.26 1206.26 1467.5240000000001 -Manufacturer#4 almond aquamarine yellow dodger mint 7 1844.92 5716.950000000001 1844.92 1844.92 1429.2375000000002 -Manufacturer#4 almond azure aquamarine papaya violet 12 1290.35 4341.530000000001 1290.35 1290.35 1447.176666666667 -Manufacturer#5 almond antique blue firebrick mint 31 1789.69 5190.08 1789.69 1789.69 1730.0266666666666 -Manufacturer#5 almond antique medium spring khaki 6 1611.66 6208.18 1611.66 1611.66 1552.045 -Manufacturer#5 almond antique sky peru orange 2 1788.73 7672.66 1788.73 1788.73 1534.532 -Manufacturer#5 almond aquamarine dodger light gainsboro 46 1018.1 5882.969999999999 1018.1 1018.1 1470.7424999999998 -Manufacturer#5 almond azure blanched chiffon midnight 23 1464.48 4271.3099999999995 1464.48 1464.48 1423.7699999999998 +Manufacturer#3 almond antique metallic orange dim 19 1410.39 7532.61 1410.39 1410.39 1506.52 +Manufacturer#3 almond antique misty red olive 1 1922.98 5860.93 1922.98 1922.98 1465.23 +Manufacturer#3 almond antique olive coral navajo 45 1337.29 4670.66 1337.29 1337.29 1556.89 +Manufacturer#4 almond antique gainsboro frosted violet 10 1620.67 4202.35 1620.67 1620.67 1400.78 +Manufacturer#4 almond antique violet mint lemon 39 1375.42 6047.27 1375.42 1375.42 1511.82 +Manufacturer#4 almond aquamarine floral ivory bisque 27 1206.26 7337.62 1206.26 1206.26 1467.52 +Manufacturer#4 almond aquamarine yellow dodger mint 7 1844.92 5716.95 1844.92 1844.92 1429.24 +Manufacturer#4 almond azure aquamarine papaya violet 12 1290.35 4341.53 1290.35 1290.35 1447.18 +Manufacturer#5 almond antique blue firebrick mint 31 1789.69 5190.08 1789.69 1789.69 1730.03 +Manufacturer#5 almond antique medium spring khaki 6 1611.66 6208.18 1611.66 1611.66 1552.05 +Manufacturer#5 almond antique sky peru orange 2 1788.73 7672.66 1788.73 1788.73 1534.53 +Manufacturer#5 almond aquamarine dodger light gainsboro 46 1018.1 5882.97 1018.1 1018.1 1470.74 +Manufacturer#5 almond azure blanched chiffon midnight 23 1464.48 4271.31 1464.48 1464.48 1423.77 PREHOOK: query: -- 20. testSTATs select p_mfgr,p_name, p_size, stddev(p_retailprice) over w1 as sdev, @@ -1073,7 +1073,7 @@ Manufacturer#5 Brand#53 2806.83 7672.66 PREHOOK: query: -- 23. testCreateViewWithWindowingQuery create view IF NOT EXISTS mfgr_brand_price_view as select p_mfgr, p_brand, -sum(p_retailprice) over w1 as s +round(sum(p_retailprice) over w1,2) as s from part window w1 as (distribute by p_mfgr sort by p_name rows between 2 preceding and current row) PREHOOK: type: CREATEVIEW @@ -1083,7 +1083,7 @@ PREHOOK: Output: default@mfgr_brand_price_view POSTHOOK: query: -- 23. testCreateViewWithWindowingQuery create view IF NOT EXISTS mfgr_brand_price_view as select p_mfgr, p_brand, -sum(p_retailprice) over w1 as s +round(sum(p_retailprice) over w1,2) as s from part window w1 as (distribute by p_mfgr sort by p_name rows between 2 preceding and current row) POSTHOOK: type: CREATEVIEW @@ -1101,29 +1101,29 @@ POSTHOOK: Input: default@mfgr_brand_price_view POSTHOOK: Input: default@part #### A masked pattern was here #### Manufacturer#1 Brand#12 4100.06 -Manufacturer#1 Brand#12 4649.670000000001 +Manufacturer#1 Brand#12 4649.67 Manufacturer#1 Brand#12 4770.77 Manufacturer#1 Brand#14 1173.15 Manufacturer#1 Brand#14 2346.3 Manufacturer#1 Brand#15 4529.5 Manufacturer#2 Brand#22 1690.68 Manufacturer#2 Brand#22 3491.38 -Manufacturer#2 Brand#23 5523.360000000001 +Manufacturer#2 Brand#23 5523.36 Manufacturer#2 Brand#24 5531.34 -Manufacturer#2 Brand#25 5432.240000000001 +Manufacturer#2 Brand#25 5432.24 Manufacturer#3 Brand#31 1671.68 Manufacturer#3 Brand#32 4272.34 -Manufacturer#3 Brand#32 4523.639999999999 +Manufacturer#3 Brand#32 4523.64 Manufacturer#3 Brand#34 4670.66 Manufacturer#3 Brand#35 2861.95 Manufacturer#4 Brand#41 1620.67 -Manufacturer#4 Brand#41 4341.530000000001 +Manufacturer#4 Brand#41 4341.53 Manufacturer#4 Brand#41 4426.6 Manufacturer#4 Brand#42 2996.09 Manufacturer#4 Brand#42 4202.35 -Manufacturer#5 Brand#51 3401.3500000000004 +Manufacturer#5 Brand#51 3401.35 Manufacturer#5 Brand#52 1789.69 -Manufacturer#5 Brand#52 4271.3099999999995 +Manufacturer#5 Brand#52 4271.31 Manufacturer#5 Brand#53 4418.49 Manufacturer#5 Brand#53 5190.08 PREHOOK: query: -- 24. testLateralViews @@ -1293,7 +1293,7 @@ INSERT OVERWRITE TABLE part_1 select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name ) as r, dense_rank() over(distribute by p_mfgr sort by p_name ) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_2 select p_mfgr,p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, @@ -1318,7 +1318,7 @@ INSERT OVERWRITE TABLE part_1 select p_mfgr, p_name, p_size, rank() over(distribute by p_mfgr sort by p_name ) as r, dense_rank() over(distribute by p_mfgr sort by p_name ) as dr, -sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row) as s +round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between unbounded preceding and current row),2) as s INSERT OVERWRITE TABLE part_2 select p_mfgr,p_name, p_size, rank() over(distribute by p_mfgr sort by p_name) as r, @@ -1369,12 +1369,12 @@ POSTHOOK: Input: default@part_1 Manufacturer#1 almond antique burnished rose metallic 2 1 1 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 1 1 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 3 2 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 4 3 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 5 4 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 6 5 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1 1 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 2 2 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 3 3 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 4 4 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5 5 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1 1 1671.68 @@ -1386,9 +1386,9 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1 1 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2 2 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 3 3 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 4 4 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 5 5 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1 1 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 2 2 3401.35 Manufacturer#5 almond antique sky peru orange 2 3 3 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 4 4 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 5 5 7672.66 @@ -1872,23 +1872,124 @@ Manufacturer#5 almond antique sky peru orange 2 2 39 108 Manufacturer#5 almond aquamarine dodger light gainsboro 46 46 85 77 Manufacturer#5 almond azure blanched chiffon midnight 23 23 108 71 PREHOOK: query: -- 35. testDistinctWithWindowing +explain select DISTINCT p_mfgr, p_name, p_size, sum(p_size) over w1 as s from part window w1 as (distribute by p_mfgr sort by p_name rows between 2 preceding and 2 following) PREHOOK: type: QUERY -PREHOOK: Input: default@part -#### A masked pattern was here #### POSTHOOK: query: -- 35. testDistinctWithWindowing +explain select DISTINCT p_mfgr, p_name, p_size, sum(p_size) over w1 as s from part window w1 as (distribute by p_mfgr sort by p_name rows between 2 preceding and 2 following) POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-1 is a root stage + Stage-2 depends on stages: Stage-1 + Stage-0 depends on stages: Stage-2 + +STAGE PLANS: + Stage: Stage-1 + Map Reduce + Map Operator Tree: + TableScan + alias: part + Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: p_mfgr (type: string), p_name (type: string) + sort order: ++ + Map-reduce partition columns: p_mfgr (type: string) + Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE + value expressions: p_size (type: int) + Reduce Operator Tree: + Select Operator + expressions: KEY.reducesinkkey1 (type: string), KEY.reducesinkkey0 (type: string), VALUE._col3 (type: int) + outputColumnNames: _col1, _col2, _col5 + Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE + PTF Operator + Function definitions: + Input definition + input alias: ptf_0 + output shape: _col1: string, _col2: string, _col5: int + type: WINDOWING + Windowing table definition + input alias: ptf_1 + name: windowingtablefunction + order by: _col1 ASC NULLS FIRST + partition by: _col2 + raw input shape: + window functions: + window function definition + alias: sum_window_0 + arguments: _col5 + name: sum + window function: GenericUDAFSumLong + window frame: PRECEDING(2)~FOLLOWING(2) + Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: _col2 (type: string), _col1 (type: string), _col5 (type: int), sum_window_0 (type: bigint) + outputColumnNames: _col0, _col1, _col2, _col3 + Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE + Group By Operator + keys: _col0 (type: string), _col1 (type: string), _col2 (type: int), _col3 (type: bigint) + mode: hash + outputColumnNames: _col0, _col1, _col2, _col3 + Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe + + Stage: Stage-2 + Map Reduce + Map Operator Tree: + TableScan + Reduce Output Operator + key expressions: _col0 (type: string), _col1 (type: string), _col2 (type: int), _col3 (type: bigint) + sort order: ++++ + Map-reduce partition columns: _col0 (type: string), _col1 (type: string), _col2 (type: int), _col3 (type: bigint) + Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE + Reduce Operator Tree: + Group By Operator + keys: KEY._col0 (type: string), KEY._col1 (type: string), KEY._col2 (type: int), KEY._col3 (type: bigint) + mode: mergepartial + outputColumnNames: _col0, _col1, _col2, _col3 + Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 13 Data size: 1573 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.SequenceFileInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: select DISTINCT p_mfgr, p_name, p_size, +sum(p_size) over w1 as s +from part +window w1 as (distribute by p_mfgr sort by p_name rows between 2 preceding and 2 following) +PREHOOK: type: QUERY +PREHOOK: Input: default@part +#### A masked pattern was here #### +POSTHOOK: query: select DISTINCT p_mfgr, p_name, p_size, +sum(p_size) over w1 as s +from part +window w1 as (distribute by p_mfgr sort by p_name rows between 2 preceding and 2 following) +POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### -Manufacturer#1 almond antique burnished rose metallic 2 42 -Manufacturer#1 almond antique chartreuse lavender yellow 34 70 +Manufacturer#1 almond antique burnished rose metallic 2 38 +Manufacturer#1 almond antique burnished rose metallic 2 44 +Manufacturer#1 almond antique chartreuse lavender yellow 34 72 Manufacturer#1 almond antique salmon chartreuse burlywood 6 112 Manufacturer#1 almond aquamarine burnished black steel 28 110 Manufacturer#1 almond aquamarine pink moccasin thistle 42 76 @@ -2002,7 +2103,7 @@ Manufacturer#5 7672.66 1018.1 1789.69 1534.53 5 Manufacturer#5 7672.66 1018.1 1789.69 1534.53 5 PREHOOK: query: -- 38. testPartitioningVariousForms2 select p_mfgr, p_name, p_size, -sum(p_retailprice) over (partition by p_mfgr, p_name order by p_mfgr, p_name rows between unbounded preceding and current row) as s1, +round(sum(p_retailprice) over (partition by p_mfgr, p_name order by p_mfgr, p_name rows between unbounded preceding and current row),2) as s1, min(p_retailprice) over (distribute by p_mfgr, p_name sort by p_mfgr, p_name rows between unbounded preceding and current row) as s2, max(p_retailprice) over (partition by p_mfgr, p_name order by p_name) as s3 from part @@ -2011,7 +2112,7 @@ PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 38. testPartitioningVariousForms2 select p_mfgr, p_name, p_size, -sum(p_retailprice) over (partition by p_mfgr, p_name order by p_mfgr, p_name rows between unbounded preceding and current row) as s1, +round(sum(p_retailprice) over (partition by p_mfgr, p_name order by p_mfgr, p_name rows between unbounded preceding and current row),2) as s1, min(p_retailprice) over (distribute by p_mfgr, p_name sort by p_mfgr, p_name rows between unbounded preceding and current row) as s2, max(p_retailprice) over (partition by p_mfgr, p_name order by p_name) as s3 from part @@ -2086,14 +2187,14 @@ Manufacturer#5 SMALL PLATED BRASS MALL PLATED BRASS 4 Manufacturer#5 STANDARD BURNISHED TIN TANDARD BURNISHED TIN 5 PREHOOK: query: -- 40. testNoBetweenForRows select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows unbounded preceding) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows unbounded preceding),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 40. testNoBetweenForRows select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows unbounded preceding) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows unbounded preceding),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part @@ -2101,12 +2202,12 @@ POSTHOOK: Input: default@part Manufacturer#1 almond antique burnished rose metallic 2 1173.15 Manufacturer#1 almond antique burnished rose metallic 2 2346.3 Manufacturer#1 almond antique chartreuse lavender yellow 34 4100.06 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 5702.650000000001 -Manufacturer#1 almond aquamarine burnished black steel 28 7117.070000000001 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 8749.730000000001 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 5702.65 +Manufacturer#1 almond aquamarine burnished black steel 28 7117.07 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 1690.68 Manufacturer#2 almond antique violet turquoise frosted 40 3491.38 -Manufacturer#2 almond aquamarine midnight light salmon 2 5523.360000000001 +Manufacturer#2 almond aquamarine midnight light salmon 2 5523.36 Manufacturer#2 almond aquamarine rose maroon antique 25 7222.02 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 8923.62 Manufacturer#3 almond antique chartreuse khaki white 17 1671.68 @@ -2118,32 +2219,32 @@ Manufacturer#4 almond antique gainsboro frosted violet 10 1620.67 Manufacturer#4 almond antique violet mint lemon 39 2996.09 Manufacturer#4 almond aquamarine floral ivory bisque 27 4202.35 Manufacturer#4 almond aquamarine yellow dodger mint 7 6047.27 -Manufacturer#4 almond azure aquamarine papaya violet 12 7337.620000000001 +Manufacturer#4 almond azure aquamarine papaya violet 12 7337.62 Manufacturer#5 almond antique blue firebrick mint 31 1789.69 -Manufacturer#5 almond antique medium spring khaki 6 3401.3500000000004 +Manufacturer#5 almond antique medium spring khaki 6 3401.35 Manufacturer#5 almond antique sky peru orange 2 5190.08 Manufacturer#5 almond aquamarine dodger light gainsboro 46 6208.18 Manufacturer#5 almond azure blanched chiffon midnight 23 7672.66 PREHOOK: query: -- 41. testNoBetweenForRange select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_size range unbounded preceding) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_size range unbounded preceding),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 41. testNoBetweenForRange select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_size range unbounded preceding) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_size range unbounded preceding),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### Manufacturer#1 almond antique burnished rose metallic 2 2346.3 Manufacturer#1 almond antique burnished rose metallic 2 2346.3 -Manufacturer#1 almond antique chartreuse lavender yellow 34 7117.070000000001 -Manufacturer#1 almond antique salmon chartreuse burlywood 6 3948.8900000000003 +Manufacturer#1 almond antique chartreuse lavender yellow 34 7117.07 +Manufacturer#1 almond antique salmon chartreuse burlywood 6 3948.89 Manufacturer#1 almond aquamarine burnished black steel 28 5363.31 -Manufacturer#1 almond aquamarine pink moccasin thistle 42 8749.730000000001 +Manufacturer#1 almond aquamarine pink moccasin thistle 42 8749.73 Manufacturer#2 almond antique violet chocolate turquoise 14 3722.66 Manufacturer#2 almond antique violet turquoise frosted 40 8923.62 Manufacturer#2 almond aquamarine midnight light salmon 2 2031.98 @@ -2151,97 +2252,97 @@ Manufacturer#2 almond aquamarine rose maroon antique 25 7122.92 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5424.26 Manufacturer#3 almond antique chartreuse khaki white 17 4784.93 Manufacturer#3 almond antique forest lavender goldenrod 14 3113.25 -Manufacturer#3 almond antique metallic orange dim 19 6195.320000000001 +Manufacturer#3 almond antique metallic orange dim 19 6195.32 Manufacturer#3 almond antique misty red olive 1 1922.98 -Manufacturer#3 almond antique olive coral navajo 45 7532.610000000001 +Manufacturer#3 almond antique olive coral navajo 45 7532.61 Manufacturer#4 almond antique gainsboro frosted violet 10 3465.59 -Manufacturer#4 almond antique violet mint lemon 39 7337.620000000001 -Manufacturer#4 almond aquamarine floral ivory bisque 27 5962.200000000001 +Manufacturer#4 almond antique violet mint lemon 39 7337.62 +Manufacturer#4 almond aquamarine floral ivory bisque 27 5962.2 Manufacturer#4 almond aquamarine yellow dodger mint 7 1844.92 -Manufacturer#4 almond azure aquamarine papaya violet 12 4755.9400000000005 -Manufacturer#5 almond antique blue firebrick mint 31 6654.560000000001 -Manufacturer#5 almond antique medium spring khaki 6 3400.3900000000003 +Manufacturer#4 almond azure aquamarine papaya violet 12 4755.94 +Manufacturer#5 almond antique blue firebrick mint 31 6654.56 +Manufacturer#5 almond antique medium spring khaki 6 3400.39 Manufacturer#5 almond antique sky peru orange 2 1788.73 -Manufacturer#5 almond aquamarine dodger light gainsboro 46 7672.660000000002 -Manufacturer#5 almond azure blanched chiffon midnight 23 4864.870000000001 +Manufacturer#5 almond aquamarine dodger light gainsboro 46 7672.66 +Manufacturer#5 almond azure blanched chiffon midnight 23 4864.87 PREHOOK: query: -- 42. testUnboundedFollowingForRows select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between current row and unbounded following) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between current row and unbounded following),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 42. testUnboundedFollowingForRows select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between current row and unbounded following) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_name rows between current row and unbounded following),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### Manufacturer#1 almond antique burnished rose metallic 2 7576.58 -Manufacturer#1 almond antique burnished rose metallic 2 8749.730000000001 +Manufacturer#1 almond antique burnished rose metallic 2 8749.73 Manufacturer#1 almond antique chartreuse lavender yellow 34 6403.43 Manufacturer#1 almond antique salmon chartreuse burlywood 6 4649.67 Manufacturer#1 almond aquamarine burnished black steel 28 3047.08 Manufacturer#1 almond aquamarine pink moccasin thistle 42 1632.66 Manufacturer#2 almond antique violet chocolate turquoise 14 8923.62 -Manufacturer#2 almond antique violet turquoise frosted 40 7232.9400000000005 +Manufacturer#2 almond antique violet turquoise frosted 40 7232.94 Manufacturer#2 almond aquamarine midnight light salmon 2 5432.24 Manufacturer#2 almond aquamarine rose maroon antique 25 3400.26 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 1701.6 Manufacturer#3 almond antique chartreuse khaki white 17 7532.61 -Manufacturer#3 almond antique forest lavender goldenrod 14 5860.929999999999 +Manufacturer#3 almond antique forest lavender goldenrod 14 5860.93 Manufacturer#3 almond antique metallic orange dim 19 4670.66 Manufacturer#3 almond antique misty red olive 1 3260.27 Manufacturer#3 almond antique olive coral navajo 45 1337.29 -Manufacturer#4 almond antique gainsboro frosted violet 10 7337.620000000001 -Manufacturer#4 almond antique violet mint lemon 39 5716.950000000001 -Manufacturer#4 almond aquamarine floral ivory bisque 27 4341.530000000001 +Manufacturer#4 almond antique gainsboro frosted violet 10 7337.62 +Manufacturer#4 almond antique violet mint lemon 39 5716.95 +Manufacturer#4 almond aquamarine floral ivory bisque 27 4341.53 Manufacturer#4 almond aquamarine yellow dodger mint 7 3135.27 Manufacturer#4 almond azure aquamarine papaya violet 12 1290.35 Manufacturer#5 almond antique blue firebrick mint 31 7672.66 -Manufacturer#5 almond antique medium spring khaki 6 5882.970000000001 -Manufacturer#5 almond antique sky peru orange 2 4271.3099999999995 +Manufacturer#5 almond antique medium spring khaki 6 5882.97 +Manufacturer#5 almond antique sky peru orange 2 4271.31 Manufacturer#5 almond aquamarine dodger light gainsboro 46 2482.58 Manufacturer#5 almond azure blanched chiffon midnight 23 1464.48 PREHOOK: query: -- 43. testUnboundedFollowingForRange select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_size range between current row and unbounded following) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_size range between current row and unbounded following),2) as s1 from part PREHOOK: type: QUERY PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 43. testUnboundedFollowingForRange select p_mfgr, p_name, p_size, - sum(p_retailprice) over (distribute by p_mfgr sort by p_size range between current row and unbounded following) as s1 + round(sum(p_retailprice) over (distribute by p_mfgr sort by p_size range between current row and unbounded following),2) as s1 from part POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### -Manufacturer#1 almond antique burnished rose metallic 2 8749.730000000001 -Manufacturer#1 almond antique burnished rose metallic 2 8749.730000000001 +Manufacturer#1 almond antique burnished rose metallic 2 8749.73 +Manufacturer#1 almond antique burnished rose metallic 2 8749.73 Manufacturer#1 almond antique chartreuse lavender yellow 34 3386.42 Manufacturer#1 almond antique salmon chartreuse burlywood 6 6403.43 Manufacturer#1 almond aquamarine burnished black steel 28 4800.84 Manufacturer#1 almond aquamarine pink moccasin thistle 42 1632.66 -Manufacturer#2 almond antique violet chocolate turquoise 14 6891.639999999999 +Manufacturer#2 almond antique violet chocolate turquoise 14 6891.64 Manufacturer#2 almond antique violet turquoise frosted 40 1800.7 Manufacturer#2 almond aquamarine midnight light salmon 2 8923.62 Manufacturer#2 almond aquamarine rose maroon antique 25 3499.36 Manufacturer#2 almond aquamarine sandy cyan gainsboro 18 5200.96 -Manufacturer#3 almond antique chartreuse khaki white 17 4419.360000000001 +Manufacturer#3 almond antique chartreuse khaki white 17 4419.36 Manufacturer#3 almond antique forest lavender goldenrod 14 5609.63 -Manufacturer#3 almond antique metallic orange dim 19 2747.6800000000003 -Manufacturer#3 almond antique misty red olive 1 7532.610000000001 +Manufacturer#3 almond antique metallic orange dim 19 2747.68 +Manufacturer#3 almond antique misty red olive 1 7532.61 Manufacturer#3 almond antique olive coral navajo 45 1337.29 Manufacturer#4 almond antique gainsboro frosted violet 10 5492.7 Manufacturer#4 almond antique violet mint lemon 39 1375.42 -Manufacturer#4 almond aquamarine floral ivory bisque 27 2581.6800000000003 -Manufacturer#4 almond aquamarine yellow dodger mint 7 7337.620000000001 -Manufacturer#4 almond azure aquamarine papaya violet 12 3872.0299999999997 +Manufacturer#4 almond aquamarine floral ivory bisque 27 2581.68 +Manufacturer#4 almond aquamarine yellow dodger mint 7 7337.62 +Manufacturer#4 almond azure aquamarine papaya violet 12 3872.03 Manufacturer#5 almond antique blue firebrick mint 31 2807.79 Manufacturer#5 almond antique medium spring khaki 6 5883.93 -Manufacturer#5 almond antique sky peru orange 2 7672.660000000002 +Manufacturer#5 almond antique sky peru orange 2 7672.66 Manufacturer#5 almond aquamarine dodger light gainsboro 46 1018.1 Manufacturer#5 almond azure blanched chiffon midnight 23 4272.27 PREHOOK: query: -- 44. testOverNoPartitionSingleAggregate @@ -2303,27 +2404,27 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### PREHOOK: query: -- 46. window sz is same as partition sz -select p_retailprice, avg(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following), -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following) +select p_retailprice, round(avg(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following),2), +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following),2) from part where p_mfgr='Manufacturer#1' PREHOOK: type: QUERY PREHOOK: Input: default@part #### A masked pattern was here #### POSTHOOK: query: -- 46. window sz is same as partition sz -select p_retailprice, avg(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following), -sum(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following) +select p_retailprice, round(avg(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following),2), +round(sum(p_retailprice) over (partition by p_mfgr order by p_name rows between current row and 6 following),2) from part where p_mfgr='Manufacturer#1' POSTHOOK: type: QUERY POSTHOOK: Input: default@part #### A masked pattern was here #### -1173.15 1458.2883333333336 8749.730000000001 -1173.15 1515.3160000000003 7576.580000000002 -1414.42 1523.5400000000004 3047.080000000001 -1602.59 1549.8900000000003 4649.670000000001 -1632.66 1632.6600000000008 1632.6600000000008 -1753.76 1600.8575000000003 6403.430000000001 +1173.15 1458.29 8749.73 +1173.15 1515.32 7576.58 +1414.42 1523.54 3047.08 +1602.59 1549.89 4649.67 +1632.66 1632.66 1632.66 +1753.76 1600.86 6403.43 PREHOOK: query: -- 47. empty partition select sum(p_size) over (partition by p_mfgr ) from part where p_mfgr = 'm1'