You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by se...@apache.org on 2016/07/07 19:49:55 UTC

[10/30] hive git commit: HIVE-13945 : Decimal value is displayed as rounded when selecting where clause with that decimal value (Sergey Shelukhin, reviewed by Ashutosh Chauhan)

http://git-wip-us.apache.org/repos/asf/hive/blob/1b5ee3d8/ql/src/test/results/clientpositive/tez/vectorized_math_funcs.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/tez/vectorized_math_funcs.q.out b/ql/src/test/results/clientpositive/tez/vectorized_math_funcs.q.out
index 444b9e0..0a81f62 100644
--- a/ql/src/test/results/clientpositive/tez/vectorized_math_funcs.q.out
+++ b/ql/src/test/results/clientpositive/tez/vectorized_math_funcs.q.out
@@ -119,7 +119,7 @@ STAGE PLANS:
           Filter Operator
             predicate: (((cbigint % 500) = 0) and (sin(cfloat) >= -1.0)) (type: boolean)
             Select Operator
-              expressions: cdouble (type: double), round(cdouble, 2) (type: double), floor(cdouble) (type: bigint), ceil(cdouble) (type: bigint), rand() (type: double), rand(98007) (type: double), exp(ln(cdouble)) (type: double), ln(cdouble) (type: double), ln(cfloat) (type: double), log10(cdouble) (type: double), log2(cdouble) (type: double), log2((cdouble - 15601.0)) (type: double), log2(cfloat) (type: double), log2(cbigint) (type: double), log2(cint) (type: double), log2(csmallint) (type: double), log2(ctinyint) (type: double), log(2.0, cdouble) (type: double), power(log2(cdouble), 2.0) (type: double), power(log2(cdouble), 2.0) (type: double), sqrt(cdouble) (type: double), sqrt(cbigint) (type: double), bin(cbigint) (type: string), hex(cdouble) (type: string), conv(cbigint, 10, 16) (type: string), abs(cdouble) (type: double), abs(ctinyint) (type: int), (cint pmod 3) (type: int), sin(cdouble) (type: double), asin(cdouble) (type: double), cos(cdouble) (type: double), acos(cdouble) (
 type: double), atan(cdouble) (type: double), degrees(cdouble) (type: double), radians(cdouble) (type: double), cdouble (type: double), cbigint (type: bigint), (- cdouble) (type: double), sign(cdouble) (type: double), sign(cbigint) (type: double), cos(((- sin(log(cdouble))) + 3.14159)) (type: double)
+              expressions: cdouble (type: double), round(cdouble, 2) (type: double), floor(cdouble) (type: bigint), ceil(cdouble) (type: bigint), rand() (type: double), rand(98007) (type: double), exp(ln(cdouble)) (type: double), ln(cdouble) (type: double), ln(cfloat) (type: double), log10(cdouble) (type: double), log2(cdouble) (type: double), log2((cdouble - 15601.0)) (type: double), log2(cfloat) (type: double), log2(cbigint) (type: double), log2(cint) (type: double), log2(csmallint) (type: double), log2(ctinyint) (type: double), log(2, cdouble) (type: double), power(log2(cdouble), 2) (type: double), power(log2(cdouble), 2) (type: double), sqrt(cdouble) (type: double), sqrt(cbigint) (type: double), bin(cbigint) (type: string), hex(cdouble) (type: string), conv(cbigint, 10, 16) (type: string), abs(cdouble) (type: double), abs(ctinyint) (type: int), (cint pmod 3) (type: int), sin(cdouble) (type: double), asin(cdouble) (type: double), cos(cdouble) (type: double), acos(cdouble) (type: 
 double), atan(cdouble) (type: double), degrees(cdouble) (type: double), radians(cdouble) (type: double), cdouble (type: double), cbigint (type: bigint), (- cdouble) (type: double), sign(cdouble) (type: double), sign(cbigint) (type: double), cos(((- sin(log(cdouble))) + 3.14159)) (type: double)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26, _col27, _col28, _col29, _col30, _col31, _col32, _col33, _col34, _col35, _col36, _col37, _col38, _col39, _col40
               ListSink
 

http://git-wip-us.apache.org/repos/asf/hive/blob/1b5ee3d8/ql/src/test/results/clientpositive/udf4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf4.q.out b/ql/src/test/results/clientpositive/udf4.q.out
index 9751168..d0b56da 100644
--- a/ql/src/test/results/clientpositive/udf4.q.out
+++ b/ql/src/test/results/clientpositive/udf4.q.out
@@ -77,12 +77,12 @@ STAGE PLANS:
             alias: dest1
             Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: COMPLETE
             Select Operator
-              expressions: 1.0 (type: double), 2.0 (type: double), -2.0 (type: double), 1 (type: bigint), 1 (type: bigint), -2 (type: bigint), 1.0 (type: double), null (type: double), 0.0 (type: double), 1 (type: bigint), 2 (type: bigint), -1 (type: bigint), 1 (type: bigint), rand(3) (type: double), 3 (type: int), -3 (type: int), 3 (type: int), -1 (type: int), -2 (type: int), -2 (type: tinyint), -2 (type: smallint), -2 (type: bigint), 0 (type: tinyint), 0 (type: smallint), 0 (type: int), 0 (type: bigint), 3 (type: tinyint), 3 (type: smallint), 3 (type: int), 3 (type: bigint), 2 (type: tinyint), 2 (type: smallint), 2 (type: int), 2 (type: bigint)
+              expressions: 1 (type: decimal(1,0)), 2 (type: decimal(2,0)), -2 (type: decimal(2,0)), 1 (type: decimal(2,0)), 1 (type: decimal(2,0)), -2 (type: decimal(2,0)), 1.0 (type: double), null (type: double), 0.0 (type: double), 1 (type: decimal(2,0)), 2 (type: decimal(2,0)), -1 (type: decimal(2,0)), 1 (type: decimal(2,0)), rand(3) (type: double), 3 (type: int), -3 (type: int), 3 (type: int), -1 (type: int), -2 (type: int), -2 (type: tinyint), -2 (type: smallint), -2 (type: bigint), 0 (type: tinyint), 0 (type: smallint), 0 (type: int), 0 (type: bigint), 3 (type: tinyint), 3 (type: smallint), 3 (type: int), 3 (type: bigint), 2 (type: tinyint), 2 (type: smallint), 2 (type: int), 2 (type: bigint)
               outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25, _col26, _col27, _col28, _col29, _col30, _col31, _col32, _col33
-              Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: COMPLETE
+              Statistics: Num rows: 1 Data size: 1240 Basic stats: COMPLETE Column stats: COMPLETE
               File Output Operator
                 compressed: false
-                Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: COMPLETE
+                Statistics: Num rows: 1 Data size: 1240 Basic stats: COMPLETE Column stats: COMPLETE
                 table:
                     input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                     output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -144,4 +144,4 @@ FROM dest1
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@dest1
 #### A masked pattern was here ####
-1.0	2.0	-2.0	1	1	-2	1.0	NULL	0.0	1	2	-1	1	0.731057369148862	3	-3	3	-1	-2	-2	-2	-2	0	0	0	0	3	3	3	3	2	2	2	2
+1	2	-2	1	1	-2	1.0	NULL	0.0	1	2	-1	1	0.731057369148862	3	-3	3	-1	-2	-2	-2	-2	0	0	0	0	3	3	3	3	2	2	2	2

http://git-wip-us.apache.org/repos/asf/hive/blob/1b5ee3d8/ql/src/test/results/clientpositive/udf6.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf6.q.out b/ql/src/test/results/clientpositive/udf6.q.out
index 0b92bd5..4193d34 100644
--- a/ql/src/test/results/clientpositive/udf6.q.out
+++ b/ql/src/test/results/clientpositive/udf6.q.out
@@ -75,9 +75,9 @@ STAGE PLANS:
           alias: dest1
           Statistics: Num rows: 1 Data size: 7 Basic stats: COMPLETE Column stats: COMPLETE
           Select Operator
-            expressions: 1 (type: int), 2 (type: int), 2 (type: int), 'a' (type: string), 0.1 (type: double), 2 (type: bigint), 126 (type: tinyint), 128 (type: smallint), 128 (type: int), 1.0 (type: double), '128' (type: string)
+            expressions: 1 (type: int), 2 (type: int), 2 (type: int), 'a' (type: string), 0.1 (type: decimal(1,1)), 2 (type: bigint), 126 (type: tinyint), 128 (type: smallint), 128 (type: int), 1.0 (type: double), '128' (type: string)
             outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10
-            Statistics: Num rows: 1 Data size: 220 Basic stats: COMPLETE Column stats: COMPLETE
+            Statistics: Num rows: 1 Data size: 324 Basic stats: COMPLETE Column stats: COMPLETE
             ListSink
 
 PREHOOK: query: SELECT IF(TRUE, 1, 2), IF(FALSE, 1, 2), IF(NULL, 1, 2), IF(TRUE, "a", "b"),

http://git-wip-us.apache.org/repos/asf/hive/blob/1b5ee3d8/ql/src/test/results/clientpositive/udf_abs.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_abs.q.out b/ql/src/test/results/clientpositive/udf_abs.q.out
index d756185..10e5458 100644
--- a/ql/src/test/results/clientpositive/udf_abs.q.out
+++ b/ql/src/test/results/clientpositive/udf_abs.q.out
@@ -93,9 +93,9 @@ STAGE PLANS:
           Row Limit Per Split: 1
           Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: COMPLETE
           Select Operator
-            expressions: 0.0 (type: double), 3.14159265 (type: double), 3.14159265 (type: double)
+            expressions: 0 (type: decimal(1,0)), 3.14159265 (type: decimal(9,8)), 3.14159265 (type: decimal(9,8))
             outputColumnNames: _col0, _col1, _col2
-            Statistics: Num rows: 500 Data size: 12000 Basic stats: COMPLETE Column stats: COMPLETE
+            Statistics: Num rows: 500 Data size: 168000 Basic stats: COMPLETE Column stats: COMPLETE
             ListSink
 
 PREHOOK: query: SELECT
@@ -114,4 +114,4 @@ FROM src tablesample (1 rows)
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@src
 #### A masked pattern was here ####
-0.0	3.14159265	3.14159265
+0	3.14159265	3.14159265

http://git-wip-us.apache.org/repos/asf/hive/blob/1b5ee3d8/ql/src/test/results/clientpositive/udf_bround.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_bround.q.out b/ql/src/test/results/clientpositive/udf_bround.q.out
index 4dcea6d..fd6354d 100644
--- a/ql/src/test/results/clientpositive/udf_bround.q.out
+++ b/ql/src/test/results/clientpositive/udf_bround.q.out
@@ -32,7 +32,7 @@ bround(3.51)
 POSTHOOK: type: QUERY
 POSTHOOK: Input: _dummy_database@_dummy_table
 #### A masked pattern was here ####
-2.0	4.0	2.0	3.0	3.0	4.0
+2	4	2	3	3	4
 PREHOOK: query: select
 bround(1.25, 1),
 bround(1.35, 1),
@@ -95,7 +95,7 @@ bround(45.1, -1)
 POSTHOOK: type: QUERY
 POSTHOOK: Input: _dummy_database@_dummy_table
 #### A masked pattern was here ####
-60.0	40.0	50.0	40.0	60.0	50.0
+60	40	50	40	60	50
 PREHOOK: query: select
 bround(-55.0, -1),
 bround(-45.0, -1),
@@ -116,4 +116,4 @@ bround(-45.1, -1)
 POSTHOOK: type: QUERY
 POSTHOOK: Input: _dummy_database@_dummy_table
 #### A masked pattern was here ####
--60.0	-40.0	-50.0	-40.0	-60.0	-50.0
+-60	-40	-50	-40	-60	-50

http://git-wip-us.apache.org/repos/asf/hive/blob/1b5ee3d8/ql/src/test/results/clientpositive/udf_case.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_case.q.out b/ql/src/test/results/clientpositive/udf_case.q.out
index 05c65c9..5cf458a 100644
--- a/ql/src/test/results/clientpositive/udf_case.q.out
+++ b/ql/src/test/results/clientpositive/udf_case.q.out
@@ -208,4 +208,4 @@ FROM src tablesample (1 rows)
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@src
 #### A masked pattern was here ####
-123	123.0	abcd
+123	123	abcd

http://git-wip-us.apache.org/repos/asf/hive/blob/1b5ee3d8/ql/src/test/results/clientpositive/udf_coalesce.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_coalesce.q.out b/ql/src/test/results/clientpositive/udf_coalesce.q.out
index 83024f2..a33efac 100644
--- a/ql/src/test/results/clientpositive/udf_coalesce.q.out
+++ b/ql/src/test/results/clientpositive/udf_coalesce.q.out
@@ -66,9 +66,9 @@ STAGE PLANS:
           Row Limit Per Split: 1
           Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: COMPLETE
           Select Operator
-            expressions: 1 (type: int), 1 (type: int), 2 (type: int), 1 (type: int), 3 (type: int), 4 (type: int), '1' (type: string), '1' (type: string), '2' (type: string), '1' (type: string), '3' (type: string), '4' (type: string), 1.0 (type: double), 1.0 (type: double), 2.0 (type: double), 2.0 (type: double), 2.0 (type: double), null (type: int)
+            expressions: 1 (type: int), 1 (type: int), 2 (type: int), 1 (type: int), 3 (type: int), 4 (type: int), '1' (type: string), '1' (type: string), '2' (type: string), '1' (type: string), '3' (type: string), '4' (type: string), 1 (type: decimal(1,0)), 1 (type: decimal(1,0)), 2 (type: decimal(1,0)), 2 (type: decimal(1,0)), 2 (type: decimal(1,0)), null (type: int)
             outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17
-            Statistics: Num rows: 500 Data size: 287000 Basic stats: COMPLETE Column stats: COMPLETE
+            Statistics: Num rows: 500 Data size: 547000 Basic stats: COMPLETE Column stats: COMPLETE
             ListSink
 
 PREHOOK: query: SELECT COALESCE(1),
@@ -115,7 +115,7 @@ FROM src tablesample (1 rows)
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@src
 #### A masked pattern was here ####
-1	1	2	1	3	4	1	1	2	1	3	4	1.0	1.0	2.0	2.0	2.0	NULL
+1	1	2	1	3	4	1	1	2	1	3	4	1	1	2	2	2	NULL
 PREHOOK: query: EXPLAIN
 SELECT COALESCE(src_thrift.lint[1], 999),
        COALESCE(src_thrift.lintstring[0].mystring, '999'),

http://git-wip-us.apache.org/repos/asf/hive/blob/1b5ee3d8/ql/src/test/results/clientpositive/udf_format_number.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_format_number.q.out b/ql/src/test/results/clientpositive/udf_format_number.q.out
index 1fa4d5c..a860f9e 100644
--- a/ql/src/test/results/clientpositive/udf_format_number.q.out
+++ b/ql/src/test/results/clientpositive/udf_format_number.q.out
@@ -140,7 +140,7 @@ FROM src tablesample (1 rows)
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@src
 #### A masked pattern was here ####
-0.0000	0.0	0.0	0.0	0	-0.0000	-0
+0.0000	0.0	0.0	0.0	0	0.0000	0
 PREHOOK: query: -- integers
 SELECT format_number(0, 0),
     format_number(1, 4),

http://git-wip-us.apache.org/repos/asf/hive/blob/1b5ee3d8/ql/src/test/results/clientpositive/udf_if.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_if.q.out b/ql/src/test/results/clientpositive/udf_if.q.out
index fe41924..c45483b 100644
--- a/ql/src/test/results/clientpositive/udf_if.q.out
+++ b/ql/src/test/results/clientpositive/udf_if.q.out
@@ -94,9 +94,9 @@ STAGE PLANS:
           Row Limit Per Split: 1
           Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: COMPLETE
           Select Operator
-            expressions: 128 (type: smallint), 1.1 (type: double), 'ABC' (type: string), '12.3' (type: string)
+            expressions: 128 (type: smallint), 1.1 (type: decimal(11,1)), 'ABC' (type: string), '12.3' (type: string)
             outputColumnNames: _col0, _col1, _col2, _col3
-            Statistics: Num rows: 500 Data size: 93500 Basic stats: COMPLETE Column stats: COMPLETE
+            Statistics: Num rows: 500 Data size: 145500 Basic stats: COMPLETE Column stats: COMPLETE
             ListSink
 
 PREHOOK: query: SELECT IF(TRUE, CAST(128 AS SMALLINT), CAST(1 AS TINYINT)) AS COL1,

http://git-wip-us.apache.org/repos/asf/hive/blob/1b5ee3d8/ql/src/test/results/clientpositive/udf_java_method.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_java_method.q.out b/ql/src/test/results/clientpositive/udf_java_method.q.out
index 2c66a8f..1f232fc 100644
--- a/ql/src/test/results/clientpositive/udf_java_method.q.out
+++ b/ql/src/test/results/clientpositive/udf_java_method.q.out
@@ -18,9 +18,9 @@ SELECT java_method("java.lang.String", "valueOf", 1),
        java_method("java.lang.String", "isEmpty"),
        java_method("java.lang.Math", "max", 2, 3),
        java_method("java.lang.Math", "min", 2, 3),
-       java_method("java.lang.Math", "round", 2.5),
-       round(java_method("java.lang.Math", "exp", 1.0), 6),
-       java_method("java.lang.Math", "floor", 1.9)
+       java_method("java.lang.Math", "round", 2.5D),
+       round(java_method("java.lang.Math", "exp", 1.0D), 6),
+       java_method("java.lang.Math", "floor", 1.9D)
 FROM src tablesample (1 rows)
 PREHOOK: type: QUERY
 POSTHOOK: query: -- java_method() is a synonym for reflect()
@@ -30,9 +30,9 @@ SELECT java_method("java.lang.String", "valueOf", 1),
        java_method("java.lang.String", "isEmpty"),
        java_method("java.lang.Math", "max", 2, 3),
        java_method("java.lang.Math", "min", 2, 3),
-       java_method("java.lang.Math", "round", 2.5),
-       round(java_method("java.lang.Math", "exp", 1.0), 6),
-       java_method("java.lang.Math", "floor", 1.9)
+       java_method("java.lang.Math", "round", 2.5D),
+       round(java_method("java.lang.Math", "exp", 1.0D), 6),
+       java_method("java.lang.Math", "floor", 1.9D)
 FROM src tablesample (1 rows)
 POSTHOOK: type: QUERY
 STAGE DEPENDENCIES:
@@ -58,9 +58,9 @@ PREHOOK: query: SELECT java_method("java.lang.String", "valueOf", 1),
        java_method("java.lang.String", "isEmpty"),
        java_method("java.lang.Math", "max", 2, 3),
        java_method("java.lang.Math", "min", 2, 3),
-       java_method("java.lang.Math", "round", 2.5),
-       round(java_method("java.lang.Math", "exp", 1.0), 6),
-       java_method("java.lang.Math", "floor", 1.9)
+       java_method("java.lang.Math", "round", 2.5D),
+       round(java_method("java.lang.Math", "exp", 1.0D), 6),
+       java_method("java.lang.Math", "floor", 1.9D)
 FROM src tablesample (1 rows)
 PREHOOK: type: QUERY
 PREHOOK: Input: default@src
@@ -69,9 +69,9 @@ POSTHOOK: query: SELECT java_method("java.lang.String", "valueOf", 1),
        java_method("java.lang.String", "isEmpty"),
        java_method("java.lang.Math", "max", 2, 3),
        java_method("java.lang.Math", "min", 2, 3),
-       java_method("java.lang.Math", "round", 2.5),
-       round(java_method("java.lang.Math", "exp", 1.0), 6),
-       java_method("java.lang.Math", "floor", 1.9)
+       java_method("java.lang.Math", "round", 2.5D),
+       round(java_method("java.lang.Math", "exp", 1.0D), 6),
+       java_method("java.lang.Math", "floor", 1.9D)
 FROM src tablesample (1 rows)
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@src

http://git-wip-us.apache.org/repos/asf/hive/blob/1b5ee3d8/ql/src/test/results/clientpositive/udf_least.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_least.q.out b/ql/src/test/results/clientpositive/udf_least.q.out
index 497370e..2634d1a 100644
--- a/ql/src/test/results/clientpositive/udf_least.q.out
+++ b/ql/src/test/results/clientpositive/udf_least.q.out
@@ -149,7 +149,7 @@ FROM src tablesample (1 rows)
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@src
 #### A masked pattern was here ####
-11.4	1.0	-13.1	-13.3	NULL	NULL	NULL	NULL
+11.4	1	-13.1	-13.3	NULL	NULL	NULL	NULL
 PREHOOK: query: SELECT LEAST(101Y, -101S, 100, -100L, null),
        LEAST(-101Y, 101S, 100, -100L, 0),
        LEAST(100Y, -100S, 101, -101L, null),

http://git-wip-us.apache.org/repos/asf/hive/blob/1b5ee3d8/ql/src/test/results/clientpositive/udf_reflect.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_reflect.q.out b/ql/src/test/results/clientpositive/udf_reflect.q.out
index 4c31977..cb81302 100644
--- a/ql/src/test/results/clientpositive/udf_reflect.q.out
+++ b/ql/src/test/results/clientpositive/udf_reflect.q.out
@@ -16,9 +16,9 @@ SELECT reflect("java.lang.String", "valueOf", 1),
        reflect("java.lang.String", "isEmpty"),
        reflect("java.lang.Math", "max", 2, 3),
        reflect("java.lang.Math", "min", 2, 3),
-       reflect("java.lang.Math", "round", 2.5),
-       round(reflect("java.lang.Math", "exp", 1.0), 6),
-       reflect("java.lang.Math", "floor", 1.9),
+       reflect("java.lang.Math", "round", 2.5D),
+       round(reflect("java.lang.Math", "exp", 1.0D), 6),
+       reflect("java.lang.Math", "floor", 1.9D),
        reflect("java.lang.Integer", "valueOf", key, 16)
 FROM src tablesample (1 rows)
 PREHOOK: type: QUERY
@@ -27,9 +27,9 @@ SELECT reflect("java.lang.String", "valueOf", 1),
        reflect("java.lang.String", "isEmpty"),
        reflect("java.lang.Math", "max", 2, 3),
        reflect("java.lang.Math", "min", 2, 3),
-       reflect("java.lang.Math", "round", 2.5),
-       round(reflect("java.lang.Math", "exp", 1.0), 6),
-       reflect("java.lang.Math", "floor", 1.9),
+       reflect("java.lang.Math", "round", 2.5D),
+       round(reflect("java.lang.Math", "exp", 1.0D), 6),
+       reflect("java.lang.Math", "floor", 1.9D),
        reflect("java.lang.Integer", "valueOf", key, 16)
 FROM src tablesample (1 rows)
 POSTHOOK: type: QUERY
@@ -56,9 +56,9 @@ PREHOOK: query: SELECT reflect("java.lang.String", "valueOf", 1),
        reflect("java.lang.String", "isEmpty"),
        reflect("java.lang.Math", "max", 2, 3),
        reflect("java.lang.Math", "min", 2, 3),
-       reflect("java.lang.Math", "round", 2.5),
-       round(reflect("java.lang.Math", "exp", 1.0), 6),
-       reflect("java.lang.Math", "floor", 1.9),
+       reflect("java.lang.Math", "round", 2.5D),
+       round(reflect("java.lang.Math", "exp", 1.0D), 6),
+       reflect("java.lang.Math", "floor", 1.9D),
        reflect("java.lang.Integer", "valueOf", key, 16)
 FROM src tablesample (1 rows)
 PREHOOK: type: QUERY
@@ -68,9 +68,9 @@ POSTHOOK: query: SELECT reflect("java.lang.String", "valueOf", 1),
        reflect("java.lang.String", "isEmpty"),
        reflect("java.lang.Math", "max", 2, 3),
        reflect("java.lang.Math", "min", 2, 3),
-       reflect("java.lang.Math", "round", 2.5),
-       round(reflect("java.lang.Math", "exp", 1.0), 6),
-       reflect("java.lang.Math", "floor", 1.9),
+       reflect("java.lang.Math", "round", 2.5D),
+       round(reflect("java.lang.Math", "exp", 1.0D), 6),
+       reflect("java.lang.Math", "floor", 1.9D),
        reflect("java.lang.Integer", "valueOf", key, 16)
 FROM src tablesample (1 rows)
 POSTHOOK: type: QUERY

http://git-wip-us.apache.org/repos/asf/hive/blob/1b5ee3d8/ql/src/test/results/clientpositive/udf_round.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_round.q.out b/ql/src/test/results/clientpositive/udf_round.q.out
index f0a8e7a..c80f821 100644
--- a/ql/src/test/results/clientpositive/udf_round.q.out
+++ b/ql/src/test/results/clientpositive/udf_round.q.out
@@ -63,7 +63,7 @@ FROM src tablesample (1 rows)
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@src
 #### A masked pattern was here ####
-125.0	125.0	125.3	125.32	125.315	125.315	130.0	100.0	0.0	0.0	-125.0	-125.0	-125.3	-125.32	-125.315	-125.315	-130.0	-100.0	0.0	0.0
+125	125	125.3	125.32	125.315	125.315	130	100	0	0	-125	-125	-125.3	-125.32	-125.315	-125.315	-130	-100	0	0
 PREHOOK: query: SELECT
   round(3.141592653589793, -15), round(3.141592653589793, -16),
   round(3.141592653589793, -13), round(3.141592653589793, -14),
@@ -108,7 +108,7 @@ FROM src tablesample (1 rows)
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@src
 #### A masked pattern was here ####
-0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	0.0	3.0	3.1	3.14	3.142	3.1416	3.14159	3.141593	3.1415927	3.14159265	3.141592654	3.1415926536	3.14159265359	3.14159265359	3.1415926535898	3.1415926535898	3.14159265358979	3.141592653589793	3.141592653589793
+0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	3	3.1	3.14	3.142	3.1416	3.14159	3.141593	3.1415927	3.14159265	3.141592654	3.1415926536	3.14159265359	3.14159265359	3.1415926535898	3.1415926535898	3.14159265358979	3.141592653589793	3.141592653589793
 PREHOOK: query: SELECT round(1809242.3151111344, 9), round(-1809242.3151111344, 9), round(1809242.3151111344BD, 9), round(-1809242.3151111344BD, 9)
 FROM src tablesample (1 rows)
 PREHOOK: type: QUERY

http://git-wip-us.apache.org/repos/asf/hive/blob/1b5ee3d8/ql/src/test/results/clientpositive/udf_round_3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_round_3.q.out b/ql/src/test/results/clientpositive/udf_round_3.q.out
index 7bc7ca5..12eee56 100644
--- a/ql/src/test/results/clientpositive/udf_round_3.q.out
+++ b/ql/src/test/results/clientpositive/udf_round_3.q.out
@@ -52,4 +52,4 @@ select round(126.1), round(126.7), round(32766.1), round(32766.7) from src table
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@src
 #### A masked pattern was here ####
-126.0	127.0	32766.0	32767.0
+126	127	32766	32767

http://git-wip-us.apache.org/repos/asf/hive/blob/1b5ee3d8/ql/src/test/results/clientpositive/udf_sort_array.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_sort_array.q.out b/ql/src/test/results/clientpositive/udf_sort_array.q.out
index a29763a..2b67108 100644
--- a/ql/src/test/results/clientpositive/udf_sort_array.q.out
+++ b/ql/src/test/results/clientpositive/udf_sort_array.q.out
@@ -86,7 +86,7 @@ SELECT sort_array(sort_array(array(2.333, 9, 1.325, 2.003, 0.777, -3.445, 1))) F
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@src
 #### A masked pattern was here ####
-[-3.445,0.777,1.0,1.325,2.003,2.333,9.0]
+[-3.445,0.777,1,1.325,2.003,2.333,9]
 PREHOOK: query: -- Evaluate function against LIST valued keys
 SELECT sort_array(array(array(2, 9, 7), array(3, 5, 4), array(1, 6, 8))) FROM src tablesample (1 rows)
 PREHOOK: type: QUERY

http://git-wip-us.apache.org/repos/asf/hive/blob/1b5ee3d8/ql/src/test/results/clientpositive/udf_union.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_union.q.out b/ql/src/test/results/clientpositive/udf_union.q.out
index 114040f..0b007da 100644
--- a/ql/src/test/results/clientpositive/udf_union.q.out
+++ b/ql/src/test/results/clientpositive/udf_union.q.out
@@ -34,7 +34,7 @@ STAGE PLANS:
           Row Limit Per Split: 2
           Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
           Select Operator
-            expressions: create_union(0,key) (type: uniontype<string>), create_union(if((key < 100), 0, 1),2.0,value) (type: uniontype<double,string>), create_union(1,'a',const struct(2,'b')) (type: uniontype<string,struct<col1:int,col2:string>>)
+            expressions: create_union(0,key) (type: uniontype<string>), create_union(if((key < 100), 0, 1),2,value) (type: uniontype<decimal(1,0),string>), create_union(1,'a',const struct(2,'b')) (type: uniontype<string,struct<col1:int,col2:string>>)
             outputColumnNames: _col0, _col1, _col2
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             ListSink
@@ -52,4 +52,4 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@src
 #### A masked pattern was here ####
 {0:"238"}	{1:"val_238"}	{1:{"col1":2,"col2":"b"}}
-{0:"86"}	{0:2.0}	{1:{"col1":2,"col2":"b"}}
+{0:"86"}	{0:2}	{1:{"col1":2,"col2":"b"}}

http://git-wip-us.apache.org/repos/asf/hive/blob/1b5ee3d8/ql/src/test/results/clientpositive/udf_when.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/udf_when.q.out b/ql/src/test/results/clientpositive/udf_when.q.out
index 3681908..fce1603 100644
--- a/ql/src/test/results/clientpositive/udf_when.q.out
+++ b/ql/src/test/results/clientpositive/udf_when.q.out
@@ -191,4 +191,4 @@ FROM src tablesample (1 rows)
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@src
 #### A masked pattern was here ####
-123	123.0	abcd
+123	123	abcd

http://git-wip-us.apache.org/repos/asf/hive/blob/1b5ee3d8/ql/src/test/results/clientpositive/vector_between_in.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vector_between_in.q.out b/ql/src/test/results/clientpositive/vector_between_in.q.out
index 0d55c9b..9f351b2 100644
--- a/ql/src/test/results/clientpositive/vector_between_in.q.out
+++ b/ql/src/test/results/clientpositive/vector_between_in.q.out
@@ -134,6 +134,7 @@ STAGE PLANS:
                   key expressions: _col0 (type: decimal(20,10))
                   sort order: +
                   Statistics: Num rows: 6144 Data size: 1233808 Basic stats: COMPLETE Column stats: NONE
+      Execution mode: vectorized
       Reduce Operator Tree:
         Select Operator
           expressions: KEY.reducesinkkey0 (type: decimal(20,10))
@@ -182,6 +183,7 @@ STAGE PLANS:
                     sort order: 
                     Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE
                     value expressions: _col0 (type: bigint)
+      Execution mode: vectorized
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)
@@ -723,6 +725,7 @@ STAGE PLANS:
                   Map-reduce partition columns: _col0 (type: boolean)
                   Statistics: Num rows: 12288 Data size: 2467616 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col1 (type: bigint)
+      Execution mode: vectorized
       Reduce Operator Tree:
         Group By Operator
           aggregations: count(VALUE._col0)

http://git-wip-us.apache.org/repos/asf/hive/blob/1b5ee3d8/ql/src/test/results/clientpositive/vector_decimal_6.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vector_decimal_6.q.out b/ql/src/test/results/clientpositive/vector_decimal_6.q.out
index 15c9757..24c10a4 100644
--- a/ql/src/test/results/clientpositive/vector_decimal_6.q.out
+++ b/ql/src/test/results/clientpositive/vector_decimal_6.q.out
@@ -266,7 +266,7 @@ PREHOOK: Input: default@decimal_6_3
 POSTHOOK: query: desc DECIMAL_6_3
 POSTHOOK: type: DESCTABLE
 POSTHOOK: Input: default@decimal_6_3
-k                   	double              	                    
+k                   	decimal(11,5)       	                    
 v                   	int                 	                    
 PREHOOK: query: SELECT * FROM DECIMAL_6_3 ORDER BY k, v
 PREHOOK: type: QUERY
@@ -281,25 +281,25 @@ NULL	0
 NULL	33
 NULL	44
 NULL	695344902
--4394.5	48400
--1249.99	-13805
-4.378	-121
-4.38	-11
-5.167	0
-5.2	0
-5.5	0
-5.5	0
-5.833	0
-6.5	11
-6.5	11
-6.62	11
-6.622	11
-7.5	22
-8.64	33
-8.64	33
-8.64	44
-15.5	110
+-4394.50000	48400
+-1249.99000	-13805
+4.37800	-121
+4.38000	-11
+5.16700	0
+5.20000	0
+5.50000	0
+5.50000	0
+5.83300	0
+6.50000	11
+6.50000	11
+6.62000	11
+6.62200	11
+7.50000	22
+8.64000	33
+8.64000	33
+8.64000	44
+15.50000	110
 16.23433	55
-129.5	1364
-130.7	1375
+129.50000	1364
+130.70000	1375
 23237.73435	22

http://git-wip-us.apache.org/repos/asf/hive/blob/1b5ee3d8/ql/src/test/results/clientpositive/vector_decimal_expressions.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vector_decimal_expressions.q.out b/ql/src/test/results/clientpositive/vector_decimal_expressions.q.out
index 9244efd..8af5a1c 100644
--- a/ql/src/test/results/clientpositive/vector_decimal_expressions.q.out
+++ b/ql/src/test/results/clientpositive/vector_decimal_expressions.q.out
@@ -35,21 +35,21 @@ STAGE PLANS:
             alias: decimal_test
             Statistics: Num rows: 12288 Data size: 2128368 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((cdecimal1 > 0) and (UDFToDouble(cdecimal1) < 12345.5678) and (cdecimal2 <> 0) and (cdecimal2 > 1000) and cdouble is not null) (type: boolean)
+              predicate: ((cdecimal1 > 0) and (cdecimal1 < 12345.5678) and (cdecimal2 <> 0) and (cdecimal2 > 1000) and cdouble is not null) (type: boolean)
               Statistics: Num rows: 455 Data size: 78809 Basic stats: COMPLETE Column stats: NONE
               Select Operator
-                expressions: (cdecimal1 + cdecimal2) (type: decimal(25,14)), (cdecimal1 - (2 * cdecimal2)) (type: decimal(26,14)), ((UDFToDouble(cdecimal1) + 2.34) / UDFToDouble(cdecimal2)) (type: double), (UDFToDouble(cdecimal1) * (UDFToDouble(cdecimal2) / 3.4)) (type: double), (cdecimal1 % 10) (type: decimal(12,10)), UDFToInteger(cdecimal1) (type: int), UDFToShort(cdecimal2) (type: smallint), UDFToByte(cdecimal2) (type: tinyint), UDFToLong(cdecimal1) (type: bigint), UDFToBoolean(cdecimal1) (type: boolean), UDFToDouble(cdecimal2) (type: double), UDFToFloat(cdecimal1) (type: float), UDFToString(cdecimal2) (type: string), CAST( cdecimal1 AS TIMESTAMP) (type: timestamp)
+                expressions: (cdecimal1 + cdecimal2) (type: decimal(25,14)), (cdecimal1 - (2 * cdecimal2)) (type: decimal(26,14)), ((cdecimal1 + 2.34) / cdecimal2) (type: decimal(38,23)), (cdecimal1 * (cdecimal2 / 3.4)) (type: decimal(38,28)), (cdecimal1 % 10) (type: decimal(12,10)), UDFToInteger(cdecimal1) (type: int), UDFToShort(cdecimal2) (type: smallint), UDFToByte(cdecimal2) (type: tinyint), UDFToLong(cdecimal1) (type: bigint), UDFToBoolean(cdecimal1) (type: boolean), UDFToDouble(cdecimal2) (type: double), UDFToFloat(cdecimal1) (type: float), UDFToString(cdecimal2) (type: string), CAST( cdecimal1 AS TIMESTAMP) (type: timestamp)
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13
                 Statistics: Num rows: 455 Data size: 78809 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
-                  key expressions: _col0 (type: decimal(25,14)), _col1 (type: decimal(26,14)), _col2 (type: double), _col3 (type: double), _col4 (type: decimal(12,10)), _col5 (type: int), _col6 (type: smallint), _col7 (type: tinyint), _col8 (type: bigint), _col9 (type: boolean), _col10 (type: double), _col11 (type: float), _col12 (type: string), _col13 (type: timestamp)
+                  key expressions: _col0 (type: decimal(25,14)), _col1 (type: decimal(26,14)), _col2 (type: decimal(38,23)), _col3 (type: decimal(38,28)), _col4 (type: decimal(12,10)), _col5 (type: int), _col6 (type: smallint), _col7 (type: tinyint), _col8 (type: bigint), _col9 (type: boolean), _col10 (type: double), _col11 (type: float), _col12 (type: string), _col13 (type: timestamp)
                   sort order: ++++++++++++++
                   Statistics: Num rows: 455 Data size: 78809 Basic stats: COMPLETE Column stats: NONE
                   TopN Hash Memory Usage: 0.1
       Execution mode: vectorized
       Reduce Operator Tree:
         Select Operator
-          expressions: KEY.reducesinkkey0 (type: decimal(25,14)), KEY.reducesinkkey1 (type: decimal(26,14)), KEY.reducesinkkey2 (type: double), KEY.reducesinkkey3 (type: double), KEY.reducesinkkey4 (type: decimal(12,10)), KEY.reducesinkkey5 (type: int), KEY.reducesinkkey6 (type: smallint), KEY.reducesinkkey7 (type: tinyint), KEY.reducesinkkey8 (type: bigint), KEY.reducesinkkey9 (type: boolean), KEY.reducesinkkey10 (type: double), KEY.reducesinkkey11 (type: float), KEY.reducesinkkey12 (type: string), KEY.reducesinkkey13 (type: timestamp)
+          expressions: KEY.reducesinkkey0 (type: decimal(25,14)), KEY.reducesinkkey1 (type: decimal(26,14)), KEY.reducesinkkey2 (type: decimal(38,23)), KEY.reducesinkkey3 (type: decimal(38,28)), KEY.reducesinkkey4 (type: decimal(12,10)), KEY.reducesinkkey5 (type: int), KEY.reducesinkkey6 (type: smallint), KEY.reducesinkkey7 (type: tinyint), KEY.reducesinkkey8 (type: bigint), KEY.reducesinkkey9 (type: boolean), KEY.reducesinkkey10 (type: double), KEY.reducesinkkey11 (type: float), KEY.reducesinkkey12 (type: string), KEY.reducesinkkey13 (type: timestamp)
           outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13
           Statistics: Num rows: 455 Data size: 78809 Basic stats: COMPLETE Column stats: NONE
           Limit
@@ -81,13 +81,13 @@ LIMIT 10
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_test
 #### A masked pattern was here ####
-1836.44199584197700	-1166.02723492725400	0.8372697814833714	245972.55810810256	5.6189189189	835	1000	-24	835	true	1000.823076923077	835.6189	1000.823076923077	1969-12-31 16:13:55.618918918
-1856.13222453224620	-1178.52931392929240	0.8372449787014038	251275.4432432497	4.5783783784	844	1011	-13	844	true	1011.5538461538462	844.57837	1011.5538461538462	1969-12-31 16:14:04.578378378
-1858.75758835761550	-1180.19625779623100	0.837241711366943	251986.76756757565	5.7729729730	845	1012	-12	845	true	1012.9846153846155	845.77295	1012.9846153846155	1969-12-31 16:14:05.772972973
-1862.69563409566930	-1182.69667359663860	0.8372368276344616	253055.6391891997	7.5648648649	847	1015	-9	847	true	1015.1307692307693	847.5649	1015.1307692307693	1969-12-31 16:14:07.564864864
-1883.69854469852330	-1196.03222453224660	0.8372111259286499	258794.49324323673	7.1216216216	857	1026	2	857	true	1026.5769230769233	857.12164	1026.5769230769233	1969-12-31 16:14:17.121621621
-1886.32390852389240	-1197.69916839918480	0.8372079534581902	259516.37432431948	8.3162162162	858	1028	4	858	true	1028.0076923076924	858.3162	1028.0076923076924	1969-12-31 16:14:18.316216216
-1887.63659043657700	-1198.53264033265400	0.8372063705322131	259877.69189188787	8.9135135135	858	1028	4	858	true	1028.723076923077	858.9135	1028.723076923077	1969-12-31 16:14:18.913513513
-1895.51268191268460	-1203.53347193346920	0.8371969190171343	262050.87567567648	2.4972972973	862	1033	9	862	true	1033.0153846153846	862.4973	1033.0153846153846	1969-12-31 16:14:22.497297297
-1909.95218295221550	-1212.70166320163100	0.8371797936946236	266058.54729730723	9.0675675676	869	1040	16	869	true	1040.8846153846155	869.06757	1040.8846153846155	1969-12-31 16:14:29.067567567
-1913.89022869026920	-1215.20207900203840	0.8371751679995797	267156.8270270395	0.8594594595	870	1043	19	870	true	1043.0307692307692	870.85944	1043.0307692307692	1969-12-31 16:14:30.859459459
+1836.44199584197700	-1166.02723492725400	0.83726978148337131458955	245972.5581081025580455294364554849	5.6189189189	835	1000	-24	835	true	1000.823076923077	835.6189	1000.823076923077	1969-12-31 16:13:55.618918918
+1856.13222453224620	-1178.52931392929240	0.83724497870140374273038	251275.4432432496874832128177818760	4.5783783784	844	1011	-13	844	true	1011.5538461538462	844.57837	1011.5538461538462	1969-12-31 16:14:04.578378378
+1858.75758835761550	-1180.19625779623100	0.83724171136694298221079	251986.7675675756486118069543362480	5.7729729730	845	1012	-12	845	true	1012.9846153846155	845.77295	1012.9846153846155	1969-12-31 16:14:05.772972973
+1862.69563409566930	-1182.69667359663860	0.83723682763446158861586	253055.6391891996966694739599371224	7.5648648649	847	1015	-9	847	true	1015.1307692307693	847.5649	1015.1307692307693	1969-12-31 16:14:07.564864864
+1883.69854469852330	-1196.03222453224660	0.83721112592864992485015	258794.4932432367711690165346689984	7.1216216216	857	1026	2	857	true	1026.5769230769233	857.12164	1026.5769230769233	1969-12-31 16:14:17.121621621
+1886.32390852389240	-1197.69916839918480	0.83720795345819015087813	259516.3743243194445698729852508744	8.3162162162	858	1028	4	858	true	1028.0076923076924	858.3162	1028.0076923076924	1969-12-31 16:14:18.316216216
+1887.63659043657700	-1198.53264033265400	0.83720637053221313673364	259877.6918918878226000553442090620	8.9135135135	858	1028	4	858	true	1028.723076923077	858.9135	1028.723076923077	1969-12-31 16:14:18.913513513
+1895.51268191268460	-1203.53347193346920	0.83719691901713431682002	262050.8756756764929300794233581876	2.4972972973	862	1033	9	862	true	1033.0153846153846	862.4973	1033.0153846153846	1969-12-31 16:14:22.497297297
+1909.95218295221550	-1212.70166320163100	0.83717979369462356311054	266058.5472973072557375360130254372	9.0675675676	869	1040	16	869	true	1040.8846153846155	869.06757	1040.8846153846155	1969-12-31 16:14:29.067567567
+1913.89022869026920	-1215.20207900203840	0.83717516799957965211367	267156.8270270394559195677611589825	0.8594594595	870	1043	19	870	true	1043.0307692307692	870.85944	1043.0307692307692	1969-12-31 16:14:30.859459459

http://git-wip-us.apache.org/repos/asf/hive/blob/1b5ee3d8/ql/src/test/results/clientpositive/vector_decimal_math_funcs.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vector_decimal_math_funcs.q.out b/ql/src/test/results/clientpositive/vector_decimal_math_funcs.q.out
index 0b70d4c..bce8f4f 100644
--- a/ql/src/test/results/clientpositive/vector_decimal_math_funcs.q.out
+++ b/ql/src/test/results/clientpositive/vector_decimal_math_funcs.q.out
@@ -105,7 +105,7 @@ STAGE PLANS:
               predicate: (((cbigint % 500) = 0) and (sin(cdecimal1) >= -1.0)) (type: boolean)
               Statistics: Num rows: 2048 Data size: 366958 Basic stats: COMPLETE Column stats: NONE
               Select Operator
-                expressions: cdecimal1 (type: decimal(20,10)), round(cdecimal1, 2) (type: decimal(13,2)), round(cdecimal1) (type: decimal(11,0)), floor(cdecimal1) (type: decimal(11,0)), ceil(cdecimal1) (type: decimal(11,0)), round(exp(cdecimal1), 58) (type: double), ln(cdecimal1) (type: double), log10(cdecimal1) (type: double), log2(cdecimal1) (type: double), log2((UDFToDouble(cdecimal1) - 15601.0)) (type: double), log(2.0, cdecimal1) (type: double), power(log2(cdecimal1), 2.0) (type: double), power(log2(cdecimal1), 2.0) (type: double), sqrt(cdecimal1) (type: double), abs(cdecimal1) (type: decimal(20,10)), sin(cdecimal1) (type: double), asin(cdecimal1) (type: double), cos(cdecimal1) (type: double), acos(cdecimal1) (type: double), atan(cdecimal1) (type: double), degrees(cdecimal1) (type: double), radians(cdecimal1) (type: double), cdecimal1 (type: decimal(20,10)), (- cdecimal1) (type: decimal(20,10)), sign(cdecimal1) (type: int), cos(((- sin(log(cdecimal1))) + 3.14159)) (type: double
 )
+                expressions: cdecimal1 (type: decimal(20,10)), round(cdecimal1, 2) (type: decimal(13,2)), round(cdecimal1) (type: decimal(11,0)), floor(cdecimal1) (type: decimal(11,0)), ceil(cdecimal1) (type: decimal(11,0)), round(exp(cdecimal1), 58) (type: double), ln(cdecimal1) (type: double), log10(cdecimal1) (type: double), log2(cdecimal1) (type: double), log2((cdecimal1 - 15601)) (type: double), log(2, cdecimal1) (type: double), power(log2(cdecimal1), 2) (type: double), power(log2(cdecimal1), 2) (type: double), sqrt(cdecimal1) (type: double), abs(cdecimal1) (type: decimal(20,10)), sin(cdecimal1) (type: double), asin(cdecimal1) (type: double), cos(cdecimal1) (type: double), acos(cdecimal1) (type: double), atan(cdecimal1) (type: double), degrees(cdecimal1) (type: double), radians(cdecimal1) (type: double), cdecimal1 (type: decimal(20,10)), (- cdecimal1) (type: decimal(20,10)), sign(cdecimal1) (type: int), cos(((- sin(log(cdecimal1))) + 3.14159)) (type: double)
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, _col25
                 Statistics: Num rows: 2048 Data size: 366958 Basic stats: COMPLETE Column stats: NONE
                 File Output Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/1b5ee3d8/ql/src/test/results/clientpositive/vector_decimal_precision.q.out
----------------------------------------------------------------------
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 805cb7a..d65a1ce 100644
--- a/ql/src/test/results/clientpositive/vector_decimal_precision.q.out
+++ b/ql/src/test/results/clientpositive/vector_decimal_precision.q.out
@@ -265,37 +265,37 @@ NULL	NULL	NULL
 NULL	NULL	NULL
 NULL	NULL	NULL
 NULL	NULL	NULL
-0.0000000000	0.0000000000	0.000000000000
-0.0000000000	0.0000000000	0.000000000000
-0.0000000000	0.0000000000	0.000000000000
-0.0000000000	0.0000000000	0.000000000000
-0.0000000000	0.0000000000	0.000000000000
-0.1234567890	0.2469135780	0.041152263000
-0.1234567890	0.2469135780	0.041152263000
-1.2345678901	2.4691357802	0.411522630033
-1.2345678901	2.4691357802	0.411522630033
-1.2345678901	2.4691357802	0.411522630033
-12.3456789012	24.6913578024	4.115226300400
-12.3456789012	24.6913578024	4.115226300400
-12.3456789012	24.6913578024	4.115226300400
-123.4567890123	246.9135780246	41.152263004100
-123.4567890123	246.9135780246	41.152263004100
-123.4567890123	246.9135780246	41.152263004100
-1234.5678901235	2469.1357802470	411.522630041167
-1234.5678901235	2469.1357802470	411.522630041167
-1234.5678901235	2469.1357802470	411.522630041167
-12345.6789012346	24691.3578024692	4115.226300411533
-12345.6789012346	24691.3578024692	4115.226300411533
-123456.7890123456	246913.5780246912	41152.263004115200
-123456.7890123457	246913.5780246914	41152.263004115233
-1234567.8901234560	2469135.7802469120	411522.630041152000
-1234567.8901234568	2469135.7802469136	411522.630041152267
-12345678.9012345600	24691357.8024691200	4115226.300411520000
-12345678.9012345679	24691357.8024691358	4115226.300411522633
-123456789.0123456000	246913578.0246912000	41152263.004115200000
-123456789.0123456789	246913578.0246913578	41152263.004115226300
-1234567890.1234560000	2469135780.2469120000	411522630.041152000000
-1234567890.1234567890	2469135780.2469135780	411522630.041152263000
+0.0000000000	0.0000000000	0.000000000000000000
+0.0000000000	0.0000000000	0.000000000000000000
+0.0000000000	0.0000000000	0.000000000000000000
+0.0000000000	0.0000000000	0.000000000000000000
+0.0000000000	0.0000000000	0.000000000000000000
+0.1234567890	0.2469135780	0.041152263000000000
+0.1234567890	0.2469135780	0.041152263000000000
+1.2345678901	2.4691357802	0.411522630033333333
+1.2345678901	2.4691357802	0.411522630033333333
+1.2345678901	2.4691357802	0.411522630033333333
+12.3456789012	24.6913578024	4.115226300400000000
+12.3456789012	24.6913578024	4.115226300400000000
+12.3456789012	24.6913578024	4.115226300400000000
+123.4567890123	246.9135780246	41.152263004100000000
+123.4567890123	246.9135780246	41.152263004100000000
+123.4567890123	246.9135780246	41.152263004100000000
+1234.5678901235	2469.1357802470	411.522630041166666667
+1234.5678901235	2469.1357802470	411.522630041166666667
+1234.5678901235	2469.1357802470	411.522630041166666667
+12345.6789012346	24691.3578024692	4115.226300411533333333
+12345.6789012346	24691.3578024692	4115.226300411533333333
+123456.7890123456	246913.5780246912	41152.263004115200000000
+123456.7890123457	246913.5780246914	41152.263004115233333333
+1234567.8901234560	2469135.7802469120	411522.630041152000000000
+1234567.8901234568	2469135.7802469136	411522.630041152266666667
+12345678.9012345600	24691357.8024691200	4115226.300411520000000000
+12345678.9012345679	24691357.8024691358	4115226.300411522633333333
+123456789.0123456000	246913578.0246912000	41152263.004115200000000000
+123456789.0123456789	246913578.0246913578	41152263.004115226300000000
+1234567890.1234560000	2469135780.2469120000	411522630.041152000000000000
+1234567890.1234567890	2469135780.2469135780	411522630.041152263000000000
 PREHOOK: query: SELECT dec, dec / 9 FROM DECIMAL_PRECISION ORDER BY dec
 PREHOOK: type: QUERY
 PREHOOK: Input: default@decimal_precision
@@ -348,37 +348,37 @@ NULL	NULL
 NULL	NULL
 NULL	NULL
 NULL	NULL
-0.0000000000	0.000000000000
-0.0000000000	0.000000000000
-0.0000000000	0.000000000000
-0.0000000000	0.000000000000
-0.0000000000	0.000000000000
-0.1234567890	0.013717421000
-0.1234567890	0.013717421000
-1.2345678901	0.137174210011
-1.2345678901	0.137174210011
-1.2345678901	0.137174210011
-12.3456789012	1.371742100133
-12.3456789012	1.371742100133
-12.3456789012	1.371742100133
-123.4567890123	13.717421001367
-123.4567890123	13.717421001367
-123.4567890123	13.717421001367
-1234.5678901235	137.174210013722
-1234.5678901235	137.174210013722
-1234.5678901235	137.174210013722
-12345.6789012346	1371.742100137178
-12345.6789012346	1371.742100137178
-123456.7890123456	13717.421001371733
-123456.7890123457	13717.421001371744
-1234567.8901234560	137174.210013717333
-1234567.8901234568	137174.210013717422
-12345678.9012345600	1371742.100137173333
-12345678.9012345679	1371742.100137174211
-123456789.0123456000	13717421.001371733333
-123456789.0123456789	13717421.001371742100
-1234567890.1234560000	137174210.013717333333
-1234567890.1234567890	137174210.013717421000
+0.0000000000	0.000000000000000000
+0.0000000000	0.000000000000000000
+0.0000000000	0.000000000000000000
+0.0000000000	0.000000000000000000
+0.0000000000	0.000000000000000000
+0.1234567890	0.013717421000000000
+0.1234567890	0.013717421000000000
+1.2345678901	0.137174210011111111
+1.2345678901	0.137174210011111111
+1.2345678901	0.137174210011111111
+12.3456789012	1.371742100133333333
+12.3456789012	1.371742100133333333
+12.3456789012	1.371742100133333333
+123.4567890123	13.717421001366666667
+123.4567890123	13.717421001366666667
+123.4567890123	13.717421001366666667
+1234.5678901235	137.174210013722222222
+1234.5678901235	137.174210013722222222
+1234.5678901235	137.174210013722222222
+12345.6789012346	1371.742100137177777778
+12345.6789012346	1371.742100137177777778
+123456.7890123456	13717.421001371733333333
+123456.7890123457	13717.421001371744444444
+1234567.8901234560	137174.210013717333333333
+1234567.8901234568	137174.210013717422222222
+12345678.9012345600	1371742.100137173333333333
+12345678.9012345679	1371742.100137174211111111
+123456789.0123456000	13717421.001371733333333333
+123456789.0123456789	13717421.001371742100000000
+1234567890.1234560000	137174210.013717333333333333
+1234567890.1234567890	137174210.013717421000000000
 PREHOOK: query: SELECT dec, dec / 27 FROM DECIMAL_PRECISION ORDER BY dec
 PREHOOK: type: QUERY
 PREHOOK: Input: default@decimal_precision
@@ -431,37 +431,37 @@ NULL	NULL
 NULL	NULL
 NULL	NULL
 NULL	NULL
-0.0000000000	0.0000000000000
-0.0000000000	0.0000000000000
-0.0000000000	0.0000000000000
-0.0000000000	0.0000000000000
-0.0000000000	0.0000000000000
-0.1234567890	0.0045724736667
-0.1234567890	0.0045724736667
-1.2345678901	0.0457247366704
-1.2345678901	0.0457247366704
-1.2345678901	0.0457247366704
-12.3456789012	0.4572473667111
-12.3456789012	0.4572473667111
-12.3456789012	0.4572473667111
-123.4567890123	4.5724736671222
-123.4567890123	4.5724736671222
-123.4567890123	4.5724736671222
-1234.5678901235	45.7247366712407
-1234.5678901235	45.7247366712407
-1234.5678901235	45.7247366712407
-12345.6789012346	457.2473667123926
-12345.6789012346	457.2473667123926
-123456.7890123456	4572.4736671239111
-123456.7890123457	4572.4736671239148
-1234567.8901234560	45724.7366712391111
-1234567.8901234568	45724.7366712391407
-12345678.9012345600	457247.3667123911111
-12345678.9012345679	457247.3667123914037
-123456789.0123456000	4572473.6671239111111
-123456789.0123456789	4572473.6671239140333
-1234567890.1234560000	45724736.6712391111111
-1234567890.1234567890	45724736.6712391403333
+0.0000000000	0.000000000000000000
+0.0000000000	0.000000000000000000
+0.0000000000	0.000000000000000000
+0.0000000000	0.000000000000000000
+0.0000000000	0.000000000000000000
+0.1234567890	0.004572473666666667
+0.1234567890	0.004572473666666667
+1.2345678901	0.045724736670370370
+1.2345678901	0.045724736670370370
+1.2345678901	0.045724736670370370
+12.3456789012	0.457247366711111111
+12.3456789012	0.457247366711111111
+12.3456789012	0.457247366711111111
+123.4567890123	4.572473667122222222
+123.4567890123	4.572473667122222222
+123.4567890123	4.572473667122222222
+1234.5678901235	45.724736671240740741
+1234.5678901235	45.724736671240740741
+1234.5678901235	45.724736671240740741
+12345.6789012346	457.247366712392592593
+12345.6789012346	457.247366712392592593
+123456.7890123456	4572.473667123911111111
+123456.7890123457	4572.473667123914814815
+1234567.8901234560	45724.736671239111111111
+1234567.8901234568	45724.736671239140740741
+12345678.9012345600	457247.366712391111111111
+12345678.9012345679	457247.366712391403703704
+123456789.0123456000	4572473.667123911111111111
+123456789.0123456789	4572473.667123914033333333
+1234567890.1234560000	45724736.671239111111111111
+1234567890.1234567890	45724736.671239140333333333
 PREHOOK: query: SELECT dec, dec * dec FROM DECIMAL_PRECISION ORDER BY dec
 PREHOOK: type: QUERY
 PREHOOK: Input: default@decimal_precision

http://git-wip-us.apache.org/repos/asf/hive/blob/1b5ee3d8/ql/src/test/results/clientpositive/vector_decimal_udf.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vector_decimal_udf.q.out b/ql/src/test/results/clientpositive/vector_decimal_udf.q.out
index b99fd10..5062cae 100644
--- a/ql/src/test/results/clientpositive/vector_decimal_udf.q.out
+++ b/ql/src/test/results/clientpositive/vector_decimal_udf.q.out
@@ -1100,7 +1100,7 @@ STAGE PLANS:
             alias: decimal_udf
             Statistics: Num rows: 38 Data size: 4296 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: (key / 0) (type: decimal(22,12))
+              expressions: (key / 0) (type: decimal(28,18))
               outputColumnNames: _col0
               Statistics: Num rows: 38 Data size: 4296 Basic stats: COMPLETE Column stats: NONE
               Limit
@@ -2157,7 +2157,7 @@ STAGE PLANS:
             alias: decimal_udf
             Statistics: Num rows: 38 Data size: 4296 Basic stats: COMPLETE Column stats: NONE
             Select Operator
-              expressions: ((key + 1) % (key / 2)) (type: decimal(22,12))
+              expressions: ((key + 1) % (key / 2)) (type: decimal(28,18))
               outputColumnNames: _col0
               Statistics: Num rows: 38 Data size: 4296 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
@@ -2183,44 +2183,44 @@ POSTHOOK: query: SELECT (key + 1) % (key / 2) FROM DECIMAL_UDF
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@decimal_udf
 #### A masked pattern was here ####
--2199.000000000000
+-2199.000000000000000000
 NULL
 NULL
 NULL
-1.000000000000
-1.000000000000
-0.000000000000
-0.000000000000
-0.000000000000
-1.000000000000
-1.000000000000
-0.000000000000
+1.000000000000000000
+1.000000000000000000
+0.000000000000000000
+0.000000000000000000
+0.000000000000000000
+1.000000000000000000
+1.000000000000000000
+0.000000000000000000
 NULL
-0.000000000000
-0.000000000000
-0.100000000000
-0.010000000000
-0.001000000000
-0.100000000000
-0.010000000000
-0.001000000000
-0.000000000000
-0.000000000000
-1.000000000000
--0.120000000000
--0.120000000000
--0.122000000000
-0.440000000000
-0.439000000000
-1.000000000000
-1.000000000000
--626.745000000000
-1.000000000000
-1.000000000000
-1.000000000000
-0.000000000000
--617283944.061728394500
-1.000000000000
+0.000000000000000000
+0.000000000000000000
+0.100000000000000000
+0.010000000000000000
+0.001000000000000000
+0.100000000000000000
+0.010000000000000000
+0.001000000000000000
+0.000000000000000000
+0.000000000000000000
+1.000000000000000000
+-0.120000000000000000
+-0.120000000000000000
+-0.122000000000000000
+0.440000000000000000
+0.439000000000000000
+1.000000000000000000
+1.000000000000000000
+-626.745000000000000000
+1.000000000000000000
+1.000000000000000000
+1.000000000000000000
+0.000000000000000000
+-617283944.061728394500000000
+1.000000000000000000
 PREHOOK: query: -- stddev, var
 EXPLAIN SELECT value, stddev(key), variance(key) FROM DECIMAL_UDF GROUP BY value
 PREHOOK: type: QUERY

http://git-wip-us.apache.org/repos/asf/hive/blob/1b5ee3d8/ql/src/test/results/clientpositive/vector_struct_in.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vector_struct_in.q.out b/ql/src/test/results/clientpositive/vector_struct_in.q.out
index b053f36..3971f55 100644
--- a/ql/src/test/results/clientpositive/vector_struct_in.q.out
+++ b/ql/src/test/results/clientpositive/vector_struct_in.q.out
@@ -635,31 +635,31 @@ POSTHOOK: Lineage: test_4.my_string SIMPLE [(values__tmp__table__4)values__tmp__
 PREHOOK: query: explain
 select * from test_4 where struct(`my_bigint`, `my_string`, `my_double`)
 IN (
-struct(1L, "a", 1.5),
-struct(1L, "b", -0.5),
-struct(3L, "b", 1.5),
-struct(1L, "d", 1.5),
-struct(1L, "c", 1.5),
-struct(1L, "b", 2.5),
-struct(1L, "b", 0.5),
-struct(5L, "b", 1.5),
-struct(1L, "a", 0.5),
-struct(3L, "b", 1.5)
+struct(1L, "a", 1.5D),
+struct(1L, "b", -0.5D),
+struct(3L, "b", 1.5D),
+struct(1L, "d", 1.5D),
+struct(1L, "c", 1.5D),
+struct(1L, "b", 2.5D),
+struct(1L, "b", 0.5D),
+struct(5L, "b", 1.5D),
+struct(1L, "a", 0.5D),
+struct(3L, "b", 1.5D)
 )
 PREHOOK: type: QUERY
 POSTHOOK: query: explain
 select * from test_4 where struct(`my_bigint`, `my_string`, `my_double`)
 IN (
-struct(1L, "a", 1.5),
-struct(1L, "b", -0.5),
-struct(3L, "b", 1.5),
-struct(1L, "d", 1.5),
-struct(1L, "c", 1.5),
-struct(1L, "b", 2.5),
-struct(1L, "b", 0.5),
-struct(5L, "b", 1.5),
-struct(1L, "a", 0.5),
-struct(3L, "b", 1.5)
+struct(1L, "a", 1.5D),
+struct(1L, "b", -0.5D),
+struct(3L, "b", 1.5D),
+struct(1L, "d", 1.5D),
+struct(1L, "c", 1.5D),
+struct(1L, "b", 2.5D),
+struct(1L, "b", 0.5D),
+struct(5L, "b", 1.5D),
+struct(1L, "a", 0.5D),
+struct(3L, "b", 1.5D)
 )
 POSTHOOK: type: QUERY
 STAGE DEPENDENCIES:
@@ -697,32 +697,32 @@ STAGE PLANS:
 
 PREHOOK: query: select * from test_4 where struct(`my_bigint`, `my_string`, `my_double`)
 IN (
-struct(1L, "a", 1.5),
-struct(1L, "b", -0.5),
-struct(3L, "b", 1.5),
-struct(1L, "d", 1.5),
-struct(1L, "c", 1.5),
-struct(1L, "b", 2.5),
-struct(1L, "b", 0.5),
-struct(5L, "b", 1.5),
-struct(1L, "a", 0.5),
-struct(3L, "b", 1.5)
+struct(1L, "a", 1.5D),
+struct(1L, "b", -0.5D),
+struct(3L, "b", 1.5D),
+struct(1L, "d", 1.5D),
+struct(1L, "c", 1.5D),
+struct(1L, "b", 2.5D),
+struct(1L, "b", 0.5D),
+struct(5L, "b", 1.5D),
+struct(1L, "a", 0.5D),
+struct(3L, "b", 1.5D)
 )
 PREHOOK: type: QUERY
 PREHOOK: Input: default@test_4
 #### A masked pattern was here ####
 POSTHOOK: query: select * from test_4 where struct(`my_bigint`, `my_string`, `my_double`)
 IN (
-struct(1L, "a", 1.5),
-struct(1L, "b", -0.5),
-struct(3L, "b", 1.5),
-struct(1L, "d", 1.5),
-struct(1L, "c", 1.5),
-struct(1L, "b", 2.5),
-struct(1L, "b", 0.5),
-struct(5L, "b", 1.5),
-struct(1L, "a", 0.5),
-struct(3L, "b", 1.5)
+struct(1L, "a", 1.5D),
+struct(1L, "b", -0.5D),
+struct(3L, "b", 1.5D),
+struct(1L, "d", 1.5D),
+struct(1L, "c", 1.5D),
+struct(1L, "b", 2.5D),
+struct(1L, "b", 0.5D),
+struct(5L, "b", 1.5D),
+struct(1L, "a", 0.5D),
+struct(3L, "b", 1.5D)
 )
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@test_4
@@ -731,31 +731,31 @@ POSTHOOK: Input: default@test_4
 PREHOOK: query: explain
 select `my_bigint`, `my_string`, `my_double`, struct(`my_bigint`, `my_string`, `my_double`)
 IN (
-struct(1L, "a", 1.5),
-struct(1L, "b", -0.5),
-struct(3L, "b", 1.5),
-struct(1L, "d", 1.5),
-struct(1L, "c", 1.5),
-struct(1L, "b", 2.5),
-struct(1L, "b", 0.5),
-struct(5L, "b", 1.5),
-struct(1L, "a", 0.5),
-struct(3L, "b", 1.5)
+struct(1L, "a", 1.5D),
+struct(1L, "b", -0.5D),
+struct(3L, "b", 1.5D),
+struct(1L, "d", 1.5D),
+struct(1L, "c", 1.5D),
+struct(1L, "b", 2.5D),
+struct(1L, "b", 0.5D),
+struct(5L, "b", 1.5D),
+struct(1L, "a", 0.5D),
+struct(3L, "b", 1.5D)
 ) as b from test_4
 PREHOOK: type: QUERY
 POSTHOOK: query: explain
 select `my_bigint`, `my_string`, `my_double`, struct(`my_bigint`, `my_string`, `my_double`)
 IN (
-struct(1L, "a", 1.5),
-struct(1L, "b", -0.5),
-struct(3L, "b", 1.5),
-struct(1L, "d", 1.5),
-struct(1L, "c", 1.5),
-struct(1L, "b", 2.5),
-struct(1L, "b", 0.5),
-struct(5L, "b", 1.5),
-struct(1L, "a", 0.5),
-struct(3L, "b", 1.5)
+struct(1L, "a", 1.5D),
+struct(1L, "b", -0.5D),
+struct(3L, "b", 1.5D),
+struct(1L, "d", 1.5D),
+struct(1L, "c", 1.5D),
+struct(1L, "b", 2.5D),
+struct(1L, "b", 0.5D),
+struct(5L, "b", 1.5D),
+struct(1L, "a", 0.5D),
+struct(3L, "b", 1.5D)
 ) as b from test_4
 POSTHOOK: type: QUERY
 STAGE DEPENDENCIES:
@@ -790,32 +790,32 @@ STAGE PLANS:
 
 PREHOOK: query: select `my_bigint`, `my_string`, `my_double`, struct(`my_bigint`, `my_string`, `my_double`)
 IN (
-struct(1L, "a", 1.5),
-struct(1L, "b", -0.5),
-struct(3L, "b", 1.5),
-struct(1L, "d", 1.5),
-struct(1L, "c", 1.5),
-struct(1L, "b", 2.5),
-struct(1L, "b", 0.5),
-struct(5L, "b", 1.5),
-struct(1L, "a", 0.5),
-struct(3L, "b", 1.5)
+struct(1L, "a", 1.5D),
+struct(1L, "b", -0.5D),
+struct(3L, "b", 1.5D),
+struct(1L, "d", 1.5D),
+struct(1L, "c", 1.5D),
+struct(1L, "b", 2.5D),
+struct(1L, "b", 0.5D),
+struct(5L, "b", 1.5D),
+struct(1L, "a", 0.5D),
+struct(3L, "b", 1.5D)
 ) as b from test_4
 PREHOOK: type: QUERY
 PREHOOK: Input: default@test_4
 #### A masked pattern was here ####
 POSTHOOK: query: select `my_bigint`, `my_string`, `my_double`, struct(`my_bigint`, `my_string`, `my_double`)
 IN (
-struct(1L, "a", 1.5),
-struct(1L, "b", -0.5),
-struct(3L, "b", 1.5),
-struct(1L, "d", 1.5),
-struct(1L, "c", 1.5),
-struct(1L, "b", 2.5),
-struct(1L, "b", 0.5),
-struct(5L, "b", 1.5),
-struct(1L, "a", 0.5),
-struct(3L, "b", 1.5)
+struct(1L, "a", 1.5D),
+struct(1L, "b", -0.5D),
+struct(3L, "b", 1.5D),
+struct(1L, "d", 1.5D),
+struct(1L, "c", 1.5D),
+struct(1L, "b", 2.5D),
+struct(1L, "b", 0.5D),
+struct(5L, "b", 1.5D),
+struct(1L, "a", 0.5D),
+struct(3L, "b", 1.5D)
 ) as b from test_4
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@test_4

http://git-wip-us.apache.org/repos/asf/hive/blob/1b5ee3d8/ql/src/test/results/clientpositive/vectorization_0.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vectorization_0.q.out b/ql/src/test/results/clientpositive/vectorization_0.q.out
index b12ae68..2d684f1 100644
--- a/ql/src/test/results/clientpositive/vectorization_0.q.out
+++ b/ql/src/test/results/clientpositive/vectorization_0.q.out
@@ -1010,7 +1010,7 @@ STAGE PLANS:
             alias: alltypesorc
             Statistics: Num rows: 12288 Data size: 2641964 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((cstring2 like '%b%') or (79.553 <> UDFToDouble(cint)) or (UDFToDouble(cbigint) < cdouble) or ((UDFToShort(ctinyint) >= csmallint) and (cboolean2 = 1) and (3569 = UDFToInteger(ctinyint)))) (type: boolean)
+              predicate: ((cstring2 like '%b%') or (79.553 <> CAST( cint AS decimal(13,3))) or (UDFToDouble(cbigint) < cdouble) or ((UDFToShort(ctinyint) >= csmallint) and (cboolean2 = 1) and (3569 = UDFToInteger(ctinyint)))) (type: boolean)
               Statistics: Num rows: 12288 Data size: 2641964 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: cbigint (type: bigint), cfloat (type: float), ctinyint (type: tinyint)

http://git-wip-us.apache.org/repos/asf/hive/blob/1b5ee3d8/ql/src/test/results/clientpositive/vectorization_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vectorization_1.q.out b/ql/src/test/results/clientpositive/vectorization_1.q.out
index 1b2d0e2..1e4c00c 100644
--- a/ql/src/test/results/clientpositive/vectorization_1.q.out
+++ b/ql/src/test/results/clientpositive/vectorization_1.q.out
@@ -46,4 +46,4 @@ WHERE  (((cdouble > ctinyint)
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@alltypesorc
 #### A masked pattern was here ####
-1074.830257547229	-40.89917266161449	-21997.674998402596	-21999.063998402595	4.839282601059194E8	62	-4.839282601059194E8	1073680599	8.5414512692247E10	7.569848642620903E10	10.175	3745	-563
+1074.830257547229	-40.89917266161449	-21997.674998402596	-21999.063998402595	4.839282601059194E8	62	-4.839282601059194E8	1073680599	85414512692.247	7.569848642620903E10	10.175	3745	-563