diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java index 79d38bc..a38511a 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java @@ -302,7 +302,7 @@ public Object process(Node nd, Stack stack, NodeProcessorCtx procCtx, scale = hd.scale(); } DecimalTypeInfo typeInfo = TypeInfoFactory.getDecimalTypeInfo(prec, scale); - return new ExprNodeConstantDesc(typeInfo, strVal); + return new ExprNodeConstantDesc(typeInfo, hd); } else { v = Double.valueOf(expr.getText()); v = Long.valueOf(expr.getText()); diff --git a/ql/src/test/results/clientpositive/literal_decimal.q.out b/ql/src/test/results/clientpositive/literal_decimal.q.out index b2a23cf..eddc1a4 100644 --- a/ql/src/test/results/clientpositive/literal_decimal.q.out +++ b/ql/src/test/results/clientpositive/literal_decimal.q.out @@ -14,12 +14,12 @@ STAGE PLANS: alias: src Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: COMPLETE Select Operator - expressions: -1 (type: decimal(1,0)), 0 (type: decimal(1,0)), 1 (type: decimal(1,0)), 3.14 (type: decimal(3,2)), -3.14 (type: decimal(3,2)), 99999999999999999 (type: decimal(17,0)), 99999999999999999.9999999999999 (type: decimal(30,13)), 1E99 (type: decimal(1,0)) + expressions: -1 (type: decimal(1,0)), 0 (type: decimal(1,0)), 1 (type: decimal(1,0)), 3.14 (type: decimal(3,2)), -3.14 (type: decimal(3,2)), 99999999999999999 (type: decimal(17,0)), 99999999999999999.9999999999999 (type: decimal(30,13)), null (type: decimal(1,0)) outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7 - Statistics: Num rows: 500 Data size: 448000 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 500 Data size: 392000 Basic stats: COMPLETE Column stats: COMPLETE Limit Number of rows: 1 - Statistics: Num rows: 1 Data size: 896 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 1 Data size: 784 Basic stats: COMPLETE Column stats: COMPLETE ListSink PREHOOK: query: SELECT -1BD, 0BD, 1BD, 3.14BD, -3.14BD, 99999999999999999BD, 99999999999999999.9999999999999BD, 1E99BD FROM src LIMIT 1 diff --git a/ql/src/test/results/clientpositive/tez/vector_decimal_2.q.out b/ql/src/test/results/clientpositive/tez/vector_decimal_2.q.out index e67ab7b..bbdd75f 100644 --- a/ql/src/test/results/clientpositive/tez/vector_decimal_2.q.out +++ b/ql/src/test/results/clientpositive/tez/vector_decimal_2.q.out @@ -1039,6 +1039,7 @@ STAGE PLANS: sort order: + Statistics: Num rows: 1 Data size: 112 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col0 (type: decimal(4,2)) + Execution mode: vectorized Reducer 2 Reduce Operator Tree: Select Operator @@ -1100,6 +1101,7 @@ STAGE PLANS: sort order: + Statistics: Num rows: 1 Data size: 112 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col0 (type: decimal(4,2)) + Execution mode: vectorized Reducer 2 Reduce Operator Tree: Select Operator @@ -1161,6 +1163,7 @@ STAGE PLANS: sort order: + Statistics: Num rows: 1 Data size: 112 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col0 (type: decimal(30,8)) + Execution mode: vectorized Reducer 2 Reduce Operator Tree: Select Operator @@ -1647,6 +1650,7 @@ STAGE PLANS: sort order: + Statistics: Num rows: 1 Data size: 112 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col0 (type: decimal(20,20)) + Execution mode: vectorized Reducer 2 Reduce Operator Tree: Select Operator diff --git a/ql/src/test/results/clientpositive/vector_decimal_2.q.out b/ql/src/test/results/clientpositive/vector_decimal_2.q.out index b22d00c..c0112a9 100644 --- a/ql/src/test/results/clientpositive/vector_decimal_2.q.out +++ b/ql/src/test/results/clientpositive/vector_decimal_2.q.out @@ -922,6 +922,7 @@ STAGE PLANS: sort order: + Statistics: Num rows: 1 Data size: 112 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col0 (type: decimal(4,2)) + Execution mode: vectorized Reduce Operator Tree: Select Operator expressions: VALUE._col0 (type: decimal(4,2)) @@ -976,6 +977,7 @@ STAGE PLANS: sort order: + Statistics: Num rows: 1 Data size: 112 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col0 (type: decimal(4,2)) + Execution mode: vectorized Reduce Operator Tree: Select Operator expressions: VALUE._col0 (type: decimal(4,2)) @@ -1030,6 +1032,7 @@ STAGE PLANS: sort order: + Statistics: Num rows: 1 Data size: 112 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col0 (type: decimal(30,8)) + Execution mode: vectorized Reduce Operator Tree: Select Operator expressions: VALUE._col0 (type: decimal(30,8)) @@ -1460,6 +1463,7 @@ STAGE PLANS: sort order: + Statistics: Num rows: 1 Data size: 112 Basic stats: COMPLETE Column stats: COMPLETE value expressions: _col0 (type: decimal(20,20)) + Execution mode: vectorized Reduce Operator Tree: Select Operator expressions: VALUE._col0 (type: decimal(20,20))