diff --git a/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcGenericUDTFGetSplits.java b/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcGenericUDTFGetSplits.java index d79973e8f9..defbe78802 100644 --- a/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcGenericUDTFGetSplits.java +++ b/itests/hive-unit/src/test/java/org/apache/hive/jdbc/TestJdbcGenericUDTFGetSplits.java @@ -71,8 +71,8 @@ public void testDecimalPrecisionAndScale() throws Exception { assertNotNull(schemaSplit); FieldDesc fieldDesc = schemaSplit.getSchema().getColumns().get(0); DecimalTypeInfo type = (DecimalTypeInfo) fieldDesc.getTypeInfo(); - assertEquals(38, type.getPrecision()); - assertEquals(24, type.scale()); + assertEquals(12, type.getPrecision()); + assertEquals(8, type.scale()); LlapBaseInputFormat.close(handleId); } diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveTypeSystemImpl.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveTypeSystemImpl.java index e83ffe1217..d582386e6a 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveTypeSystemImpl.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveTypeSystemImpl.java @@ -17,6 +17,8 @@ */ package org.apache.hadoop.hive.ql.optimizer.calcite; +import org.apache.calcite.rel.type.RelDataType; +import org.apache.calcite.rel.type.RelDataTypeFactory; import org.apache.calcite.rel.type.RelDataTypeSystemImpl; import org.apache.calcite.sql.type.SqlTypeName; @@ -37,6 +39,14 @@ private static final int MAX_BINARY_PRECISION = Integer.MAX_VALUE; private static final int MAX_TIMESTAMP_PRECISION = 9; private static final int MAX_TIMESTAMP_WITH_LOCAL_TIME_ZONE_PRECISION = 15; // Up to nanos + private static final int DEFAULT_BOOLEAN_PRECISION = 1; + private static final int DEFAULT_TINYINT_PRECISION = 3; + private static final int DEFAULT_SMALLINT_PRECISION = 5; + private static final int DEFAULT_INTEGER_PRECISION = 10; + private static final int DEFAULT_BIGINT_PRECISION = 19; + private static final int DEFAULT_FLOAT_PRECISION = 7; + private static final int DEFAULT_DOUBLE_PRECISION = 15; + @Override public int getMaxScale(SqlTypeName typeName) { @@ -93,6 +103,20 @@ public int getDefaultPrecision(SqlTypeName typeName) { case INTERVAL_MINUTE_SECOND: case INTERVAL_SECOND: return SqlTypeName.DEFAULT_INTERVAL_START_PRECISION; + case BOOLEAN: + return DEFAULT_BOOLEAN_PRECISION; + case TINYINT: + return DEFAULT_TINYINT_PRECISION; + case SMALLINT: + return DEFAULT_SMALLINT_PRECISION; + case INTEGER: + return DEFAULT_INTEGER_PRECISION; + case BIGINT: + return DEFAULT_BIGINT_PRECISION; + case FLOAT: + return DEFAULT_FLOAT_PRECISION; + case DOUBLE: + return DEFAULT_DOUBLE_PRECISION; default: return -1; } @@ -129,7 +153,7 @@ public int getMaxPrecision(SqlTypeName typeName) { case INTERVAL_SECOND: return SqlTypeName.MAX_INTERVAL_START_PRECISION; default: - return -1; + return getDefaultPrecision(typeName); } } @@ -148,4 +172,17 @@ public boolean isSchemaCaseSensitive() { return false; } + @Override + public RelDataType deriveSumType(RelDataTypeFactory typeFactory, + RelDataType argumentType) { + switch (argumentType.getSqlTypeName()) { + case DECIMAL: + return typeFactory.createSqlType( + SqlTypeName.DECIMAL, + Math.min(MAX_DECIMAL_PRECISION, argumentType.getPrecision() + 10), + argumentType.getScale()); + } + return argumentType; + } + } diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveAggregateReduceFunctionsRule.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveAggregateReduceFunctionsRule.java index 4b7139a8f7..10bfe66200 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveAggregateReduceFunctionsRule.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/rules/HiveAggregateReduceFunctionsRule.java @@ -292,7 +292,7 @@ private RexNode reduceSum0( final RelDataType sum0InputType = typeFactory.createTypeWithNullability( getFieldType(oldAggRel.getInput(), iAvgInput), true); final RelDataType sumReturnType = getSumReturnType( - rexBuilder.getTypeFactory(), sum0InputType, oldCall.getType()); + rexBuilder.getTypeFactory(), sum0InputType); final AggregateCall sumCall = AggregateCall.create( new HiveSqlSumAggFunction( @@ -336,7 +336,7 @@ private RexNode reduceAvg( final RelDataType avgInputType = typeFactory.createTypeWithNullability( getFieldType(oldAggRel.getInput(), iAvgInput), true); final RelDataType sumReturnType = getSumReturnType( - rexBuilder.getTypeFactory(), avgInputType, oldCall.getType()); + rexBuilder.getTypeFactory(), avgInputType); final AggregateCall sumCall = AggregateCall.create( new HiveSqlSumAggFunction( @@ -387,7 +387,11 @@ private RexNode reduceAvg( aggCallMapping, ImmutableList.of(avgInputType)); - numeratorRef = rexBuilder.ensureType(oldCall.getType(), numeratorRef, true); + if (numeratorRef.getType().getSqlTypeName() != SqlTypeName.DECIMAL) { + // If type is not decimal, we enforce the same type as the avg to comply with + // Hive semantics + numeratorRef = rexBuilder.ensureType(oldCall.getType(), numeratorRef, true); + } final RexNode divideRef = rexBuilder.makeCall(SqlStdOperatorTable.DIVIDE, numeratorRef, denominatorRef); return rexBuilder.makeCast(oldCall.getType(), divideRef); @@ -427,13 +431,13 @@ private RexNode reduceStddev( rexBuilder.ensureType(oldCallType, inputExprs.get(argOrdinal), false); final int argRefOrdinal = lookupOrAdd(inputExprs, argRef); final RelDataType sumReturnType = getSumReturnType( - rexBuilder.getTypeFactory(), argRef.getType(), oldCall.getType()); + rexBuilder.getTypeFactory(), argRef.getType()); final RexNode argSquared = rexBuilder.makeCall(SqlStdOperatorTable.MULTIPLY, argRef, argRef); final int argSquaredOrdinal = lookupOrAdd(inputExprs, argSquared); final RelDataType sumSquaredReturnType = getSumReturnType( - rexBuilder.getTypeFactory(), argSquared.getType(), oldCall.getType()); + rexBuilder.getTypeFactory(), argSquared.getType()); final AggregateCall sumArgSquaredAggCall = createAggregateCallWithBinding(typeFactory, @@ -593,7 +597,7 @@ private RelDataType getFieldType(RelNode relNode, int i) { } private RelDataType getSumReturnType(RelDataTypeFactory typeFactory, - RelDataType inputType, RelDataType originalReturnType) { + RelDataType inputType) { switch (inputType.getSqlTypeName()) { case TINYINT: case SMALLINT: @@ -607,8 +611,7 @@ private RelDataType getSumReturnType(RelDataTypeFactory typeFactory, case CHAR: return TypeConverter.convert(TypeInfoFactory.doubleTypeInfo, typeFactory); case DECIMAL: - // We keep precision and scale - return originalReturnType; + return typeFactory.getTypeSystem().deriveSumType(typeFactory, inputType); } return null; } diff --git a/ql/src/test/results/clientpositive/decimal_precision.q.out b/ql/src/test/results/clientpositive/decimal_precision.q.out index 179e746b70..8aea2dca3f 100644 --- a/ql/src/test/results/clientpositive/decimal_precision.q.out +++ b/ql/src/test/results/clientpositive/decimal_precision.q.out @@ -564,7 +564,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 232 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: (_col0 / _col1) (type: decimal(38,18)), CAST( _col0 AS decimal(30,10)) (type: decimal(30,10)) + expressions: CAST( (_col0 / _col1) AS decimal(24,14)) (type: decimal(24,14)), CAST( _col0 AS decimal(30,10)) (type: decimal(30,10)) outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 232 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -589,7 +589,7 @@ POSTHOOK: query: SELECT avg(`dec`), sum(`dec`) FROM DECIMAL_PRECISION_n0 POSTHOOK: type: QUERY POSTHOOK: Input: default@decimal_precision_n0 #### A masked pattern was here #### -88499534.575865762206451613 2743485571.8518386284 +88499534.57586576220645 2743485571.8518386284 PREHOOK: query: SELECT `dec` * cast('12345678901234567890.12345678' as decimal(38,18)) FROM DECIMAL_PRECISION_n0 LIMIT 1 PREHOOK: type: QUERY PREHOOK: Input: default@decimal_precision_n0 diff --git a/ql/src/test/results/clientpositive/decimal_udf.q.out b/ql/src/test/results/clientpositive/decimal_udf.q.out index a5bbdc68e9..f00ef023e4 100644 --- a/ql/src/test/results/clientpositive/decimal_udf.q.out +++ b/ql/src/test/results/clientpositive/decimal_udf.q.out @@ -1392,7 +1392,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: int), (_col1 / CAST( _col2 AS decimal(19,0))) (type: decimal(38,18)), (CAST( _col1 AS decimal(24,14)) / _col2) (type: decimal(38,28)), _col1 (type: decimal(30,10)) + expressions: _col0 (type: int), (_col1 / CAST( _col2 AS decimal(19,0))) (type: decimal(38,18)), CAST( (_col1 / _col2) AS decimal(24,14)) (type: decimal(24,14)), _col1 (type: decimal(30,10)) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -1411,11 +1411,11 @@ STAGE PLANS: null sort order: z sort order: + Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE - value expressions: _col1 (type: decimal(38,18)), _col2 (type: decimal(38,28)), _col3 (type: decimal(30,10)) + value expressions: _col1 (type: decimal(38,18)), _col2 (type: decimal(24,14)), _col3 (type: decimal(30,10)) Execution mode: vectorized Reduce Operator Tree: Select Operator - expressions: KEY.reducesinkkey0 (type: int), VALUE._col0 (type: decimal(38,18)), VALUE._col1 (type: decimal(38,28)), VALUE._col2 (type: decimal(30,10)) + expressions: KEY.reducesinkkey0 (type: int), VALUE._col0 (type: decimal(38,18)), VALUE._col1 (type: decimal(24,14)), VALUE._col2 (type: decimal(30,10)) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -1440,23 +1440,23 @@ POSTHOOK: query: SELECT value, sum(key) / count(key), avg(key), sum(key) FROM DE POSTHOOK: type: QUERY POSTHOOK: Input: default@decimal_udf #### A masked pattern was here #### --1234567890 -1234567890.123456789000000000 -1234567890.1234567890000000000000000000 -1234567890.1234567890 --1255 -1255.490000000000000000 -1255.4900000000000000000000000000 -1255.4900000000 --11 -1.122000000000000000 -1.1220000000000000000000000000 -1.1220000000 --1 -1.120000000000000000 -1.1200000000000000000000000000 -2.2400000000 -0 0.025384615384615385 0.0253846153846153846153846154 0.3300000000 -1 1.048400000000000000 1.0484000000000000000000000000 5.2420000000 -2 2.000000000000000000 2.0000000000000000000000000000 4.0000000000 -3 3.140000000000000000 3.1400000000000000000000000000 9.4200000000 -4 3.140000000000000000 3.1400000000000000000000000000 3.1400000000 -10 10.000000000000000000 10.0000000000000000000000000000 10.0000000000 -20 20.000000000000000000 20.0000000000000000000000000000 20.0000000000 -100 100.000000000000000000 100.0000000000000000000000000000 100.0000000000 -124 124.000000000000000000 124.0000000000000000000000000000 124.0000000000 -125 125.200000000000000000 125.2000000000000000000000000000 125.2000000000 -200 200.000000000000000000 200.0000000000000000000000000000 200.0000000000 -4400 -4400.000000000000000000 -4400.0000000000000000000000000000 -4400.0000000000 -1234567890 1234567890.123456780000000000 1234567890.1234567800000000000000000000 1234567890.1234567800 +-1234567890 -1234567890.123456789000000000 -1234567890.12345678900000 -1234567890.1234567890 +-1255 -1255.490000000000000000 -1255.49000000000000 -1255.4900000000 +-11 -1.122000000000000000 -1.12200000000000 -1.1220000000 +-1 -1.120000000000000000 -1.12000000000000 -2.2400000000 +0 0.025384615384615385 0.02538461538462 0.3300000000 +1 1.048400000000000000 1.04840000000000 5.2420000000 +2 2.000000000000000000 2.00000000000000 4.0000000000 +3 3.140000000000000000 3.14000000000000 9.4200000000 +4 3.140000000000000000 3.14000000000000 3.1400000000 +10 10.000000000000000000 10.00000000000000 10.0000000000 +20 20.000000000000000000 20.00000000000000 20.0000000000 +100 100.000000000000000000 100.00000000000000 100.0000000000 +124 124.000000000000000000 124.00000000000000 124.0000000000 +125 125.200000000000000000 125.20000000000000 125.2000000000 +200 200.000000000000000000 200.00000000000000 200.0000000000 +4400 -4400.000000000000000000 -4400.00000000000000 -4400.0000000000 +1234567890 1234567890.123456780000000000 1234567890.12345678000000 1234567890.1234567800 PREHOOK: query: EXPLAIN SELECT -key FROM DECIMAL_UDF PREHOOK: type: QUERY PREHOOK: Input: default@decimal_udf diff --git a/ql/src/test/results/clientpositive/llap/external_jdbc_table_perf.q.out b/ql/src/test/results/clientpositive/llap/external_jdbc_table_perf.q.out index 7a4d82de4d..f77fb353b1 100644 --- a/ql/src/test/results/clientpositive/llap/external_jdbc_table_perf.q.out +++ b/ql/src/test/results/clientpositive/llap/external_jdbc_table_perf.q.out @@ -5665,21 +5665,21 @@ FROM "CUSTOMER_DEMOGRAPHICS" WHERE "cd_marital_status" IN ('M', 'S', 'W') AND "cd_education_status" IN ('Advanced Degree ', 'College ', '2 yr Degree ') AND "cd_demo_sk" IS NOT NULL) AS "t13" ON "t11"."cd_marital_status" = "t13"."cd_marital_status" AND "t11"."cd_education_status" = "t13"."cd_education_status") AS "t14" ON "t0"."wr_returning_cdemo_sk" = "t14"."cd_demo_sk0" AND "t0"."wr_refunded_cdemo_sk" = "t14"."cd_demo_sk" AND ("t14"."=" AND "t14"."=4" AND "t9"."BETWEEN7" OR "t14"."=5" AND "t14"."=6" AND "t9"."BETWEEN8" OR "t14"."=7" AND "t14"."=8" AND "t9"."BETWEEN9") GROUP BY "t2"."r_reason_desc" hive.sql.query.fieldNames r_reason_desc,$f1,$f2,$f3,$f4,$f5,$f6 - hive.sql.query.fieldTypes char(100),bigint,bigint,decimal(11,6),bigint,decimal(11,6),bigint + hive.sql.query.fieldTypes char(100),bigint,bigint,decimal(17,2),bigint,decimal(17,2),bigint hive.sql.query.split false Statistics: Num rows: 1 Data size: 440 Basic stats: COMPLETE Column stats: NONE Top N Key Operator sort order: ++++ - keys: substr(r_reason_desc, 1, 20) (type: string), (UDFToDouble($f1) / $f2) (type: double), ($f3 / $f4) (type: decimal(31,26)), ($f5 / $f6) (type: decimal(31,26)) + keys: substr(r_reason_desc, 1, 20) (type: string), (UDFToDouble($f1) / $f2) (type: double), CAST( ($f3 / $f4) AS decimal(11,6)) (type: decimal(11,6)), CAST( ($f5 / $f6) AS decimal(11,6)) (type: decimal(11,6)) null sort order: zzzz Statistics: Num rows: 1 Data size: 440 Basic stats: COMPLETE Column stats: NONE top n: 100 Select Operator - expressions: substr(r_reason_desc, 1, 20) (type: string), (UDFToDouble($f1) / $f2) (type: double), ($f3 / $f4) (type: decimal(31,26)), ($f5 / $f6) (type: decimal(31,26)) + expressions: substr(r_reason_desc, 1, 20) (type: string), (UDFToDouble($f1) / $f2) (type: double), CAST( ($f3 / $f4) AS decimal(11,6)) (type: decimal(11,6)), CAST( ($f5 / $f6) AS decimal(11,6)) (type: decimal(11,6)) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 1 Data size: 440 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator - key expressions: _col0 (type: string), _col1 (type: double), _col2 (type: decimal(31,26)), _col3 (type: decimal(31,26)) + key expressions: _col0 (type: string), _col1 (type: double), _col2 (type: decimal(11,6)), _col3 (type: decimal(11,6)) null sort order: zzzz sort order: ++++ Statistics: Num rows: 1 Data size: 440 Basic stats: COMPLETE Column stats: NONE @@ -5690,7 +5690,7 @@ GROUP BY "t2"."r_reason_desc" Execution mode: vectorized, llap Reduce Operator Tree: Select Operator - expressions: KEY.reducesinkkey0 (type: string), KEY.reducesinkkey1 (type: double), KEY.reducesinkkey2 (type: decimal(31,26)), KEY.reducesinkkey3 (type: decimal(31,26)) + expressions: KEY.reducesinkkey0 (type: string), KEY.reducesinkkey1 (type: double), KEY.reducesinkkey2 (type: decimal(11,6)), KEY.reducesinkkey3 (type: decimal(11,6)) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 1 Data size: 440 Basic stats: COMPLETE Column stats: NONE Limit diff --git a/ql/src/test/results/clientpositive/llap/subquery_scalar.q.out b/ql/src/test/results/clientpositive/llap/subquery_scalar.q.out index 4238470e5c..ad5c9f0af6 100644 --- a/ql/src/test/results/clientpositive/llap/subquery_scalar.q.out +++ b/ql/src/test/results/clientpositive/llap/subquery_scalar.q.out @@ -7501,8 +7501,8 @@ HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$1], ss_list_price=[$2]) HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$1], ss_list_price=[$2]) HiveFilter(condition=[IS NOT NULL($2)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(22, 6)]) + HiveFilter(condition=[IS NOT NULL(CAST(/($0, $1)):DECIMAL(22, 6))]) HiveProject($f0=[$0], $f1=[$1]) HiveAggregate(group=[{}], agg#0=[sum($0)], agg#1=[count($0)]) HiveProject($f0=[*(CAST($1):DECIMAL(10, 0), $2)]) diff --git a/ql/src/test/results/clientpositive/llap/vector_decimal_aggregate.q.out b/ql/src/test/results/clientpositive/llap/vector_decimal_aggregate.q.out index c369691e17..c55f540266 100644 --- a/ql/src/test/results/clientpositive/llap/vector_decimal_aggregate.q.out +++ b/ql/src/test/results/clientpositive/llap/vector_decimal_aggregate.q.out @@ -353,13 +353,13 @@ STAGE PLANS: predicate: (_col13 > 1L) (type: boolean) Statistics: Num rows: 2035 Data size: 1487560 Basic stats: COMPLETE Column stats: COMPLETE Select Operator - expressions: _col0 (type: int), _col1 (type: bigint), _col2 (type: decimal(20,10)), _col3 (type: decimal(20,10)), _col4 (type: decimal(30,10)), (CAST( _col4 AS decimal(24,14)) / _col1) (type: decimal(38,28)), power(((_col5 - ((_col6 * _col6) / _col1)) / _col1), 0.5) (type: double), power(((_col5 - ((_col6 * _col6) / _col1)) / CASE WHEN ((_col1 = 1L)) THEN (null) ELSE ((_col1 - 1)) END), 0.5) (type: double), _col7 (type: bigint), _col8 (type: decimal(23,14)), _col9 (type: decimal(23,14)), _col10 (type: decimal(33,14)), (CAST( _col10 AS decimal(27,18)) / _col7) (type: decimal(38,29)), power(((_col11 - ((_col12 * _col12) / _col7)) / _col7), 0.5) (type: double), power(((_col11 - ((_col12 * _col12) / _col7)) / CASE WHEN ((_col7 = 1L)) THEN (null) ELSE ((_col7 - 1)) END), 0.5) (type: double) + expressions: _col0 (type: int), _col1 (type: bigint), _col2 (type: decimal(20,10)), _col3 (type: decimal(20,10)), _col4 (type: decimal(30,10)), CAST( (_col4 / _col1) AS decimal(24,14)) (type: decimal(24,14)), power(((_col5 - ((_col6 * _col6) / _col1)) / _col1), 0.5) (type: double), power(((_col5 - ((_col6 * _col6) / _col1)) / CASE WHEN ((_col1 = 1L)) THEN (null) ELSE ((_col1 - 1)) END), 0.5) (type: double), _col7 (type: bigint), _col8 (type: decimal(23,14)), _col9 (type: decimal(23,14)), _col10 (type: decimal(33,14)), CAST( (_col10 / _col7) AS decimal(27,18)) (type: decimal(27,18)), power(((_col11 - ((_col12 * _col12) / _col7)) / _col7), 0.5) (type: double), power(((_col11 - ((_col12 * _col12) / _col7)) / CASE WHEN ((_col7 = 1L)) THEN (null) ELSE ((_col7 - 1)) END), 0.5) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14 Select Vectorization: className: VectorSelectOperator native: true projectedOutputColumnNums: [0, 1, 2, 3, 4, 16, 21, 29, 7, 8, 9, 10, 32, 37, 45] - selectExpressions: DecimalColDivideDecimalColumn(col 14:decimal(24,14), col 15:decimal(19,0))(children: CastDecimalToDecimal(col 4:decimal(30,10)) -> 14:decimal(24,14), CastLongToDecimal(col 1:bigint) -> 15:decimal(19,0)) -> 16:decimal(38,28), FuncPowerDoubleToDouble(col 20:double)(children: DoubleColDivideLongColumn(col 19:double, col 1:bigint)(children: DoubleColSubtractDoubleColumn(col 5:double, col 18:double)(children: DoubleColDivideLongColumn(col 17:double, col 1:bigint)(children: DoubleColMultiplyDoubleColumn(col 6:double, col 6:double) -> 17:double) -> 18:double) -> 19:double) -> 20:double) -> 21:double, FuncPowerDoubleToDouble(col 28:double)(children: DoubleColDivideLongColumn(col 24:double, col 27:bigint)(children: DoubleColSubtractDoubleColumn(col 5:double, col 23:double)(children: DoubleColDivideLongColumn(col 22:double, col 1:bigint)(children: DoubleColMultiplyDoubleColumn(col 6:double, col 6:double) -> 22:double) -> 23:double) -> 24:double, IfExprNullCondExpr(col 25:boolean, null, col 26:bigint)(children: LongColEqualLongScalar(col 1:bigint, val 1) -> 25:boolean, LongColSubtractLongScalar(col 1:bigint, val 1) -> 26:bigint) -> 27:bigint) -> 28:double) -> 29:double, DecimalColDivideDecimalColumn(col 30:decimal(27,18), col 31:decimal(19,0))(children: CastDecimalToDecimal(col 10:decimal(33,14)) -> 30:decimal(27,18), CastLongToDecimal(col 7:bigint) -> 31:decimal(19,0)) -> 32:decimal(38,29), FuncPowerDoubleToDouble(col 36:double)(children: DoubleColDivideLongColumn(col 35:double, col 7:bigint)(children: DoubleColSubtractDoubleColumn(col 11:double, col 34:double)(children: DoubleColDivideLongColumn(col 33:double, col 7:bigint)(children: DoubleColMultiplyDoubleColumn(col 12:double, col 12:double) -> 33:double) -> 34:double) -> 35:double) -> 36:double) -> 37:double, FuncPowerDoubleToDouble(col 44:double)(children: DoubleColDivideLongColumn(col 40:double, col 43:bigint)(children: DoubleColSubtractDoubleColumn(col 11:double, col 39:double)(children: DoubleColDivideLongColumn(col 38:double, col 7:bigint)(children: DoubleColMultiplyDoubleColumn(col 12:double, col 12:double) -> 38:double) -> 39:double) -> 40:double, IfExprNullCondExpr(col 41:boolean, null, col 42:bigint)(children: LongColEqualLongScalar(col 7:bigint, val 1) -> 41:boolean, LongColSubtractLongScalar(col 7:bigint, val 1) -> 42:bigint) -> 43:bigint) -> 44:double) -> 45:double + selectExpressions: CastDecimalToDecimal(col 15:decimal(38,18))(children: DecimalColDivideDecimalColumn(col 4:decimal(30,10), col 14:decimal(19,0))(children: CastLongToDecimal(col 1:bigint) -> 14:decimal(19,0)) -> 15:decimal(38,18)) -> 16:decimal(24,14), FuncPowerDoubleToDouble(col 20:double)(children: DoubleColDivideLongColumn(col 19:double, col 1:bigint)(children: DoubleColSubtractDoubleColumn(col 5:double, col 18:double)(children: DoubleColDivideLongColumn(col 17:double, col 1:bigint)(children: DoubleColMultiplyDoubleColumn(col 6:double, col 6:double) -> 17:double) -> 18:double) -> 19:double) -> 20:double) -> 21:double, FuncPowerDoubleToDouble(col 28:double)(children: DoubleColDivideLongColumn(col 24:double, col 27:bigint)(children: DoubleColSubtractDoubleColumn(col 5:double, col 23:double)(children: DoubleColDivideLongColumn(col 22:double, col 1:bigint)(children: DoubleColMultiplyDoubleColumn(col 6:double, col 6:double) -> 22:double) -> 23:double) -> 24:double, IfExprNullCondExpr(col 25:boolean, null, col 26:bigint)(children: LongColEqualLongScalar(col 1:bigint, val 1) -> 25:boolean, LongColSubtractLongScalar(col 1:bigint, val 1) -> 26:bigint) -> 27:bigint) -> 28:double) -> 29:double, CastDecimalToDecimal(col 31:decimal(38,19))(children: DecimalColDivideDecimalColumn(col 10:decimal(33,14), col 30:decimal(19,0))(children: CastLongToDecimal(col 7:bigint) -> 30:decimal(19,0)) -> 31:decimal(38,19)) -> 32:decimal(27,18), FuncPowerDoubleToDouble(col 36:double)(children: DoubleColDivideLongColumn(col 35:double, col 7:bigint)(children: DoubleColSubtractDoubleColumn(col 11:double, col 34:double)(children: DoubleColDivideLongColumn(col 33:double, col 7:bigint)(children: DoubleColMultiplyDoubleColumn(col 12:double, col 12:double) -> 33:double) -> 34:double) -> 35:double) -> 36:double) -> 37:double, FuncPowerDoubleToDouble(col 44:double)(children: DoubleColDivideLongColumn(col 40:double, col 43:bigint)(children: DoubleColSubtractDoubleColumn(col 11:double, col 39:double)(children: DoubleColDivideLongColumn(col 38:double, col 7:bigint)(children: DoubleColMultiplyDoubleColumn(col 12:double, col 12:double) -> 38:double) -> 39:double) -> 40:double, IfExprNullCondExpr(col 41:boolean, null, col 42:bigint)(children: LongColEqualLongScalar(col 7:bigint, val 1) -> 41:boolean, LongColSubtractLongScalar(col 7:bigint, val 1) -> 42:bigint) -> 43:bigint) -> 44:double) -> 45:double Statistics: Num rows: 2035 Data size: 1927120 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false @@ -396,14 +396,14 @@ POSTHOOK: query: SELECT cint, POSTHOOK: type: QUERY POSTHOOK: Input: default@decimal_vgby #### A masked pattern was here #### --3728 6 5831542.2692483780 -3367.6517567568 5817556.0411483778 969592.6735247296333333333333333333 2174330.209240386 2381859.406131774 6 6984454.21109769200000 -4033.44576923076900 6967702.86724384584710 1161283.81120730764118333333333333333 2604201.2704476737 2852759.5602156054 --563 2 -515.6210729730 -3367.6517567568 -3883.2728297298 -1941.6364148649000000000000000000 1426.0153418918997 2016.6902366556305 2 -617.56077692307690 -4033.44576923076900 -4651.00654615384590 -2325.50327307692295000000000000000 1707.9424961538462 2415.395441814127 -253665376 1024 9767.0054054054 -9779.5486486487 -347484.0818378374 -339.3399236697630859375000000000 5708.956347886203 5711.745967572781 1024 11697.96923076923100 -11712.99230769231000 -416182.64030769233089 -406.42835967548079188476562500000 6837.632716002931 6840.973851172272 -528534767 1024 5831542.2692483780 -9777.1594594595 11646372.8607481068 11373.4109968243230468750000000000 257528.9298820665 257654.7686043977 1024 6984454.21109769200000 -11710.13076923077100 13948892.79980307629003 13621.96562480769168948242187500000 308443.1074570797 308593.82484083937 -626923679 1024 9723.4027027027 -9778.9513513514 10541.0525297287 10.2939966110631835937500000000 5742.091453237337 5744.897264034264 1024 11645.74615384615400 -11712.27692307692300 12625.04759999997746 12.32914804687497798828125000000 6877.318722794881 6880.679250101608 -6981 3 5831542.2692483780 -515.6210729730 5830511.0271024320 1943503.6757008106666666666666666667 2749258.455012492 3367140.1929065133 3 6984454.21109769200000 -617.56077692307690 6983219.08954384584620 2327739.69651461528206666666666666667 3292794.4113115156 4032833.0678006653 -762 2 5831542.2692483780 1531.2194054054 5833073.4886537834 2916536.7443268917000000000000000000 2915005.5249214866 4122440.3477364695 2 6984454.21109769200000 1833.94569230769250 6986288.15678999969250 3493144.07839499984625000000000000000 3491310.1327026924 4937458.140118757 -NULL 3072 9318.4351351351 -4298.1513513514 5018444.1081079808 1633.6081081080666666666666666667 5695.483082135323 5696.410307714464 3072 11160.71538461538500 -5147.90769230769300 6010604.30769230735360 1956.57692307692296666666666666667 6821.495748565151 6822.606289190915 +-3728 6 5831542.2692483780 -3367.6517567568 5817556.0411483778 969592.67352472963333 2174330.209240386 2381859.406131774 6 6984454.21109769200000 -4033.44576923076900 6967702.86724384584710 1161283.811207307641183333 2604201.2704476737 2852759.5602156054 +-563 2 -515.6210729730 -3367.6517567568 -3883.2728297298 -1941.63641486490000 1426.0153418918997 2016.6902366556305 2 -617.56077692307690 -4033.44576923076900 -4651.00654615384590 -2325.503273076922950000 1707.9424961538462 2415.395441814127 +253665376 1024 9767.0054054054 -9779.5486486487 -347484.0818378374 -339.33992366976309 5708.956347886203 5711.745967572781 1024 11697.96923076923100 -11712.99230769231000 -416182.64030769233089 -406.428359675480791885 6837.632716002931 6840.973851172272 +528534767 1024 5831542.2692483780 -9777.1594594595 11646372.8607481068 11373.41099682432305 257528.9298820665 257654.7686043977 1024 6984454.21109769200000 -11710.13076923077100 13948892.79980307629003 13621.965624807691689482 308443.1074570797 308593.82484083937 +626923679 1024 9723.4027027027 -9778.9513513514 10541.0525297287 10.29399661106318 5742.091453237337 5744.897264034264 1024 11645.74615384615400 -11712.27692307692300 12625.04759999997746 12.329148046874977988 6877.318722794881 6880.679250101608 +6981 3 5831542.2692483780 -515.6210729730 5830511.0271024320 1943503.67570081066667 2749258.455012492 3367140.1929065133 3 6984454.21109769200000 -617.56077692307690 6983219.08954384584620 2327739.696514615282066667 3292794.4113115156 4032833.0678006653 +762 2 5831542.2692483780 1531.2194054054 5833073.4886537834 2916536.74432689170000 2915005.5249214866 4122440.3477364695 2 6984454.21109769200000 1833.94569230769250 6986288.15678999969250 3493144.078394999846250000 3491310.1327026924 4937458.140118757 +NULL 3072 9318.4351351351 -4298.1513513514 5018444.1081079808 1633.60810810806667 5695.483082135323 5696.410307714464 3072 11160.71538461538500 -5147.90769230769300 6010604.30769230735360 1956.576923076922966667 6821.495748565151 6822.606289190915 PREHOOK: query: CREATE TABLE decimal_vgby_small STORED AS TEXTFILE AS SELECT cdouble, CAST (((cdouble*22.1)/37) AS DECIMAL(11,5)) AS cdecimal1, CAST (((cdouble*9.3)/13) AS DECIMAL(16,0)) AS cdecimal2, @@ -778,13 +778,13 @@ STAGE PLANS: predicate: (_col13 > 1L) (type: boolean) Statistics: Num rows: 2035 Data size: 1487560 Basic stats: COMPLETE Column stats: COMPLETE Select Operator - expressions: _col0 (type: int), _col1 (type: bigint), _col2 (type: decimal(11,5)), _col3 (type: decimal(11,5)), _col4 (type: decimal(21,5)), (CAST( _col4 AS decimal(15,9)) / _col1) (type: decimal(35,29)), power(((_col5 - ((_col6 * _col6) / _col1)) / _col1), 0.5) (type: double), power(((_col5 - ((_col6 * _col6) / _col1)) / CASE WHEN ((_col1 = 1L)) THEN (null) ELSE ((_col1 - 1)) END), 0.5) (type: double), _col7 (type: bigint), _col8 (type: decimal(16,0)), _col9 (type: decimal(16,0)), _col10 (type: decimal(26,0)), CAST( (CAST( _col10 AS decimal(20,4)) / _col7) AS decimal(20,4)) (type: decimal(20,4)), power(((_col11 - ((_col12 * _col12) / _col7)) / _col7), 0.5) (type: double), power(((_col11 - ((_col12 * _col12) / _col7)) / CASE WHEN ((_col7 = 1L)) THEN (null) ELSE ((_col7 - 1)) END), 0.5) (type: double) + expressions: _col0 (type: int), _col1 (type: bigint), _col2 (type: decimal(11,5)), _col3 (type: decimal(11,5)), _col4 (type: decimal(21,5)), CAST( (_col4 / _col1) AS decimal(15,9)) (type: decimal(15,9)), power(((_col5 - ((_col6 * _col6) / _col1)) / _col1), 0.5) (type: double), power(((_col5 - ((_col6 * _col6) / _col1)) / CASE WHEN ((_col1 = 1L)) THEN (null) ELSE ((_col1 - 1)) END), 0.5) (type: double), _col7 (type: bigint), _col8 (type: decimal(16,0)), _col9 (type: decimal(16,0)), _col10 (type: decimal(26,0)), CAST( (_col10 / _col7) AS decimal(20,4)) (type: decimal(20,4)), power(((_col11 - ((_col12 * _col12) / _col7)) / _col7), 0.5) (type: double), power(((_col11 - ((_col12 * _col12) / _col7)) / CASE WHEN ((_col7 = 1L)) THEN (null) ELSE ((_col7 - 1)) END), 0.5) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14 Select Vectorization: className: VectorSelectOperator native: true - projectedOutputColumnNums: [0, 1, 2, 3, 4, 16, 21, 29, 7, 8, 9, 10, 33, 38, 46] - selectExpressions: DecimalColDivideDecimalColumn(col 14:decimal(15,9), col 15:decimal(19,0))(children: CastDecimalToDecimal(col 4:decimal(21,5)) -> 14:decimal(15,9), CastLongToDecimal(col 1:bigint) -> 15:decimal(19,0)) -> 16:decimal(35,29), FuncPowerDoubleToDouble(col 20:double)(children: DoubleColDivideLongColumn(col 19:double, col 1:bigint)(children: DoubleColSubtractDoubleColumn(col 5:double, col 18:double)(children: DoubleColDivideLongColumn(col 17:double, col 1:bigint)(children: DoubleColMultiplyDoubleColumn(col 6:double, col 6:double) -> 17:double) -> 18:double) -> 19:double) -> 20:double) -> 21:double, FuncPowerDoubleToDouble(col 28:double)(children: DoubleColDivideLongColumn(col 24:double, col 27:bigint)(children: DoubleColSubtractDoubleColumn(col 5:double, col 23:double)(children: DoubleColDivideLongColumn(col 22:double, col 1:bigint)(children: DoubleColMultiplyDoubleColumn(col 6:double, col 6:double) -> 22:double) -> 23:double) -> 24:double, IfExprNullCondExpr(col 25:boolean, null, col 26:bigint)(children: LongColEqualLongScalar(col 1:bigint, val 1) -> 25:boolean, LongColSubtractLongScalar(col 1:bigint, val 1) -> 26:bigint) -> 27:bigint) -> 28:double) -> 29:double, CastDecimalToDecimal(col 32:decimal(38,22))(children: DecimalColDivideDecimalColumn(col 30:decimal(20,4), col 31:decimal(19,0))(children: CastDecimalToDecimal(col 10:decimal(26,0)) -> 30:decimal(20,4), CastLongToDecimal(col 7:bigint) -> 31:decimal(19,0)) -> 32:decimal(38,22)) -> 33:decimal(20,4), FuncPowerDoubleToDouble(col 37:double)(children: DoubleColDivideLongColumn(col 36:double, col 7:bigint)(children: DoubleColSubtractDoubleColumn(col 11:double, col 35:double)(children: DoubleColDivideLongColumn(col 34:double, col 7:bigint)(children: DoubleColMultiplyDoubleColumn(col 12:double, col 12:double) -> 34:double) -> 35:double) -> 36:double) -> 37:double) -> 38:double, FuncPowerDoubleToDouble(col 45:double)(children: DoubleColDivideLongColumn(col 41:double, col 44:bigint)(children: DoubleColSubtractDoubleColumn(col 11:double, col 40:double)(children: DoubleColDivideLongColumn(col 39:double, col 7:bigint)(children: DoubleColMultiplyDoubleColumn(col 12:double, col 12:double) -> 39:double) -> 40:double) -> 41:double, IfExprNullCondExpr(col 42:boolean, null, col 43:bigint)(children: LongColEqualLongScalar(col 7:bigint, val 1) -> 42:boolean, LongColSubtractLongScalar(col 7:bigint, val 1) -> 43:bigint) -> 44:bigint) -> 45:double) -> 46:double + projectedOutputColumnNums: [0, 1, 2, 3, 4, 16, 21, 29, 7, 8, 9, 10, 32, 37, 45] + selectExpressions: CastDecimalToDecimal(col 15:decimal(38,22))(children: DecimalColDivideDecimalColumn(col 4:decimal(21,5), col 14:decimal(19,0))(children: CastLongToDecimal(col 1:bigint) -> 14:decimal(19,0)) -> 15:decimal(38,22)) -> 16:decimal(15,9), FuncPowerDoubleToDouble(col 20:double)(children: DoubleColDivideLongColumn(col 19:double, col 1:bigint)(children: DoubleColSubtractDoubleColumn(col 5:double, col 18:double)(children: DoubleColDivideLongColumn(col 17:double, col 1:bigint)(children: DoubleColMultiplyDoubleColumn(col 6:double, col 6:double) -> 17:double) -> 18:double) -> 19:double) -> 20:double) -> 21:double, FuncPowerDoubleToDouble(col 28:double)(children: DoubleColDivideLongColumn(col 24:double, col 27:bigint)(children: DoubleColSubtractDoubleColumn(col 5:double, col 23:double)(children: DoubleColDivideLongColumn(col 22:double, col 1:bigint)(children: DoubleColMultiplyDoubleColumn(col 6:double, col 6:double) -> 22:double) -> 23:double) -> 24:double, IfExprNullCondExpr(col 25:boolean, null, col 26:bigint)(children: LongColEqualLongScalar(col 1:bigint, val 1) -> 25:boolean, LongColSubtractLongScalar(col 1:bigint, val 1) -> 26:bigint) -> 27:bigint) -> 28:double) -> 29:double, CastDecimalToDecimal(col 31:decimal(38,12))(children: DecimalColDivideDecimalColumn(col 10:decimal(26,0), col 30:decimal(19,0))(children: CastLongToDecimal(col 7:bigint) -> 30:decimal(19,0)) -> 31:decimal(38,12)) -> 32:decimal(20,4), FuncPowerDoubleToDouble(col 36:double)(children: DoubleColDivideLongColumn(col 35:double, col 7:bigint)(children: DoubleColSubtractDoubleColumn(col 11:double, col 34:double)(children: DoubleColDivideLongColumn(col 33:double, col 7:bigint)(children: DoubleColMultiplyDoubleColumn(col 12:double, col 12:double) -> 33:double) -> 34:double) -> 35:double) -> 36:double) -> 37:double, FuncPowerDoubleToDouble(col 44:double)(children: DoubleColDivideLongColumn(col 40:double, col 43:bigint)(children: DoubleColSubtractDoubleColumn(col 11:double, col 39:double)(children: DoubleColDivideLongColumn(col 38:double, col 7:bigint)(children: DoubleColMultiplyDoubleColumn(col 12:double, col 12:double) -> 38:double) -> 39:double) -> 40:double, IfExprNullCondExpr(col 41:boolean, null, col 42:bigint)(children: LongColEqualLongScalar(col 7:bigint, val 1) -> 41:boolean, LongColSubtractLongScalar(col 7:bigint, val 1) -> 42:bigint) -> 43:bigint) -> 44:double) -> 45:double Statistics: Num rows: 2035 Data size: 1927120 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false @@ -821,14 +821,14 @@ POSTHOOK: query: SELECT cint, POSTHOOK: type: QUERY POSTHOOK: Input: default@decimal_vgby_small #### A masked pattern was here #### --3728 5 -515.62107 -3367.65176 -13986.22811 -2797.24562200000000000000000000000 1140.8122759999992 1275.466899351125 6 6984454 -4033 6967704 1161284.0000 2604201.0914565204 2852759.364140621 --563 2 -515.62107 -3367.65176 -3883.27283 -1941.63641500000000000000000000000 1426.0153450000003 2016.6902410511484 2 -618 -4033 -4651 -2325.5000 1707.5 2414.7696577520596 -253665376 1024 9767.00541 -9779.54865 -347484.08192 -339.33992375000000000000000000000 5708.956347957812 5711.745967644425 1024 11698 -11713 -416183 -406.4287 6837.6426468206855 6840.983786842613 -528534767 1022 9777.75676 -9777.15946 -16711.67771 -16.35193513698630136986301369863 5555.762110793133 5558.482190324906 1024 6984454 -11710 13948890 13621.9629 308443.0982329696 308593.815612222 -626923679 1024 9723.40270 -9778.95135 10541.05247 10.29399655273437500000000000000 5742.091453325365 5744.897264122335 1024 11646 -11712 12641 12.3447 6877.306686989158 6880.6672084147185 -6981 2 -515.62107 -515.62107 -1031.24214 -515.62107000000000000000000000000 0.0 0.0 3 6984454 -618 6983218 2327739.3333 3292794.518850853 4032833.1995089175 -762 1 1531.21941 1531.21941 1531.21941 1531.21941000000000000000000000000 0.0 NULL 2 6984454 1834 6986288 3493144.0000 3491310.0 4937457.95244881 -NULL 3072 9318.43514 -4298.15135 5018444.11392 NULL 5695.4830839098695 5696.410309489299 3072 11161 -5148 6010880 1956.6667 6821.647911041892 6822.758476439734 +-3728 5 -515.62107 -3367.65176 -13986.22811 -2797.245622000 1140.8122759999992 1275.466899351125 6 6984454 -4033 6967704 1161284.0000 2604201.0914565204 2852759.364140621 +-563 2 -515.62107 -3367.65176 -3883.27283 -1941.636415000 1426.0153450000003 2016.6902410511484 2 -618 -4033 -4651 -2325.5000 1707.5 2414.7696577520596 +253665376 1024 9767.00541 -9779.54865 -347484.08192 -339.339923750 5708.956347957812 5711.745967644425 1024 11698 -11713 -416183 -406.4287 6837.6426468206855 6840.983786842613 +528534767 1022 9777.75676 -9777.15946 -16711.67771 -16.351935137 5555.762110793133 5558.482190324906 1024 6984454 -11710 13948890 13621.9629 308443.0982329696 308593.815612222 +626923679 1024 9723.40270 -9778.95135 10541.05247 10.293996553 5742.091453325365 5744.897264122335 1024 11646 -11712 12641 12.3447 6877.306686989158 6880.6672084147185 +6981 2 -515.62107 -515.62107 -1031.24214 -515.621070000 0.0 0.0 3 6984454 -618 6983218 2327739.3333 3292794.518850853 4032833.1995089175 +762 1 1531.21941 1531.21941 1531.21941 1531.219410000 0.0 NULL 2 6984454 1834 6986288 3493144.0000 3491310.0 4937457.95244881 +NULL 3072 9318.43514 -4298.15135 5018444.11392 1633.608110000 5695.4830839098695 5696.410309489299 3072 11161 -5148 6010880 1956.6667 6821.647911041892 6822.758476439734 PREHOOK: query: SELECT SUM(HASH(*)) FROM (SELECT cint, COUNT(cdecimal1), MAX(cdecimal1), MIN(cdecimal1), SUM(cdecimal1), AVG(cdecimal1), STDDEV_POP(cdecimal1), STDDEV_SAMP(cdecimal1), @@ -847,4 +847,4 @@ FROM (SELECT cint, POSTHOOK: type: QUERY POSTHOOK: Input: default@decimal_vgby_small #### A masked pattern was here #### -96673467876 +95165244160 diff --git a/ql/src/test/results/clientpositive/llap/vector_decimal_precision.q.out b/ql/src/test/results/clientpositive/llap/vector_decimal_precision.q.out index 6b19ffa45f..b21100fc05 100644 --- a/ql/src/test/results/clientpositive/llap/vector_decimal_precision.q.out +++ b/ql/src/test/results/clientpositive/llap/vector_decimal_precision.q.out @@ -658,13 +658,13 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: COMPLETE Select Operator - expressions: (_col0 / _col1) (type: decimal(38,18)), CAST( _col0 AS decimal(30,10)) (type: decimal(30,10)) + expressions: CAST( (_col0 / _col1) AS decimal(24,14)) (type: decimal(24,14)), CAST( _col0 AS decimal(30,10)) (type: decimal(30,10)) outputColumnNames: _col0, _col1 Select Vectorization: className: VectorSelectOperator native: true - projectedOutputColumnNums: [3, 4] - selectExpressions: DecimalColDivideDecimalColumn(col 0:decimal(30,10), col 2:decimal(19,0))(children: CastLongToDecimal(col 1:bigint) -> 2:decimal(19,0)) -> 3:decimal(38,18), CastDecimalToDecimal(col 0:decimal(30,10)) -> 4:decimal(30,10) + projectedOutputColumnNums: [4, 5] + selectExpressions: CastDecimalToDecimal(col 3:decimal(38,18))(children: DecimalColDivideDecimalColumn(col 0:decimal(30,10), col 2:decimal(19,0))(children: CastLongToDecimal(col 1:bigint) -> 2:decimal(19,0)) -> 3:decimal(38,18)) -> 4:decimal(24,14), CastDecimalToDecimal(col 0:decimal(30,10)) -> 5:decimal(30,10) Statistics: Num rows: 1 Data size: 224 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false @@ -691,7 +691,7 @@ POSTHOOK: query: SELECT avg(`dec`), sum(`dec`) FROM DECIMAL_PRECISION POSTHOOK: type: QUERY POSTHOOK: Input: default@decimal_precision #### A masked pattern was here #### -88499534.575865762206451613 2743485571.8518386284 +88499534.57586576220645 2743485571.8518386284 PREHOOK: query: SELECT `dec` * cast('12345678901234567890.12345678' as decimal(38,18)) FROM DECIMAL_PRECISION LIMIT 1 PREHOOK: type: QUERY PREHOOK: Input: default@decimal_precision @@ -1282,13 +1282,13 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 232 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: (_col0 / _col1) (type: decimal(38,18)), CAST( _col0 AS decimal(30,10)) (type: decimal(30,10)) + expressions: CAST( (_col0 / _col1) AS decimal(24,14)) (type: decimal(24,14)), CAST( _col0 AS decimal(30,10)) (type: decimal(30,10)) outputColumnNames: _col0, _col1 Select Vectorization: className: VectorSelectOperator native: true - projectedOutputColumnNums: [3, 4] - selectExpressions: DecimalColDivideDecimalColumn(col 0:decimal(30,10), col 2:decimal(19,0))(children: CastLongToDecimal(col 1:bigint) -> 2:decimal(19,0)) -> 3:decimal(38,18), CastDecimalToDecimal(col 0:decimal(30,10)) -> 4:decimal(30,10) + projectedOutputColumnNums: [4, 5] + selectExpressions: CastDecimalToDecimal(col 3:decimal(38,18))(children: DecimalColDivideDecimalColumn(col 0:decimal(30,10), col 2:decimal(19,0))(children: CastLongToDecimal(col 1:bigint) -> 2:decimal(19,0)) -> 3:decimal(38,18)) -> 4:decimal(24,14), CastDecimalToDecimal(col 0:decimal(30,10)) -> 5:decimal(30,10) Statistics: Num rows: 1 Data size: 232 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false @@ -1315,7 +1315,7 @@ POSTHOOK: query: SELECT avg(`dec`), sum(`dec`) FROM DECIMAL_PRECISION_txt_small POSTHOOK: type: QUERY POSTHOOK: Input: default@decimal_precision_txt_small #### A masked pattern was here #### -88499534.575865762206451613 2743485571.8518386284 +88499534.57586576220645 2743485571.8518386284 PREHOOK: query: SELECT `dec` * cast('12345678901234567890.12345678' as decimal(38,18)) FROM DECIMAL_PRECISION_txt_small LIMIT 1 PREHOOK: type: QUERY PREHOOK: Input: default@decimal_precision_txt_small diff --git a/ql/src/test/results/clientpositive/llap/vector_decimal_udf.q.out b/ql/src/test/results/clientpositive/llap/vector_decimal_udf.q.out index cac7db2f04..f54064c235 100644 --- a/ql/src/test/results/clientpositive/llap/vector_decimal_udf.q.out +++ b/ql/src/test/results/clientpositive/llap/vector_decimal_udf.q.out @@ -2456,13 +2456,13 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 17 Data size: 2108 Basic stats: COMPLETE Column stats: COMPLETE Select Operator - expressions: _col0 (type: int), (_col1 / CAST( _col2 AS decimal(19,0))) (type: decimal(38,18)), (CAST( _col1 AS decimal(24,14)) / _col2) (type: decimal(38,28)), _col1 (type: decimal(30,10)) + expressions: _col0 (type: int), (_col1 / CAST( _col2 AS decimal(19,0))) (type: decimal(38,18)), CAST( (_col1 / _col2) AS decimal(24,14)) (type: decimal(24,14)), _col1 (type: decimal(30,10)) outputColumnNames: _col0, _col1, _col2, _col3 Select Vectorization: className: VectorSelectOperator native: true projectedOutputColumnNums: [0, 4, 7, 1] - selectExpressions: DecimalColDivideDecimalColumn(col 1:decimal(30,10), col 3:decimal(19,0))(children: CastLongToDecimal(col 2:bigint) -> 3:decimal(19,0)) -> 4:decimal(38,18), DecimalColDivideDecimalColumn(col 5:decimal(24,14), col 6:decimal(19,0))(children: CastDecimalToDecimal(col 1:decimal(30,10)) -> 5:decimal(24,14), CastLongToDecimal(col 2:bigint) -> 6:decimal(19,0)) -> 7:decimal(38,28) + selectExpressions: DecimalColDivideDecimalColumn(col 1:decimal(30,10), col 3:decimal(19,0))(children: CastLongToDecimal(col 2:bigint) -> 3:decimal(19,0)) -> 4:decimal(38,18), CastDecimalToDecimal(col 6:decimal(38,18))(children: DecimalColDivideDecimalColumn(col 1:decimal(30,10), col 5:decimal(19,0))(children: CastLongToDecimal(col 2:bigint) -> 5:decimal(19,0)) -> 6:decimal(38,18)) -> 7:decimal(24,14) Statistics: Num rows: 17 Data size: 5780 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator key expressions: _col0 (type: int) @@ -2473,9 +2473,9 @@ STAGE PLANS: keyColumns: 0:int native: true nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true - valueColumns: 4:decimal(38,18), 7:decimal(38,28), 1:decimal(30,10) + valueColumns: 4:decimal(38,18), 7:decimal(24,14), 1:decimal(30,10) Statistics: Num rows: 17 Data size: 5780 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col1 (type: decimal(38,18)), _col2 (type: decimal(38,28)), _col3 (type: decimal(30,10)) + value expressions: _col1 (type: decimal(38,18)), _col2 (type: decimal(24,14)), _col3 (type: decimal(30,10)) Reducer 3 Execution mode: vectorized, llap Reduce Vectorization: @@ -2488,12 +2488,12 @@ STAGE PLANS: vectorized: true rowBatchContext: dataColumnCount: 4 - dataColumns: KEY.reducesinkkey0:int, VALUE._col0:decimal(38,18), VALUE._col1:decimal(38,28), VALUE._col2:decimal(30,10) + dataColumns: KEY.reducesinkkey0:int, VALUE._col0:decimal(38,18), VALUE._col1:decimal(24,14), VALUE._col2:decimal(30,10) partitionColumnCount: 0 scratchColumnTypeNames: [] Reduce Operator Tree: Select Operator - expressions: KEY.reducesinkkey0 (type: int), VALUE._col0 (type: decimal(38,18)), VALUE._col1 (type: decimal(38,28)), VALUE._col2 (type: decimal(30,10)) + expressions: KEY.reducesinkkey0 (type: int), VALUE._col0 (type: decimal(38,18)), VALUE._col1 (type: decimal(24,14)), VALUE._col2 (type: decimal(30,10)) outputColumnNames: _col0, _col1, _col2, _col3 Select Vectorization: className: VectorSelectOperator @@ -2525,23 +2525,23 @@ POSTHOOK: query: SELECT value, sum(key) / count(key), avg(key), sum(key) FROM DE POSTHOOK: type: QUERY POSTHOOK: Input: default@decimal_udf_n0 #### A masked pattern was here #### --1 -1.120000000000000000 -1.1200000000000000000000000000 -2.2400000000 --11 -1.122000000000000000 -1.1220000000000000000000000000 -1.1220000000 --1234567890 -1234567890.123456789000000000 -1234567890.1234567890000000000000000000 -1234567890.1234567890 --1255 -1255.490000000000000000 -1255.4900000000000000000000000000 -1255.4900000000 -0 0.025384615384615385 0.0253846153846153846153846154 0.3300000000 -1 1.048400000000000000 1.0484000000000000000000000000 5.2420000000 -10 10.000000000000000000 10.0000000000000000000000000000 10.0000000000 -100 100.000000000000000000 100.0000000000000000000000000000 100.0000000000 -1234567890 1234567890.123456780000000000 1234567890.1234567800000000000000000000 1234567890.1234567800 -124 124.000000000000000000 124.0000000000000000000000000000 124.0000000000 -125 125.200000000000000000 125.2000000000000000000000000000 125.2000000000 -2 2.000000000000000000 2.0000000000000000000000000000 4.0000000000 -20 20.000000000000000000 20.0000000000000000000000000000 20.0000000000 -200 200.000000000000000000 200.0000000000000000000000000000 200.0000000000 -3 3.140000000000000000 3.1400000000000000000000000000 9.4200000000 -4 3.140000000000000000 3.1400000000000000000000000000 3.1400000000 -4400 -4400.000000000000000000 -4400.0000000000000000000000000000 -4400.0000000000 +-1 -1.120000000000000000 -1.12000000000000 -2.2400000000 +-11 -1.122000000000000000 -1.12200000000000 -1.1220000000 +-1234567890 -1234567890.123456789000000000 -1234567890.12345678900000 -1234567890.1234567890 +-1255 -1255.490000000000000000 -1255.49000000000000 -1255.4900000000 +0 0.025384615384615385 0.02538461538462 0.3300000000 +1 1.048400000000000000 1.04840000000000 5.2420000000 +10 10.000000000000000000 10.00000000000000 10.0000000000 +100 100.000000000000000000 100.00000000000000 100.0000000000 +1234567890 1234567890.123456780000000000 1234567890.12345678000000 1234567890.1234567800 +124 124.000000000000000000 124.00000000000000 124.0000000000 +125 125.200000000000000000 125.20000000000000 125.2000000000 +2 2.000000000000000000 2.00000000000000 4.0000000000 +20 20.000000000000000000 20.00000000000000 20.0000000000 +200 200.000000000000000000 200.00000000000000 200.0000000000 +3 3.140000000000000000 3.14000000000000 9.4200000000 +4 3.140000000000000000 3.14000000000000 3.1400000000 +4400 -4400.000000000000000000 -4400.00000000000000 -4400.0000000000 NULL NULL NULL NULL PREHOOK: query: EXPLAIN VECTORIZATION DETAIL SELECT -key FROM DECIMAL_UDF_n0 @@ -6581,13 +6581,13 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: int), (_col1 / CAST( _col2 AS decimal(19,0))) (type: decimal(38,16)), (CAST( _col1 AS decimal(19,7)) / _col2) (type: decimal(38,26)), _col1 (type: decimal(25,3)) + expressions: _col0 (type: int), (_col1 / CAST( _col2 AS decimal(19,0))) (type: decimal(38,16)), CAST( (_col1 / _col2) AS decimal(19,7)) (type: decimal(19,7)), _col1 (type: decimal(25,3)) outputColumnNames: _col0, _col1, _col2, _col3 Select Vectorization: className: VectorSelectOperator native: true projectedOutputColumnNums: [0, 4, 7, 1] - selectExpressions: DecimalColDivideDecimalColumn(col 1:decimal(25,3), col 3:decimal(19,0))(children: CastLongToDecimal(col 2:bigint) -> 3:decimal(19,0)) -> 4:decimal(38,16), DecimalColDivideDecimalColumn(col 5:decimal(19,7), col 6:decimal(19,0))(children: CastDecimalToDecimal(col 1:decimal(25,3)) -> 5:decimal(19,7), CastLongToDecimal(col 2:bigint) -> 6:decimal(19,0)) -> 7:decimal(38,26) + selectExpressions: DecimalColDivideDecimalColumn(col 1:decimal(25,3), col 3:decimal(19,0))(children: CastLongToDecimal(col 2:bigint) -> 3:decimal(19,0)) -> 4:decimal(38,16), CastDecimalToDecimal(col 6:decimal(38,16))(children: DecimalColDivideDecimalColumn(col 1:decimal(25,3), col 5:decimal(19,0))(children: CastLongToDecimal(col 2:bigint) -> 5:decimal(19,0)) -> 6:decimal(38,16)) -> 7:decimal(19,7) Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator key expressions: _col0 (type: int) @@ -6598,9 +6598,9 @@ STAGE PLANS: keyColumns: 0:int native: true nativeConditionsMet: hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true - valueColumns: 4:decimal(38,16), 7:decimal(38,26), 1:decimal(25,3) + valueColumns: 4:decimal(38,16), 7:decimal(19,7), 1:decimal(25,3) Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE - value expressions: _col1 (type: decimal(38,16)), _col2 (type: decimal(38,26)), _col3 (type: decimal(25,3)) + value expressions: _col1 (type: decimal(38,16)), _col2 (type: decimal(19,7)), _col3 (type: decimal(25,3)) Reducer 3 Execution mode: vectorized, llap Reduce Vectorization: @@ -6613,12 +6613,12 @@ STAGE PLANS: vectorized: true rowBatchContext: dataColumnCount: 4 - dataColumns: KEY.reducesinkkey0:int, VALUE._col0:decimal(38,16), VALUE._col1:decimal(38,26), VALUE._col2:decimal(25,3) + dataColumns: KEY.reducesinkkey0:int, VALUE._col0:decimal(38,16), VALUE._col1:decimal(19,7), VALUE._col2:decimal(25,3) partitionColumnCount: 0 scratchColumnTypeNames: [] Reduce Operator Tree: Select Operator - expressions: KEY.reducesinkkey0 (type: int), VALUE._col0 (type: decimal(38,16)), VALUE._col1 (type: decimal(38,26)), VALUE._col2 (type: decimal(25,3)) + expressions: KEY.reducesinkkey0 (type: int), VALUE._col0 (type: decimal(38,16)), VALUE._col1 (type: decimal(19,7)), VALUE._col2 (type: decimal(25,3)) outputColumnNames: _col0, _col1, _col2, _col3 Select Vectorization: className: VectorSelectOperator @@ -6650,23 +6650,23 @@ POSTHOOK: query: SELECT value, sum(key) / count(key), avg(key), sum(key) FROM DE POSTHOOK: type: QUERY POSTHOOK: Input: default@decimal_udf_txt_small #### A masked pattern was here #### --1 -1.1200000000000000 -1.12000000000000000000000000 -2.240 --11 -1.1220000000000000 -1.12200000000000000000000000 -1.122 --1234567890 -1234567890.1230000000000000 -1234567890.12300000000000000000000000 -1234567890.123 --1255 -1255.4900000000000000 -1255.49000000000000000000000000 -1255.490 -0 0.0253846153846154 0.02538461538461538461538462 0.330 -1 1.0484000000000000 1.04840000000000000000000000 5.242 -10 10.0000000000000000 10.00000000000000000000000000 10.000 -100 100.0000000000000000 100.00000000000000000000000000 100.000 -1234567890 1234567890.1230000000000000 1234567890.12300000000000000000000000 1234567890.123 -124 124.0000000000000000 124.00000000000000000000000000 124.000 -125 125.2000000000000000 125.20000000000000000000000000 125.200 -2 2.0000000000000000 2.00000000000000000000000000 4.000 -20 20.0000000000000000 20.00000000000000000000000000 20.000 -200 200.0000000000000000 200.00000000000000000000000000 200.000 -3 3.1400000000000000 3.14000000000000000000000000 9.420 -4 3.1400000000000000 3.14000000000000000000000000 3.140 -4400 -4400.0000000000000000 -4400.00000000000000000000000000 -4400.000 +-1 -1.1200000000000000 -1.1200000 -2.240 +-11 -1.1220000000000000 -1.1220000 -1.122 +-1234567890 -1234567890.1230000000000000 -1234567890.1230000 -1234567890.123 +-1255 -1255.4900000000000000 -1255.4900000 -1255.490 +0 0.0253846153846154 0.0253846 0.330 +1 1.0484000000000000 1.0484000 5.242 +10 10.0000000000000000 10.0000000 10.000 +100 100.0000000000000000 100.0000000 100.000 +1234567890 1234567890.1230000000000000 1234567890.1230000 1234567890.123 +124 124.0000000000000000 124.0000000 124.000 +125 125.2000000000000000 125.2000000 125.200 +2 2.0000000000000000 2.0000000 4.000 +20 20.0000000000000000 20.0000000 20.000 +200 200.0000000000000000 200.0000000 200.000 +3 3.1400000000000000 3.1400000 9.420 +4 3.1400000000000000 3.1400000 3.140 +4400 -4400.0000000000000000 -4400.0000000 -4400.000 NULL NULL NULL NULL PREHOOK: query: EXPLAIN VECTORIZATION DETAIL SELECT -key FROM DECIMAL_UDF_txt_small diff --git a/ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets3_dec.q.out b/ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets3_dec.q.out index 5ad1838d33..3c79f3ea3a 100644 --- a/ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets3_dec.q.out +++ b/ql/src/test/results/clientpositive/llap/vector_groupby_grouping_sets3_dec.q.out @@ -156,13 +156,13 @@ STAGE PLANS: Statistics: Num rows: 24 Data size: 7344 Basic stats: COMPLETE Column stats: COMPLETE pruneGroupingSetId: true Select Operator - expressions: _col0 (type: string), _col1 (type: string), (_col3 / _col4) (type: decimal(38,20)), _col5 (type: bigint) + expressions: _col0 (type: string), _col1 (type: string), CAST( (_col3 / _col4) AS decimal(14,6)) (type: decimal(14,6)), _col5 (type: bigint) outputColumnNames: _col0, _col1, _col2, _col3 Select Vectorization: className: VectorSelectOperator native: true - projectedOutputColumnNums: [0, 1, 6, 4] - selectExpressions: DecimalColDivideDecimalColumn(col 2:decimal(20,2), col 5:decimal(19,0))(children: CastLongToDecimal(col 3:bigint) -> 5:decimal(19,0)) -> 6:decimal(38,20) + projectedOutputColumnNums: [0, 1, 7, 4] + selectExpressions: CastDecimalToDecimal(col 6:decimal(38,20))(children: DecimalColDivideDecimalColumn(col 2:decimal(20,2), col 5:decimal(19,0))(children: CastLongToDecimal(col 3:bigint) -> 5:decimal(19,0)) -> 6:decimal(38,20)) -> 7:decimal(14,6) Statistics: Num rows: 24 Data size: 6960 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false @@ -301,13 +301,13 @@ STAGE PLANS: Statistics: Num rows: 24 Data size: 7344 Basic stats: COMPLETE Column stats: COMPLETE pruneGroupingSetId: true Select Operator - expressions: _col0 (type: string), _col1 (type: string), (_col3 / _col4) (type: decimal(38,20)), _col5 (type: bigint) + expressions: _col0 (type: string), _col1 (type: string), CAST( (_col3 / _col4) AS decimal(14,6)) (type: decimal(14,6)), _col5 (type: bigint) outputColumnNames: _col0, _col1, _col2, _col3 Select Vectorization: className: VectorSelectOperator native: true - projectedOutputColumnNums: [0, 1, 6, 4] - selectExpressions: DecimalColDivideDecimalColumn(col 2:decimal(20,2), col 5:decimal(19,0))(children: CastLongToDecimal(col 3:bigint) -> 5:decimal(19,0)) -> 6:decimal(38,20) + projectedOutputColumnNums: [0, 1, 7, 4] + selectExpressions: CastDecimalToDecimal(col 6:decimal(38,20))(children: DecimalColDivideDecimalColumn(col 2:decimal(20,2), col 5:decimal(19,0))(children: CastLongToDecimal(col 3:bigint) -> 5:decimal(19,0)) -> 6:decimal(38,20)) -> 7:decimal(14,6) Statistics: Num rows: 24 Data size: 6960 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false @@ -335,22 +335,22 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@t1_n115 #### A masked pattern was here #### a b _c2 _c3 -1 1 3.00000000000000000000 2 -1 2 2.00000000000000000000 1 -1 NULL 2.66666666666666666667 3 -2 2 5.33333333333333333333 3 -2 3 5.00000000000000000000 2 -2 NULL 5.20000000000000000000 5 -3 2 8.00000000000000000000 1 -3 NULL 8.00000000000000000000 1 -5 1 2.00000000000000000000 1 -5 NULL 2.00000000000000000000 1 -8 1 1.00000000000000000000 2 -8 NULL 1.00000000000000000000 2 -NULL 1 2.00000000000000000000 5 -NULL 2 5.20000000000000000000 5 -NULL 3 5.00000000000000000000 2 -NULL NULL 3.83333333333333333333 12 +1 1 3.000000 2 +1 2 2.000000 1 +1 NULL 2.666667 3 +2 2 5.333333 3 +2 3 5.000000 2 +2 NULL 5.200000 5 +3 2 8.000000 1 +3 NULL 8.000000 1 +5 1 2.000000 1 +5 NULL 2.000000 1 +8 1 1.000000 2 +8 NULL 1.000000 2 +NULL 1 2.000000 5 +NULL 2 5.200000 5 +NULL 3 5.000000 2 +NULL NULL 3.833333 12 PREHOOK: query: EXPLAIN VECTORIZATION DETAIL SELECT a, b, avg(c_dec), count(*) from T1_n115 group by a, b with cube PREHOOK: type: QUERY @@ -515,13 +515,13 @@ STAGE PLANS: Statistics: Num rows: 24 Data size: 7344 Basic stats: COMPLETE Column stats: COMPLETE pruneGroupingSetId: true Select Operator - expressions: _col0 (type: string), _col1 (type: string), (_col3 / _col4) (type: decimal(38,20)), _col5 (type: bigint) + expressions: _col0 (type: string), _col1 (type: string), CAST( (_col3 / _col4) AS decimal(14,6)) (type: decimal(14,6)), _col5 (type: bigint) outputColumnNames: _col0, _col1, _col2, _col3 Select Vectorization: className: VectorSelectOperator native: true - projectedOutputColumnNums: [0, 1, 6, 4] - selectExpressions: DecimalColDivideDecimalColumn(col 2:decimal(20,2), col 5:decimal(19,0))(children: CastLongToDecimal(col 3:bigint) -> 5:decimal(19,0)) -> 6:decimal(38,20) + projectedOutputColumnNums: [0, 1, 7, 4] + selectExpressions: CastDecimalToDecimal(col 6:decimal(38,20))(children: DecimalColDivideDecimalColumn(col 2:decimal(20,2), col 5:decimal(19,0))(children: CastLongToDecimal(col 3:bigint) -> 5:decimal(19,0)) -> 6:decimal(38,20)) -> 7:decimal(14,6) Statistics: Num rows: 24 Data size: 6960 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator compressed: false @@ -549,19 +549,19 @@ POSTHOOK: type: QUERY POSTHOOK: Input: default@t1_n115 #### A masked pattern was here #### a b _c2 _c3 -1 1 3.00000000000000000000 2 -1 2 2.00000000000000000000 1 -1 NULL 2.66666666666666666667 3 -2 2 5.33333333333333333333 3 -2 3 5.00000000000000000000 2 -2 NULL 5.20000000000000000000 5 -3 2 8.00000000000000000000 1 -3 NULL 8.00000000000000000000 1 -5 1 2.00000000000000000000 1 -5 NULL 2.00000000000000000000 1 -8 1 1.00000000000000000000 2 -8 NULL 1.00000000000000000000 2 -NULL 1 2.00000000000000000000 5 -NULL 2 5.20000000000000000000 5 -NULL 3 5.00000000000000000000 2 -NULL NULL 3.83333333333333333333 12 +1 1 3.000000 2 +1 2 2.000000 1 +1 NULL 2.666667 3 +2 2 5.333333 3 +2 3 5.000000 2 +2 NULL 5.200000 5 +3 2 8.000000 1 +3 NULL 8.000000 1 +5 1 2.000000 1 +5 NULL 2.000000 1 +8 1 1.000000 2 +8 NULL 1.000000 2 +NULL 1 2.000000 5 +NULL 2 5.200000 5 +NULL 3 5.000000 2 +NULL NULL 3.833333 12 diff --git a/ql/src/test/results/clientpositive/perf/spark/query1.q.out b/ql/src/test/results/clientpositive/perf/spark/query1.q.out index ad48037a69..9c51153bba 100644 --- a/ql/src/test/results/clientpositive/perf/spark/query1.q.out +++ b/ql/src/test/results/clientpositive/perf/spark/query1.q.out @@ -246,10 +246,10 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 15837566 Data size: 1227103566 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (_col1 is not null and _col2 is not null) (type: boolean) + predicate: CAST( (_col1 / _col2) AS decimal(21,6)) is not null (type: boolean) Statistics: Num rows: 15837566 Data size: 1227103566 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: ((_col1 / _col2) * 1.2) (type: decimal(38,11)), _col0 (type: int) + expressions: (CAST( (_col1 / _col2) AS decimal(21,6)) * 1.2) (type: decimal(24,7)), _col0 (type: int) outputColumnNames: _col0, _col1 Statistics: Num rows: 15837566 Data size: 1227103566 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator @@ -258,7 +258,7 @@ STAGE PLANS: sort order: + Map-reduce partition columns: _col1 (type: int) Statistics: Num rows: 15837566 Data size: 1227103566 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: decimal(38,11)) + value expressions: _col0 (type: decimal(24,7)) Reducer 3 Reduce Operator Tree: Join Operator diff --git a/ql/src/test/results/clientpositive/perf/spark/query13.q.out b/ql/src/test/results/clientpositive/perf/spark/query13.q.out index ddb01e3057..e78c9eefe1 100644 --- a/ql/src/test/results/clientpositive/perf/spark/query13.q.out +++ b/ql/src/test/results/clientpositive/perf/spark/query13.q.out @@ -355,7 +355,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5 Statistics: Num rows: 1 Data size: 256 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: (UDFToDouble(_col0) / _col1) (type: double), (_col2 / _col3) (type: decimal(37,22)), (_col4 / _col5) (type: decimal(37,22)), CAST( _col4 AS decimal(17,2)) (type: decimal(17,2)) + expressions: (UDFToDouble(_col0) / _col1) (type: double), CAST( (_col2 / _col3) AS decimal(11,6)) (type: decimal(11,6)), CAST( (_col4 / _col5) AS decimal(11,6)) (type: decimal(11,6)), CAST( _col4 AS decimal(17,2)) (type: decimal(17,2)) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 1 Data size: 256 Basic stats: COMPLETE Column stats: NONE File Output Operator diff --git a/ql/src/test/results/clientpositive/perf/spark/query18.q.out b/ql/src/test/results/clientpositive/perf/spark/query18.q.out index bac68f2b15..9b93232ca2 100644 --- a/ql/src/test/results/clientpositive/perf/spark/query18.q.out +++ b/ql/src/test/results/clientpositive/perf/spark/query18.q.out @@ -365,7 +365,7 @@ STAGE PLANS: Statistics: Num rows: 1054114882 Data size: 142748330969 Basic stats: COMPLETE Column stats: NONE pruneGroupingSetId: true Select Operator - expressions: _col0 (type: string), _col3 (type: string), _col2 (type: string), _col1 (type: string), (_col5 / _col6) (type: decimal(38,18)), (_col7 / _col8) (type: decimal(38,18)), (_col9 / _col10) (type: decimal(38,18)), (_col11 / _col12) (type: decimal(38,18)), (_col13 / _col14) (type: decimal(38,18)), (_col15 / _col16) (type: decimal(38,18)), (_col17 / _col18) (type: decimal(38,18)) + expressions: _col0 (type: string), _col3 (type: string), _col2 (type: string), _col1 (type: string), CAST( (_col5 / _col6) AS decimal(16,6)) (type: decimal(16,6)), CAST( (_col7 / _col8) AS decimal(16,6)) (type: decimal(16,6)), CAST( (_col9 / _col10) AS decimal(16,6)) (type: decimal(16,6)), CAST( (_col11 / _col12) AS decimal(16,6)) (type: decimal(16,6)), CAST( (_col13 / _col14) AS decimal(16,6)) (type: decimal(16,6)), CAST( (_col15 / _col16) AS decimal(16,6)) (type: decimal(16,6)), CAST( (_col17 / _col18) AS decimal(16,6)) (type: decimal(16,6)) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10 Statistics: Num rows: 1054114882 Data size: 142748330969 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator @@ -374,12 +374,12 @@ STAGE PLANS: sort order: ++++ Statistics: Num rows: 1054114882 Data size: 142748330969 Basic stats: COMPLETE Column stats: NONE TopN Hash Memory Usage: 0.1 - value expressions: _col4 (type: decimal(38,18)), _col5 (type: decimal(38,18)), _col6 (type: decimal(38,18)), _col7 (type: decimal(38,18)), _col8 (type: decimal(38,18)), _col9 (type: decimal(38,18)), _col10 (type: decimal(38,18)) + value expressions: _col4 (type: decimal(16,6)), _col5 (type: decimal(16,6)), _col6 (type: decimal(16,6)), _col7 (type: decimal(16,6)), _col8 (type: decimal(16,6)), _col9 (type: decimal(16,6)), _col10 (type: decimal(16,6)) Reducer 7 Execution mode: vectorized Reduce Operator Tree: Select Operator - expressions: KEY.reducesinkkey3 (type: string), KEY.reducesinkkey0 (type: string), KEY.reducesinkkey1 (type: string), KEY.reducesinkkey2 (type: string), VALUE._col0 (type: decimal(38,18)), VALUE._col1 (type: decimal(38,18)), VALUE._col2 (type: decimal(38,18)), VALUE._col3 (type: decimal(38,18)), VALUE._col4 (type: decimal(38,18)), VALUE._col5 (type: decimal(38,18)), VALUE._col6 (type: decimal(38,18)) + expressions: KEY.reducesinkkey3 (type: string), KEY.reducesinkkey0 (type: string), KEY.reducesinkkey1 (type: string), KEY.reducesinkkey2 (type: string), VALUE._col0 (type: decimal(16,6)), VALUE._col1 (type: decimal(16,6)), VALUE._col2 (type: decimal(16,6)), VALUE._col3 (type: decimal(16,6)), VALUE._col4 (type: decimal(16,6)), VALUE._col5 (type: decimal(16,6)), VALUE._col6 (type: decimal(16,6)) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10 Statistics: Num rows: 1054114882 Data size: 142748330969 Basic stats: COMPLETE Column stats: NONE Limit diff --git a/ql/src/test/results/clientpositive/perf/spark/query24.q.out b/ql/src/test/results/clientpositive/perf/spark/query24.q.out index 1bf3b362e2..99b477b194 100644 --- a/ql/src/test/results/clientpositive/perf/spark/query24.q.out +++ b/ql/src/test/results/clientpositive/perf/spark/query24.q.out @@ -386,10 +386,10 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 232 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (_col0 is not null and _col1 is not null) (type: boolean) + predicate: CAST( (_col0 / _col1) AS decimal(21,6)) is not null (type: boolean) Statistics: Num rows: 1 Data size: 232 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: (0.05 * (_col0 / _col1)) (type: decimal(38,12)) + expressions: (0.05 * CAST( (_col0 / _col1) AS decimal(21,6))) (type: decimal(24,8)) outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 232 Basic stats: COMPLETE Column stats: NONE Spark HashTable Sink Operator diff --git a/ql/src/test/results/clientpositive/perf/spark/query26.q.out b/ql/src/test/results/clientpositive/perf/spark/query26.q.out index cd5d46e4d5..9e65060a25 100644 --- a/ql/src/test/results/clientpositive/perf/spark/query26.q.out +++ b/ql/src/test/results/clientpositive/perf/spark/query26.q.out @@ -254,7 +254,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8 Statistics: Num rows: 210822976 Data size: 28549666139 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: string), (UDFToDouble(_col1) / _col2) (type: double), (_col3 / _col4) (type: decimal(37,22)), (_col5 / _col6) (type: decimal(37,22)), (_col7 / _col8) (type: decimal(37,22)) + expressions: _col0 (type: string), (UDFToDouble(_col1) / _col2) (type: double), CAST( (_col3 / _col4) AS decimal(11,6)) (type: decimal(11,6)), CAST( (_col5 / _col6) AS decimal(11,6)) (type: decimal(11,6)), CAST( (_col7 / _col8) AS decimal(11,6)) (type: decimal(11,6)) outputColumnNames: _col0, _col1, _col2, _col3, _col4 Statistics: Num rows: 210822976 Data size: 28549666139 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator @@ -263,12 +263,12 @@ STAGE PLANS: sort order: + Statistics: Num rows: 210822976 Data size: 28549666139 Basic stats: COMPLETE Column stats: NONE TopN Hash Memory Usage: 0.1 - value expressions: _col1 (type: double), _col2 (type: decimal(37,22)), _col3 (type: decimal(37,22)), _col4 (type: decimal(37,22)) + value expressions: _col1 (type: double), _col2 (type: decimal(11,6)), _col3 (type: decimal(11,6)), _col4 (type: decimal(11,6)) Reducer 6 Execution mode: vectorized Reduce Operator Tree: Select Operator - expressions: KEY.reducesinkkey0 (type: string), VALUE._col0 (type: double), VALUE._col1 (type: decimal(37,22)), VALUE._col2 (type: decimal(37,22)), VALUE._col3 (type: decimal(37,22)) + expressions: KEY.reducesinkkey0 (type: string), VALUE._col0 (type: double), VALUE._col1 (type: decimal(11,6)), VALUE._col2 (type: decimal(11,6)), VALUE._col3 (type: decimal(11,6)) outputColumnNames: _col0, _col1, _col2, _col3, _col4 Statistics: Num rows: 210822976 Data size: 28549666139 Basic stats: COMPLETE Column stats: NONE Limit diff --git a/ql/src/test/results/clientpositive/perf/spark/query27.q.out b/ql/src/test/results/clientpositive/perf/spark/query27.q.out index 9adfe94c66..7192f8dec7 100644 --- a/ql/src/test/results/clientpositive/perf/spark/query27.q.out +++ b/ql/src/test/results/clientpositive/perf/spark/query27.q.out @@ -262,7 +262,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10 Statistics: Num rows: 1264972921 Data size: 111596278389 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: string), _col1 (type: string), grouping(_col2, 0L) (type: bigint), (UDFToDouble(_col3) / _col4) (type: double), (_col5 / _col6) (type: decimal(37,22)), (_col7 / _col8) (type: decimal(37,22)), (_col9 / _col10) (type: decimal(37,22)) + expressions: _col0 (type: string), _col1 (type: string), grouping(_col2, 0L) (type: bigint), (UDFToDouble(_col3) / _col4) (type: double), CAST( (_col5 / _col6) AS decimal(11,6)) (type: decimal(11,6)), CAST( (_col7 / _col8) AS decimal(11,6)) (type: decimal(11,6)), CAST( (_col9 / _col10) AS decimal(11,6)) (type: decimal(11,6)) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6 Statistics: Num rows: 1264972921 Data size: 111596278389 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator @@ -271,12 +271,12 @@ STAGE PLANS: sort order: ++ Statistics: Num rows: 1264972921 Data size: 111596278389 Basic stats: COMPLETE Column stats: NONE TopN Hash Memory Usage: 0.1 - value expressions: _col2 (type: bigint), _col3 (type: double), _col4 (type: decimal(37,22)), _col5 (type: decimal(37,22)), _col6 (type: decimal(37,22)) + value expressions: _col2 (type: bigint), _col3 (type: double), _col4 (type: decimal(11,6)), _col5 (type: decimal(11,6)), _col6 (type: decimal(11,6)) Reducer 6 Execution mode: vectorized Reduce Operator Tree: Select Operator - expressions: KEY.reducesinkkey0 (type: string), KEY.reducesinkkey1 (type: string), VALUE._col0 (type: bigint), VALUE._col1 (type: double), VALUE._col2 (type: decimal(37,22)), VALUE._col3 (type: decimal(37,22)), VALUE._col4 (type: decimal(37,22)) + expressions: KEY.reducesinkkey0 (type: string), KEY.reducesinkkey1 (type: string), VALUE._col0 (type: bigint), VALUE._col1 (type: double), VALUE._col2 (type: decimal(11,6)), VALUE._col3 (type: decimal(11,6)), VALUE._col4 (type: decimal(11,6)) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6 Statistics: Num rows: 1264972921 Data size: 111596278389 Basic stats: COMPLETE Column stats: NONE Limit diff --git a/ql/src/test/results/clientpositive/perf/spark/query28.q.out b/ql/src/test/results/clientpositive/perf/spark/query28.q.out index 3b657fb59e..f750bc9cea 100644 --- a/ql/src/test/results/clientpositive/perf/spark/query28.q.out +++ b/ql/src/test/results/clientpositive/perf/spark/query28.q.out @@ -298,7 +298,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 1 Data size: 232 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: (_col0 / _col1) (type: decimal(37,22)), _col1 (type: bigint), _col2 (type: bigint) + expressions: CAST( (_col0 / _col1) AS decimal(11,6)) (type: decimal(11,6)), _col1 (type: bigint), _col2 (type: bigint) outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 1 Data size: 232 Basic stats: COMPLETE Column stats: NONE Spark HashTable Sink Operator @@ -339,7 +339,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 1 Data size: 232 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: (_col0 / _col1) (type: decimal(37,22)), _col1 (type: bigint), _col2 (type: bigint) + expressions: CAST( (_col0 / _col1) AS decimal(11,6)) (type: decimal(11,6)), _col1 (type: bigint), _col2 (type: bigint) outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 1 Data size: 232 Basic stats: COMPLETE Column stats: NONE Spark HashTable Sink Operator @@ -380,7 +380,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 1 Data size: 232 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: (_col0 / _col1) (type: decimal(37,22)), _col1 (type: bigint), _col2 (type: bigint) + expressions: CAST( (_col0 / _col1) AS decimal(11,6)) (type: decimal(11,6)), _col1 (type: bigint), _col2 (type: bigint) outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 1 Data size: 232 Basic stats: COMPLETE Column stats: NONE Spark HashTable Sink Operator @@ -421,7 +421,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 1 Data size: 232 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: (_col0 / _col1) (type: decimal(37,22)), _col1 (type: bigint), _col2 (type: bigint) + expressions: CAST( (_col0 / _col1) AS decimal(11,6)) (type: decimal(11,6)), _col1 (type: bigint), _col2 (type: bigint) outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 1 Data size: 232 Basic stats: COMPLETE Column stats: NONE Spark HashTable Sink Operator @@ -462,7 +462,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 1 Data size: 232 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: (_col0 / _col1) (type: decimal(37,22)), _col1 (type: bigint), _col2 (type: bigint) + expressions: CAST( (_col0 / _col1) AS decimal(11,6)) (type: decimal(11,6)), _col1 (type: bigint), _col2 (type: bigint) outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 1 Data size: 232 Basic stats: COMPLETE Column stats: NONE Spark HashTable Sink Operator @@ -539,7 +539,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 1 Data size: 232 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: (_col0 / _col1) (type: decimal(37,22)), _col1 (type: bigint), _col2 (type: bigint) + expressions: CAST( (_col0 / _col1) AS decimal(11,6)) (type: decimal(11,6)), _col1 (type: bigint), _col2 (type: bigint) outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 1 Data size: 232 Basic stats: COMPLETE Column stats: NONE Map Join Operator @@ -565,7 +565,7 @@ STAGE PLANS: 5 Reducer 18 Statistics: Num rows: 1 Data size: 1393 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: decimal(37,22)), _col1 (type: bigint), _col2 (type: bigint), _col15 (type: decimal(37,22)), _col16 (type: bigint), _col17 (type: bigint), _col12 (type: decimal(37,22)), _col13 (type: bigint), _col14 (type: bigint), _col9 (type: decimal(37,22)), _col10 (type: bigint), _col11 (type: bigint), _col6 (type: decimal(37,22)), _col7 (type: bigint), _col8 (type: bigint), _col3 (type: decimal(37,22)), _col4 (type: bigint), _col5 (type: bigint) + expressions: _col0 (type: decimal(11,6)), _col1 (type: bigint), _col2 (type: bigint), _col15 (type: decimal(11,6)), _col16 (type: bigint), _col17 (type: bigint), _col12 (type: decimal(11,6)), _col13 (type: bigint), _col14 (type: bigint), _col9 (type: decimal(11,6)), _col10 (type: bigint), _col11 (type: bigint), _col6 (type: decimal(11,6)), _col7 (type: bigint), _col8 (type: bigint), _col3 (type: decimal(11,6)), _col4 (type: bigint), _col5 (type: bigint) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17 Statistics: Num rows: 1 Data size: 1393 Basic stats: COMPLETE Column stats: NONE File Output Operator diff --git a/ql/src/test/results/clientpositive/perf/spark/query30.q.out b/ql/src/test/results/clientpositive/perf/spark/query30.q.out index d9672091ad..24cf5f6160 100644 --- a/ql/src/test/results/clientpositive/perf/spark/query30.q.out +++ b/ql/src/test/results/clientpositive/perf/spark/query30.q.out @@ -338,10 +338,10 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 11000000 Data size: 11163678945 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (_col1 is not null and _col2 is not null) (type: boolean) + predicate: CAST( (_col1 / _col2) AS decimal(21,6)) is not null (type: boolean) Statistics: Num rows: 11000000 Data size: 11163678945 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: ((_col1 / _col2) * 1.2) (type: decimal(38,11)), _col0 (type: string) + expressions: (CAST( (_col1 / _col2) AS decimal(21,6)) * 1.2) (type: decimal(24,7)), _col0 (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 11000000 Data size: 11163678945 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator @@ -350,7 +350,7 @@ STAGE PLANS: sort order: + Map-reduce partition columns: _col1 (type: string) Statistics: Num rows: 11000000 Data size: 11163678945 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: decimal(38,11)) + value expressions: _col0 (type: decimal(24,7)) Reducer 2 Reduce Operator Tree: Join Operator diff --git a/ql/src/test/results/clientpositive/perf/spark/query32.q.out b/ql/src/test/results/clientpositive/perf/spark/query32.q.out index 5a5b4e9f7b..4af34f2214 100644 --- a/ql/src/test/results/clientpositive/perf/spark/query32.q.out +++ b/ql/src/test/results/clientpositive/perf/spark/query32.q.out @@ -289,10 +289,10 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 158394413 Data size: 21449785388 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: CAST( (1.3 * (_col1 / _col2)) AS decimal(14,7)) is not null (type: boolean) + predicate: CAST( (1.3 * CAST( (_col1 / _col2) AS decimal(11,6))) AS decimal(14,7)) is not null (type: boolean) Statistics: Num rows: 158394413 Data size: 21449785388 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: int), CAST( (1.3 * (_col1 / _col2)) AS decimal(14,7)) (type: decimal(14,7)) + expressions: _col0 (type: int), CAST( (1.3 * CAST( (_col1 / _col2) AS decimal(11,6))) AS decimal(14,7)) (type: decimal(14,7)) outputColumnNames: _col0, _col1 Statistics: Num rows: 158394413 Data size: 21449785388 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator diff --git a/ql/src/test/results/clientpositive/perf/spark/query44.q.out b/ql/src/test/results/clientpositive/perf/spark/query44.q.out index 2b11f9b3b0..4e169e6402 100644 --- a/ql/src/test/results/clientpositive/perf/spark/query44.q.out +++ b/ql/src/test/results/clientpositive/perf/spark/query44.q.out @@ -208,17 +208,17 @@ STAGE PLANS: outputColumnNames: _col1, _col2 Statistics: Num rows: 71999454 Data size: 6351812727 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (_col1 is not null and _col2 is not null) (type: boolean) + predicate: CAST( (_col1 / _col2) AS decimal(11,6)) is not null (type: boolean) Statistics: Num rows: 71999454 Data size: 6351812727 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: (_col1 / _col2) (type: decimal(37,22)) + expressions: CAST( (_col1 / _col2) AS decimal(11,6)) (type: decimal(11,6)) outputColumnNames: _col0 Statistics: Num rows: 71999454 Data size: 6351812727 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator null sort order: sort order: Statistics: Num rows: 71999454 Data size: 6351812727 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: decimal(37,22)) + value expressions: _col0 (type: decimal(11,6)) Reducer 12 Execution mode: vectorized Reduce Operator Tree: @@ -229,17 +229,17 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 143998908 Data size: 12703625455 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (_col1 is not null and _col2 is not null) (type: boolean) + predicate: CAST( (_col1 / _col2) AS decimal(11,6)) is not null (type: boolean) Statistics: Num rows: 143998908 Data size: 12703625455 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: int), (_col1 / _col2) (type: decimal(37,22)) + expressions: _col0 (type: int), CAST( (_col1 / _col2) AS decimal(11,6)) (type: decimal(11,6)) outputColumnNames: _col0, _col1 Statistics: Num rows: 143998908 Data size: 12703625455 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator null sort order: sort order: Statistics: Num rows: 143998908 Data size: 12703625455 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: decimal(37,22)) + value expressions: _col0 (type: int), _col1 (type: decimal(11,6)) Reducer 13 Reduce Operator Tree: Join Operator @@ -254,7 +254,7 @@ STAGE PLANS: predicate: (_col1 > (0.9 * _col2)) (type: boolean) Statistics: Num rows: 3455947584198744 Data size: 613225345280533248 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator - key expressions: 0 (type: int), _col1 (type: decimal(37,22)) + key expressions: 0 (type: int), _col1 (type: decimal(11,6)) null sort order: az sort order: +- Map-reduce partition columns: 0 (type: int) @@ -265,14 +265,14 @@ STAGE PLANS: Execution mode: vectorized Reduce Operator Tree: Select Operator - expressions: VALUE._col0 (type: int), KEY.reducesinkkey1 (type: decimal(37,22)) + expressions: VALUE._col0 (type: int), KEY.reducesinkkey1 (type: decimal(11,6)) outputColumnNames: _col0, _col1 Statistics: Num rows: 3455947584198744 Data size: 613225345280533248 Basic stats: COMPLETE Column stats: NONE PTF Operator Function definitions: Input definition input alias: ptf_0 - output shape: _col0: int, _col1: decimal(37,22) + output shape: _col0: int, _col1: decimal(11,6) type: WINDOWING Windowing table definition input alias: ptf_1 @@ -317,17 +317,17 @@ STAGE PLANS: outputColumnNames: _col1, _col2 Statistics: Num rows: 71999454 Data size: 6351812727 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (_col1 is not null and _col2 is not null) (type: boolean) + predicate: CAST( (_col1 / _col2) AS decimal(11,6)) is not null (type: boolean) Statistics: Num rows: 71999454 Data size: 6351812727 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: (_col1 / _col2) (type: decimal(37,22)) + expressions: CAST( (_col1 / _col2) AS decimal(11,6)) (type: decimal(11,6)) outputColumnNames: _col0 Statistics: Num rows: 71999454 Data size: 6351812727 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator null sort order: sort order: Statistics: Num rows: 71999454 Data size: 6351812727 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: decimal(37,22)) + value expressions: _col0 (type: decimal(11,6)) Reducer 2 Execution mode: vectorized Reduce Operator Tree: @@ -338,17 +338,17 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 143998908 Data size: 12703625455 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (_col1 is not null and _col2 is not null) (type: boolean) + predicate: CAST( (_col1 / _col2) AS decimal(11,6)) is not null (type: boolean) Statistics: Num rows: 143998908 Data size: 12703625455 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: int), (_col1 / _col2) (type: decimal(37,22)) + expressions: _col0 (type: int), CAST( (_col1 / _col2) AS decimal(11,6)) (type: decimal(11,6)) outputColumnNames: _col0, _col1 Statistics: Num rows: 143998908 Data size: 12703625455 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator null sort order: sort order: Statistics: Num rows: 143998908 Data size: 12703625455 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: int), _col1 (type: decimal(37,22)) + value expressions: _col0 (type: int), _col1 (type: decimal(11,6)) Reducer 3 Reduce Operator Tree: Join Operator @@ -363,7 +363,7 @@ STAGE PLANS: predicate: (_col1 > (0.9 * _col2)) (type: boolean) Statistics: Num rows: 3455947584198744 Data size: 613225345280533248 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator - key expressions: 0 (type: int), _col1 (type: decimal(37,22)) + key expressions: 0 (type: int), _col1 (type: decimal(11,6)) null sort order: az sort order: ++ Map-reduce partition columns: 0 (type: int) @@ -374,14 +374,14 @@ STAGE PLANS: Execution mode: vectorized Reduce Operator Tree: Select Operator - expressions: VALUE._col0 (type: int), KEY.reducesinkkey1 (type: decimal(37,22)) + expressions: VALUE._col0 (type: int), KEY.reducesinkkey1 (type: decimal(11,6)) outputColumnNames: _col0, _col1 Statistics: Num rows: 3455947584198744 Data size: 613225345280533248 Basic stats: COMPLETE Column stats: NONE PTF Operator Function definitions: Input definition input alias: ptf_0 - output shape: _col0: int, _col1: decimal(37,22) + output shape: _col0: int, _col1: decimal(11,6) type: WINDOWING Windowing table definition input alias: ptf_1 diff --git a/ql/src/test/results/clientpositive/perf/spark/query6.q.out b/ql/src/test/results/clientpositive/perf/spark/query6.q.out index cf78e34697..4c6d99e1c5 100644 --- a/ql/src/test/results/clientpositive/perf/spark/query6.q.out +++ b/ql/src/test/results/clientpositive/perf/spark/query6.q.out @@ -369,10 +369,10 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 231000 Data size: 331780228 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: CAST( (_col1 / _col2) AS decimal(16,6)) is not null (type: boolean) + predicate: CAST( CAST( (_col1 / _col2) AS decimal(11,6)) AS decimal(16,6)) is not null (type: boolean) Statistics: Num rows: 231000 Data size: 331780228 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: string), (1.2 * CAST( (_col1 / _col2) AS decimal(16,6))) (type: decimal(19,7)) + expressions: _col0 (type: string), (1.2 * CAST( CAST( (_col1 / _col2) AS decimal(11,6)) AS decimal(16,6))) (type: decimal(19,7)) outputColumnNames: _col0, _col1 Statistics: Num rows: 231000 Data size: 331780228 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator diff --git a/ql/src/test/results/clientpositive/perf/spark/query65.q.out b/ql/src/test/results/clientpositive/perf/spark/query65.q.out index 69d8f9b0e2..b3b2e6635a 100644 --- a/ql/src/test/results/clientpositive/perf/spark/query65.q.out +++ b/ql/src/test/results/clientpositive/perf/spark/query65.q.out @@ -230,10 +230,10 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 158398803 Data size: 13973988377 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (_col1 is not null and _col2 is not null) (type: boolean) + predicate: CAST( (_col1 / _col2) AS decimal(21,6)) is not null (type: boolean) Statistics: Num rows: 158398803 Data size: 13973988377 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: int), (0.1 * (_col1 / _col2)) (type: decimal(38,12)) + expressions: _col0 (type: int), (0.1 * CAST( (_col1 / _col2) AS decimal(21,6))) (type: decimal(23,7)) outputColumnNames: _col0, _col1 Statistics: Num rows: 158398803 Data size: 13973988377 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator @@ -242,7 +242,7 @@ STAGE PLANS: sort order: + Map-reduce partition columns: _col0 (type: int) Statistics: Num rows: 158398803 Data size: 13973988377 Basic stats: COMPLETE Column stats: NONE - value expressions: _col1 (type: decimal(38,12)) + value expressions: _col1 (type: decimal(23,7)) Reducer 2 Reduce Operator Tree: Join Operator diff --git a/ql/src/test/results/clientpositive/perf/spark/query7.q.out b/ql/src/test/results/clientpositive/perf/spark/query7.q.out index 1508d8be66..e5e643b09b 100644 --- a/ql/src/test/results/clientpositive/perf/spark/query7.q.out +++ b/ql/src/test/results/clientpositive/perf/spark/query7.q.out @@ -254,7 +254,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8 Statistics: Num rows: 421657640 Data size: 37198759433 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: string), (UDFToDouble(_col1) / _col2) (type: double), (_col3 / _col4) (type: decimal(37,22)), (_col5 / _col6) (type: decimal(37,22)), (_col7 / _col8) (type: decimal(37,22)) + expressions: _col0 (type: string), (UDFToDouble(_col1) / _col2) (type: double), CAST( (_col3 / _col4) AS decimal(11,6)) (type: decimal(11,6)), CAST( (_col5 / _col6) AS decimal(11,6)) (type: decimal(11,6)), CAST( (_col7 / _col8) AS decimal(11,6)) (type: decimal(11,6)) outputColumnNames: _col0, _col1, _col2, _col3, _col4 Statistics: Num rows: 421657640 Data size: 37198759433 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator @@ -263,12 +263,12 @@ STAGE PLANS: sort order: + Statistics: Num rows: 421657640 Data size: 37198759433 Basic stats: COMPLETE Column stats: NONE TopN Hash Memory Usage: 0.1 - value expressions: _col1 (type: double), _col2 (type: decimal(37,22)), _col3 (type: decimal(37,22)), _col4 (type: decimal(37,22)) + value expressions: _col1 (type: double), _col2 (type: decimal(11,6)), _col3 (type: decimal(11,6)), _col4 (type: decimal(11,6)) Reducer 6 Execution mode: vectorized Reduce Operator Tree: Select Operator - expressions: KEY.reducesinkkey0 (type: string), VALUE._col0 (type: double), VALUE._col1 (type: decimal(37,22)), VALUE._col2 (type: decimal(37,22)), VALUE._col3 (type: decimal(37,22)) + expressions: KEY.reducesinkkey0 (type: string), VALUE._col0 (type: double), VALUE._col1 (type: decimal(11,6)), VALUE._col2 (type: decimal(11,6)), VALUE._col3 (type: decimal(11,6)) outputColumnNames: _col0, _col1, _col2, _col3, _col4 Statistics: Num rows: 421657640 Data size: 37198759433 Basic stats: COMPLETE Column stats: NONE Limit diff --git a/ql/src/test/results/clientpositive/perf/spark/query81.q.out b/ql/src/test/results/clientpositive/perf/spark/query81.q.out index 41a561f049..8845e759ee 100644 --- a/ql/src/test/results/clientpositive/perf/spark/query81.q.out +++ b/ql/src/test/results/clientpositive/perf/spark/query81.q.out @@ -339,10 +339,10 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 11000000 Data size: 11163678945 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: (_col1 is not null and _col2 is not null) (type: boolean) + predicate: CAST( (_col1 / _col2) AS decimal(21,6)) is not null (type: boolean) Statistics: Num rows: 11000000 Data size: 11163678945 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: ((_col1 / _col2) * 1.2) (type: decimal(38,11)), _col0 (type: string) + expressions: (CAST( (_col1 / _col2) AS decimal(21,6)) * 1.2) (type: decimal(24,7)), _col0 (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 11000000 Data size: 11163678945 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator @@ -351,7 +351,7 @@ STAGE PLANS: sort order: + Map-reduce partition columns: _col1 (type: string) Statistics: Num rows: 11000000 Data size: 11163678945 Basic stats: COMPLETE Column stats: NONE - value expressions: _col0 (type: decimal(38,11)) + value expressions: _col0 (type: decimal(24,7)) Reducer 2 Reduce Operator Tree: Join Operator diff --git a/ql/src/test/results/clientpositive/perf/spark/query85.q.out b/ql/src/test/results/clientpositive/perf/spark/query85.q.out index 709c0cd3ba..afe1c60089 100644 --- a/ql/src/test/results/clientpositive/perf/spark/query85.q.out +++ b/ql/src/test/results/clientpositive/perf/spark/query85.q.out @@ -473,11 +473,11 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6 Statistics: Num rows: 26953250 Data size: 3664862518 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: (UDFToDouble(_col1) / _col2) (type: double), (_col3 / _col4) (type: decimal(37,22)), (_col5 / _col6) (type: decimal(37,22)), substr(_col0, 1, 20) (type: string) + expressions: (UDFToDouble(_col1) / _col2) (type: double), CAST( (_col3 / _col4) AS decimal(11,6)) (type: decimal(11,6)), CAST( (_col5 / _col6) AS decimal(11,6)) (type: decimal(11,6)), substr(_col0, 1, 20) (type: string) outputColumnNames: _col4, _col5, _col6, _col7 Statistics: Num rows: 26953250 Data size: 3664862518 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator - key expressions: _col7 (type: string), _col4 (type: double), _col5 (type: decimal(37,22)), _col6 (type: decimal(37,22)) + key expressions: _col7 (type: string), _col4 (type: double), _col5 (type: decimal(11,6)), _col6 (type: decimal(11,6)) null sort order: zzzz sort order: ++++ Statistics: Num rows: 26953250 Data size: 3664862518 Basic stats: COMPLETE Column stats: NONE @@ -486,7 +486,7 @@ STAGE PLANS: Execution mode: vectorized Reduce Operator Tree: Select Operator - expressions: KEY.reducesinkkey0 (type: string), KEY.reducesinkkey1 (type: double), KEY.reducesinkkey2 (type: decimal(37,22)), KEY.reducesinkkey3 (type: decimal(37,22)) + expressions: KEY.reducesinkkey0 (type: string), KEY.reducesinkkey1 (type: double), KEY.reducesinkkey2 (type: decimal(11,6)), KEY.reducesinkkey3 (type: decimal(11,6)) outputColumnNames: _col0, _col1, _col2, _col3 Statistics: Num rows: 26953250 Data size: 3664862518 Basic stats: COMPLETE Column stats: NONE Limit diff --git a/ql/src/test/results/clientpositive/perf/spark/query9.q.out b/ql/src/test/results/clientpositive/perf/spark/query9.q.out index a106b47f52..1719eab858 100644 --- a/ql/src/test/results/clientpositive/perf/spark/query9.q.out +++ b/ql/src/test/results/clientpositive/perf/spark/query9.q.out @@ -519,7 +519,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: (_col0 / _col1) (type: decimal(37,22)) + expressions: CAST( (_col0 / _col1) AS decimal(11,6)) (type: decimal(11,6)) outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: NONE Spark HashTable Sink Operator @@ -537,7 +537,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: (_col0 / _col1) (type: decimal(37,22)) + expressions: CAST( (_col0 / _col1) AS decimal(11,6)) (type: decimal(11,6)) outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: NONE Spark HashTable Sink Operator @@ -573,7 +573,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: (_col0 / _col1) (type: decimal(37,22)) + expressions: CAST( (_col0 / _col1) AS decimal(11,6)) (type: decimal(11,6)) outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: NONE Spark HashTable Sink Operator @@ -591,7 +591,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: (_col0 / _col1) (type: decimal(37,22)) + expressions: CAST( (_col0 / _col1) AS decimal(11,6)) (type: decimal(11,6)) outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: NONE Spark HashTable Sink Operator @@ -627,7 +627,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: (_col0 / _col1) (type: decimal(37,22)) + expressions: CAST( (_col0 / _col1) AS decimal(11,6)) (type: decimal(11,6)) outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: NONE Spark HashTable Sink Operator @@ -645,7 +645,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: (_col0 / _col1) (type: decimal(37,22)) + expressions: CAST( (_col0 / _col1) AS decimal(11,6)) (type: decimal(11,6)) outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: NONE Spark HashTable Sink Operator @@ -681,7 +681,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: (_col0 / _col1) (type: decimal(37,22)) + expressions: CAST( (_col0 / _col1) AS decimal(11,6)) (type: decimal(11,6)) outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: NONE Spark HashTable Sink Operator @@ -717,7 +717,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: (_col0 / _col1) (type: decimal(37,22)) + expressions: CAST( (_col0 / _col1) AS decimal(11,6)) (type: decimal(11,6)) outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: NONE Spark HashTable Sink Operator @@ -735,7 +735,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: (_col0 / _col1) (type: decimal(37,22)) + expressions: CAST( (_col0 / _col1) AS decimal(11,6)) (type: decimal(11,6)) outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: NONE Spark HashTable Sink Operator @@ -753,7 +753,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: (_col0 / _col1) (type: decimal(37,22)) + expressions: CAST( (_col0 / _col1) AS decimal(11,6)) (type: decimal(11,6)) outputColumnNames: _col0 Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: NONE Spark HashTable Sink Operator @@ -945,7 +945,7 @@ STAGE PLANS: 1 Reducer 31 Statistics: Num rows: 36 Data size: 52380 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: CASE WHEN (_col1) THEN (_col2) ELSE (_col3) END (type: decimal(37,22)), CASE WHEN (_col4) THEN (_col5) ELSE (_col6) END (type: decimal(37,22)), CASE WHEN (_col7) THEN (_col8) ELSE (_col9) END (type: decimal(37,22)), CASE WHEN (_col10) THEN (_col11) ELSE (_col12) END (type: decimal(37,22)), CASE WHEN (_col13) THEN (_col14) ELSE (_col15) END (type: decimal(37,22)) + expressions: CASE WHEN (_col1) THEN (_col2) ELSE (_col3) END (type: decimal(11,6)), CASE WHEN (_col4) THEN (_col5) ELSE (_col6) END (type: decimal(11,6)), CASE WHEN (_col7) THEN (_col8) ELSE (_col9) END (type: decimal(11,6)), CASE WHEN (_col10) THEN (_col11) ELSE (_col12) END (type: decimal(11,6)), CASE WHEN (_col13) THEN (_col14) ELSE (_col15) END (type: decimal(11,6)) outputColumnNames: _col0, _col1, _col2, _col3, _col4 Statistics: Num rows: 36 Data size: 52380 Basic stats: COMPLETE Column stats: NONE File Output Operator diff --git a/ql/src/test/results/clientpositive/perf/spark/query92.q.out b/ql/src/test/results/clientpositive/perf/spark/query92.q.out index cbbdbfab6a..16b69265ab 100644 --- a/ql/src/test/results/clientpositive/perf/spark/query92.q.out +++ b/ql/src/test/results/clientpositive/perf/spark/query92.q.out @@ -293,10 +293,10 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 79201469 Data size: 10769109250 Basic stats: COMPLETE Column stats: NONE Filter Operator - predicate: CAST( (1.3 * (_col1 / _col2)) AS decimal(14,7)) is not null (type: boolean) + predicate: CAST( (1.3 * CAST( (_col1 / _col2) AS decimal(11,6))) AS decimal(14,7)) is not null (type: boolean) Statistics: Num rows: 79201469 Data size: 10769109250 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: int), CAST( (1.3 * (_col1 / _col2)) AS decimal(14,7)) (type: decimal(14,7)) + expressions: _col0 (type: int), CAST( (1.3 * CAST( (_col1 / _col2) AS decimal(11,6))) AS decimal(14,7)) (type: decimal(14,7)) outputColumnNames: _col0, _col1 Statistics: Num rows: 79201469 Data size: 10769109250 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_ext_query1.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_ext_query1.q.out index f318110de5..2cda493bf7 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_ext_query1.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_ext_query1.q.out @@ -78,8 +78,8 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100]): rowcount = ###Masked###, cum HiveProject(d_date_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveFilter(condition=[AND(=($6, 2000), IS NOT NULL($0))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveProject(_o__c0=[*(/($1, $2), 1.2:DECIMAL(2, 1))], ctr_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveProject(_o__c0=[*(CAST(/($1, $2)):DECIMAL(21, 6), 1.2:DECIMAL(2, 1))], ctr_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveFilter(condition=[IS NOT NULL(CAST(/($1, $2)):DECIMAL(21, 6))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### @@ -152,7 +152,7 @@ POSTHOOK: Output: hdfs://### HDFS PATH ### CBO PLAN: HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveProject(c_customer_id=[$1]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveJoin(condition=[AND(=($4, $7), >($5, $6))], joinType=[inner], algorithm=[none], cost=[{374952.69636986067 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveJoin(condition=[AND(=($4, $7), >($5, $6))], joinType=[inner], algorithm=[none], cost=[{9294.436653471346 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[{8.000928883962971E7 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveProject(c_customer_sk=[$0], c_customer_id=[$1]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveFilter(condition=[IS NOT NULL($0)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### @@ -171,8 +171,8 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100]): rowcount = ###Masked###, cum HiveProject(d_date_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveFilter(condition=[AND(=($6, 2000), IS NOT NULL($0))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveProject(_o__c0=[*(/($1, $2), 1.2:DECIMAL(2, 1))], ctr_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveProject(_o__c0=[*(CAST(/($1, $2)):DECIMAL(21, 6), 1.2:DECIMAL(2, 1))], ctr_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveFilter(condition=[IS NOT NULL(CAST(/($1, $2)):DECIMAL(21, 6))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_query1.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_query1.q.out index 701ffb1f03..04925537c9 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_query1.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_query1.q.out @@ -78,8 +78,8 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100]) HiveProject(d_date_sk=[$0]) HiveFilter(condition=[AND(=($6, 2000), IS NOT NULL($0))]) HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(_o__c0=[*(/($1, $2), 1.2:DECIMAL(2, 1))], ctr_store_sk=[$0]) - HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2))]) + HiveProject(_o__c0=[*(CAST(/($1, $2)):DECIMAL(21, 6), 1.2:DECIMAL(2, 1))], ctr_store_sk=[$0]) + HiveFilter(condition=[IS NOT NULL(CAST(/($1, $2)):DECIMAL(21, 6))]) HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]) HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]) HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]) diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_query13.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_query13.q.out index cc9a30681b..9fab0cbed0 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_query13.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_query13.q.out @@ -113,7 +113,7 @@ POSTHOOK: Input: default@store POSTHOOK: Input: default@store_sales POSTHOOK: Output: hdfs://### HDFS PATH ### CBO PLAN: -HiveProject($f0=[/(CAST($0):DOUBLE, $1)], $f1=[/($2, $3)], $f2=[/($4, $5)], $f3=[CAST($4):DECIMAL(17, 2)]) +HiveProject($f0=[/(CAST($0):DOUBLE, $1)], $f1=[CAST(/($2, $3)):DECIMAL(11, 6)], $f2=[CAST(/($4, $5)):DECIMAL(11, 6)], $f3=[CAST($4):DECIMAL(17, 2)]) HiveAggregate(group=[{}], agg#0=[sum($9)], agg#1=[count($9)], agg#2=[sum($10)], agg#3=[count($10)], agg#4=[sum($11)], agg#5=[count($11)]) HiveJoin(condition=[=($29, $8)], joinType=[inner], algorithm=[none], cost=[not available]) HiveJoin(condition=[AND(=($6, $26), OR(AND($20, $21, $15, $27), AND($22, $23, $16, $28), AND($24, $25, $17, $28)))], joinType=[inner], algorithm=[none], cost=[not available]) diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_query14.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_query14.q.out index 753b01f580..adb4a9bde8 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_query14.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_query14.q.out @@ -292,8 +292,8 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[ HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) HiveFilter(condition=[AND(IS NOT NULL($11), IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($0))]) HiveTableScan(table=[[default, item]], table:alias=[iws]) - HiveProject($f0=[/($0, $1)]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(22, 6)]) + HiveFilter(condition=[IS NOT NULL(CAST(/($0, $1)):DECIMAL(22, 6))]) HiveProject($f0=[$0], $f1=[$1]) HiveAggregate(group=[{}], agg#0=[sum($0)], agg#1=[count($0)]) HiveProject($f0=[*(CAST($0):DECIMAL(10, 0), $1)]) @@ -389,8 +389,8 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[ HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) HiveFilter(condition=[AND(IS NOT NULL($11), IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($0))]) HiveTableScan(table=[[default, item]], table:alias=[iws]) - HiveProject($f0=[/($0, $1)]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(22, 6)]) + HiveFilter(condition=[IS NOT NULL(CAST(/($0, $1)):DECIMAL(22, 6))]) HiveProject($f0=[$0], $f1=[$1]) HiveAggregate(group=[{}], agg#0=[sum($0)], agg#1=[count($0)]) HiveProject($f0=[*(CAST($0):DECIMAL(10, 0), $1)]) @@ -486,8 +486,8 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[ HiveProject(i_item_sk=[$0], i_brand_id=[$7], i_class_id=[$9], i_category_id=[$11]) HiveFilter(condition=[AND(IS NOT NULL($11), IS NOT NULL($7), IS NOT NULL($9), IS NOT NULL($0))]) HiveTableScan(table=[[default, item]], table:alias=[iws]) - HiveProject($f0=[/($0, $1)]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(22, 6)]) + HiveFilter(condition=[IS NOT NULL(CAST(/($0, $1)):DECIMAL(22, 6))]) HiveProject($f0=[$0], $f1=[$1]) HiveAggregate(group=[{}], agg#0=[sum($0)], agg#1=[count($0)]) HiveProject($f0=[*(CAST($0):DECIMAL(10, 0), $1)]) diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_query18.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_query18.q.out index c527b42212..c848aea887 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_query18.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_query18.q.out @@ -80,7 +80,7 @@ POSTHOOK: Input: default@item POSTHOOK: Output: hdfs://### HDFS PATH ### CBO PLAN: HiveSortLimit(sort0=[$1], sort1=[$2], sort2=[$3], sort3=[$0], dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC], fetch=[100]) - HiveProject($f0=[$3], $f1=[$2], $f2=[$1], $f3=[$0], $f4=[/($4, $5)], $f5=[/($6, $7)], $f6=[/($8, $9)], $f7=[/($10, $11)], $f8=[/($12, $13)], $f9=[/($14, $15)], $f10=[/($16, $17)]) + HiveProject($f0=[$3], $f1=[$2], $f2=[$1], $f3=[$0], $f4=[CAST(/($4, $5)):DECIMAL(16, 6)], $f5=[CAST(/($6, $7)):DECIMAL(16, 6)], $f6=[CAST(/($8, $9)):DECIMAL(16, 6)], $f7=[CAST(/($10, $11)):DECIMAL(16, 6)], $f8=[CAST(/($12, $13)):DECIMAL(16, 6)], $f9=[CAST(/($14, $15)):DECIMAL(16, 6)], $f10=[CAST(/($16, $17)):DECIMAL(16, 6)]) HiveAggregate(group=[{5, 6, 7, 10}], groups=[[{5, 6, 7, 10}, {6, 7, 10}, {7, 10}, {10}, {}]], agg#0=[sum($15)], agg#1=[count($15)], agg#2=[sum($16)], agg#3=[count($16)], agg#4=[sum($17)], agg#5=[count($17)], agg#6=[sum($18)], agg#7=[count($18)], agg#8=[sum($19)], agg#9=[count($19)], agg#10=[sum($3)], agg#11=[count($3)], agg#12=[sum($22)], agg#13=[count($22)]) HiveJoin(condition=[=($12, $0)], joinType=[inner], algorithm=[none], cost=[not available]) HiveJoin(condition=[=($1, $8)], joinType=[inner], algorithm=[none], cost=[not available]) diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_query24.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_query24.q.out index 287f03bb6d..a210632ae4 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_query24.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_query24.q.out @@ -146,8 +146,8 @@ HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3]) HiveProject(s_store_sk=[$0], s_store_name=[$5], s_state=[$24], s_zip=[$25]) HiveFilter(condition=[AND(=($10, 7), IS NOT NULL($0), IS NOT NULL($25))]) HiveTableScan(table=[[default, store]], table:alias=[store]) - HiveProject(_o__c0=[*(0.05:DECIMAL(3, 2), /($0, $1))]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) + HiveProject(_o__c0=[*(0.05:DECIMAL(3, 2), CAST(/($0, $1)):DECIMAL(21, 6))]) + HiveFilter(condition=[IS NOT NULL(CAST(/($0, $1)):DECIMAL(21, 6))]) HiveProject($f0=[$0], $f1=[$1]) HiveAggregate(group=[{}], agg#0=[sum($10)], agg#1=[count($10)]) HiveProject(c_first_name=[$0], c_last_name=[$1], ca_state=[$2], s_store_name=[$3], s_state=[$4], i_current_price=[$5], i_size=[$6], i_color=[$7], i_units=[$8], i_manager_id=[$9], $f10=[$10]) diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_query26.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_query26.q.out index 8437af174a..dcab8e83c5 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_query26.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_query26.q.out @@ -52,7 +52,7 @@ POSTHOOK: Input: default@promotion POSTHOOK: Output: hdfs://### HDFS PATH ### CBO PLAN: HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100]) - HiveProject($f0=[$0], $f1=[/(CAST($1):DOUBLE, $2)], $f2=[/($3, $4)], $f3=[/($5, $6)], $f4=[/($7, $8)]) + HiveProject($f0=[$0], $f1=[/(CAST($1):DOUBLE, $2)], $f2=[CAST(/($3, $4)):DECIMAL(11, 6)], $f3=[CAST(/($5, $6)):DECIMAL(11, 6)], $f4=[CAST(/($7, $8)):DECIMAL(11, 6)]) HiveAggregate(group=[{1}], agg#0=[sum($6)], agg#1=[count($6)], agg#2=[sum($7)], agg#3=[count($7)], agg#4=[sum($9)], agg#5=[count($9)], agg#6=[sum($8)], agg#7=[count($8)]) HiveJoin(condition=[=($4, $0)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(i_item_sk=[$0], i_item_id=[$1]) diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_query27.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_query27.q.out index 601364abe9..c0f1462b22 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_query27.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_query27.q.out @@ -56,7 +56,7 @@ POSTHOOK: Input: default@store_sales POSTHOOK: Output: hdfs://### HDFS PATH ### CBO PLAN: HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100]) - HiveProject(i_item_id=[$0], s_state=[$1], g_state=[grouping($10, 0:BIGINT)], agg1=[/(CAST($2):DOUBLE, $3)], agg2=[/($4, $5)], agg3=[/($6, $7)], agg4=[/($8, $9)]) + HiveProject(i_item_id=[$0], s_state=[$1], g_state=[grouping($10, 0:BIGINT)], agg1=[/(CAST($2):DOUBLE, $3)], agg2=[CAST(/($4, $5)):DECIMAL(11, 6)], agg3=[CAST(/($6, $7)):DECIMAL(11, 6)], agg4=[CAST(/($8, $9)):DECIMAL(11, 6)]) HiveAggregate(group=[{0, 1}], groups=[[{0, 1}, {0}, {}]], agg#0=[sum($2)], agg#1=[count($2)], agg#2=[sum($3)], agg#3=[count($3)], agg#4=[sum($4)], agg#5=[count($4)], agg#6=[sum($5)], agg#7=[count($5)], GROUPING__ID=[GROUPING__ID()]) HiveProject($f0=[$1], $f1=[$13], $f2=[$6], $f3=[$7], $f4=[$9], $f5=[$8]) HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available]) diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_query28.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_query28.q.out index 5fe992aeab..7e76f6d609 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_query28.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_query28.q.out @@ -118,27 +118,27 @@ HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f00=[$15], $f10=[$16], $f20=[$17], $f HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available]) HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available]) HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject($f0=[/($0, $1)], $f1=[$1], $f2=[$2]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)], $f1=[$1], $f2=[$2]) HiveAggregate(group=[{}], agg#0=[sum($12)], agg#1=[count($12)], agg#2=[count(DISTINCT $12)]) HiveFilter(condition=[AND(BETWEEN(false, $10, 0, 5), OR(BETWEEN(false, $12, 11:DECIMAL(12, 2), 21:DECIMAL(2, 0)), BETWEEN(false, $19, 460:DECIMAL(12, 2), 1460:DECIMAL(4, 0)), BETWEEN(false, $11, 14:DECIMAL(12, 2), 34:DECIMAL(2, 0))))]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)], $f1=[$1], $f2=[$2]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)], $f1=[$1], $f2=[$2]) HiveAggregate(group=[{}], agg#0=[sum($12)], agg#1=[count($12)], agg#2=[count(DISTINCT $12)]) HiveFilter(condition=[AND(BETWEEN(false, $10, 26, 30), OR(BETWEEN(false, $12, 28:DECIMAL(12, 2), 38:DECIMAL(2, 0)), BETWEEN(false, $19, 2513:DECIMAL(12, 2), 3513:DECIMAL(4, 0)), BETWEEN(false, $11, 42:DECIMAL(12, 2), 62:DECIMAL(2, 0))))]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)], $f1=[$1], $f2=[$2]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)], $f1=[$1], $f2=[$2]) HiveAggregate(group=[{}], agg#0=[sum($12)], agg#1=[count($12)], agg#2=[count(DISTINCT $12)]) HiveFilter(condition=[AND(BETWEEN(false, $10, 21, 25), OR(BETWEEN(false, $12, 135:DECIMAL(12, 2), 145:DECIMAL(3, 0)), BETWEEN(false, $19, 14180:DECIMAL(12, 2), 15180:DECIMAL(5, 0)), BETWEEN(false, $11, 38:DECIMAL(12, 2), 58:DECIMAL(2, 0))))]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)], $f1=[$1], $f2=[$2]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)], $f1=[$1], $f2=[$2]) HiveAggregate(group=[{}], agg#0=[sum($12)], agg#1=[count($12)], agg#2=[count(DISTINCT $12)]) HiveFilter(condition=[AND(BETWEEN(false, $10, 16, 20), OR(BETWEEN(false, $12, 142:DECIMAL(12, 2), 152:DECIMAL(3, 0)), BETWEEN(false, $19, 3054:DECIMAL(12, 2), 4054:DECIMAL(4, 0)), BETWEEN(false, $11, 80:DECIMAL(12, 2), 100:DECIMAL(3, 0))))]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)], $f1=[$1], $f2=[$2]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)], $f1=[$1], $f2=[$2]) HiveAggregate(group=[{}], agg#0=[sum($12)], agg#1=[count($12)], agg#2=[count(DISTINCT $12)]) HiveFilter(condition=[AND(BETWEEN(false, $10, 11, 15), OR(BETWEEN(false, $12, 66:DECIMAL(12, 2), 76:DECIMAL(2, 0)), BETWEEN(false, $19, 920:DECIMAL(12, 2), 1920:DECIMAL(4, 0)), BETWEEN(false, $11, 4:DECIMAL(12, 2), 24:DECIMAL(2, 0))))]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)], $f1=[$1], $f2=[$2]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)], $f1=[$1], $f2=[$2]) HiveAggregate(group=[{}], agg#0=[sum($12)], agg#1=[count($12)], agg#2=[count(DISTINCT $12)]) HiveFilter(condition=[AND(BETWEEN(false, $10, 6, 10), OR(BETWEEN(false, $12, 91:DECIMAL(12, 2), 101:DECIMAL(3, 0)), BETWEEN(false, $19, 1430:DECIMAL(12, 2), 2430:DECIMAL(4, 0)), BETWEEN(false, $11, 32:DECIMAL(12, 2), 52:DECIMAL(2, 0))))]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_query30.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_query30.q.out index e1cc171bdd..6fd6bfc668 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_query30.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_query30.q.out @@ -96,8 +96,8 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$4], sort5= HiveProject(d_date_sk=[$0]) HiveFilter(condition=[AND(=($6, 2002), IS NOT NULL($0))]) HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(_o__c0=[*(/($1, $2), 1.2:DECIMAL(2, 1))], ctr_state=[$0]) - HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2))]) + HiveProject(_o__c0=[*(CAST(/($1, $2)):DECIMAL(21, 6), 1.2:DECIMAL(2, 1))], ctr_state=[$0]) + HiveFilter(condition=[IS NOT NULL(CAST(/($1, $2)):DECIMAL(21, 6))]) HiveAggregate(group=[{0}], agg#0=[sum($2)], agg#1=[count($2)]) HiveProject(ca_state=[$0], wr_returning_customer_sk=[$1], $f2=[$2]) HiveAggregate(group=[{1, 3}], agg#0=[sum($5)]) diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_query32.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_query32.q.out index 9a34c1c7e6..434c31a844 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_query32.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_query32.q.out @@ -74,8 +74,8 @@ HiveAggregate(group=[{}], agg#0=[sum($2)]) HiveProject(i_item_sk=[$0]) HiveFilter(condition=[AND(=($13, 269), IS NOT NULL($0))]) HiveTableScan(table=[[default, item]], table:alias=[item]) - HiveProject(cs_item_sk=[$0], CAST=[CAST(*(1.3:DECIMAL(2, 1), /($1, $2))):DECIMAL(14, 7)]) - HiveFilter(condition=[IS NOT NULL(CAST(*(1.3:DECIMAL(2, 1), /($1, $2))):DECIMAL(14, 7))]) + HiveProject(cs_item_sk=[$0], CAST=[CAST(*(1.3:DECIMAL(2, 1), CAST(/($1, $2)):DECIMAL(11, 6))):DECIMAL(14, 7)]) + HiveFilter(condition=[IS NOT NULL(CAST(*(1.3:DECIMAL(2, 1), CAST(/($1, $2)):DECIMAL(11, 6))):DECIMAL(14, 7))]) HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]) HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15], cs_ext_discount_amt=[$22]) diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_query6.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_query6.q.out index 19410a8876..29e0d43033 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_query6.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_query6.q.out @@ -94,8 +94,8 @@ HiveSortLimit(sort0=[$1], dir0=[ASC], fetch=[100]) HiveFilter(condition=[AND(IS NOT NULL($5), IS NOT NULL($0), IS NOT NULL($12))]) HiveTableScan(table=[[default, item]], table:alias=[i]) HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject(i_category=[$0], *=[*(1.2:DECIMAL(2, 1), CAST(/($1, $2)):DECIMAL(16, 6))]) - HiveFilter(condition=[IS NOT NULL(CAST(/($1, $2)):DECIMAL(16, 6))]) + HiveProject(i_category=[$0], *=[*(1.2:DECIMAL(2, 1), CAST(CAST(/($1, $2)):DECIMAL(11, 6)):DECIMAL(16, 6))]) + HiveFilter(condition=[IS NOT NULL(CAST(CAST(/($1, $2)):DECIMAL(11, 6)):DECIMAL(16, 6))]) HiveAggregate(group=[{12}], agg#0=[sum($5)], agg#1=[count($5)]) HiveFilter(condition=[IS NOT NULL($12)]) HiveTableScan(table=[[default, item]], table:alias=[j]) diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_query65.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_query65.q.out index 5d7486cc8c..ef48ec3ccf 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_query65.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_query65.q.out @@ -87,8 +87,8 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100]) HiveProject(d_date_sk=[$0]) HiveFilter(condition=[AND(BETWEEN(false, $3, 1212, 1223), IS NOT NULL($0))]) HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject($f0=[$0], *=[*(0.1:DECIMAL(2, 1), /($1, $2))]) - HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2))]) + HiveProject($f0=[$0], *=[*(0.1:DECIMAL(2, 1), CAST(/($1, $2)):DECIMAL(21, 6))]) + HiveFilter(condition=[IS NOT NULL(CAST(/($1, $2)):DECIMAL(21, 6))]) HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]) HiveProject(ss_item_sk=[$0], ss_store_sk=[$1], $f2=[$2]) HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]) diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_query7.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_query7.q.out index 61e2ea44a3..ff14d6dd25 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_query7.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_query7.q.out @@ -52,7 +52,7 @@ POSTHOOK: Input: default@store_sales POSTHOOK: Output: hdfs://### HDFS PATH ### CBO PLAN: HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100]) - HiveProject($f0=[$0], $f1=[/(CAST($1):DOUBLE, $2)], $f2=[/($3, $4)], $f3=[/($5, $6)], $f4=[/($7, $8)]) + HiveProject($f0=[$0], $f1=[/(CAST($1):DOUBLE, $2)], $f2=[CAST(/($3, $4)):DECIMAL(11, 6)], $f3=[CAST(/($5, $6)):DECIMAL(11, 6)], $f4=[CAST(/($7, $8)):DECIMAL(11, 6)]) HiveAggregate(group=[{1}], agg#0=[sum($6)], agg#1=[count($6)], agg#2=[sum($7)], agg#3=[count($7)], agg#4=[sum($9)], agg#5=[count($9)], agg#6=[sum($8)], agg#7=[count($8)]) HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(i_item_sk=[$0], i_item_id=[$1]) diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_query81.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_query81.q.out index 0ce5febe57..a4534d239e 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_query81.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_query81.q.out @@ -97,8 +97,8 @@ HiveProject(c_customer_id=[$0], c_salutation=[$1], c_first_name=[$2], c_last_nam HiveProject(d_date_sk=[$0]) HiveFilter(condition=[AND(=($6, 1998), IS NOT NULL($0))]) HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(_o__c0=[*(/($1, $2), 1.2:DECIMAL(2, 1))], ctr_state=[$0]) - HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2))]) + HiveProject(_o__c0=[*(CAST(/($1, $2)):DECIMAL(21, 6), 1.2:DECIMAL(2, 1))], ctr_state=[$0]) + HiveFilter(condition=[IS NOT NULL(CAST(/($1, $2)):DECIMAL(21, 6))]) HiveAggregate(group=[{0}], agg#0=[sum($2)], agg#1=[count($2)]) HiveProject(ca_state=[$0], cr_returning_customer_sk=[$1], $f2=[$2]) HiveAggregate(group=[{1, 3}], agg#0=[sum($5)]) diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_query85.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_query85.q.out index 5e69ad8e8d..c8f6ded703 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_query85.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_query85.q.out @@ -183,7 +183,7 @@ POSTHOOK: Output: hdfs://### HDFS PATH ### CBO PLAN: HiveProject(_o__c0=[$0], _o__c1=[$1], _o__c2=[$2], _o__c3=[$3]) HiveSortLimit(sort0=[$7], sort1=[$4], sort2=[$5], sort3=[$6], dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC], fetch=[100]) - HiveProject(_o__c0=[substr($0, 1, 20)], _o__c1=[/(CAST($1):DOUBLE, $2)], _o__c2=[/($3, $4)], _o__c3=[/($5, $6)], (tok_function avg (tok_table_or_col ws_quantity))=[/(CAST($1):DOUBLE, $2)], (tok_function avg (tok_table_or_col wr_refunded_cash))=[/($3, $4)], (tok_function avg (tok_table_or_col wr_fee))=[/($5, $6)], (tok_function substr (tok_table_or_col r_reason_desc) 1 20)=[substr($0, 1, 20)]) + HiveProject(_o__c0=[substr($0, 1, 20)], _o__c1=[/(CAST($1):DOUBLE, $2)], _o__c2=[CAST(/($3, $4)):DECIMAL(11, 6)], _o__c3=[CAST(/($5, $6)):DECIMAL(11, 6)], (tok_function avg (tok_table_or_col ws_quantity))=[/(CAST($1):DOUBLE, $2)], (tok_function avg (tok_table_or_col wr_refunded_cash))=[CAST(/($3, $4)):DECIMAL(11, 6)], (tok_function avg (tok_table_or_col wr_fee))=[CAST(/($5, $6)):DECIMAL(11, 6)], (tok_function substr (tok_table_or_col r_reason_desc) 1 20)=[substr($0, 1, 20)]) HiveAggregate(group=[{37}], agg#0=[sum($4)], agg#1=[count($4)], agg#2=[sum($28)], agg#3=[count($28)], agg#4=[sum($27)], agg#5=[count($27)]) HiveJoin(condition=[=($2, $38)], joinType=[inner], algorithm=[none], cost=[not available]) HiveJoin(condition=[AND(=($1, $21), =($3, $26), OR(AND($15, $16, $8), AND($17, $18, $9), AND($19, $20, $10)), OR(AND($30, $5), AND($31, $6), AND($32, $7)))], joinType=[inner], algorithm=[none], cost=[not available]) diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_query9.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_query9.q.out index 3a1e1990ef..cb436c588b 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_query9.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_query9.q.out @@ -141,11 +141,11 @@ HiveProject(bucket1=[CASE($1, $2, $3)], bucket2=[CASE($4, $5, $6)], bucket3=[CAS HiveAggregate(group=[{}], agg#0=[count()]) HiveFilter(condition=[BETWEEN(false, $10, 1, 20)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)]) HiveAggregate(group=[{}], agg#0=[sum($17)], agg#1=[count($17)]) HiveFilter(condition=[BETWEEN(false, $10, 1, 20)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)]) HiveAggregate(group=[{}], agg#0=[sum($21)], agg#1=[count($21)]) HiveFilter(condition=[BETWEEN(false, $10, 1, 20)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) @@ -153,11 +153,11 @@ HiveProject(bucket1=[CASE($1, $2, $3)], bucket2=[CASE($4, $5, $6)], bucket3=[CAS HiveAggregate(group=[{}], agg#0=[count()]) HiveFilter(condition=[BETWEEN(false, $10, 21, 40)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)]) HiveAggregate(group=[{}], agg#0=[sum($17)], agg#1=[count($17)]) HiveFilter(condition=[BETWEEN(false, $10, 21, 40)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)]) HiveAggregate(group=[{}], agg#0=[sum($21)], agg#1=[count($21)]) HiveFilter(condition=[BETWEEN(false, $10, 21, 40)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) @@ -165,11 +165,11 @@ HiveProject(bucket1=[CASE($1, $2, $3)], bucket2=[CASE($4, $5, $6)], bucket3=[CAS HiveAggregate(group=[{}], agg#0=[count()]) HiveFilter(condition=[BETWEEN(false, $10, 41, 60)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)]) HiveAggregate(group=[{}], agg#0=[sum($17)], agg#1=[count($17)]) HiveFilter(condition=[BETWEEN(false, $10, 41, 60)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)]) HiveAggregate(group=[{}], agg#0=[sum($21)], agg#1=[count($21)]) HiveFilter(condition=[BETWEEN(false, $10, 41, 60)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) @@ -177,11 +177,11 @@ HiveProject(bucket1=[CASE($1, $2, $3)], bucket2=[CASE($4, $5, $6)], bucket3=[CAS HiveAggregate(group=[{}], agg#0=[count()]) HiveFilter(condition=[BETWEEN(false, $10, 61, 80)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)]) HiveAggregate(group=[{}], agg#0=[sum($17)], agg#1=[count($17)]) HiveFilter(condition=[BETWEEN(false, $10, 61, 80)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)]) HiveAggregate(group=[{}], agg#0=[sum($21)], agg#1=[count($21)]) HiveFilter(condition=[BETWEEN(false, $10, 61, 80)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) @@ -189,11 +189,11 @@ HiveProject(bucket1=[CASE($1, $2, $3)], bucket2=[CASE($4, $5, $6)], bucket3=[CAS HiveAggregate(group=[{}], agg#0=[count()]) HiveFilter(condition=[BETWEEN(false, $10, 81, 100)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)]) HiveAggregate(group=[{}], agg#0=[sum($17)], agg#1=[count($17)]) HiveFilter(condition=[BETWEEN(false, $10, 81, 100)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)]) HiveAggregate(group=[{}], agg#0=[sum($21)], agg#1=[count($21)]) HiveFilter(condition=[BETWEEN(false, $10, 81, 100)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) diff --git a/ql/src/test/results/clientpositive/perf/tez/cbo_query92.q.out b/ql/src/test/results/clientpositive/perf/tez/cbo_query92.q.out index f1640b1327..7c9f736e85 100644 --- a/ql/src/test/results/clientpositive/perf/tez/cbo_query92.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/cbo_query92.q.out @@ -78,8 +78,8 @@ HiveAggregate(group=[{}], agg#0=[sum($2)]) HiveProject(i_item_sk=[$0]) HiveFilter(condition=[AND(=($13, 269), IS NOT NULL($0))]) HiveTableScan(table=[[default, item]], table:alias=[item]) - HiveProject(ws_item_sk=[$0], CAST=[CAST(*(1.3:DECIMAL(2, 1), /($1, $2))):DECIMAL(14, 7)]) - HiveFilter(condition=[IS NOT NULL(CAST(*(1.3:DECIMAL(2, 1), /($1, $2))):DECIMAL(14, 7))]) + HiveProject(ws_item_sk=[$0], CAST=[CAST(*(1.3:DECIMAL(2, 1), CAST(/($1, $2)):DECIMAL(11, 6))):DECIMAL(14, 7)]) + HiveFilter(condition=[IS NOT NULL(CAST(*(1.3:DECIMAL(2, 1), CAST(/($1, $2)):DECIMAL(11, 6))):DECIMAL(14, 7))]) HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]) HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_ext_discount_amt=[$22]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_ext_query1.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_ext_query1.q.out index ac1394ea32..cc80973d91 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_ext_query1.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_ext_query1.q.out @@ -77,8 +77,8 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100]): rowcount = ###Masked###, cum HiveProject(d_date_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveFilter(condition=[=($6, 2000)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveProject(_o__c0=[*(/($1, $2), 1.2:DECIMAL(2, 1))], ctr_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveProject(_o__c0=[*(CAST(/($1, $2)):DECIMAL(21, 6), 1.2:DECIMAL(2, 1))], ctr_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveFilter(condition=[IS NOT NULL(CAST(/($1, $2)):DECIMAL(21, 6))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### @@ -151,10 +151,10 @@ POSTHOOK: Output: hdfs://### HDFS PATH ### CBO PLAN: HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveProject(c_customer_id=[$1]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[{8.036998822876796E7 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[{8.000000566321465E7 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveProject(c_customer_sk=[$0], c_customer_id=[$1]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveTableScan(table=[[default, customer]], table:alias=[customer]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveJoin(condition=[AND(=($2, $5), >($3, $4))], joinType=[inner], algorithm=[none], cost=[{374952.69636986067 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveJoin(condition=[AND(=($2, $5), >($3, $4))], joinType=[inner], algorithm=[none], cost=[{9294.436653471346 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveJoin(condition=[=($0, $2)], joinType=[inner], algorithm=[none], cost=[{455187.9173657213 rows, 0.0 cpu, 0.0 io}]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveProject(s_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveFilter(condition=[=($24, _UTF-16LE'NM')]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### @@ -169,8 +169,8 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100]): rowcount = ###Masked###, cum HiveProject(d_date_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveFilter(condition=[=($6, 2000)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveProject(_o__c0=[*(/($1, $2), 1.2:DECIMAL(2, 1))], ctr_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveProject(_o__c0=[*(CAST(/($1, $2)):DECIMAL(21, 6), 1.2:DECIMAL(2, 1))], ctr_store_sk=[$0]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveFilter(condition=[IS NOT NULL(CAST(/($1, $2)):DECIMAL(21, 6))]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query1.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query1.q.out index 6eb5a956f1..210badb740 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query1.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query1.q.out @@ -77,8 +77,8 @@ HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100]) HiveProject(d_date_sk=[$0]) HiveFilter(condition=[=($6, 2000)]) HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(_o__c0=[*(/($1, $2), 1.2:DECIMAL(2, 1))], ctr_store_sk=[$0]) - HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2))]) + HiveProject(_o__c0=[*(CAST(/($1, $2)):DECIMAL(21, 6), 1.2:DECIMAL(2, 1))], ctr_store_sk=[$0]) + HiveFilter(condition=[IS NOT NULL(CAST(/($1, $2)):DECIMAL(21, 6))]) HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]) HiveProject(sr_customer_sk=[$0], sr_store_sk=[$1], $f2=[$2]) HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query13.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query13.q.out index b70f23c643..b87661b78b 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query13.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query13.q.out @@ -113,7 +113,7 @@ POSTHOOK: Input: default@store POSTHOOK: Input: default@store_sales POSTHOOK: Output: hdfs://### HDFS PATH ### CBO PLAN: -HiveProject($f0=[/(CAST($0):DOUBLE, $1)], $f1=[/($2, $3)], $f2=[/($4, $5)], $f3=[CAST($4):DECIMAL(17, 2)]) +HiveProject($f0=[/(CAST($0):DOUBLE, $1)], $f1=[CAST(/($2, $3)):DECIMAL(11, 6)], $f2=[CAST(/($4, $5)):DECIMAL(11, 6)], $f3=[CAST($4):DECIMAL(17, 2)]) HiveAggregate(group=[{}], agg#0=[sum($15)], agg#1=[count($15)], agg#2=[sum($16)], agg#3=[count($16)], agg#4=[sum($17)], agg#5=[count($17)]) HiveJoin(condition=[AND(=($13, $25), OR(AND($1, $2, $21, $26), AND($3, $4, $22, $27), AND($5, $6, $23, $27)))], joinType=[inner], algorithm=[none], cost=[not available]) HiveJoin(condition=[=($0, $12)], joinType=[inner], algorithm=[none], cost=[not available]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query14.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query14.q.out index e751d073e2..eaa1defa81 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query14.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query14.q.out @@ -291,8 +291,8 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[ HiveProject(d_date_sk=[$0]) HiveFilter(condition=[AND(=($6, 2000), =($8, 11))]) HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject($f0=[/($0, $1)]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(22, 6)]) + HiveFilter(condition=[IS NOT NULL(CAST(/($0, $1)):DECIMAL(22, 6))]) HiveProject($f0=[$0], $f1=[$1]) HiveAggregate(group=[{}], agg#0=[sum($0)], agg#1=[count($0)]) HiveProject($f0=[*(CAST($0):DECIMAL(10, 0), $1)]) @@ -387,8 +387,8 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[ HiveProject(d_date_sk=[$0]) HiveFilter(condition=[AND(=($6, 2000), =($8, 11))]) HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject($f0=[/($0, $1)]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(22, 6)]) + HiveFilter(condition=[IS NOT NULL(CAST(/($0, $1)):DECIMAL(22, 6))]) HiveProject($f0=[$0], $f1=[$1]) HiveAggregate(group=[{}], agg#0=[sum($0)], agg#1=[count($0)]) HiveProject($f0=[*(CAST($0):DECIMAL(10, 0), $1)]) @@ -483,8 +483,8 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], dir0=[ASC], dir1=[ HiveProject(d_date_sk=[$0]) HiveFilter(condition=[AND(=($6, 2000), =($8, 11))]) HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject($f0=[/($0, $1)]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(22, 6)]) + HiveFilter(condition=[IS NOT NULL(CAST(/($0, $1)):DECIMAL(22, 6))]) HiveProject($f0=[$0], $f1=[$1]) HiveAggregate(group=[{}], agg#0=[sum($0)], agg#1=[count($0)]) HiveProject($f0=[*(CAST($0):DECIMAL(10, 0), $1)]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query18.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query18.q.out index 82d5661402..c5cd8b552d 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query18.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query18.q.out @@ -80,7 +80,7 @@ POSTHOOK: Input: default@item POSTHOOK: Output: hdfs://### HDFS PATH ### CBO PLAN: HiveSortLimit(sort0=[$1], sort1=[$2], sort2=[$3], sort3=[$0], dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC], fetch=[100]) - HiveProject($f0=[$0], $f1=[$3], $f2=[$2], $f3=[$1], $f4=[/($4, $5)], $f5=[/($6, $7)], $f6=[/($8, $9)], $f7=[/($10, $11)], $f8=[/($12, $13)], $f9=[/($14, $15)], $f10=[/($16, $17)]) + HiveProject($f0=[$0], $f1=[$3], $f2=[$2], $f3=[$1], $f4=[CAST(/($4, $5)):DECIMAL(16, 6)], $f5=[CAST(/($6, $7)):DECIMAL(16, 6)], $f6=[CAST(/($8, $9)):DECIMAL(16, 6)], $f7=[CAST(/($10, $11)):DECIMAL(16, 6)], $f8=[CAST(/($12, $13)):DECIMAL(16, 6)], $f9=[CAST(/($14, $15)):DECIMAL(16, 6)], $f10=[CAST(/($16, $17)):DECIMAL(16, 6)]) HiveAggregate(group=[{1, 7, 8, 9}], groups=[[{1, 7, 8, 9}, {1, 8, 9}, {1, 9}, {1}, {}]], agg#0=[sum($14)], agg#1=[count($14)], agg#2=[sum($15)], agg#3=[count($15)], agg#4=[sum($16)], agg#5=[count($16)], agg#6=[sum($17)], agg#7=[count($17)], agg#8=[sum($18)], agg#9=[count($18)], agg#10=[sum($5)], agg#11=[count($5)], agg#12=[sum($21)], agg#13=[count($21)]) HiveJoin(condition=[=($3, $22)], joinType=[inner], algorithm=[none], cost=[not available]) HiveJoin(condition=[=($13, $0)], joinType=[inner], algorithm=[none], cost=[not available]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query24.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query24.q.out index 4fe5b3a4ed..896495235d 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query24.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query24.q.out @@ -145,8 +145,8 @@ HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f3=[$3]) HiveProject(i_item_sk=[$0], i_current_price=[$5], i_size=[$15], i_units=[$18], i_manager_id=[$20]) HiveFilter(condition=[=($17, _UTF-16LE'orchid')]) HiveTableScan(table=[[default, item]], table:alias=[item]) - HiveProject(_o__c0=[*(0.05:DECIMAL(3, 2), /($0, $1))]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) + HiveProject(_o__c0=[*(0.05:DECIMAL(3, 2), CAST(/($0, $1)):DECIMAL(21, 6))]) + HiveFilter(condition=[IS NOT NULL(CAST(/($0, $1)):DECIMAL(21, 6))]) HiveProject($f0=[$0], $f1=[$1]) HiveAggregate(group=[{}], agg#0=[sum($10)], agg#1=[count($10)]) HiveProject(c_first_name=[$0], c_last_name=[$1], ca_state=[$2], s_store_name=[$3], s_state=[$4], i_current_price=[$5], i_size=[$6], i_color=[$7], i_units=[$8], i_manager_id=[$9], $f10=[$10]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query26.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query26.q.out index e91d2b4aa8..0e8988986e 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query26.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query26.q.out @@ -52,7 +52,7 @@ POSTHOOK: Input: default@promotion POSTHOOK: Output: hdfs://### HDFS PATH ### CBO PLAN: HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100]) - HiveProject($f0=[$0], $f1=[/(CAST($1):DOUBLE, $2)], $f2=[/($3, $4)], $f3=[/($5, $6)], $f4=[/($7, $8)]) + HiveProject($f0=[$0], $f1=[/(CAST($1):DOUBLE, $2)], $f2=[CAST(/($3, $4)):DECIMAL(11, 6)], $f3=[CAST(/($5, $6)):DECIMAL(11, 6)], $f4=[CAST(/($7, $8)):DECIMAL(11, 6)]) HiveAggregate(group=[{1}], agg#0=[sum($6)], agg#1=[count($6)], agg#2=[sum($7)], agg#3=[count($7)], agg#4=[sum($9)], agg#5=[count($9)], agg#6=[sum($8)], agg#7=[count($8)]) HiveJoin(condition=[=($4, $0)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(i_item_sk=[$0], i_item_id=[$1]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query27.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query27.q.out index d01e0afb7d..4ce4b8f143 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query27.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query27.q.out @@ -56,7 +56,7 @@ POSTHOOK: Input: default@store_sales POSTHOOK: Output: hdfs://### HDFS PATH ### CBO PLAN: HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100]) - HiveProject(i_item_id=[$0], s_state=[$1], g_state=[grouping($10, 0:BIGINT)], agg1=[/(CAST($2):DOUBLE, $3)], agg2=[/($4, $5)], agg3=[/($6, $7)], agg4=[/($8, $9)]) + HiveProject(i_item_id=[$0], s_state=[$1], g_state=[grouping($10, 0:BIGINT)], agg1=[/(CAST($2):DOUBLE, $3)], agg2=[CAST(/($4, $5)):DECIMAL(11, 6)], agg3=[CAST(/($6, $7)):DECIMAL(11, 6)], agg4=[CAST(/($8, $9)):DECIMAL(11, 6)]) HiveAggregate(group=[{0, 1}], groups=[[{0, 1}, {0}, {}]], agg#0=[sum($2)], agg#1=[count($2)], agg#2=[sum($3)], agg#3=[count($3)], agg#4=[sum($4)], agg#5=[count($4)], agg#6=[sum($5)], agg#7=[count($5)], GROUPING__ID=[GROUPING__ID()]) HiveProject($f0=[$1], $f1=[$13], $f2=[$6], $f3=[$7], $f4=[$9], $f5=[$8]) HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query28.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query28.q.out index 5fe992aeab..7e76f6d609 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query28.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query28.q.out @@ -118,27 +118,27 @@ HiveProject($f0=[$0], $f1=[$1], $f2=[$2], $f00=[$15], $f10=[$16], $f20=[$17], $f HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available]) HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available]) HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available]) - HiveProject($f0=[/($0, $1)], $f1=[$1], $f2=[$2]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)], $f1=[$1], $f2=[$2]) HiveAggregate(group=[{}], agg#0=[sum($12)], agg#1=[count($12)], agg#2=[count(DISTINCT $12)]) HiveFilter(condition=[AND(BETWEEN(false, $10, 0, 5), OR(BETWEEN(false, $12, 11:DECIMAL(12, 2), 21:DECIMAL(2, 0)), BETWEEN(false, $19, 460:DECIMAL(12, 2), 1460:DECIMAL(4, 0)), BETWEEN(false, $11, 14:DECIMAL(12, 2), 34:DECIMAL(2, 0))))]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)], $f1=[$1], $f2=[$2]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)], $f1=[$1], $f2=[$2]) HiveAggregate(group=[{}], agg#0=[sum($12)], agg#1=[count($12)], agg#2=[count(DISTINCT $12)]) HiveFilter(condition=[AND(BETWEEN(false, $10, 26, 30), OR(BETWEEN(false, $12, 28:DECIMAL(12, 2), 38:DECIMAL(2, 0)), BETWEEN(false, $19, 2513:DECIMAL(12, 2), 3513:DECIMAL(4, 0)), BETWEEN(false, $11, 42:DECIMAL(12, 2), 62:DECIMAL(2, 0))))]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)], $f1=[$1], $f2=[$2]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)], $f1=[$1], $f2=[$2]) HiveAggregate(group=[{}], agg#0=[sum($12)], agg#1=[count($12)], agg#2=[count(DISTINCT $12)]) HiveFilter(condition=[AND(BETWEEN(false, $10, 21, 25), OR(BETWEEN(false, $12, 135:DECIMAL(12, 2), 145:DECIMAL(3, 0)), BETWEEN(false, $19, 14180:DECIMAL(12, 2), 15180:DECIMAL(5, 0)), BETWEEN(false, $11, 38:DECIMAL(12, 2), 58:DECIMAL(2, 0))))]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)], $f1=[$1], $f2=[$2]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)], $f1=[$1], $f2=[$2]) HiveAggregate(group=[{}], agg#0=[sum($12)], agg#1=[count($12)], agg#2=[count(DISTINCT $12)]) HiveFilter(condition=[AND(BETWEEN(false, $10, 16, 20), OR(BETWEEN(false, $12, 142:DECIMAL(12, 2), 152:DECIMAL(3, 0)), BETWEEN(false, $19, 3054:DECIMAL(12, 2), 4054:DECIMAL(4, 0)), BETWEEN(false, $11, 80:DECIMAL(12, 2), 100:DECIMAL(3, 0))))]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)], $f1=[$1], $f2=[$2]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)], $f1=[$1], $f2=[$2]) HiveAggregate(group=[{}], agg#0=[sum($12)], agg#1=[count($12)], agg#2=[count(DISTINCT $12)]) HiveFilter(condition=[AND(BETWEEN(false, $10, 11, 15), OR(BETWEEN(false, $12, 66:DECIMAL(12, 2), 76:DECIMAL(2, 0)), BETWEEN(false, $19, 920:DECIMAL(12, 2), 1920:DECIMAL(4, 0)), BETWEEN(false, $11, 4:DECIMAL(12, 2), 24:DECIMAL(2, 0))))]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)], $f1=[$1], $f2=[$2]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)], $f1=[$1], $f2=[$2]) HiveAggregate(group=[{}], agg#0=[sum($12)], agg#1=[count($12)], agg#2=[count(DISTINCT $12)]) HiveFilter(condition=[AND(BETWEEN(false, $10, 6, 10), OR(BETWEEN(false, $12, 91:DECIMAL(12, 2), 101:DECIMAL(3, 0)), BETWEEN(false, $19, 1430:DECIMAL(12, 2), 2430:DECIMAL(4, 0)), BETWEEN(false, $11, 32:DECIMAL(12, 2), 52:DECIMAL(2, 0))))]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query30.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query30.q.out index b52604beb8..ae81e139f3 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query30.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query30.q.out @@ -96,8 +96,8 @@ HiveSortLimit(sort0=[$0], sort1=[$1], sort2=[$2], sort3=[$3], sort4=[$4], sort5= HiveProject(d_date_sk=[$0]) HiveFilter(condition=[=($6, 2002)]) HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(_o__c0=[*(/($1, $2), 1.2:DECIMAL(2, 1))], ctr_state=[$0]) - HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2))]) + HiveProject(_o__c0=[*(CAST(/($1, $2)):DECIMAL(21, 6), 1.2:DECIMAL(2, 1))], ctr_state=[$0]) + HiveFilter(condition=[IS NOT NULL(CAST(/($1, $2)):DECIMAL(21, 6))]) HiveAggregate(group=[{0}], agg#0=[sum($2)], agg#1=[count($2)]) HiveProject(ca_state=[$0], wr_returning_customer_sk=[$1], $f2=[$2]) HiveAggregate(group=[{1, 3}], agg#0=[sum($5)]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query32.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query32.q.out index 2041398ac6..ddeb3fd49a 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query32.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query32.q.out @@ -74,8 +74,8 @@ HiveAggregate(group=[{}], agg#0=[sum($2)]) HiveProject(i_item_sk=[$0]) HiveFilter(condition=[=($13, 269)]) HiveTableScan(table=[[default, item]], table:alias=[item]) - HiveProject(cs_item_sk=[$0], CAST3=[CAST(*(1.3:DECIMAL(2, 1), /($1, $2))):DECIMAL(14, 7)]) - HiveFilter(condition=[IS NOT NULL(CAST(*(1.3:DECIMAL(2, 1), /($1, $2))):DECIMAL(14, 7))]) + HiveProject(cs_item_sk=[$0], CAST3=[CAST(*(1.3:DECIMAL(2, 1), CAST(/($1, $2)):DECIMAL(11, 6))):DECIMAL(14, 7)]) + HiveFilter(condition=[IS NOT NULL(CAST(*(1.3:DECIMAL(2, 1), CAST(/($1, $2)):DECIMAL(11, 6))):DECIMAL(14, 7))]) HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]) HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(cs_sold_date_sk=[$0], cs_item_sk=[$15], cs_ext_discount_amt=[$22]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query6.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query6.q.out index c2151f9b91..a25bb08942 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query6.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query6.q.out @@ -92,8 +92,8 @@ HiveSortLimit(sort0=[$1], dir0=[ASC], fetch=[100]) HiveProject(i_item_sk=[$0], i_current_price=[$5], i_category=[$12]) HiveFilter(condition=[AND(IS NOT NULL($5), IS NOT NULL($12))]) HiveTableScan(table=[[default, item]], table:alias=[i]) - HiveProject(i_category=[$0], *=[*(1.2:DECIMAL(2, 1), CAST(/($1, $2)):DECIMAL(16, 6))]) - HiveFilter(condition=[IS NOT NULL(CAST(/($1, $2)):DECIMAL(16, 6))]) + HiveProject(i_category=[$0], *=[*(1.2:DECIMAL(2, 1), CAST(CAST(/($1, $2)):DECIMAL(11, 6)):DECIMAL(16, 6))]) + HiveFilter(condition=[IS NOT NULL(CAST(CAST(/($1, $2)):DECIMAL(11, 6)):DECIMAL(16, 6))]) HiveAggregate(group=[{12}], agg#0=[sum($5)], agg#1=[count($5)]) HiveFilter(condition=[IS NOT NULL($12)]) HiveTableScan(table=[[default, item]], table:alias=[j]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query65.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query65.q.out index 6028a5c1d6..af746307b7 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query65.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query65.q.out @@ -83,8 +83,8 @@ HiveSortLimit(sort0=[$0], sort1=[$1], dir0=[ASC], dir1=[ASC], fetch=[100]) HiveProject(d_date_sk=[$0]) HiveFilter(condition=[BETWEEN(false, $3, 1212, 1223)]) HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject($f0=[$0], *=[*(0.1:DECIMAL(2, 1), /($1, $2))]) - HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2))]) + HiveProject($f0=[$0], *=[*(0.1:DECIMAL(2, 1), CAST(/($1, $2)):DECIMAL(21, 6))]) + HiveFilter(condition=[IS NOT NULL(CAST(/($1, $2)):DECIMAL(21, 6))]) HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]) HiveProject(ss_item_sk=[$0], ss_store_sk=[$1], $f2=[$2]) HiveAggregate(group=[{1, 2}], agg#0=[sum($3)]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query7.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query7.q.out index 56c09fc01d..77580d817a 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query7.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query7.q.out @@ -52,7 +52,7 @@ POSTHOOK: Input: default@store_sales POSTHOOK: Output: hdfs://### HDFS PATH ### CBO PLAN: HiveSortLimit(sort0=[$0], dir0=[ASC], fetch=[100]) - HiveProject($f0=[$0], $f1=[/(CAST($1):DOUBLE, $2)], $f2=[/($3, $4)], $f3=[/($5, $6)], $f4=[/($7, $8)]) + HiveProject($f0=[$0], $f1=[/(CAST($1):DOUBLE, $2)], $f2=[CAST(/($3, $4)):DECIMAL(11, 6)], $f3=[CAST(/($5, $6)):DECIMAL(11, 6)], $f4=[CAST(/($7, $8)):DECIMAL(11, 6)]) HiveAggregate(group=[{1}], agg#0=[sum($6)], agg#1=[count($6)], agg#2=[sum($7)], agg#3=[count($7)], agg#4=[sum($9)], agg#5=[count($9)], agg#6=[sum($8)], agg#7=[count($8)]) HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(i_item_sk=[$0], i_item_id=[$1]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query81.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query81.q.out index f94e41df03..1b985b5748 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query81.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query81.q.out @@ -97,8 +97,8 @@ HiveProject(c_customer_id=[$0], c_salutation=[$1], c_first_name=[$2], c_last_nam HiveProject(d_date_sk=[$0]) HiveFilter(condition=[=($6, 1998)]) HiveTableScan(table=[[default, date_dim]], table:alias=[date_dim]) - HiveProject(_o__c0=[*(/($1, $2), 1.2:DECIMAL(2, 1))], ctr_state=[$0]) - HiveFilter(condition=[AND(IS NOT NULL($1), IS NOT NULL($2))]) + HiveProject(_o__c0=[*(CAST(/($1, $2)):DECIMAL(21, 6), 1.2:DECIMAL(2, 1))], ctr_state=[$0]) + HiveFilter(condition=[IS NOT NULL(CAST(/($1, $2)):DECIMAL(21, 6))]) HiveAggregate(group=[{0}], agg#0=[sum($2)], agg#1=[count($2)]) HiveProject(ca_state=[$0], cr_returning_customer_sk=[$1], $f2=[$2]) HiveAggregate(group=[{1, 3}], agg#0=[sum($5)]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query85.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query85.q.out index a9a45073ff..34320030ff 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query85.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query85.q.out @@ -183,7 +183,7 @@ POSTHOOK: Output: hdfs://### HDFS PATH ### CBO PLAN: HiveProject(_o__c0=[$0], _o__c1=[$1], _o__c2=[$2], _o__c3=[$3]) HiveSortLimit(sort0=[$7], sort1=[$4], sort2=[$5], sort3=[$6], dir0=[ASC], dir1=[ASC], dir2=[ASC], dir3=[ASC], fetch=[100]) - HiveProject(_o__c0=[substr($0, 1, 20)], _o__c1=[/(CAST($1):DOUBLE, $2)], _o__c2=[/($3, $4)], _o__c3=[/($5, $6)], (tok_function avg (tok_table_or_col ws_quantity))=[/(CAST($1):DOUBLE, $2)], (tok_function avg (tok_table_or_col wr_refunded_cash))=[/($3, $4)], (tok_function avg (tok_table_or_col wr_fee))=[/($5, $6)], (tok_function substr (tok_table_or_col r_reason_desc) 1 20)=[substr($0, 1, 20)]) + HiveProject(_o__c0=[substr($0, 1, 20)], _o__c1=[/(CAST($1):DOUBLE, $2)], _o__c2=[CAST(/($3, $4)):DECIMAL(11, 6)], _o__c3=[CAST(/($5, $6)):DECIMAL(11, 6)], (tok_function avg (tok_table_or_col ws_quantity))=[/(CAST($1):DOUBLE, $2)], (tok_function avg (tok_table_or_col wr_refunded_cash))=[CAST(/($3, $4)):DECIMAL(11, 6)], (tok_function avg (tok_table_or_col wr_fee))=[CAST(/($5, $6)):DECIMAL(11, 6)], (tok_function substr (tok_table_or_col r_reason_desc) 1 20)=[substr($0, 1, 20)]) HiveAggregate(group=[{1}], agg#0=[sum($5)], agg#1=[count($5)], agg#2=[sum($29)], agg#3=[count($29)], agg#4=[sum($28)], agg#5=[count($28)]) HiveJoin(condition=[=($0, $26)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(r_reason_sk=[$0], r_reason_desc=[$2]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query9.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query9.q.out index 4a92def905..56541f2f67 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query9.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query9.q.out @@ -141,11 +141,11 @@ HiveProject(bucket1=[CASE($1, $2, $3)], bucket2=[CASE($4, $5, $6)], bucket3=[CAS HiveAggregate(group=[{}], agg#0=[count()]) HiveFilter(condition=[BETWEEN(false, $10, 1, 20)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)]) HiveAggregate(group=[{}], agg#0=[sum($17)], agg#1=[count($17)]) HiveFilter(condition=[BETWEEN(false, $10, 1, 20)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)]) HiveAggregate(group=[{}], agg#0=[sum($21)], agg#1=[count($21)]) HiveFilter(condition=[BETWEEN(false, $10, 1, 20)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) @@ -153,11 +153,11 @@ HiveProject(bucket1=[CASE($1, $2, $3)], bucket2=[CASE($4, $5, $6)], bucket3=[CAS HiveAggregate(group=[{}], agg#0=[count()]) HiveFilter(condition=[BETWEEN(false, $10, 21, 40)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)]) HiveAggregate(group=[{}], agg#0=[sum($17)], agg#1=[count($17)]) HiveFilter(condition=[BETWEEN(false, $10, 21, 40)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)]) HiveAggregate(group=[{}], agg#0=[sum($21)], agg#1=[count($21)]) HiveFilter(condition=[BETWEEN(false, $10, 21, 40)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) @@ -165,11 +165,11 @@ HiveProject(bucket1=[CASE($1, $2, $3)], bucket2=[CASE($4, $5, $6)], bucket3=[CAS HiveAggregate(group=[{}], agg#0=[count()]) HiveFilter(condition=[BETWEEN(false, $10, 41, 60)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)]) HiveAggregate(group=[{}], agg#0=[sum($17)], agg#1=[count($17)]) HiveFilter(condition=[BETWEEN(false, $10, 41, 60)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)]) HiveAggregate(group=[{}], agg#0=[sum($21)], agg#1=[count($21)]) HiveFilter(condition=[BETWEEN(false, $10, 41, 60)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) @@ -177,11 +177,11 @@ HiveProject(bucket1=[CASE($1, $2, $3)], bucket2=[CASE($4, $5, $6)], bucket3=[CAS HiveAggregate(group=[{}], agg#0=[count()]) HiveFilter(condition=[BETWEEN(false, $10, 61, 80)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)]) HiveAggregate(group=[{}], agg#0=[sum($17)], agg#1=[count($17)]) HiveFilter(condition=[BETWEEN(false, $10, 61, 80)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)]) HiveAggregate(group=[{}], agg#0=[sum($21)], agg#1=[count($21)]) HiveFilter(condition=[BETWEEN(false, $10, 61, 80)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) @@ -189,11 +189,11 @@ HiveProject(bucket1=[CASE($1, $2, $3)], bucket2=[CASE($4, $5, $6)], bucket3=[CAS HiveAggregate(group=[{}], agg#0=[count()]) HiveFilter(condition=[BETWEEN(false, $10, 81, 100)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)]) HiveAggregate(group=[{}], agg#0=[sum($17)], agg#1=[count($17)]) HiveFilter(condition=[BETWEEN(false, $10, 81, 100)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(11, 6)]) HiveAggregate(group=[{}], agg#0=[sum($21)], agg#1=[count($21)]) HiveFilter(condition=[BETWEEN(false, $10, 81, 100)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query92.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query92.q.out index b1cbf0cd15..28774eb40c 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query92.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/cbo_query92.q.out @@ -78,8 +78,8 @@ HiveAggregate(group=[{}], agg#0=[sum($2)]) HiveProject(i_item_sk=[$0]) HiveFilter(condition=[=($13, 269)]) HiveTableScan(table=[[default, item]], table:alias=[item]) - HiveProject(ws_item_sk=[$0], CAST3=[CAST(*(1.3:DECIMAL(2, 1), /($1, $2))):DECIMAL(14, 7)]) - HiveFilter(condition=[IS NOT NULL(CAST(*(1.3:DECIMAL(2, 1), /($1, $2))):DECIMAL(14, 7))]) + HiveProject(ws_item_sk=[$0], CAST3=[CAST(*(1.3:DECIMAL(2, 1), CAST(/($1, $2)):DECIMAL(11, 6))):DECIMAL(14, 7)]) + HiveFilter(condition=[IS NOT NULL(CAST(*(1.3:DECIMAL(2, 1), CAST(/($1, $2)):DECIMAL(11, 6))):DECIMAL(14, 7))]) HiveAggregate(group=[{1}], agg#0=[sum($2)], agg#1=[count($2)]) HiveJoin(condition=[=($3, $0)], joinType=[inner], algorithm=[none], cost=[not available]) HiveProject(ws_sold_date_sk=[$0], ws_item_sk=[$3], ws_ext_discount_amt=[$22]) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/mv_query44.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/mv_query44.q.out index 195a7e46d6..1fcd766416 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/mv_query44.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/mv_query44.q.out @@ -171,7 +171,7 @@ Stage-0 Select Operator [SEL_132] (rows=1 width=112) Output:["_col0"] Filter Operator [FIL_131] (rows=1 width=120) - predicate:(_col1 is not null and _col2 is not null) + predicate:CAST( (_col1 / _col2) AS decimal(11,6)) is not null Select Operator [SEL_130] (rows=1 width=120) Output:["_col1","_col2"] Group By Operator [GBY_129] (rows=1 width=124) @@ -192,7 +192,7 @@ Stage-0 Select Operator [SEL_123] (rows=62562 width=116) Output:["_col0","_col1"] Filter Operator [FIL_122] (rows=62562 width=124) - predicate:(_col1 is not null and _col2 is not null) + predicate:CAST( (_col1 / _col2) AS decimal(11,6)) is not null Group By Operator [GBY_121] (rows=62562 width=124) Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 <-Map 1 [SIMPLE_EDGE] vectorized diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query1.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query1.q.out index 6358930eee..a5a177d7c7 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/query1.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query1.q.out @@ -106,7 +106,7 @@ Stage-0 Select Operator [SEL_159] (rows=85 width=115) Output:["_col0","_col1"] Filter Operator [FIL_158] (rows=85 width=123) - predicate:(_col1 is not null and _col2 is not null) + predicate:CAST( (_col1 / _col2) AS decimal(21,6)) is not null Group By Operator [GBY_157] (rows=85 width=123) Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col1 Select Operator [SEL_156] (rows=53634860 width=119) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query14.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query14.q.out index 4f811c01ce..69c570f4d7 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/query14.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query14.q.out @@ -568,7 +568,7 @@ Stage-0 Select Operator [SEL_1381] (rows=1 width=112) Output:["_col0"] Filter Operator [FIL_1380] (rows=1 width=120) - predicate:(_col0 is not null and _col1 is not null) + predicate:CAST( (_col0 / _col1) AS decimal(22,6)) is not null Group By Operator [GBY_1379] (rows=1 width=120) Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"] <-Union 58 [CUSTOM_SIMPLE_EDGE] @@ -813,7 +813,7 @@ Stage-0 Select Operator [SEL_1397] (rows=1 width=112) Output:["_col0"] Filter Operator [FIL_1396] (rows=1 width=120) - predicate:(_col0 is not null and _col1 is not null) + predicate:CAST( (_col0 / _col1) AS decimal(22,6)) is not null Group By Operator [GBY_1395] (rows=1 width=120) Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"] <-Union 61 [CUSTOM_SIMPLE_EDGE] @@ -1000,7 +1000,7 @@ Stage-0 Select Operator [SEL_1359] (rows=1 width=112) Output:["_col0"] Filter Operator [FIL_1358] (rows=1 width=120) - predicate:(_col0 is not null and _col1 is not null) + predicate:CAST( (_col0 / _col1) AS decimal(22,6)) is not null Group By Operator [GBY_1357] (rows=1 width=120) Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"] <-Union 54 [CUSTOM_SIMPLE_EDGE] diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query1b.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query1b.q.out index f6a9f09c68..a6d0d1afe8 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/query1b.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query1b.q.out @@ -389,10 +389,10 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 85 Data size: 10532 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (_col1 is not null and _col2 is not null) (type: boolean) + predicate: CAST( (_col1 / _col2) AS decimal(21,6)) is not null (type: boolean) Statistics: Num rows: 85 Data size: 10532 Basic stats: COMPLETE Column stats: COMPLETE Select Operator - expressions: ((_col1 / _col2) * 1.2) (type: decimal(38,11)), _col0 (type: int) + expressions: (CAST( (_col1 / _col2) AS decimal(21,6)) * 1.2) (type: decimal(24,7)), _col0 (type: int) outputColumnNames: _col0, _col1 Statistics: Num rows: 85 Data size: 9852 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator @@ -401,7 +401,7 @@ STAGE PLANS: sort order: + Map-reduce partition columns: _col1 (type: int) Statistics: Num rows: 85 Data size: 9852 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col0 (type: decimal(38,11)) + value expressions: _col0 (type: decimal(24,7)) Stage: Stage-0 Fetch Operator diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query24.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query24.q.out index eb60b78ea6..87895bd1f3 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/query24.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query24.q.out @@ -150,7 +150,7 @@ Stage-0 Select Operator [SEL_344] (rows=1 width=112) Output:["_col0"] Filter Operator [FIL_343] (rows=1 width=120) - predicate:(_col0 is not null and _col1 is not null) + predicate:CAST( (_col0 / _col1) AS decimal(21,6)) is not null Group By Operator [GBY_342] (rows=1 width=120) Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"] <-Reducer 11 [CUSTOM_SIMPLE_EDGE] vectorized diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query30.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query30.q.out index cd52a25229..e8f19579c7 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/query30.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query30.q.out @@ -138,7 +138,7 @@ Stage-0 Select Operator [SEL_212] (rows=17 width=198) Output:["_col0","_col1"] Filter Operator [FIL_211] (rows=17 width=206) - predicate:(_col1 is not null and _col2 is not null) + predicate:CAST( (_col1 / _col2) AS decimal(21,6)) is not null Group By Operator [GBY_210] (rows=17 width=206) Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col0 Select Operator [SEL_209] (rows=13130761 width=201) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query32.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query32.q.out index c93fad255b..2f94f86f73 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/query32.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query32.q.out @@ -144,7 +144,7 @@ Stage-0 Select Operator [SEL_124] (rows=62562 width=116) Output:["_col0","_col1"] Filter Operator [FIL_123] (rows=62562 width=124) - predicate:CAST( (1.3 * (_col1 / _col2)) AS decimal(14,7)) is not null + predicate:CAST( (1.3 * CAST( (_col1 / _col2) AS decimal(11,6))) AS decimal(14,7)) is not null Group By Operator [GBY_122] (rows=62562 width=124) Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 <-Reducer 6 [SIMPLE_EDGE] diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query44.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query44.q.out index 8591d3698d..e1691b5f33 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/query44.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query44.q.out @@ -150,7 +150,7 @@ Stage-0 Select Operator [SEL_132] (rows=1 width=112) Output:["_col0"] Filter Operator [FIL_131] (rows=1 width=120) - predicate:(_col1 is not null and _col2 is not null) + predicate:CAST( (_col1 / _col2) AS decimal(11,6)) is not null Select Operator [SEL_130] (rows=1 width=120) Output:["_col1","_col2"] Group By Operator [GBY_129] (rows=1 width=124) @@ -171,7 +171,7 @@ Stage-0 Select Operator [SEL_123] (rows=62562 width=116) Output:["_col0","_col1"] Filter Operator [FIL_122] (rows=62562 width=124) - predicate:(_col1 is not null and _col2 is not null) + predicate:CAST( (_col1 / _col2) AS decimal(11,6)) is not null Group By Operator [GBY_121] (rows=62562 width=124) Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 <-Map 1 [SIMPLE_EDGE] vectorized diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query6.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query6.q.out index 8d83692e8f..0c822541da 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/query6.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query6.q.out @@ -152,7 +152,7 @@ Stage-0 Select Operator [SEL_209] (rows=10 width=202) Output:["_col0","_col1"] Filter Operator [FIL_208] (rows=10 width=210) - predicate:CAST( (_col1 / _col2) AS decimal(16,6)) is not null + predicate:CAST( CAST( (_col1 / _col2) AS decimal(11,6)) AS decimal(16,6)) is not null Group By Operator [GBY_207] (rows=10 width=210) Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 <-Map 12 [SIMPLE_EDGE] vectorized diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query65.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query65.q.out index a117443471..4582eb6d2b 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/query65.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query65.q.out @@ -170,7 +170,7 @@ Stage-0 Select Operator [SEL_157] (rows=84 width=115) Output:["_col0","_col1"] Filter Operator [FIL_156] (rows=84 width=123) - predicate:(_col1 is not null and _col2 is not null) + predicate:CAST( (_col1 / _col2) AS decimal(21,6)) is not null Group By Operator [GBY_155] (rows=84 width=123) Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col1 Select Operator [SEL_154] (rows=5255208 width=119) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query81.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query81.q.out index b18dc7748b..82e7c056ec 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/query81.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query81.q.out @@ -117,7 +117,7 @@ Stage-0 Select Operator [SEL_211] (rows=12 width=198) Output:["_col0","_col1"] Filter Operator [FIL_210] (rows=12 width=206) - predicate:(_col1 is not null and _col2 is not null) + predicate:CAST( (_col1 / _col2) AS decimal(21,6)) is not null Group By Operator [GBY_209] (rows=12 width=206) Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col0 Select Operator [SEL_208] (rows=5266632 width=201) diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query85.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query85.q.out index 9a550b7240..1d523780fb 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/query85.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query85.q.out @@ -209,7 +209,7 @@ Stage-0 Select Operator [SEL_205] (rows=72 width=656) Output:["_col4","_col5","_col6","_col7"] Top N Key Operator [TNK_204] (rows=72 width=353) - keys:substr(_col0, 1, 20), (UDFToDouble(_col1) / _col2), (_col3 / _col4), (_col5 / _col6),top n:100 + keys:substr(_col0, 1, 20), (UDFToDouble(_col1) / _col2), CAST( (_col3 / _col4) AS decimal(11,6)), CAST( (_col5 / _col6) AS decimal(11,6)),top n:100 Group By Operator [GBY_203] (rows=72 width=353) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)","sum(VALUE._col2)","count(VALUE._col3)","sum(VALUE._col4)","count(VALUE._col5)"],keys:KEY._col0 <-Reducer 4 [SIMPLE_EDGE] diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query92.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query92.q.out index d379c38baa..7c846ce5e7 100644 --- a/ql/src/test/results/clientpositive/perf/tez/constraints/query92.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query92.q.out @@ -148,7 +148,7 @@ Stage-0 Select Operator [SEL_124] (rows=62562 width=116) Output:["_col0","_col1"] Filter Operator [FIL_123] (rows=62562 width=124) - predicate:CAST( (1.3 * (_col1 / _col2)) AS decimal(14,7)) is not null + predicate:CAST( (1.3 * CAST( (_col1 / _col2) AS decimal(11,6))) AS decimal(14,7)) is not null Group By Operator [GBY_122] (rows=62562 width=124) Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 <-Reducer 6 [SIMPLE_EDGE] diff --git a/ql/src/test/results/clientpositive/perf/tez/query1.q.out b/ql/src/test/results/clientpositive/perf/tez/query1.q.out index 63b631377c..bd0a1fef1a 100644 --- a/ql/src/test/results/clientpositive/perf/tez/query1.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/query1.q.out @@ -94,7 +94,7 @@ Stage-0 Select Operator [SEL_162] (rows=85 width=115) Output:["_col0","_col1"] Filter Operator [FIL_161] (rows=85 width=123) - predicate:(_col1 is not null and _col2 is not null) + predicate:CAST( (_col1 / _col2) AS decimal(21,6)) is not null Group By Operator [GBY_160] (rows=85 width=123) Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col1 Select Operator [SEL_159] (rows=53634860 width=119) diff --git a/ql/src/test/results/clientpositive/perf/tez/query14.q.out b/ql/src/test/results/clientpositive/perf/tez/query14.q.out index bf96850291..51555755dc 100644 --- a/ql/src/test/results/clientpositive/perf/tez/query14.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/query14.q.out @@ -572,7 +572,7 @@ Stage-0 Select Operator [SEL_1366] (rows=1 width=112) Output:["_col0"] Filter Operator [FIL_1365] (rows=1 width=120) - predicate:(_col0 is not null and _col1 is not null) + predicate:CAST( (_col0 / _col1) AS decimal(22,6)) is not null Group By Operator [GBY_1364] (rows=1 width=120) Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"] <-Union 59 [CUSTOM_SIMPLE_EDGE] @@ -821,7 +821,7 @@ Stage-0 Select Operator [SEL_1382] (rows=1 width=112) Output:["_col0"] Filter Operator [FIL_1381] (rows=1 width=120) - predicate:(_col0 is not null and _col1 is not null) + predicate:CAST( (_col0 / _col1) AS decimal(22,6)) is not null Group By Operator [GBY_1380] (rows=1 width=120) Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"] <-Union 62 [CUSTOM_SIMPLE_EDGE] @@ -1012,7 +1012,7 @@ Stage-0 Select Operator [SEL_1344] (rows=1 width=112) Output:["_col0"] Filter Operator [FIL_1343] (rows=1 width=120) - predicate:(_col0 is not null and _col1 is not null) + predicate:CAST( (_col0 / _col1) AS decimal(22,6)) is not null Group By Operator [GBY_1342] (rows=1 width=120) Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"] <-Union 55 [CUSTOM_SIMPLE_EDGE] diff --git a/ql/src/test/results/clientpositive/perf/tez/query1b.q.out b/ql/src/test/results/clientpositive/perf/tez/query1b.q.out index 73d42512af..02bf4ce10b 100644 --- a/ql/src/test/results/clientpositive/perf/tez/query1b.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/query1b.q.out @@ -360,10 +360,10 @@ STAGE PLANS: outputColumnNames: _col0, _col1, _col2 Statistics: Num rows: 85 Data size: 10532 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator - predicate: (_col1 is not null and _col2 is not null) (type: boolean) + predicate: CAST( (_col1 / _col2) AS decimal(21,6)) is not null (type: boolean) Statistics: Num rows: 85 Data size: 10532 Basic stats: COMPLETE Column stats: COMPLETE Select Operator - expressions: ((_col1 / _col2) * 1.2) (type: decimal(38,11)), _col0 (type: int) + expressions: (CAST( (_col1 / _col2) AS decimal(21,6)) * 1.2) (type: decimal(24,7)), _col0 (type: int) outputColumnNames: _col0, _col1 Statistics: Num rows: 85 Data size: 9852 Basic stats: COMPLETE Column stats: COMPLETE Reduce Output Operator @@ -372,7 +372,7 @@ STAGE PLANS: sort order: + Map-reduce partition columns: _col1 (type: int) Statistics: Num rows: 85 Data size: 9852 Basic stats: COMPLETE Column stats: COMPLETE - value expressions: _col0 (type: decimal(38,11)) + value expressions: _col0 (type: decimal(24,7)) Stage: Stage-0 Fetch Operator diff --git a/ql/src/test/results/clientpositive/perf/tez/query24.q.out b/ql/src/test/results/clientpositive/perf/tez/query24.q.out index d4cdb5b30a..202f68b778 100644 --- a/ql/src/test/results/clientpositive/perf/tez/query24.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/query24.q.out @@ -150,7 +150,7 @@ Stage-0 Select Operator [SEL_350] (rows=1 width=112) Output:["_col0"] Filter Operator [FIL_349] (rows=1 width=120) - predicate:(_col0 is not null and _col1 is not null) + predicate:CAST( (_col0 / _col1) AS decimal(21,6)) is not null Group By Operator [GBY_348] (rows=1 width=120) Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"] <-Reducer 11 [CUSTOM_SIMPLE_EDGE] vectorized diff --git a/ql/src/test/results/clientpositive/perf/tez/query30.q.out b/ql/src/test/results/clientpositive/perf/tez/query30.q.out index 6e46087fca..2d8b542ed2 100644 --- a/ql/src/test/results/clientpositive/perf/tez/query30.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/query30.q.out @@ -138,7 +138,7 @@ Stage-0 Select Operator [SEL_212] (rows=17 width=198) Output:["_col0","_col1"] Filter Operator [FIL_211] (rows=17 width=206) - predicate:(_col1 is not null and _col2 is not null) + predicate:CAST( (_col1 / _col2) AS decimal(21,6)) is not null Group By Operator [GBY_210] (rows=17 width=206) Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col0 Select Operator [SEL_209] (rows=13130761 width=201) diff --git a/ql/src/test/results/clientpositive/perf/tez/query32.q.out b/ql/src/test/results/clientpositive/perf/tez/query32.q.out index e84423a167..7b534b6a3c 100644 --- a/ql/src/test/results/clientpositive/perf/tez/query32.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/query32.q.out @@ -144,7 +144,7 @@ Stage-0 Select Operator [SEL_124] (rows=62562 width=116) Output:["_col0","_col1"] Filter Operator [FIL_123] (rows=62562 width=124) - predicate:CAST( (1.3 * (_col1 / _col2)) AS decimal(14,7)) is not null + predicate:CAST( (1.3 * CAST( (_col1 / _col2) AS decimal(11,6))) AS decimal(14,7)) is not null Group By Operator [GBY_122] (rows=62562 width=124) Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 <-Reducer 6 [SIMPLE_EDGE] diff --git a/ql/src/test/results/clientpositive/perf/tez/query44.q.out b/ql/src/test/results/clientpositive/perf/tez/query44.q.out index 1c1632898e..6da4a88e62 100644 --- a/ql/src/test/results/clientpositive/perf/tez/query44.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/query44.q.out @@ -143,7 +143,7 @@ Stage-0 Select Operator [SEL_136] (rows=1 width=112) Output:["_col0"] Filter Operator [FIL_135] (rows=1 width=120) - predicate:(_col1 is not null and _col2 is not null) + predicate:CAST( (_col1 / _col2) AS decimal(11,6)) is not null Select Operator [SEL_134] (rows=1 width=120) Output:["_col1","_col2"] Group By Operator [GBY_133] (rows=1 width=124) @@ -164,7 +164,7 @@ Stage-0 Select Operator [SEL_127] (rows=62562 width=116) Output:["_col0","_col1"] Filter Operator [FIL_126] (rows=62562 width=124) - predicate:(_col1 is not null and _col2 is not null) + predicate:CAST( (_col1 / _col2) AS decimal(11,6)) is not null Group By Operator [GBY_125] (rows=62562 width=124) Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 <-Map 6 [SIMPLE_EDGE] vectorized diff --git a/ql/src/test/results/clientpositive/perf/tez/query6.q.out b/ql/src/test/results/clientpositive/perf/tez/query6.q.out index cae785dac9..94854b7a55 100644 --- a/ql/src/test/results/clientpositive/perf/tez/query6.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/query6.q.out @@ -145,7 +145,7 @@ Stage-0 <-Select Operator [SEL_208] (rows=10 width=202) Output:["_col0","_col1"] Filter Operator [FIL_207] (rows=10 width=210) - predicate:CAST( (_col1 / _col2) AS decimal(16,6)) is not null + predicate:CAST( CAST( (_col1 / _col2) AS decimal(11,6)) AS decimal(16,6)) is not null Group By Operator [GBY_206] (rows=10 width=210) Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 <-Map 14 [SIMPLE_EDGE] vectorized diff --git a/ql/src/test/results/clientpositive/perf/tez/query65.q.out b/ql/src/test/results/clientpositive/perf/tez/query65.q.out index 18455836da..fc01ab4d16 100644 --- a/ql/src/test/results/clientpositive/perf/tez/query65.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/query65.q.out @@ -175,7 +175,7 @@ Stage-0 Select Operator [SEL_163] (rows=84 width=115) Output:["_col0","_col1"] Filter Operator [FIL_162] (rows=84 width=123) - predicate:(_col1 is not null and _col2 is not null) + predicate:CAST( (_col1 / _col2) AS decimal(21,6)) is not null Group By Operator [GBY_161] (rows=84 width=123) Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col1 Select Operator [SEL_160] (rows=5255208 width=119) diff --git a/ql/src/test/results/clientpositive/perf/tez/query81.q.out b/ql/src/test/results/clientpositive/perf/tez/query81.q.out index d9c93e5a4e..f4608bacc0 100644 --- a/ql/src/test/results/clientpositive/perf/tez/query81.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/query81.q.out @@ -117,7 +117,7 @@ Stage-0 Select Operator [SEL_211] (rows=12 width=198) Output:["_col0","_col1"] Filter Operator [FIL_210] (rows=12 width=206) - predicate:(_col1 is not null and _col2 is not null) + predicate:CAST( (_col1 / _col2) AS decimal(21,6)) is not null Group By Operator [GBY_209] (rows=12 width=206) Output:["_col0","_col1","_col2"],aggregations:["sum(_col2)","count(_col2)"],keys:_col0 Select Operator [SEL_208] (rows=5266632 width=201) diff --git a/ql/src/test/results/clientpositive/perf/tez/query85.q.out b/ql/src/test/results/clientpositive/perf/tez/query85.q.out index 94ec2f9257..0a507a204f 100644 --- a/ql/src/test/results/clientpositive/perf/tez/query85.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/query85.q.out @@ -210,7 +210,7 @@ Stage-0 Select Operator [SEL_235] (rows=72 width=656) Output:["_col4","_col5","_col6","_col7"] Top N Key Operator [TNK_234] (rows=72 width=353) - keys:substr(_col0, 1, 20), (UDFToDouble(_col1) / _col2), (_col3 / _col4), (_col5 / _col6),top n:100 + keys:substr(_col0, 1, 20), (UDFToDouble(_col1) / _col2), CAST( (_col3 / _col4) AS decimal(11,6)), CAST( (_col5 / _col6) AS decimal(11,6)),top n:100 Group By Operator [GBY_233] (rows=72 width=353) Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)","sum(VALUE._col2)","count(VALUE._col3)","sum(VALUE._col4)","count(VALUE._col5)"],keys:KEY._col0 <-Reducer 4 [SIMPLE_EDGE] diff --git a/ql/src/test/results/clientpositive/perf/tez/query92.q.out b/ql/src/test/results/clientpositive/perf/tez/query92.q.out index 8bafee4910..069beefde8 100644 --- a/ql/src/test/results/clientpositive/perf/tez/query92.q.out +++ b/ql/src/test/results/clientpositive/perf/tez/query92.q.out @@ -148,7 +148,7 @@ Stage-0 Select Operator [SEL_124] (rows=62562 width=116) Output:["_col0","_col1"] Filter Operator [FIL_123] (rows=62562 width=124) - predicate:CAST( (1.3 * (_col1 / _col2)) AS decimal(14,7)) is not null + predicate:CAST( (1.3 * CAST( (_col1 / _col2) AS decimal(11,6))) AS decimal(14,7)) is not null Group By Operator [GBY_122] (rows=62562 width=124) Output:["_col0","_col1","_col2"],aggregations:["sum(VALUE._col0)","count(VALUE._col1)"],keys:KEY._col0 <-Reducer 6 [SIMPLE_EDGE] diff --git a/ql/src/test/results/clientpositive/spark/subquery_scalar.q.out b/ql/src/test/results/clientpositive/spark/subquery_scalar.q.out index 35a96b70f7..98b62417bb 100644 --- a/ql/src/test/results/clientpositive/spark/subquery_scalar.q.out +++ b/ql/src/test/results/clientpositive/spark/subquery_scalar.q.out @@ -7312,8 +7312,8 @@ HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$1], ss_list_price=[$2]) HiveProject(ss_sold_date_sk=[$0], ss_quantity=[$1], ss_list_price=[$2]) HiveFilter(condition=[IS NOT NULL($2)]) HiveTableScan(table=[[default, store_sales]], table:alias=[store_sales]) - HiveProject($f0=[/($0, $1)]) - HiveFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) + HiveProject($f0=[CAST(/($0, $1)):DECIMAL(22, 6)]) + HiveFilter(condition=[IS NOT NULL(CAST(/($0, $1)):DECIMAL(22, 6))]) HiveProject($f0=[$0], $f1=[$1]) HiveAggregate(group=[{}], agg#0=[sum($0)], agg#1=[count($0)]) HiveProject($f0=[*(CAST($1):DECIMAL(10, 0), $2)]) diff --git a/ql/src/test/results/clientpositive/spark/vector_decimal_aggregate.q.out b/ql/src/test/results/clientpositive/spark/vector_decimal_aggregate.q.out index acde8df883..fb07d9ddbb 100644 --- a/ql/src/test/results/clientpositive/spark/vector_decimal_aggregate.q.out +++ b/ql/src/test/results/clientpositive/spark/vector_decimal_aggregate.q.out @@ -349,13 +349,13 @@ STAGE PLANS: predicate: (_col13 > 1L) (type: boolean) Statistics: Num rows: 2048 Data size: 360813 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: int), _col1 (type: bigint), _col2 (type: decimal(20,10)), _col3 (type: decimal(20,10)), _col4 (type: decimal(30,10)), (CAST( _col4 AS decimal(24,14)) / _col1) (type: decimal(38,28)), power(((_col5 - ((_col6 * _col6) / _col1)) / _col1), 0.5) (type: double), power(((_col5 - ((_col6 * _col6) / _col1)) / CASE WHEN ((_col1 = 1L)) THEN (null) ELSE ((_col1 - 1)) END), 0.5) (type: double), _col7 (type: bigint), _col8 (type: decimal(23,14)), _col9 (type: decimal(23,14)), _col10 (type: decimal(33,14)), (CAST( _col10 AS decimal(27,18)) / _col7) (type: decimal(38,29)), power(((_col11 - ((_col12 * _col12) / _col7)) / _col7), 0.5) (type: double), power(((_col11 - ((_col12 * _col12) / _col7)) / CASE WHEN ((_col7 = 1L)) THEN (null) ELSE ((_col7 - 1)) END), 0.5) (type: double) + expressions: _col0 (type: int), _col1 (type: bigint), _col2 (type: decimal(20,10)), _col3 (type: decimal(20,10)), _col4 (type: decimal(30,10)), CAST( (_col4 / _col1) AS decimal(24,14)) (type: decimal(24,14)), power(((_col5 - ((_col6 * _col6) / _col1)) / _col1), 0.5) (type: double), power(((_col5 - ((_col6 * _col6) / _col1)) / CASE WHEN ((_col1 = 1L)) THEN (null) ELSE ((_col1 - 1)) END), 0.5) (type: double), _col7 (type: bigint), _col8 (type: decimal(23,14)), _col9 (type: decimal(23,14)), _col10 (type: decimal(33,14)), CAST( (_col10 / _col7) AS decimal(27,18)) (type: decimal(27,18)), power(((_col11 - ((_col12 * _col12) / _col7)) / _col7), 0.5) (type: double), power(((_col11 - ((_col12 * _col12) / _col7)) / CASE WHEN ((_col7 = 1L)) THEN (null) ELSE ((_col7 - 1)) END), 0.5) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14 Select Vectorization: className: VectorSelectOperator native: true projectedOutputColumnNums: [0, 1, 2, 3, 4, 16, 21, 29, 7, 8, 9, 10, 32, 37, 45] - selectExpressions: DecimalColDivideDecimalColumn(col 14:decimal(24,14), col 15:decimal(19,0))(children: CastDecimalToDecimal(col 4:decimal(30,10)) -> 14:decimal(24,14), CastLongToDecimal(col 1:bigint) -> 15:decimal(19,0)) -> 16:decimal(38,28), FuncPowerDoubleToDouble(col 20:double)(children: DoubleColDivideLongColumn(col 19:double, col 1:bigint)(children: DoubleColSubtractDoubleColumn(col 5:double, col 18:double)(children: DoubleColDivideLongColumn(col 17:double, col 1:bigint)(children: DoubleColMultiplyDoubleColumn(col 6:double, col 6:double) -> 17:double) -> 18:double) -> 19:double) -> 20:double) -> 21:double, FuncPowerDoubleToDouble(col 28:double)(children: DoubleColDivideLongColumn(col 24:double, col 27:bigint)(children: DoubleColSubtractDoubleColumn(col 5:double, col 23:double)(children: DoubleColDivideLongColumn(col 22:double, col 1:bigint)(children: DoubleColMultiplyDoubleColumn(col 6:double, col 6:double) -> 22:double) -> 23:double) -> 24:double, IfExprNullCondExpr(col 25:boolean, null, col 26:bigint)(children: LongColEqualLongScalar(col 1:bigint, val 1) -> 25:boolean, LongColSubtractLongScalar(col 1:bigint, val 1) -> 26:bigint) -> 27:bigint) -> 28:double) -> 29:double, DecimalColDivideDecimalColumn(col 30:decimal(27,18), col 31:decimal(19,0))(children: CastDecimalToDecimal(col 10:decimal(33,14)) -> 30:decimal(27,18), CastLongToDecimal(col 7:bigint) -> 31:decimal(19,0)) -> 32:decimal(38,29), FuncPowerDoubleToDouble(col 36:double)(children: DoubleColDivideLongColumn(col 35:double, col 7:bigint)(children: DoubleColSubtractDoubleColumn(col 11:double, col 34:double)(children: DoubleColDivideLongColumn(col 33:double, col 7:bigint)(children: DoubleColMultiplyDoubleColumn(col 12:double, col 12:double) -> 33:double) -> 34:double) -> 35:double) -> 36:double) -> 37:double, FuncPowerDoubleToDouble(col 44:double)(children: DoubleColDivideLongColumn(col 40:double, col 43:bigint)(children: DoubleColSubtractDoubleColumn(col 11:double, col 39:double)(children: DoubleColDivideLongColumn(col 38:double, col 7:bigint)(children: DoubleColMultiplyDoubleColumn(col 12:double, col 12:double) -> 38:double) -> 39:double) -> 40:double, IfExprNullCondExpr(col 41:boolean, null, col 42:bigint)(children: LongColEqualLongScalar(col 7:bigint, val 1) -> 41:boolean, LongColSubtractLongScalar(col 7:bigint, val 1) -> 42:bigint) -> 43:bigint) -> 44:double) -> 45:double + selectExpressions: CastDecimalToDecimal(col 15:decimal(38,18))(children: DecimalColDivideDecimalColumn(col 4:decimal(30,10), col 14:decimal(19,0))(children: CastLongToDecimal(col 1:bigint) -> 14:decimal(19,0)) -> 15:decimal(38,18)) -> 16:decimal(24,14), FuncPowerDoubleToDouble(col 20:double)(children: DoubleColDivideLongColumn(col 19:double, col 1:bigint)(children: DoubleColSubtractDoubleColumn(col 5:double, col 18:double)(children: DoubleColDivideLongColumn(col 17:double, col 1:bigint)(children: DoubleColMultiplyDoubleColumn(col 6:double, col 6:double) -> 17:double) -> 18:double) -> 19:double) -> 20:double) -> 21:double, FuncPowerDoubleToDouble(col 28:double)(children: DoubleColDivideLongColumn(col 24:double, col 27:bigint)(children: DoubleColSubtractDoubleColumn(col 5:double, col 23:double)(children: DoubleColDivideLongColumn(col 22:double, col 1:bigint)(children: DoubleColMultiplyDoubleColumn(col 6:double, col 6:double) -> 22:double) -> 23:double) -> 24:double, IfExprNullCondExpr(col 25:boolean, null, col 26:bigint)(children: LongColEqualLongScalar(col 1:bigint, val 1) -> 25:boolean, LongColSubtractLongScalar(col 1:bigint, val 1) -> 26:bigint) -> 27:bigint) -> 28:double) -> 29:double, CastDecimalToDecimal(col 31:decimal(38,19))(children: DecimalColDivideDecimalColumn(col 10:decimal(33,14), col 30:decimal(19,0))(children: CastLongToDecimal(col 7:bigint) -> 30:decimal(19,0)) -> 31:decimal(38,19)) -> 32:decimal(27,18), FuncPowerDoubleToDouble(col 36:double)(children: DoubleColDivideLongColumn(col 35:double, col 7:bigint)(children: DoubleColSubtractDoubleColumn(col 11:double, col 34:double)(children: DoubleColDivideLongColumn(col 33:double, col 7:bigint)(children: DoubleColMultiplyDoubleColumn(col 12:double, col 12:double) -> 33:double) -> 34:double) -> 35:double) -> 36:double) -> 37:double, FuncPowerDoubleToDouble(col 44:double)(children: DoubleColDivideLongColumn(col 40:double, col 43:bigint)(children: DoubleColSubtractDoubleColumn(col 11:double, col 39:double)(children: DoubleColDivideLongColumn(col 38:double, col 7:bigint)(children: DoubleColMultiplyDoubleColumn(col 12:double, col 12:double) -> 38:double) -> 39:double) -> 40:double, IfExprNullCondExpr(col 41:boolean, null, col 42:bigint)(children: LongColEqualLongScalar(col 7:bigint, val 1) -> 41:boolean, LongColSubtractLongScalar(col 7:bigint, val 1) -> 42:bigint) -> 43:bigint) -> 44:double) -> 45:double Statistics: Num rows: 2048 Data size: 360813 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false @@ -392,14 +392,14 @@ POSTHOOK: query: SELECT cint, POSTHOOK: type: QUERY POSTHOOK: Input: default@decimal_vgby #### A masked pattern was here #### --3728 6 5831542.2692483780 -3367.6517567568 5817556.0411483778 969592.6735247296333333333333333333 2174330.209240386 2381859.406131774 6 6984454.21109769200000 -4033.44576923076900 6967702.86724384584710 1161283.81120730764118333333333333333 2604201.2704476737 2852759.5602156054 --563 2 -515.6210729730 -3367.6517567568 -3883.2728297298 -1941.6364148649000000000000000000 1426.0153418918997 2016.6902366556305 2 -617.56077692307690 -4033.44576923076900 -4651.00654615384590 -2325.50327307692295000000000000000 1707.9424961538462 2415.395441814127 -253665376 1024 9767.0054054054 -9779.5486486487 -347484.0818378374 -339.3399236697630859375000000000 5708.956347886203 5711.745967572781 1024 11697.96923076923100 -11712.99230769231000 -416182.64030769233089 -406.42835967548079188476562500000 6837.632716002931 6840.973851172272 -528534767 1024 5831542.2692483780 -9777.1594594595 11646372.8607481068 11373.4109968243230468750000000000 257528.9298820665 257654.7686043977 1024 6984454.21109769200000 -11710.13076923077100 13948892.79980307629003 13621.96562480769168948242187500000 308443.1074570797 308593.82484083937 -626923679 1024 9723.4027027027 -9778.9513513514 10541.0525297287 10.2939966110631835937500000000 5742.091453237337 5744.897264034264 1024 11645.74615384615400 -11712.27692307692300 12625.04759999997746 12.32914804687497798828125000000 6877.318722794881 6880.679250101608 -6981 3 5831542.2692483780 -515.6210729730 5830511.0271024320 1943503.6757008106666666666666666667 2749258.455012492 3367140.1929065133 3 6984454.21109769200000 -617.56077692307690 6983219.08954384584620 2327739.69651461528206666666666666667 3292794.4113115156 4032833.0678006653 -762 2 5831542.2692483780 1531.2194054054 5833073.4886537834 2916536.7443268917000000000000000000 2915005.5249214866 4122440.3477364695 2 6984454.21109769200000 1833.94569230769250 6986288.15678999969250 3493144.07839499984625000000000000000 3491310.1327026924 4937458.140118757 -NULL 3072 9318.4351351351 -4298.1513513514 5018444.1081079808 1633.6081081080666666666666666667 5695.483082135323 5696.410307714464 3072 11160.71538461538500 -5147.90769230769300 6010604.30769230735360 1956.57692307692296666666666666667 6821.495748565151 6822.606289190915 +-3728 6 5831542.2692483780 -3367.6517567568 5817556.0411483778 969592.67352472963333 2174330.209240386 2381859.406131774 6 6984454.21109769200000 -4033.44576923076900 6967702.86724384584710 1161283.811207307641183333 2604201.2704476737 2852759.5602156054 +-563 2 -515.6210729730 -3367.6517567568 -3883.2728297298 -1941.63641486490000 1426.0153418918997 2016.6902366556305 2 -617.56077692307690 -4033.44576923076900 -4651.00654615384590 -2325.503273076922950000 1707.9424961538462 2415.395441814127 +253665376 1024 9767.0054054054 -9779.5486486487 -347484.0818378374 -339.33992366976309 5708.956347886203 5711.745967572781 1024 11697.96923076923100 -11712.99230769231000 -416182.64030769233089 -406.428359675480791885 6837.632716002931 6840.973851172272 +528534767 1024 5831542.2692483780 -9777.1594594595 11646372.8607481068 11373.41099682432305 257528.9298820665 257654.7686043977 1024 6984454.21109769200000 -11710.13076923077100 13948892.79980307629003 13621.965624807691689482 308443.1074570797 308593.82484083937 +626923679 1024 9723.4027027027 -9778.9513513514 10541.0525297287 10.29399661106318 5742.091453237337 5744.897264034264 1024 11645.74615384615400 -11712.27692307692300 12625.04759999997746 12.329148046874977988 6877.318722794881 6880.679250101608 +6981 3 5831542.2692483780 -515.6210729730 5830511.0271024320 1943503.67570081066667 2749258.455012492 3367140.1929065133 3 6984454.21109769200000 -617.56077692307690 6983219.08954384584620 2327739.696514615282066667 3292794.4113115156 4032833.0678006653 +762 2 5831542.2692483780 1531.2194054054 5833073.4886537834 2916536.74432689170000 2915005.5249214866 4122440.3477364695 2 6984454.21109769200000 1833.94569230769250 6986288.15678999969250 3493144.078394999846250000 3491310.1327026924 4937458.140118757 +NULL 3072 9318.4351351351 -4298.1513513514 5018444.1081079808 1633.60810810806667 5695.483082135323 5696.410307714464 3072 11160.71538461538500 -5147.90769230769300 6010604.30769230735360 1956.576923076922966667 6821.495748565151 6822.606289190915 PREHOOK: query: CREATE TABLE decimal_vgby_small STORED AS TEXTFILE AS SELECT cdouble, CAST (((cdouble*22.1)/37) AS DECIMAL(11,5)) AS cdecimal1, CAST (((cdouble*9.3)/13) AS DECIMAL(16,0)) AS cdecimal2, @@ -770,13 +770,13 @@ STAGE PLANS: predicate: (_col13 > 1L) (type: boolean) Statistics: Num rows: 2048 Data size: 57738 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: int), _col1 (type: bigint), _col2 (type: decimal(11,5)), _col3 (type: decimal(11,5)), _col4 (type: decimal(21,5)), (CAST( _col4 AS decimal(15,9)) / _col1) (type: decimal(35,29)), power(((_col5 - ((_col6 * _col6) / _col1)) / _col1), 0.5) (type: double), power(((_col5 - ((_col6 * _col6) / _col1)) / CASE WHEN ((_col1 = 1L)) THEN (null) ELSE ((_col1 - 1)) END), 0.5) (type: double), _col7 (type: bigint), _col8 (type: decimal(16,0)), _col9 (type: decimal(16,0)), _col10 (type: decimal(26,0)), CAST( (CAST( _col10 AS decimal(20,4)) / _col7) AS decimal(20,4)) (type: decimal(20,4)), power(((_col11 - ((_col12 * _col12) / _col7)) / _col7), 0.5) (type: double), power(((_col11 - ((_col12 * _col12) / _col7)) / CASE WHEN ((_col7 = 1L)) THEN (null) ELSE ((_col7 - 1)) END), 0.5) (type: double) + expressions: _col0 (type: int), _col1 (type: bigint), _col2 (type: decimal(11,5)), _col3 (type: decimal(11,5)), _col4 (type: decimal(21,5)), CAST( (_col4 / _col1) AS decimal(15,9)) (type: decimal(15,9)), power(((_col5 - ((_col6 * _col6) / _col1)) / _col1), 0.5) (type: double), power(((_col5 - ((_col6 * _col6) / _col1)) / CASE WHEN ((_col1 = 1L)) THEN (null) ELSE ((_col1 - 1)) END), 0.5) (type: double), _col7 (type: bigint), _col8 (type: decimal(16,0)), _col9 (type: decimal(16,0)), _col10 (type: decimal(26,0)), CAST( (_col10 / _col7) AS decimal(20,4)) (type: decimal(20,4)), power(((_col11 - ((_col12 * _col12) / _col7)) / _col7), 0.5) (type: double), power(((_col11 - ((_col12 * _col12) / _col7)) / CASE WHEN ((_col7 = 1L)) THEN (null) ELSE ((_col7 - 1)) END), 0.5) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14 Select Vectorization: className: VectorSelectOperator native: true - projectedOutputColumnNums: [0, 1, 2, 3, 4, 16, 21, 29, 7, 8, 9, 10, 33, 38, 46] - selectExpressions: DecimalColDivideDecimalColumn(col 14:decimal(15,9), col 15:decimal(19,0))(children: CastDecimalToDecimal(col 4:decimal(21,5)) -> 14:decimal(15,9), CastLongToDecimal(col 1:bigint) -> 15:decimal(19,0)) -> 16:decimal(35,29), FuncPowerDoubleToDouble(col 20:double)(children: DoubleColDivideLongColumn(col 19:double, col 1:bigint)(children: DoubleColSubtractDoubleColumn(col 5:double, col 18:double)(children: DoubleColDivideLongColumn(col 17:double, col 1:bigint)(children: DoubleColMultiplyDoubleColumn(col 6:double, col 6:double) -> 17:double) -> 18:double) -> 19:double) -> 20:double) -> 21:double, FuncPowerDoubleToDouble(col 28:double)(children: DoubleColDivideLongColumn(col 24:double, col 27:bigint)(children: DoubleColSubtractDoubleColumn(col 5:double, col 23:double)(children: DoubleColDivideLongColumn(col 22:double, col 1:bigint)(children: DoubleColMultiplyDoubleColumn(col 6:double, col 6:double) -> 22:double) -> 23:double) -> 24:double, IfExprNullCondExpr(col 25:boolean, null, col 26:bigint)(children: LongColEqualLongScalar(col 1:bigint, val 1) -> 25:boolean, LongColSubtractLongScalar(col 1:bigint, val 1) -> 26:bigint) -> 27:bigint) -> 28:double) -> 29:double, CastDecimalToDecimal(col 32:decimal(38,22))(children: DecimalColDivideDecimalColumn(col 30:decimal(20,4), col 31:decimal(19,0))(children: CastDecimalToDecimal(col 10:decimal(26,0)) -> 30:decimal(20,4), CastLongToDecimal(col 7:bigint) -> 31:decimal(19,0)) -> 32:decimal(38,22)) -> 33:decimal(20,4), FuncPowerDoubleToDouble(col 37:double)(children: DoubleColDivideLongColumn(col 36:double, col 7:bigint)(children: DoubleColSubtractDoubleColumn(col 11:double, col 35:double)(children: DoubleColDivideLongColumn(col 34:double, col 7:bigint)(children: DoubleColMultiplyDoubleColumn(col 12:double, col 12:double) -> 34:double) -> 35:double) -> 36:double) -> 37:double) -> 38:double, FuncPowerDoubleToDouble(col 45:double)(children: DoubleColDivideLongColumn(col 41:double, col 44:bigint)(children: DoubleColSubtractDoubleColumn(col 11:double, col 40:double)(children: DoubleColDivideLongColumn(col 39:double, col 7:bigint)(children: DoubleColMultiplyDoubleColumn(col 12:double, col 12:double) -> 39:double) -> 40:double) -> 41:double, IfExprNullCondExpr(col 42:boolean, null, col 43:bigint)(children: LongColEqualLongScalar(col 7:bigint, val 1) -> 42:boolean, LongColSubtractLongScalar(col 7:bigint, val 1) -> 43:bigint) -> 44:bigint) -> 45:double) -> 46:double + projectedOutputColumnNums: [0, 1, 2, 3, 4, 16, 21, 29, 7, 8, 9, 10, 32, 37, 45] + selectExpressions: CastDecimalToDecimal(col 15:decimal(38,22))(children: DecimalColDivideDecimalColumn(col 4:decimal(21,5), col 14:decimal(19,0))(children: CastLongToDecimal(col 1:bigint) -> 14:decimal(19,0)) -> 15:decimal(38,22)) -> 16:decimal(15,9), FuncPowerDoubleToDouble(col 20:double)(children: DoubleColDivideLongColumn(col 19:double, col 1:bigint)(children: DoubleColSubtractDoubleColumn(col 5:double, col 18:double)(children: DoubleColDivideLongColumn(col 17:double, col 1:bigint)(children: DoubleColMultiplyDoubleColumn(col 6:double, col 6:double) -> 17:double) -> 18:double) -> 19:double) -> 20:double) -> 21:double, FuncPowerDoubleToDouble(col 28:double)(children: DoubleColDivideLongColumn(col 24:double, col 27:bigint)(children: DoubleColSubtractDoubleColumn(col 5:double, col 23:double)(children: DoubleColDivideLongColumn(col 22:double, col 1:bigint)(children: DoubleColMultiplyDoubleColumn(col 6:double, col 6:double) -> 22:double) -> 23:double) -> 24:double, IfExprNullCondExpr(col 25:boolean, null, col 26:bigint)(children: LongColEqualLongScalar(col 1:bigint, val 1) -> 25:boolean, LongColSubtractLongScalar(col 1:bigint, val 1) -> 26:bigint) -> 27:bigint) -> 28:double) -> 29:double, CastDecimalToDecimal(col 31:decimal(38,12))(children: DecimalColDivideDecimalColumn(col 10:decimal(26,0), col 30:decimal(19,0))(children: CastLongToDecimal(col 7:bigint) -> 30:decimal(19,0)) -> 31:decimal(38,12)) -> 32:decimal(20,4), FuncPowerDoubleToDouble(col 36:double)(children: DoubleColDivideLongColumn(col 35:double, col 7:bigint)(children: DoubleColSubtractDoubleColumn(col 11:double, col 34:double)(children: DoubleColDivideLongColumn(col 33:double, col 7:bigint)(children: DoubleColMultiplyDoubleColumn(col 12:double, col 12:double) -> 33:double) -> 34:double) -> 35:double) -> 36:double) -> 37:double, FuncPowerDoubleToDouble(col 44:double)(children: DoubleColDivideLongColumn(col 40:double, col 43:bigint)(children: DoubleColSubtractDoubleColumn(col 11:double, col 39:double)(children: DoubleColDivideLongColumn(col 38:double, col 7:bigint)(children: DoubleColMultiplyDoubleColumn(col 12:double, col 12:double) -> 38:double) -> 39:double) -> 40:double, IfExprNullCondExpr(col 41:boolean, null, col 42:bigint)(children: LongColEqualLongScalar(col 7:bigint, val 1) -> 41:boolean, LongColSubtractLongScalar(col 7:bigint, val 1) -> 42:bigint) -> 43:bigint) -> 44:double) -> 45:double Statistics: Num rows: 2048 Data size: 57738 Basic stats: COMPLETE Column stats: NONE File Output Operator compressed: false @@ -813,14 +813,14 @@ POSTHOOK: query: SELECT cint, POSTHOOK: type: QUERY POSTHOOK: Input: default@decimal_vgby_small #### A masked pattern was here #### --3728 5 -515.62107 -3367.65176 -13986.22811 -2797.24562200000000000000000000000 1140.8122759999992 1275.466899351125 6 6984454 -4033 6967704 1161284.0000 2604201.0914565204 2852759.364140621 --563 2 -515.62107 -3367.65176 -3883.27283 -1941.63641500000000000000000000000 1426.0153450000003 2016.6902410511484 2 -618 -4033 -4651 -2325.5000 1707.5 2414.7696577520596 -253665376 1024 9767.00541 -9779.54865 -347484.08192 -339.33992375000000000000000000000 5708.956347957812 5711.745967644425 1024 11698 -11713 -416183 -406.4287 6837.6426468206855 6840.983786842613 -528534767 1022 9777.75676 -9777.15946 -16711.67771 -16.35193513698630136986301369863 5555.762110793133 5558.482190324906 1024 6984454 -11710 13948890 13621.9629 308443.0982329696 308593.815612222 -626923679 1024 9723.40270 -9778.95135 10541.05247 10.29399655273437500000000000000 5742.091453325365 5744.897264122335 1024 11646 -11712 12641 12.3447 6877.306686989158 6880.6672084147185 -6981 2 -515.62107 -515.62107 -1031.24214 -515.62107000000000000000000000000 0.0 0.0 3 6984454 -618 6983218 2327739.3333 3292794.518850853 4032833.1995089175 -762 1 1531.21941 1531.21941 1531.21941 1531.21941000000000000000000000000 0.0 NULL 2 6984454 1834 6986288 3493144.0000 3491310.0 4937457.95244881 -NULL 3072 9318.43514 -4298.15135 5018444.11392 NULL 5695.4830839098695 5696.410309489299 3072 11161 -5148 6010880 1956.6667 6821.647911041892 6822.758476439734 +-3728 5 -515.62107 -3367.65176 -13986.22811 -2797.245622000 1140.8122759999992 1275.466899351125 6 6984454 -4033 6967704 1161284.0000 2604201.0914565204 2852759.364140621 +-563 2 -515.62107 -3367.65176 -3883.27283 -1941.636415000 1426.0153450000003 2016.6902410511484 2 -618 -4033 -4651 -2325.5000 1707.5 2414.7696577520596 +253665376 1024 9767.00541 -9779.54865 -347484.08192 -339.339923750 5708.956347957812 5711.745967644425 1024 11698 -11713 -416183 -406.4287 6837.6426468206855 6840.983786842613 +528534767 1022 9777.75676 -9777.15946 -16711.67771 -16.351935137 5555.762110793133 5558.482190324906 1024 6984454 -11710 13948890 13621.9629 308443.0982329696 308593.815612222 +626923679 1024 9723.40270 -9778.95135 10541.05247 10.293996553 5742.091453325365 5744.897264122335 1024 11646 -11712 12641 12.3447 6877.306686989158 6880.6672084147185 +6981 2 -515.62107 -515.62107 -1031.24214 -515.621070000 0.0 0.0 3 6984454 -618 6983218 2327739.3333 3292794.518850853 4032833.1995089175 +762 1 1531.21941 1531.21941 1531.21941 1531.219410000 0.0 NULL 2 6984454 1834 6986288 3493144.0000 3491310.0 4937457.95244881 +NULL 3072 9318.43514 -4298.15135 5018444.11392 1633.608110000 5695.4830839098695 5696.410309489299 3072 11161 -5148 6010880 1956.6667 6821.647911041892 6822.758476439734 PREHOOK: query: SELECT SUM(HASH(*)) FROM (SELECT cint, COUNT(cdecimal1), MAX(cdecimal1), MIN(cdecimal1), SUM(cdecimal1), AVG(cdecimal1), STDDEV_POP(cdecimal1), STDDEV_SAMP(cdecimal1), @@ -839,4 +839,4 @@ FROM (SELECT cint, POSTHOOK: type: QUERY POSTHOOK: Input: default@decimal_vgby_small #### A masked pattern was here #### -96673467876 +95165244160 diff --git a/ql/src/test/results/clientpositive/vector_decimal_aggregate.q.out b/ql/src/test/results/clientpositive/vector_decimal_aggregate.q.out index 8693040bc6..5379f47cea 100644 --- a/ql/src/test/results/clientpositive/vector_decimal_aggregate.q.out +++ b/ql/src/test/results/clientpositive/vector_decimal_aggregate.q.out @@ -284,7 +284,7 @@ STAGE PLANS: predicate: (_col13 > 1L) (type: boolean) Statistics: Num rows: 2035 Data size: 1487560 Basic stats: COMPLETE Column stats: COMPLETE Select Operator - expressions: _col0 (type: int), _col1 (type: bigint), _col2 (type: decimal(20,10)), _col3 (type: decimal(20,10)), _col4 (type: decimal(30,10)), (CAST( _col4 AS decimal(24,14)) / _col1) (type: decimal(38,28)), power(((_col5 - ((_col6 * _col6) / _col1)) / _col1), 0.5) (type: double), power(((_col5 - ((_col6 * _col6) / _col1)) / CASE WHEN ((_col1 = 1L)) THEN (null) ELSE ((_col1 - 1)) END), 0.5) (type: double), _col7 (type: bigint), _col8 (type: decimal(23,14)), _col9 (type: decimal(23,14)), _col10 (type: decimal(33,14)), (CAST( _col10 AS decimal(27,18)) / _col7) (type: decimal(38,29)), power(((_col11 - ((_col12 * _col12) / _col7)) / _col7), 0.5) (type: double), power(((_col11 - ((_col12 * _col12) / _col7)) / CASE WHEN ((_col7 = 1L)) THEN (null) ELSE ((_col7 - 1)) END), 0.5) (type: double) + expressions: _col0 (type: int), _col1 (type: bigint), _col2 (type: decimal(20,10)), _col3 (type: decimal(20,10)), _col4 (type: decimal(30,10)), CAST( (_col4 / _col1) AS decimal(24,14)) (type: decimal(24,14)), power(((_col5 - ((_col6 * _col6) / _col1)) / _col1), 0.5) (type: double), power(((_col5 - ((_col6 * _col6) / _col1)) / CASE WHEN ((_col1 = 1L)) THEN (null) ELSE ((_col1 - 1)) END), 0.5) (type: double), _col7 (type: bigint), _col8 (type: decimal(23,14)), _col9 (type: decimal(23,14)), _col10 (type: decimal(33,14)), CAST( (_col10 / _col7) AS decimal(27,18)) (type: decimal(27,18)), power(((_col11 - ((_col12 * _col12) / _col7)) / _col7), 0.5) (type: double), power(((_col11 - ((_col12 * _col12) / _col7)) / CASE WHEN ((_col7 = 1L)) THEN (null) ELSE ((_col7 - 1)) END), 0.5) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14 Statistics: Num rows: 2035 Data size: 1927120 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator @@ -319,14 +319,14 @@ POSTHOOK: query: SELECT cint, POSTHOOK: type: QUERY POSTHOOK: Input: default@decimal_vgby #### A masked pattern was here #### --3728 6 5831542.2692483780 -3367.6517567568 5817556.0411483778 969592.6735247296333333333333333333 2174330.209240386 2381859.406131774 6 6984454.21109769200000 -4033.44576923076900 6967702.86724384584710 1161283.81120730764118333333333333333 2604201.2704476737 2852759.5602156054 --563 2 -515.6210729730 -3367.6517567568 -3883.2728297298 -1941.6364148649000000000000000000 1426.0153418918997 2016.6902366556305 2 -617.56077692307690 -4033.44576923076900 -4651.00654615384590 -2325.50327307692295000000000000000 1707.9424961538462 2415.395441814127 -253665376 1024 9767.0054054054 -9779.5486486487 -347484.0818378374 -339.3399236697630859375000000000 5708.956347886203 5711.745967572781 1024 11697.96923076923100 -11712.99230769231000 -416182.64030769233089 -406.42835967548079188476562500000 6837.632716002931 6840.973851172272 -528534767 1024 5831542.2692483780 -9777.1594594595 11646372.8607481068 11373.4109968243230468750000000000 257528.9298820665 257654.7686043977 1024 6984454.21109769200000 -11710.13076923077100 13948892.79980307629003 13621.96562480769168948242187500000 308443.1074570797 308593.82484083937 -626923679 1024 9723.4027027027 -9778.9513513514 10541.0525297287 10.2939966110631835937500000000 5742.091453237337 5744.897264034264 1024 11645.74615384615400 -11712.27692307692300 12625.04759999997746 12.32914804687497798828125000000 6877.318722794881 6880.679250101608 -6981 3 5831542.2692483780 -515.6210729730 5830511.0271024320 1943503.6757008106666666666666666667 2749258.455012492 3367140.1929065133 3 6984454.21109769200000 -617.56077692307690 6983219.08954384584620 2327739.69651461528206666666666666667 3292794.4113115156 4032833.0678006653 -762 2 5831542.2692483780 1531.2194054054 5833073.4886537834 2916536.7443268917000000000000000000 2915005.5249214866 4122440.3477364695 2 6984454.21109769200000 1833.94569230769250 6986288.15678999969250 3493144.07839499984625000000000000000 3491310.1327026924 4937458.140118757 -NULL 3072 9318.4351351351 -4298.1513513514 5018444.1081079808 1633.6081081080666666666666666667 5695.483082135323 5696.410307714464 3072 11160.71538461538500 -5147.90769230769300 6010604.30769230735360 1956.57692307692296666666666666667 6821.495748565151 6822.606289190915 +-3728 6 5831542.2692483780 -3367.6517567568 5817556.0411483778 969592.67352472963333 2174330.209240386 2381859.406131774 6 6984454.21109769200000 -4033.44576923076900 6967702.86724384584710 1161283.811207307641183333 2604201.2704476737 2852759.5602156054 +-563 2 -515.6210729730 -3367.6517567568 -3883.2728297298 -1941.63641486490000 1426.0153418918997 2016.6902366556305 2 -617.56077692307690 -4033.44576923076900 -4651.00654615384590 -2325.503273076922950000 1707.9424961538462 2415.395441814127 +253665376 1024 9767.0054054054 -9779.5486486487 -347484.0818378374 -339.33992366976309 5708.956347886203 5711.745967572781 1024 11697.96923076923100 -11712.99230769231000 -416182.64030769233089 -406.428359675480791885 6837.632716002931 6840.973851172272 +528534767 1024 5831542.2692483780 -9777.1594594595 11646372.8607481068 11373.41099682432305 257528.9298820665 257654.7686043977 1024 6984454.21109769200000 -11710.13076923077100 13948892.79980307629003 13621.965624807691689482 308443.1074570797 308593.82484083937 +626923679 1024 9723.4027027027 -9778.9513513514 10541.0525297287 10.29399661106318 5742.091453237337 5744.897264034264 1024 11645.74615384615400 -11712.27692307692300 12625.04759999997746 12.329148046874977988 6877.318722794881 6880.679250101608 +6981 3 5831542.2692483780 -515.6210729730 5830511.0271024320 1943503.67570081066667 2749258.455012492 3367140.1929065133 3 6984454.21109769200000 -617.56077692307690 6983219.08954384584620 2327739.696514615282066667 3292794.4113115156 4032833.0678006653 +762 2 5831542.2692483780 1531.2194054054 5833073.4886537834 2916536.74432689170000 2915005.5249214866 4122440.3477364695 2 6984454.21109769200000 1833.94569230769250 6986288.15678999969250 3493144.078394999846250000 3491310.1327026924 4937458.140118757 +NULL 3072 9318.4351351351 -4298.1513513514 5018444.1081079808 1633.60810810806667 5695.483082135323 5696.410307714464 3072 11160.71538461538500 -5147.90769230769300 6010604.30769230735360 1956.576923076922966667 6821.495748565151 6822.606289190915 PREHOOK: query: CREATE TABLE decimal_vgby_small STORED AS TEXTFILE AS SELECT cdouble, CAST (((cdouble*22.1)/37) AS DECIMAL(11,5)) AS cdecimal1, CAST (((cdouble*9.3)/13) AS DECIMAL(16,0)) AS cdecimal2, @@ -632,7 +632,7 @@ STAGE PLANS: predicate: (_col13 > 1L) (type: boolean) Statistics: Num rows: 2035 Data size: 1487560 Basic stats: COMPLETE Column stats: COMPLETE Select Operator - expressions: _col0 (type: int), _col1 (type: bigint), _col2 (type: decimal(11,5)), _col3 (type: decimal(11,5)), _col4 (type: decimal(21,5)), (CAST( _col4 AS decimal(15,9)) / _col1) (type: decimal(35,29)), power(((_col5 - ((_col6 * _col6) / _col1)) / _col1), 0.5) (type: double), power(((_col5 - ((_col6 * _col6) / _col1)) / CASE WHEN ((_col1 = 1L)) THEN (null) ELSE ((_col1 - 1)) END), 0.5) (type: double), _col7 (type: bigint), _col8 (type: decimal(16,0)), _col9 (type: decimal(16,0)), _col10 (type: decimal(26,0)), CAST( (CAST( _col10 AS decimal(20,4)) / _col7) AS decimal(20,4)) (type: decimal(20,4)), power(((_col11 - ((_col12 * _col12) / _col7)) / _col7), 0.5) (type: double), power(((_col11 - ((_col12 * _col12) / _col7)) / CASE WHEN ((_col7 = 1L)) THEN (null) ELSE ((_col7 - 1)) END), 0.5) (type: double) + expressions: _col0 (type: int), _col1 (type: bigint), _col2 (type: decimal(11,5)), _col3 (type: decimal(11,5)), _col4 (type: decimal(21,5)), CAST( (_col4 / _col1) AS decimal(15,9)) (type: decimal(15,9)), power(((_col5 - ((_col6 * _col6) / _col1)) / _col1), 0.5) (type: double), power(((_col5 - ((_col6 * _col6) / _col1)) / CASE WHEN ((_col1 = 1L)) THEN (null) ELSE ((_col1 - 1)) END), 0.5) (type: double), _col7 (type: bigint), _col8 (type: decimal(16,0)), _col9 (type: decimal(16,0)), _col10 (type: decimal(26,0)), CAST( (_col10 / _col7) AS decimal(20,4)) (type: decimal(20,4)), power(((_col11 - ((_col12 * _col12) / _col7)) / _col7), 0.5) (type: double), power(((_col11 - ((_col12 * _col12) / _col7)) / CASE WHEN ((_col7 = 1L)) THEN (null) ELSE ((_col7 - 1)) END), 0.5) (type: double) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14 Statistics: Num rows: 2035 Data size: 1927120 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator @@ -667,14 +667,14 @@ POSTHOOK: query: SELECT cint, POSTHOOK: type: QUERY POSTHOOK: Input: default@decimal_vgby_small #### A masked pattern was here #### --3728 5 -515.62107 -3367.65176 -13986.22811 -2797.24562200000000000000000000000 1140.8122759999992 1275.466899351125 6 6984454 -4033 6967704 1161284.0000 2604201.0914565204 2852759.364140621 --563 2 -515.62107 -3367.65176 -3883.27283 -1941.63641500000000000000000000000 1426.0153450000003 2016.6902410511484 2 -618 -4033 -4651 -2325.5000 1707.5 2414.7696577520596 -253665376 1024 9767.00541 -9779.54865 -347484.08192 -339.33992375000000000000000000000 5708.956347957812 5711.745967644425 1024 11698 -11713 -416183 -406.4287 6837.6426468206855 6840.983786842613 -528534767 1022 9777.75676 -9777.15946 -16711.67771 -16.35193513698630136986301369863 5555.762110793133 5558.482190324906 1024 6984454 -11710 13948890 13621.9629 308443.0982329696 308593.815612222 -626923679 1024 9723.40270 -9778.95135 10541.05247 10.29399655273437500000000000000 5742.091453325365 5744.897264122335 1024 11646 -11712 12641 12.3447 6877.306686989158 6880.6672084147185 -6981 2 -515.62107 -515.62107 -1031.24214 -515.62107000000000000000000000000 0.0 0.0 3 6984454 -618 6983218 2327739.3333 3292794.518850853 4032833.1995089175 -762 1 1531.21941 1531.21941 1531.21941 1531.21941000000000000000000000000 0.0 NULL 2 6984454 1834 6986288 3493144.0000 3491310.0 4937457.95244881 -NULL 3072 9318.43514 -4298.15135 5018444.11392 NULL 5695.4830839098695 5696.410309489299 3072 11161 -5148 6010880 1956.6667 6821.647911041892 6822.758476439734 +-3728 5 -515.62107 -3367.65176 -13986.22811 -2797.245622000 1140.8122759999992 1275.466899351125 6 6984454 -4033 6967704 1161284.0000 2604201.0914565204 2852759.364140621 +-563 2 -515.62107 -3367.65176 -3883.27283 -1941.636415000 1426.0153450000003 2016.6902410511484 2 -618 -4033 -4651 -2325.5000 1707.5 2414.7696577520596 +253665376 1024 9767.00541 -9779.54865 -347484.08192 -339.339923750 5708.956347957812 5711.745967644425 1024 11698 -11713 -416183 -406.4287 6837.6426468206855 6840.983786842613 +528534767 1022 9777.75676 -9777.15946 -16711.67771 -16.351935137 5555.762110793133 5558.482190324906 1024 6984454 -11710 13948890 13621.9629 308443.0982329696 308593.815612222 +626923679 1024 9723.40270 -9778.95135 10541.05247 10.293996553 5742.091453325365 5744.897264122335 1024 11646 -11712 12641 12.3447 6877.306686989158 6880.6672084147185 +6981 2 -515.62107 -515.62107 -1031.24214 -515.621070000 0.0 0.0 3 6984454 -618 6983218 2327739.3333 3292794.518850853 4032833.1995089175 +762 1 1531.21941 1531.21941 1531.21941 1531.219410000 0.0 NULL 2 6984454 1834 6986288 3493144.0000 3491310.0 4937457.95244881 +NULL 3072 9318.43514 -4298.15135 5018444.11392 1633.608110000 5695.4830839098695 5696.410309489299 3072 11161 -5148 6010880 1956.6667 6821.647911041892 6822.758476439734 PREHOOK: query: SELECT SUM(HASH(*)) FROM (SELECT cint, COUNT(cdecimal1), MAX(cdecimal1), MIN(cdecimal1), SUM(cdecimal1), AVG(cdecimal1), STDDEV_POP(cdecimal1), STDDEV_SAMP(cdecimal1), @@ -693,4 +693,4 @@ FROM (SELECT cint, POSTHOOK: type: QUERY POSTHOOK: Input: default@decimal_vgby_small #### A masked pattern was here #### -96673467876 +95165244160 diff --git a/ql/src/test/results/clientpositive/vector_decimal_precision.q.out b/ql/src/test/results/clientpositive/vector_decimal_precision.q.out index e5c6bf08a7..5b279a74d6 100644 --- a/ql/src/test/results/clientpositive/vector_decimal_precision.q.out +++ b/ql/src/test/results/clientpositive/vector_decimal_precision.q.out @@ -633,7 +633,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 120 Basic stats: COMPLETE Column stats: COMPLETE Select Operator - expressions: (_col0 / _col1) (type: decimal(38,18)), CAST( _col0 AS decimal(30,10)) (type: decimal(30,10)) + expressions: CAST( (_col0 / _col1) AS decimal(24,14)) (type: decimal(24,14)), CAST( _col0 AS decimal(30,10)) (type: decimal(30,10)) outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 224 Basic stats: COMPLETE Column stats: COMPLETE File Output Operator @@ -658,7 +658,7 @@ POSTHOOK: query: SELECT avg(`dec`), sum(`dec`) FROM DECIMAL_PRECISION POSTHOOK: type: QUERY POSTHOOK: Input: default@decimal_precision #### A masked pattern was here #### -88499534.575865762206451613 2743485571.8518386284 +88499534.57586576220645 2743485571.8518386284 PREHOOK: query: SELECT `dec` * cast('12345678901234567890.12345678' as decimal(38,18)) FROM DECIMAL_PRECISION LIMIT 1 PREHOOK: type: QUERY PREHOOK: Input: default@decimal_precision @@ -1224,7 +1224,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 232 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: (_col0 / _col1) (type: decimal(38,18)), CAST( _col0 AS decimal(30,10)) (type: decimal(30,10)) + expressions: CAST( (_col0 / _col1) AS decimal(24,14)) (type: decimal(24,14)), CAST( _col0 AS decimal(30,10)) (type: decimal(30,10)) outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 232 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -1249,7 +1249,7 @@ POSTHOOK: query: SELECT avg(`dec`), sum(`dec`) FROM DECIMAL_PRECISION_txt_small POSTHOOK: type: QUERY POSTHOOK: Input: default@decimal_precision_txt_small #### A masked pattern was here #### -88499534.575865762206451613 2743485571.8518386284 +88499534.57586576220645 2743485571.8518386284 PREHOOK: query: SELECT `dec` * cast('12345678901234567890.12345678' as decimal(38,18)) FROM DECIMAL_PRECISION_txt_small LIMIT 1 PREHOOK: type: QUERY PREHOOK: Input: default@decimal_precision_txt_small