http://git-wip-us.apache.org/repos/asf/hive/blob/649d7c12/ql/src/test/results/clientpositive/llap/vectorized_mapjoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorized_mapjoin.q.out 
b/ql/src/test/results/clientpositive/llap/vectorized_mapjoin.q.out
index c718ad0..41ca076 100644
--- a/ql/src/test/results/clientpositive/llap/vectorized_mapjoin.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorized_mapjoin.q.out
@@ -165,13 +165,13 @@ STAGE PLANS:
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4
                 Statistics: Num rows: 1 Data size: 32 Basic stats: COMPLETE 
Column stats: COMPLETE
                 Select Operator
-                  expressions: _col0 (type: bigint), _col1 (type: int), _col2 
(type: int), (_col3 / _col4) (type: double)
+                  expressions: _col0 (type: bigint), _col1 (type: int), _col2 
(type: int), (UDFToDouble(_col3) / _col4) (type: double)
                   outputColumnNames: _col0, _col1, _col2, _col3
                   Select Vectorization:
                       className: VectorSelectOperator
                       native: true
-                      projectedOutputColumnNums: [0, 1, 2, 5]
-                      selectExpressions: LongColDivideLongColumn(col 3:bigint, 
col 4:bigint) -> 5:double
+                      projectedOutputColumnNums: [0, 1, 2, 6]
+                      selectExpressions: DoubleColDivideLongColumn(col 
5:double, col 4:bigint)(children: CastLongToDouble(col 3:bigint) -> 5:double) 
-> 6:double
                   Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE 
Column stats: COMPLETE
                   File Output Operator
                     compressed: false

http://git-wip-us.apache.org/repos/asf/hive/blob/649d7c12/ql/src/test/results/clientpositive/llap/vectorized_shufflejoin.q.out
----------------------------------------------------------------------
diff --git 
a/ql/src/test/results/clientpositive/llap/vectorized_shufflejoin.q.out 
b/ql/src/test/results/clientpositive/llap/vectorized_shufflejoin.q.out
index 8aea10a..6421650 100644
--- a/ql/src/test/results/clientpositive/llap/vectorized_shufflejoin.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorized_shufflejoin.q.out
@@ -156,13 +156,13 @@ STAGE PLANS:
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4
                 Statistics: Num rows: 1 Data size: 32 Basic stats: COMPLETE 
Column stats: COMPLETE
                 Select Operator
-                  expressions: _col0 (type: bigint), _col1 (type: int), _col2 
(type: int), (_col3 / _col4) (type: double)
+                  expressions: _col0 (type: bigint), _col1 (type: int), _col2 
(type: int), (UDFToDouble(_col3) / _col4) (type: double)
                   outputColumnNames: _col0, _col1, _col2, _col3
                   Select Vectorization:
                       className: VectorSelectOperator
                       native: true
-                      projectedOutputColumnNums: [0, 1, 2, 5]
-                      selectExpressions: LongColDivideLongColumn(col 3:bigint, 
col 4:bigint) -> 5:double
+                      projectedOutputColumnNums: [0, 1, 2, 6]
+                      selectExpressions: DoubleColDivideLongColumn(col 
5:double, col 4:bigint)(children: CastLongToDouble(col 3:bigint) -> 5:double) 
-> 6:double
                   Statistics: Num rows: 1 Data size: 24 Basic stats: COMPLETE 
Column stats: COMPLETE
                   Reduce Output Operator
                     key expressions: _col0 (type: bigint)

http://git-wip-us.apache.org/repos/asf/hive/blob/649d7c12/ql/src/test/results/clientpositive/parquet_vectorization_0.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_0.q.out 
b/ql/src/test/results/clientpositive/parquet_vectorization_0.q.out
index d352509..6af7892 100644
--- a/ql/src/test/results/clientpositive/parquet_vectorization_0.q.out
+++ b/ql/src/test/results/clientpositive/parquet_vectorization_0.q.out
@@ -405,7 +405,7 @@ STAGE PLANS:
           outputColumnNames: _col0, _col1, _col2, _col3
           Statistics: Num rows: 1 Data size: 32 Basic stats: COMPLETE Column 
stats: NONE
           Select Operator
-            expressions: (_col0 / _col1) (type: double), ((_col2 - ((_col3 * 
_col3) / _col1)) / _col1) (type: double), ((_col2 - ((_col3 * _col3) / _col1)) 
/ CASE WHEN ((_col1 = 1L)) THEN (null) ELSE ((_col1 - 1)) END) (type: double), 
power(((_col2 - ((_col3 * _col3) / _col1)) / _col1), 0.5) (type: double), 
power(((_col2 - ((_col3 * _col3) / _col1)) / CASE WHEN ((_col1 = 1L)) THEN 
(null) ELSE ((_col1 - 1)) END), 0.5) (type: double)
+            expressions: (UDFToDouble(_col0) / _col1) (type: double), ((_col2 
- ((_col3 * _col3) / _col1)) / _col1) (type: double), ((_col2 - ((_col3 * 
_col3) / _col1)) / CASE WHEN ((_col1 = 1L)) THEN (null) ELSE ((_col1 - 1)) END) 
(type: double), power(((_col2 - ((_col3 * _col3) / _col1)) / _col1), 0.5) 
(type: double), power(((_col2 - ((_col3 * _col3) / _col1)) / CASE WHEN ((_col1 
= 1L)) THEN (null) ELSE ((_col1 - 1)) END), 0.5) (type: double)
             outputColumnNames: _col0, _col1, _col3, _col4, _col7
             Statistics: Num rows: 1 Data size: 32 Basic stats: COMPLETE Column 
stats: NONE
             File Output Operator
@@ -893,7 +893,7 @@ STAGE PLANS:
           outputColumnNames: _col0, _col1, _col2, _col3
           Statistics: Num rows: 1 Data size: 32 Basic stats: COMPLETE Column 
stats: NONE
           Select Operator
-            expressions: (_col0 / _col1) (type: double), ((_col2 - ((_col3 * 
_col3) / _col1)) / _col1) (type: double), ((_col2 - ((_col3 * _col3) / _col1)) 
/ CASE WHEN ((_col1 = 1L)) THEN (null) ELSE ((_col1 - 1)) END) (type: double), 
power(((_col2 - ((_col3 * _col3) / _col1)) / _col1), 0.5) (type: double), 
power(((_col2 - ((_col3 * _col3) / _col1)) / CASE WHEN ((_col1 = 1L)) THEN 
(null) ELSE ((_col1 - 1)) END), 0.5) (type: double)
+            expressions: (UDFToDouble(_col0) / _col1) (type: double), ((_col2 
- ((_col3 * _col3) / _col1)) / _col1) (type: double), ((_col2 - ((_col3 * 
_col3) / _col1)) / CASE WHEN ((_col1 = 1L)) THEN (null) ELSE ((_col1 - 1)) END) 
(type: double), power(((_col2 - ((_col3 * _col3) / _col1)) / _col1), 0.5) 
(type: double), power(((_col2 - ((_col3 * _col3) / _col1)) / CASE WHEN ((_col1 
= 1L)) THEN (null) ELSE ((_col1 - 1)) END), 0.5) (type: double)
             outputColumnNames: _col0, _col1, _col3, _col4, _col7
             Statistics: Num rows: 1 Data size: 32 Basic stats: COMPLETE Column 
stats: NONE
             File Output Operator
@@ -1600,7 +1600,7 @@ STAGE PLANS:
           outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6
           Statistics: Num rows: 1 Data size: 52 Basic stats: COMPLETE Column 
stats: NONE
           Select Operator
-            expressions: (_col0 / _col1) (type: double), (- (_col0 / _col1)) 
(type: double), (-6432.0D + (_col0 / _col1)) (type: double), power(((_col2 - 
((_col3 * _col3) / _col1)) / _col1), 0.5) (type: double), (- (-6432.0D + (_col0 
/ _col1))) (type: double), ((- (-6432.0D + (_col0 / _col1))) + (-6432.0D + 
(_col0 / _col1))) (type: double), ((_col2 - ((_col3 * _col3) / _col1)) / CASE 
WHEN ((_col1 = 1L)) THEN (null) ELSE ((_col1 - 1)) END) (type: double), (- 
(-6432.0D + (_col0 / _col1))) (type: double), (-6432.0D + (- (-6432.0D + (_col0 
/ _col1)))) (type: double), (- (-6432.0D + (_col0 / _col1))) (type: double), 
((- (-6432.0D + (_col0 / _col1))) / (- (-6432.0D + (_col0 / _col1)))) (type: 
double), _col4 (type: bigint), _col5 (type: double), (((_col2 - ((_col3 * 
_col3) / _col1)) / CASE WHEN ((_col1 = 1L)) THEN (null) ELSE ((_col1 - 1)) END) 
% power(((_col2 - ((_col3 * _col3) / _col1)) / _col1), 0.5)) (type: double), (- 
((_col2 - ((_col3 * _col3) / _col1)) / CASE WHEN ((_col1 = 1L)) THE
 N (null) ELSE ((_col1 - 1)) END)) (type: double), ((- (-6432.0D + (_col0 / 
_col1))) * (- (_col0 / _col1))) (type: double), _col6 (type: tinyint), (- 
_col6) (type: tinyint)
+            expressions: (UDFToDouble(_col0) / _col1) (type: double), (- 
(UDFToDouble(_col0) / _col1)) (type: double), (-6432.0D + (UDFToDouble(_col0) / 
_col1)) (type: double), power(((_col2 - ((_col3 * _col3) / _col1)) / _col1), 
0.5) (type: double), (- (-6432.0D + (UDFToDouble(_col0) / _col1))) (type: 
double), ((- (-6432.0D + (UDFToDouble(_col0) / _col1))) + (-6432.0D + 
(UDFToDouble(_col0) / _col1))) (type: double), ((_col2 - ((_col3 * _col3) / 
_col1)) / CASE WHEN ((_col1 = 1L)) THEN (null) ELSE ((_col1 - 1)) END) (type: 
double), (- (-6432.0D + (UDFToDouble(_col0) / _col1))) (type: double), 
(-6432.0D + (- (-6432.0D + (UDFToDouble(_col0) / _col1)))) (type: double), (- 
(-6432.0D + (UDFToDouble(_col0) / _col1))) (type: double), ((- (-6432.0D + 
(UDFToDouble(_col0) / _col1))) / (- (-6432.0D + (UDFToDouble(_col0) / _col1)))) 
(type: double), _col4 (type: bigint), _col5 (type: double), (((_col2 - ((_col3 
* _col3) / _col1)) / CASE WHEN ((_col1 = 1L)) THEN (null) ELSE ((_col1 - 1)) 
END) % po
 wer(((_col2 - ((_col3 * _col3) / _col1)) / _col1), 0.5)) (type: double), (- 
((_col2 - ((_col3 * _col3) / _col1)) / CASE WHEN ((_col1 = 1L)) THEN (null) 
ELSE ((_col1 - 1)) END)) (type: double), ((- (-6432.0D + (UDFToDouble(_col0) / 
_col1))) * (- (UDFToDouble(_col0) / _col1))) (type: double), _col6 (type: 
tinyint), (- _col6) (type: tinyint)
             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: 52 Basic stats: COMPLETE Column 
stats: NONE
             File Output Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/649d7c12/ql/src/test/results/clientpositive/parquet_vectorization_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_2.q.out 
b/ql/src/test/results/clientpositive/parquet_vectorization_2.q.out
index cb984bc..a5af87c 100644
--- a/ql/src/test/results/clientpositive/parquet_vectorization_2.q.out
+++ b/ql/src/test/results/clientpositive/parquet_vectorization_2.q.out
@@ -127,7 +127,7 @@ STAGE PLANS:
           outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, 
_col7, _col8, _col9
           Statistics: Num rows: 1 Data size: 76 Basic stats: COMPLETE Column 
stats: NONE
           Select Operator
-            expressions: (_col0 / _col1) (type: double), ((_col0 / _col1) % 
-563.0D) (type: double), ((_col0 / _col1) + 762.0D) (type: double), _col2 
(type: double), ((_col3 - ((_col4 * _col4) / _col5)) / _col5) (type: double), 
(- ((_col3 - ((_col4 * _col4) / _col5)) / _col5)) (type: double), (_col2 - 
(_col0 / _col1)) (type: double), _col6 (type: bigint), (- (_col2 - (_col0 / 
_col1))) (type: double), (((_col3 - ((_col4 * _col4) / _col5)) / _col5) - 
762.0D) (type: double), _col7 (type: tinyint), ((- ((_col3 - ((_col4 * _col4) / 
_col5)) / _col5)) + UDFToDouble(_col7)) (type: double), (_col8 / _col9) (type: 
double), (((- ((_col3 - ((_col4 * _col4) / _col5)) / _col5)) + 
UDFToDouble(_col7)) - _col2) (type: double)
+            expressions: (UDFToDouble(_col0) / _col1) (type: double), 
((UDFToDouble(_col0) / _col1) % -563.0D) (type: double), ((UDFToDouble(_col0) / 
_col1) + 762.0D) (type: double), _col2 (type: double), ((_col3 - ((_col4 * 
_col4) / _col5)) / _col5) (type: double), (- ((_col3 - ((_col4 * _col4) / 
_col5)) / _col5)) (type: double), (_col2 - (UDFToDouble(_col0) / _col1)) (type: 
double), _col6 (type: bigint), (- (_col2 - (UDFToDouble(_col0) / _col1))) 
(type: double), (((_col3 - ((_col4 * _col4) / _col5)) / _col5) - 762.0D) (type: 
double), _col7 (type: tinyint), ((- ((_col3 - ((_col4 * _col4) / _col5)) / 
_col5)) + UDFToDouble(_col7)) (type: double), (_col8 / _col9) (type: double), 
(((- ((_col3 - ((_col4 * _col4) / _col5)) / _col5)) + UDFToDouble(_col7)) - 
_col2) (type: double)
             outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, 
_col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13
             Statistics: Num rows: 1 Data size: 76 Basic stats: COMPLETE Column 
stats: NONE
             File Output Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/649d7c12/ql/src/test/results/clientpositive/parquet_vectorization_3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/parquet_vectorization_3.q.out 
b/ql/src/test/results/clientpositive/parquet_vectorization_3.q.out
index c7672a3..ffdb68e 100644
--- a/ql/src/test/results/clientpositive/parquet_vectorization_3.q.out
+++ b/ql/src/test/results/clientpositive/parquet_vectorization_3.q.out
@@ -132,7 +132,7 @@ STAGE PLANS:
           outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, 
_col7, _col8, _col9, _col10, _col11, _col12, _col13
           Statistics: Num rows: 1 Data size: 112 Basic stats: COMPLETE Column 
stats: NONE
           Select Operator
-            expressions: power(((_col0 - ((_col1 * _col1) / _col2)) / CASE 
WHEN ((_col2 = 1L)) THEN (null) ELSE ((_col2 - 1)) END), 0.5) (type: double), 
(power(((_col0 - ((_col1 * _col1) / _col2)) / CASE WHEN ((_col2 = 1L)) THEN 
(null) ELSE ((_col2 - 1)) END), 0.5) - 10.175D) (type: double), power(((_col3 - 
((_col4 * _col4) / _col5)) / _col5), 0.5) (type: double), (power(((_col0 - 
((_col1 * _col1) / _col2)) / CASE WHEN ((_col2 = 1L)) THEN (null) ELSE ((_col2 
- 1)) END), 0.5) * (power(((_col0 - ((_col1 * _col1) / _col2)) / CASE WHEN 
((_col2 = 1L)) THEN (null) ELSE ((_col2 - 1)) END), 0.5) - 10.175D)) (type: 
double), (- power(((_col3 - ((_col4 * _col4) / _col5)) / _col5), 0.5)) (type: 
double), (power(((_col0 - ((_col1 * _col1) / _col2)) / CASE WHEN ((_col2 = 1L)) 
THEN (null) ELSE ((_col2 - 1)) END), 0.5) % 79.553D) (type: double), (- 
(power(((_col0 - ((_col1 * _col1) / _col2)) / CASE WHEN ((_col2 = 1L)) THEN 
(null) ELSE ((_col2 - 1)) END), 0.5) * (power(((_col0 - ((_col1 * _col1) / _c
 ol2)) / CASE WHEN ((_col2 = 1L)) THEN (null) ELSE ((_col2 - 1)) END), 0.5) - 
10.175D))) (type: double), power(((_col6 - ((_col7 * _col7) / _col8)) / CASE 
WHEN ((_col8 = 1L)) THEN (null) ELSE ((_col8 - 1)) END), 0.5) (type: double), 
(- power(((_col0 - ((_col1 * _col1) / _col2)) / CASE WHEN ((_col2 = 1L)) THEN 
(null) ELSE ((_col2 - 1)) END), 0.5)) (type: double), _col9 (type: double), ((- 
(power(((_col0 - ((_col1 * _col1) / _col2)) / CASE WHEN ((_col2 = 1L)) THEN 
(null) ELSE ((_col2 - 1)) END), 0.5) * (power(((_col0 - ((_col1 * _col1) / 
_col2)) / CASE WHEN ((_col2 = 1L)) THEN (null) ELSE ((_col2 - 1)) END), 0.5) - 
10.175D))) / (power(((_col0 - ((_col1 * _col1) / _col2)) / CASE WHEN ((_col2 = 
1L)) THEN (null) ELSE ((_col2 - 1)) END), 0.5) - 10.175D)) (type: double), (- 
(power(((_col0 - ((_col1 * _col1) / _col2)) / CASE WHEN ((_col2 = 1L)) THEN 
(null) ELSE ((_col2 - 1)) END), 0.5) - 10.175D)) (type: double), (_col10 / 
_col11) (type: double), (-3728.0D - power(((_col0 - ((_col1 * _col1) 
 / _col2)) / CASE WHEN ((_col2 = 1L)) THEN (null) ELSE ((_col2 - 1)) END), 
0.5)) (type: double), power(((_col12 - ((_col13 * _col13) / _col11)) / _col11), 
0.5) (type: double), ((_col10 / _col11) / power(((_col6 - ((_col7 * _col7) / 
_col8)) / CASE WHEN ((_col8 = 1L)) THEN (null) ELSE ((_col8 - 1)) END), 0.5)) 
(type: double)
+            expressions: power(((_col0 - ((_col1 * _col1) / _col2)) / CASE 
WHEN ((_col2 = 1L)) THEN (null) ELSE ((_col2 - 1)) END), 0.5) (type: double), 
(power(((_col0 - ((_col1 * _col1) / _col2)) / CASE WHEN ((_col2 = 1L)) THEN 
(null) ELSE ((_col2 - 1)) END), 0.5) - 10.175D) (type: double), power(((_col3 - 
((_col4 * _col4) / _col5)) / _col5), 0.5) (type: double), (power(((_col0 - 
((_col1 * _col1) / _col2)) / CASE WHEN ((_col2 = 1L)) THEN (null) ELSE ((_col2 
- 1)) END), 0.5) * (power(((_col0 - ((_col1 * _col1) / _col2)) / CASE WHEN 
((_col2 = 1L)) THEN (null) ELSE ((_col2 - 1)) END), 0.5) - 10.175D)) (type: 
double), (- power(((_col3 - ((_col4 * _col4) / _col5)) / _col5), 0.5)) (type: 
double), (power(((_col0 - ((_col1 * _col1) / _col2)) / CASE WHEN ((_col2 = 1L)) 
THEN (null) ELSE ((_col2 - 1)) END), 0.5) % 79.553D) (type: double), (- 
(power(((_col0 - ((_col1 * _col1) / _col2)) / CASE WHEN ((_col2 = 1L)) THEN 
(null) ELSE ((_col2 - 1)) END), 0.5) * (power(((_col0 - ((_col1 * _col1) / _c
 ol2)) / CASE WHEN ((_col2 = 1L)) THEN (null) ELSE ((_col2 - 1)) END), 0.5) - 
10.175D))) (type: double), power(((_col6 - ((_col7 * _col7) / _col8)) / CASE 
WHEN ((_col8 = 1L)) THEN (null) ELSE ((_col8 - 1)) END), 0.5) (type: double), 
(- power(((_col0 - ((_col1 * _col1) / _col2)) / CASE WHEN ((_col2 = 1L)) THEN 
(null) ELSE ((_col2 - 1)) END), 0.5)) (type: double), _col9 (type: double), ((- 
(power(((_col0 - ((_col1 * _col1) / _col2)) / CASE WHEN ((_col2 = 1L)) THEN 
(null) ELSE ((_col2 - 1)) END), 0.5) * (power(((_col0 - ((_col1 * _col1) / 
_col2)) / CASE WHEN ((_col2 = 1L)) THEN (null) ELSE ((_col2 - 1)) END), 0.5) - 
10.175D))) / (power(((_col0 - ((_col1 * _col1) / _col2)) / CASE WHEN ((_col2 = 
1L)) THEN (null) ELSE ((_col2 - 1)) END), 0.5) - 10.175D)) (type: double), (- 
(power(((_col0 - ((_col1 * _col1) / _col2)) / CASE WHEN ((_col2 = 1L)) THEN 
(null) ELSE ((_col2 - 1)) END), 0.5) - 10.175D)) (type: double), 
(UDFToDouble(_col10) / _col11) (type: double), (-3728.0D - power(((_col0 - ((_c
 ol1 * _col1) / _col2)) / CASE WHEN ((_col2 = 1L)) THEN (null) ELSE ((_col2 - 
1)) END), 0.5)) (type: double), power(((_col12 - ((_col13 * _col13) / _col11)) 
/ _col11), 0.5) (type: double), ((UDFToDouble(_col10) / _col11) / power(((_col6 
- ((_col7 * _col7) / _col8)) / CASE WHEN ((_col8 = 1L)) THEN (null) ELSE 
((_col8 - 1)) END), 0.5)) (type: double)
             outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, 
_col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15
             Statistics: Num rows: 1 Data size: 112 Basic stats: COMPLETE 
Column stats: NONE
             File Output Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/649d7c12/ql/src/test/results/clientpositive/parquet_vectorization_pushdown.q.out
----------------------------------------------------------------------
diff --git 
a/ql/src/test/results/clientpositive/parquet_vectorization_pushdown.q.out 
b/ql/src/test/results/clientpositive/parquet_vectorization_pushdown.q.out
index b29ca9a..2995721 100644
--- a/ql/src/test/results/clientpositive/parquet_vectorization_pushdown.q.out
+++ b/ql/src/test/results/clientpositive/parquet_vectorization_pushdown.q.out
@@ -56,7 +56,7 @@ STAGE PLANS:
           outputColumnNames: _col0, _col1
           Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column 
stats: NONE
           Select Operator
-            expressions: (_col0 / _col1) (type: double)
+            expressions: (UDFToDouble(_col0) / _col1) (type: double)
             outputColumnNames: _col0
             Statistics: Num rows: 1 Data size: 16 Basic stats: COMPLETE Column 
stats: NONE
             File Output Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/649d7c12/ql/src/test/results/clientpositive/perf/spark/query13.q.out
----------------------------------------------------------------------
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 c9fcb88..4073113 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query13.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query13.q.out
@@ -333,7 +333,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: (_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), 
(_col2 / _col3) (type: decimal(37,22)), (_col4 / _col5) (type: decimal(37,22)), 
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

http://git-wip-us.apache.org/repos/asf/hive/blob/649d7c12/ql/src/test/results/clientpositive/perf/spark/query17.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query17.q.out 
b/ql/src/test/results/clientpositive/perf/spark/query17.q.out
index 35405a7..d0fa81d 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query17.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query17.q.out
@@ -396,7 +396,7 @@ STAGE PLANS:
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, 
_col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14
                 Statistics: Num rows: 421657640 Data size: 37198759433 Basic 
stats: COMPLETE Column stats: NONE
                 Select Operator
-                  expressions: _col0 (type: string), _col1 (type: string), 
_col2 (type: string), _col3 (type: bigint), (_col4 / _col3) (type: double), 
power(((_col5 - ((_col6 * _col6) / _col3)) / CASE WHEN ((_col3 = 1L)) THEN 
(null) ELSE ((_col3 - 1)) END), 0.5) (type: double), (power(((_col5 - ((_col6 * 
_col6) / _col3)) / CASE WHEN ((_col3 = 1L)) THEN (null) ELSE ((_col3 - 1)) 
END), 0.5) / (_col4 / _col3)) (type: double), _col7 (type: bigint), (_col8 / 
_col7) (type: double), power(((_col9 - ((_col10 * _col10) / _col7)) / CASE WHEN 
((_col7 = 1L)) THEN (null) ELSE ((_col7 - 1)) END), 0.5) (type: double), 
(power(((_col9 - ((_col10 * _col10) / _col7)) / CASE WHEN ((_col7 = 1L)) THEN 
(null) ELSE ((_col7 - 1)) END), 0.5) / (_col8 / _col7)) (type: double), _col11 
(type: bigint), (_col12 / _col11) (type: double), (power(((_col13 - ((_col14 * 
_col14) / _col11)) / CASE WHEN ((_col11 = 1L)) THEN (null) ELSE ((_col11 - 1)) 
END), 0.5) / (_col12 / _col11)) (type: double)
+                  expressions: _col0 (type: string), _col1 (type: string), 
_col2 (type: string), _col3 (type: bigint), (UDFToDouble(_col4) / _col3) (type: 
double), power(((_col5 - ((_col6 * _col6) / _col3)) / CASE WHEN ((_col3 = 1L)) 
THEN (null) ELSE ((_col3 - 1)) END), 0.5) (type: double), (power(((_col5 - 
((_col6 * _col6) / _col3)) / CASE WHEN ((_col3 = 1L)) THEN (null) ELSE ((_col3 
- 1)) END), 0.5) / (UDFToDouble(_col4) / _col3)) (type: double), _col7 (type: 
bigint), (UDFToDouble(_col8) / _col7) (type: double), power(((_col9 - ((_col10 
* _col10) / _col7)) / CASE WHEN ((_col7 = 1L)) THEN (null) ELSE ((_col7 - 1)) 
END), 0.5) (type: double), (power(((_col9 - ((_col10 * _col10) / _col7)) / CASE 
WHEN ((_col7 = 1L)) THEN (null) ELSE ((_col7 - 1)) END), 0.5) / 
(UDFToDouble(_col8) / _col7)) (type: double), _col11 (type: bigint), 
(UDFToDouble(_col12) / _col11) (type: double), (power(((_col13 - ((_col14 * 
_col14) / _col11)) / CASE WHEN ((_col11 = 1L)) THEN (null) ELSE ((_col11 - 1)) 
END), 
 0.5) / (UDFToDouble(_col12) / _col11)) (type: double)
                   outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, 
_col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13
                   Statistics: Num rows: 421657640 Data size: 37198759433 Basic 
stats: COMPLETE Column stats: NONE
                   Reduce Output Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/649d7c12/ql/src/test/results/clientpositive/perf/spark/query22.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query22.q.out 
b/ql/src/test/results/clientpositive/perf/spark/query22.q.out
index 2a99cc3..d0970bb 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query22.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query22.q.out
@@ -194,7 +194,7 @@ STAGE PLANS:
                 Statistics: Num rows: 125060762 Data size: 1975939839 Basic 
stats: COMPLETE Column stats: NONE
                 pruneGroupingSetId: true
                 Select Operator
-                  expressions: _col3 (type: string), _col0 (type: string), 
_col1 (type: string), _col2 (type: string), (_col5 / _col6) (type: double)
+                  expressions: _col3 (type: string), _col0 (type: string), 
_col1 (type: string), _col2 (type: string), (UDFToDouble(_col5) / _col6) (type: 
double)
                   outputColumnNames: _col0, _col1, _col2, _col3, _col4
                   Statistics: Num rows: 125060762 Data size: 1975939839 Basic 
stats: COMPLETE Column stats: NONE
                   Reduce Output Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/649d7c12/ql/src/test/results/clientpositive/perf/spark/query26.q.out
----------------------------------------------------------------------
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 17bbc6a..1ef5753 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query26.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query26.q.out
@@ -234,7 +234,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), (_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), (_col3 / _col4) (type: decimal(37,22)), (_col5 / _col6) 
(type: decimal(37,22)), (_col7 / _col8) (type: decimal(37,22))
                   outputColumnNames: _col0, _col1, _col2, _col3, _col4
                   Statistics: Num rows: 210822976 Data size: 28549666139 Basic 
stats: COMPLETE Column stats: NONE
                   Reduce Output Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/649d7c12/ql/src/test/results/clientpositive/perf/spark/query27.q.out
----------------------------------------------------------------------
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 294222e..8be0ca9 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query27.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query27.q.out
@@ -242,7 +242,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, 0) (type: bigint), (_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, 0) (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))
                   outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, 
_col6
                   Statistics: Num rows: 1264972921 Data size: 111596278389 
Basic stats: COMPLETE Column stats: NONE
                   Reduce Output Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/649d7c12/ql/src/test/results/clientpositive/perf/spark/query35.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query35.q.out 
b/ql/src/test/results/clientpositive/perf/spark/query35.q.out
index 6d1ea9b..22e007d 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query35.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query35.q.out
@@ -483,7 +483,7 @@ STAGE PLANS:
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, 
_col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15
                 Statistics: Num rows: 1045432122 Data size: 92228325287 Basic 
stats: COMPLETE Column stats: NONE
                 Select Operator
-                  expressions: _col0 (type: string), _col1 (type: string), 
_col2 (type: string), _col6 (type: bigint), (_col7 / _col8) (type: double), 
_col9 (type: int), _col7 (type: bigint), _col4 (type: int), (_col10 / _col11) 
(type: double), _col12 (type: int), _col10 (type: bigint), _col5 (type: int), 
(_col13 / _col14) (type: double), _col15 (type: int), _col13 (type: bigint), 
_col3 (type: int)
+                  expressions: _col0 (type: string), _col1 (type: string), 
_col2 (type: string), _col6 (type: bigint), (UDFToDouble(_col7) / _col8) (type: 
double), _col9 (type: int), _col7 (type: bigint), _col4 (type: int), 
(UDFToDouble(_col10) / _col11) (type: double), _col12 (type: int), _col10 
(type: bigint), _col5 (type: int), (UDFToDouble(_col13) / _col14) (type: 
double), _col15 (type: int), _col13 (type: bigint), _col3 (type: int)
                   outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, 
_col6, _col7, _col9, _col10, _col11, _col12, _col14, _col15, _col16, _col17
                   Statistics: Num rows: 1045432122 Data size: 92228325287 
Basic stats: COMPLETE Column stats: NONE
                   Reduce Output Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/649d7c12/ql/src/test/results/clientpositive/perf/spark/query39.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/spark/query39.q.out 
b/ql/src/test/results/clientpositive/perf/spark/query39.q.out
index cab0feb..71c029b 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query39.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query39.q.out
@@ -304,10 +304,10 @@ STAGE PLANS:
                   outputColumnNames: _col0, _col1, _col3, _col4, _col5, _col6
                   Statistics: Num rows: 25012152 Data size: 395187961 Basic 
stats: COMPLETE Column stats: NONE
                   Filter Operator
-                    predicate: CASE WHEN (((_col3 / _col4) = 0)) THEN (false) 
ELSE (((power(((_col5 - ((_col6 * _col6) / _col4)) / CASE WHEN ((_col4 = 1L)) 
THEN (null) ELSE ((_col4 - 1)) END), 0.5) / (_col3 / _col4)) > 1.0D)) END 
(type: boolean)
+                    predicate: CASE WHEN (((UDFToDouble(_col3) / _col4) = 0)) 
THEN (false) ELSE (((power(((_col5 - ((_col6 * _col6) / _col4)) / CASE WHEN 
((_col4 = 1L)) THEN (null) ELSE ((_col4 - 1)) END), 0.5) / (UDFToDouble(_col3) 
/ _col4)) > 1.0D)) END (type: boolean)
                     Statistics: Num rows: 12506076 Data size: 197593980 Basic 
stats: COMPLETE Column stats: NONE
                     Select Operator
-                      expressions: _col0 (type: int), _col1 (type: int), 
(_col3 / _col4) (type: double), CASE WHEN (((_col3 / _col4) = 0)) THEN (null) 
ELSE ((power(((_col5 - ((_col6 * _col6) / _col4)) / CASE WHEN ((_col4 = 1L)) 
THEN (null) ELSE ((_col4 - 1)) END), 0.5) / (_col3 / _col4))) END (type: double)
+                      expressions: _col0 (type: int), _col1 (type: int), 
(UDFToDouble(_col3) / _col4) (type: double), CASE WHEN (((UDFToDouble(_col3) / 
_col4) = 0)) THEN (null) ELSE ((power(((_col5 - ((_col6 * _col6) / _col4)) / 
CASE WHEN ((_col4 = 1L)) THEN (null) ELSE ((_col4 - 1)) END), 0.5) / 
(UDFToDouble(_col3) / _col4))) END (type: double)
                       outputColumnNames: _col0, _col1, _col2, _col3
                       Statistics: Num rows: 12506076 Data size: 197593980 
Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator
@@ -384,10 +384,10 @@ STAGE PLANS:
                   outputColumnNames: _col0, _col1, _col3, _col4, _col5, _col6
                   Statistics: Num rows: 25012152 Data size: 395187961 Basic 
stats: COMPLETE Column stats: NONE
                   Filter Operator
-                    predicate: CASE WHEN (((_col3 / _col4) = 0)) THEN (false) 
ELSE (((power(((_col5 - ((_col6 * _col6) / _col4)) / CASE WHEN ((_col4 = 1L)) 
THEN (null) ELSE ((_col4 - 1)) END), 0.5) / (_col3 / _col4)) > 1.0D)) END 
(type: boolean)
+                    predicate: CASE WHEN (((UDFToDouble(_col3) / _col4) = 0)) 
THEN (false) ELSE (((power(((_col5 - ((_col6 * _col6) / _col4)) / CASE WHEN 
((_col4 = 1L)) THEN (null) ELSE ((_col4 - 1)) END), 0.5) / (UDFToDouble(_col3) 
/ _col4)) > 1.0D)) END (type: boolean)
                     Statistics: Num rows: 12506076 Data size: 197593980 Basic 
stats: COMPLETE Column stats: NONE
                     Select Operator
-                      expressions: _col0 (type: int), _col1 (type: int), 
(_col3 / _col4) (type: double), CASE WHEN (((_col3 / _col4) = 0)) THEN (null) 
ELSE ((power(((_col5 - ((_col6 * _col6) / _col4)) / CASE WHEN ((_col4 = 1L)) 
THEN (null) ELSE ((_col4 - 1)) END), 0.5) / (_col3 / _col4))) END (type: double)
+                      expressions: _col0 (type: int), _col1 (type: int), 
(UDFToDouble(_col3) / _col4) (type: double), CASE WHEN (((UDFToDouble(_col3) / 
_col4) = 0)) THEN (null) ELSE ((power(((_col5 - ((_col6 * _col6) / _col4)) / 
CASE WHEN ((_col4 = 1L)) THEN (null) ELSE ((_col4 - 1)) END), 0.5) / 
(UDFToDouble(_col3) / _col4))) END (type: double)
                       outputColumnNames: _col0, _col1, _col2, _col3
                       Statistics: Num rows: 12506076 Data size: 197593980 
Basic stats: COMPLETE Column stats: NONE
                       Reduce Output Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/649d7c12/ql/src/test/results/clientpositive/perf/spark/query7.q.out
----------------------------------------------------------------------
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 2ae847b..e11fee6 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query7.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query7.q.out
@@ -234,7 +234,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), (_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), (_col3 / _col4) (type: decimal(37,22)), (_col5 / _col6) 
(type: decimal(37,22)), (_col7 / _col8) (type: decimal(37,22))
                   outputColumnNames: _col0, _col1, _col2, _col3, _col4
                   Statistics: Num rows: 421657640 Data size: 37198759433 Basic 
stats: COMPLETE Column stats: NONE
                   Reduce Output Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/649d7c12/ql/src/test/results/clientpositive/perf/spark/query85.q.out
----------------------------------------------------------------------
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 d1b3a2c..af4a835 100644
--- a/ql/src/test/results/clientpositive/perf/spark/query85.q.out
+++ b/ql/src/test/results/clientpositive/perf/spark/query85.q.out
@@ -469,7 +469,7 @@ STAGE PLANS:
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, 
_col6
                 Statistics: Num rows: 4436665 Data size: 4502682709 Basic 
stats: COMPLETE Column stats: NONE
                 Select Operator
-                  expressions: (_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), 
(_col3 / _col4) (type: decimal(37,22)), (_col5 / _col6) (type: decimal(37,22)), 
substr(_col0, 1, 20) (type: string)
                   outputColumnNames: _col4, _col5, _col6, _col7
                   Statistics: Num rows: 4436665 Data size: 4502682709 Basic 
stats: COMPLETE Column stats: NONE
                   Reduce Output Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/649d7c12/ql/src/test/results/clientpositive/perf/tez/query39.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/query39.q.out 
b/ql/src/test/results/clientpositive/perf/tez/query39.q.out
index 514f5d4..3677fba 100644
--- a/ql/src/test/results/clientpositive/perf/tez/query39.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/query39.q.out
@@ -82,7 +82,7 @@ Stage-0
                 Select Operator [SEL_229] (rows=12506076 width=15)
                   Output:["_col0","_col1","_col2","_col3"]
                   Filter Operator [FIL_228] (rows=12506076 width=15)
-                    predicate:CASE WHEN (((_col3 / _col4) = 0)) THEN (false) 
ELSE (((power(((_col5 - ((_col6 * _col6) / _col4)) / CASE WHEN ((_col4 = 1L)) 
THEN (null) ELSE ((_col4 - 1)) END), 0.5) / (_col3 / _col4)) > 1.0D)) END
+                    predicate:CASE WHEN (((UDFToDouble(_col3) / _col4) = 0)) 
THEN (false) ELSE (((power(((_col5 - ((_col6 * _col6) / _col4)) / CASE WHEN 
((_col4 = 1L)) THEN (null) ELSE ((_col4 - 1)) END), 0.5) / (UDFToDouble(_col3) 
/ _col4)) > 1.0D)) END
                     Select Operator [SEL_227] (rows=25012152 width=15)
                       Output:["_col0","_col1","_col3","_col4","_col5","_col6"]
                       Group By Operator [GBY_226] (rows=25012152 width=15)
@@ -148,7 +148,7 @@ Stage-0
                 Select Operator [SEL_224] (rows=12506076 width=15)
                   Output:["_col0","_col1","_col2","_col3"]
                   Filter Operator [FIL_223] (rows=12506076 width=15)
-                    predicate:CASE WHEN (((_col3 / _col4) = 0)) THEN (false) 
ELSE (((power(((_col5 - ((_col6 * _col6) / _col4)) / CASE WHEN ((_col4 = 1L)) 
THEN (null) ELSE ((_col4 - 1)) END), 0.5) / (_col3 / _col4)) > 1.0D)) END
+                    predicate:CASE WHEN (((UDFToDouble(_col3) / _col4) = 0)) 
THEN (false) ELSE (((power(((_col5 - ((_col6 * _col6) / _col4)) / CASE WHEN 
((_col4 = 1L)) THEN (null) ELSE ((_col4 - 1)) END), 0.5) / (UDFToDouble(_col3) 
/ _col4)) > 1.0D)) END
                     Select Operator [SEL_222] (rows=25012152 width=15)
                       Output:["_col0","_col1","_col3","_col4","_col5","_col6"]
                       Group By Operator [GBY_221] (rows=25012152 width=15)

http://git-wip-us.apache.org/repos/asf/hive/blob/649d7c12/ql/src/test/results/clientpositive/spark/dynamic_rdd_cache.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/dynamic_rdd_cache.q.out 
b/ql/src/test/results/clientpositive/spark/dynamic_rdd_cache.q.out
index 88bb031..9388bde 100644
--- a/ql/src/test/results/clientpositive/spark/dynamic_rdd_cache.q.out
+++ b/ql/src/test/results/clientpositive/spark/dynamic_rdd_cache.q.out
@@ -940,10 +940,10 @@ STAGE PLANS:
                   outputColumnNames: _col0, _col1, _col3, _col4, _col5, _col6
                   Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL 
Column stats: NONE
                   Filter Operator
-                    predicate: CASE WHEN (((_col3 / _col4) = 0)) THEN (false) 
ELSE (((power(((_col5 - ((_col6 * _col6) / _col4)) / CASE WHEN ((_col4 = 1L)) 
THEN (null) ELSE ((_col4 - 1)) END), 0.5) / (_col3 / _col4)) > 1.0D)) END 
(type: boolean)
+                    predicate: CASE WHEN (((UDFToDouble(_col3) / _col4) = 0)) 
THEN (false) ELSE (((power(((_col5 - ((_col6 * _col6) / _col4)) / CASE WHEN 
((_col4 = 1L)) THEN (null) ELSE ((_col4 - 1)) END), 0.5) / (UDFToDouble(_col3) 
/ _col4)) > 1.0D)) END (type: boolean)
                     Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL 
Column stats: NONE
                     Select Operator
-                      expressions: _col0 (type: int), _col1 (type: int), 
(_col3 / _col4) (type: double), CASE WHEN (((_col3 / _col4) = 0)) THEN (null) 
ELSE ((power(((_col5 - ((_col6 * _col6) / _col4)) / CASE WHEN ((_col4 = 1L)) 
THEN (null) ELSE ((_col4 - 1)) END), 0.5) / (_col3 / _col4))) END (type: double)
+                      expressions: _col0 (type: int), _col1 (type: int), 
(UDFToDouble(_col3) / _col4) (type: double), CASE WHEN (((UDFToDouble(_col3) / 
_col4) = 0)) THEN (null) ELSE ((power(((_col5 - ((_col6 * _col6) / _col4)) / 
CASE WHEN ((_col4 = 1L)) THEN (null) ELSE ((_col4 - 1)) END), 0.5) / 
(UDFToDouble(_col3) / _col4))) END (type: double)
                       outputColumnNames: _col0, _col1, _col2, _col3
                       Statistics: Num rows: 1 Data size: 0 Basic stats: 
PARTIAL Column stats: NONE
                       Reduce Output Operator
@@ -1024,10 +1024,10 @@ STAGE PLANS:
                   outputColumnNames: _col0, _col1, _col3, _col4, _col5, _col6
                   Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL 
Column stats: NONE
                   Filter Operator
-                    predicate: CASE WHEN (((_col3 / _col4) = 0)) THEN (false) 
ELSE (((power(((_col5 - ((_col6 * _col6) / _col4)) / CASE WHEN ((_col4 = 1L)) 
THEN (null) ELSE ((_col4 - 1)) END), 0.5) / (_col3 / _col4)) > 1.0D)) END 
(type: boolean)
+                    predicate: CASE WHEN (((UDFToDouble(_col3) / _col4) = 0)) 
THEN (false) ELSE (((power(((_col5 - ((_col6 * _col6) / _col4)) / CASE WHEN 
((_col4 = 1L)) THEN (null) ELSE ((_col4 - 1)) END), 0.5) / (UDFToDouble(_col3) 
/ _col4)) > 1.0D)) END (type: boolean)
                     Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL 
Column stats: NONE
                     Select Operator
-                      expressions: _col0 (type: int), _col1 (type: int), 
(_col3 / _col4) (type: double), CASE WHEN (((_col3 / _col4) = 0)) THEN (null) 
ELSE ((power(((_col5 - ((_col6 * _col6) / _col4)) / CASE WHEN ((_col4 = 1L)) 
THEN (null) ELSE ((_col4 - 1)) END), 0.5) / (_col3 / _col4))) END (type: double)
+                      expressions: _col0 (type: int), _col1 (type: int), 
(UDFToDouble(_col3) / _col4) (type: double), CASE WHEN (((UDFToDouble(_col3) / 
_col4) = 0)) THEN (null) ELSE ((power(((_col5 - ((_col6 * _col6) / _col4)) / 
CASE WHEN ((_col4 = 1L)) THEN (null) ELSE ((_col4 - 1)) END), 0.5) / 
(UDFToDouble(_col3) / _col4))) END (type: double)
                       outputColumnNames: _col0, _col1, _col2, _col3
                       Statistics: Num rows: 1 Data size: 0 Basic stats: 
PARTIAL Column stats: NONE
                       Reduce Output Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/649d7c12/ql/src/test/results/clientpositive/spark/parquet_vectorization_0.q.out
----------------------------------------------------------------------
diff --git 
a/ql/src/test/results/clientpositive/spark/parquet_vectorization_0.q.out 
b/ql/src/test/results/clientpositive/spark/parquet_vectorization_0.q.out
index 9b34b25..268790a 100644
--- a/ql/src/test/results/clientpositive/spark/parquet_vectorization_0.q.out
+++ b/ql/src/test/results/clientpositive/spark/parquet_vectorization_0.q.out
@@ -440,7 +440,7 @@ STAGE PLANS:
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 1 Data size: 32 Basic stats: COMPLETE 
Column stats: NONE
                 Select Operator
-                  expressions: (_col0 / _col1) (type: double), ((_col2 - 
((_col3 * _col3) / _col1)) / _col1) (type: double), ((_col2 - ((_col3 * _col3) 
/ _col1)) / CASE WHEN ((_col1 = 1L)) THEN (null) ELSE ((_col1 - 1)) END) (type: 
double), power(((_col2 - ((_col3 * _col3) / _col1)) / _col1), 0.5) (type: 
double), power(((_col2 - ((_col3 * _col3) / _col1)) / CASE WHEN ((_col1 = 1L)) 
THEN (null) ELSE ((_col1 - 1)) END), 0.5) (type: double)
+                  expressions: (UDFToDouble(_col0) / _col1) (type: double), 
((_col2 - ((_col3 * _col3) / _col1)) / _col1) (type: double), ((_col2 - ((_col3 
* _col3) / _col1)) / CASE WHEN ((_col1 = 1L)) THEN (null) ELSE ((_col1 - 1)) 
END) (type: double), power(((_col2 - ((_col3 * _col3) / _col1)) / _col1), 0.5) 
(type: double), power(((_col2 - ((_col3 * _col3) / _col1)) / CASE WHEN ((_col1 
= 1L)) THEN (null) ELSE ((_col1 - 1)) END), 0.5) (type: double)
                   outputColumnNames: _col0, _col1, _col3, _col4, _col7
                   Statistics: Num rows: 1 Data size: 32 Basic stats: COMPLETE 
Column stats: NONE
                   Reduce Output Operator
@@ -946,7 +946,7 @@ STAGE PLANS:
                 outputColumnNames: _col0, _col1, _col2, _col3
                 Statistics: Num rows: 1 Data size: 32 Basic stats: COMPLETE 
Column stats: NONE
                 Select Operator
-                  expressions: (_col0 / _col1) (type: double), ((_col2 - 
((_col3 * _col3) / _col1)) / _col1) (type: double), ((_col2 - ((_col3 * _col3) 
/ _col1)) / CASE WHEN ((_col1 = 1L)) THEN (null) ELSE ((_col1 - 1)) END) (type: 
double), power(((_col2 - ((_col3 * _col3) / _col1)) / _col1), 0.5) (type: 
double), power(((_col2 - ((_col3 * _col3) / _col1)) / CASE WHEN ((_col1 = 1L)) 
THEN (null) ELSE ((_col1 - 1)) END), 0.5) (type: double)
+                  expressions: (UDFToDouble(_col0) / _col1) (type: double), 
((_col2 - ((_col3 * _col3) / _col1)) / _col1) (type: double), ((_col2 - ((_col3 
* _col3) / _col1)) / CASE WHEN ((_col1 = 1L)) THEN (null) ELSE ((_col1 - 1)) 
END) (type: double), power(((_col2 - ((_col3 * _col3) / _col1)) / _col1), 0.5) 
(type: double), power(((_col2 - ((_col3 * _col3) / _col1)) / CASE WHEN ((_col1 
= 1L)) THEN (null) ELSE ((_col1 - 1)) END), 0.5) (type: double)
                   outputColumnNames: _col0, _col1, _col3, _col4, _col7
                   Statistics: Num rows: 1 Data size: 32 Basic stats: COMPLETE 
Column stats: NONE
                   Reduce Output Operator
@@ -1678,13 +1678,13 @@ STAGE PLANS:
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, 
_col6
                 Statistics: Num rows: 1 Data size: 52 Basic stats: COMPLETE 
Column stats: NONE
                 Select Operator
-                  expressions: (_col0 / _col1) (type: double), (- (_col0 / 
_col1)) (type: double), (-6432.0D + (_col0 / _col1)) (type: double), 
power(((_col2 - ((_col3 * _col3) / _col1)) / _col1), 0.5) (type: double), (- 
(-6432.0D + (_col0 / _col1))) (type: double), ((- (-6432.0D + (_col0 / _col1))) 
+ (-6432.0D + (_col0 / _col1))) (type: double), ((_col2 - ((_col3 * _col3) / 
_col1)) / CASE WHEN ((_col1 = 1L)) THEN (null) ELSE ((_col1 - 1)) END) (type: 
double), (- (-6432.0D + (_col0 / _col1))) (type: double), (-6432.0D + (- 
(-6432.0D + (_col0 / _col1)))) (type: double), (- (-6432.0D + (_col0 / _col1))) 
(type: double), ((- (-6432.0D + (_col0 / _col1))) / (- (-6432.0D + (_col0 / 
_col1)))) (type: double), _col4 (type: bigint), _col5 (type: double), (((_col2 
- ((_col3 * _col3) / _col1)) / CASE WHEN ((_col1 = 1L)) THEN (null) ELSE 
((_col1 - 1)) END) % power(((_col2 - ((_col3 * _col3) / _col1)) / _col1), 0.5)) 
(type: double), (- ((_col2 - ((_col3 * _col3) / _col1)) / CASE WHEN ((_col1 = 1L
 )) THEN (null) ELSE ((_col1 - 1)) END)) (type: double), ((- (-6432.0D + (_col0 
/ _col1))) * (- (_col0 / _col1))) (type: double), _col6 (type: tinyint), (- 
_col6) (type: tinyint)
+                  expressions: (UDFToDouble(_col0) / _col1) (type: double), (- 
(UDFToDouble(_col0) / _col1)) (type: double), (-6432.0D + (UDFToDouble(_col0) / 
_col1)) (type: double), power(((_col2 - ((_col3 * _col3) / _col1)) / _col1), 
0.5) (type: double), (- (-6432.0D + (UDFToDouble(_col0) / _col1))) (type: 
double), ((- (-6432.0D + (UDFToDouble(_col0) / _col1))) + (-6432.0D + 
(UDFToDouble(_col0) / _col1))) (type: double), ((_col2 - ((_col3 * _col3) / 
_col1)) / CASE WHEN ((_col1 = 1L)) THEN (null) ELSE ((_col1 - 1)) END) (type: 
double), (- (-6432.0D + (UDFToDouble(_col0) / _col1))) (type: double), 
(-6432.0D + (- (-6432.0D + (UDFToDouble(_col0) / _col1)))) (type: double), (- 
(-6432.0D + (UDFToDouble(_col0) / _col1))) (type: double), ((- (-6432.0D + 
(UDFToDouble(_col0) / _col1))) / (- (-6432.0D + (UDFToDouble(_col0) / _col1)))) 
(type: double), _col4 (type: bigint), _col5 (type: double), (((_col2 - ((_col3 
* _col3) / _col1)) / CASE WHEN ((_col1 = 1L)) THEN (null) ELSE ((_col1 - 1)) END
 ) % power(((_col2 - ((_col3 * _col3) / _col1)) / _col1), 0.5)) (type: double), 
(- ((_col2 - ((_col3 * _col3) / _col1)) / CASE WHEN ((_col1 = 1L)) THEN (null) 
ELSE ((_col1 - 1)) END)) (type: double), ((- (-6432.0D + (UDFToDouble(_col0) / 
_col1))) * (- (UDFToDouble(_col0) / _col1))) (type: double), _col6 (type: 
tinyint), (- _col6) (type: tinyint)
                   outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, 
_col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, 
_col16, _col17
                   Select Vectorization:
                       className: VectorSelectOperator
                       native: true
-                      projectedOutputColumnNums: [7, 9, 10, 8, 11, 13, 14, 12, 
19, 18, 22, 4, 5, 25, 20, 28, 6, 27]
-                      selectExpressions: LongColDivideLongColumn(col 0:bigint, 
col 1:bigint) -> 7:double, DoubleColUnaryMinus(col 8:double)(children: 
LongColDivideLongColumn(col 0:bigint, col 1:bigint) -> 8:double) -> 9:double, 
DoubleScalarAddDoubleColumn(val -6432.0, col 8:double)(children: 
LongColDivideLongColumn(col 0:bigint, col 1:bigint) -> 8:double) -> 10:double, 
FuncPowerDoubleToDouble(col 11:double)(children: DoubleColDivideLongColumn(col 
8:double, col 1:bigint)(children: DoubleColSubtractDoubleColumn(col 2:double, 
col 11:double)(children: DoubleColDivideLongColumn(col 8:double, col 
1:bigint)(children: DoubleColMultiplyDoubleColumn(col 3:double, col 3:double) 
-> 8:double) -> 11:double) -> 8:double) -> 11:double) -> 8:double, 
DoubleColUnaryMinus(col 12:double)(children: DoubleScalarAddDoubleColumn(val 
-6432.0, col 11:double)(children: LongColDivideLongColumn(col 0:bigint, col 
1:bigint) -> 11:double) -> 12:double) -> 11:double, 
DoubleColAddDoubleColumn(col 12:double, col 14:do
 uble)(children: DoubleColUnaryMinus(col 13:double)(children: 
DoubleScalarAddDoubleColumn(val -6432.0, col 12:double)(children: 
LongColDivideLongColumn(col 0:bigint, col 1:bigint) -> 12:double) -> 13:double) 
-> 12:double, DoubleScalarAddDoubleColumn(val -6432.0, col 13:double)(children: 
LongColDivideLongColumn(col 0:bigint, col 1:bigint) -> 13:double) -> 14:double) 
-> 13:double, DoubleColDivideLongColumn(col 12:double, col 17:bigint)(children: 
DoubleColSubtractDoubleColumn(col 2:double, col 14:double)(children: 
DoubleColDivideLongColumn(col 12:double, col 1:bigint)(children: 
DoubleColMultiplyDoubleColumn(col 3:double, col 3:double) -> 12:double) -> 
14:double) -> 12:double, IfExprNullCondExpr(col 15:boolean, null, col 
16:bigint)(children: LongColEqualLongScalar(col 1:bigint, val 1) -> 15:boolean, 
LongColSubtractLongScalar(col 1:bigint, val 1) -> 16:bigint) -> 17:bigint) -> 
14:double, DoubleColUnaryMinus(col 18:double)(children: 
DoubleScalarAddDoubleColumn(val -6432.0, col 12:double)(c
 hildren: LongColDivideLongColumn(col 0:bigint, col 1:bigint) -> 12:double) -> 
18:double) -> 12:double, DoubleScalarAddDoubleColumn(val -6432.0, col 
18:double)(children: DoubleColUnaryMinus(col 19:double)(children: 
DoubleScalarAddDoubleColumn(val -6432.0, col 18:double)(children: 
LongColDivideLongColumn(col 0:bigint, col 1:bigint) -> 18:double) -> 19:double) 
-> 18:double) -> 19:double, DoubleColUnaryMinus(col 20:double)(children: 
DoubleScalarAddDoubleColumn(val -6432.0, col 18:double)(children: 
LongColDivideLongColumn(col 0:bigint, col 1:bigint) -> 18:double) -> 20:double) 
-> 18:double, DoubleColDivideDoubleColumn(col 20:double, col 
21:double)(children: DoubleColUnaryMinus(col 21:double)(children: 
DoubleScalarAddDoubleColumn(val -6432.0, col 20:double)(children: 
LongColDivideLongColumn(col 0:bigint, col 1:bigint) -> 20:double) -> 21:double) 
-> 20:double, DoubleColUnaryMinus(col 22:double)(children: 
DoubleScalarAddDoubleColumn(val -6432.0, col 21:double)(children: 
LongColDivideLongCol
 umn(col 0:bigint, col 1:bigint) -> 21:double) -> 22:double) -> 21:double) -> 
22:double, DoubleColModuloDoubleColumn(col 21:double, col 20:double)(children: 
DoubleColDivideLongColumn(col 20:double, col 24:bigint)(children: 
DoubleColSubtractDoubleColumn(col 2:double, col 21:double)(children: 
DoubleColDivideLongColumn(col 20:double, col 1:bigint)(children: 
DoubleColMultiplyDoubleColumn(col 3:double, col 3:double) -> 20:double) -> 
21:double) -> 20:double, IfExprNullCondExpr(col 17:boolean, null, col 
23:bigint)(children: LongColEqualLongScalar(col 1:bigint, val 1) -> 17:boolean, 
LongColSubtractLongScalar(col 1:bigint, val 1) -> 23:bigint) -> 24:bigint) -> 
21:double, FuncPowerDoubleToDouble(col 25:double)(children: 
DoubleColDivideLongColumn(col 20:double, col 1:bigint)(children: 
DoubleColSubtractDoubleColumn(col 2:double, col 25:double)(children: 
DoubleColDivideLongColumn(col 20:double, col 1:bigint)(children: 
DoubleColMultiplyDoubleColumn(col 3:double, col 3:double) -> 20:double) -> 25:d
 ouble) -> 20:double) -> 25:double) -> 20:double) -> 25:double, 
DoubleColUnaryMinus(col 21:double)(children: DoubleColDivideLongColumn(col 
20:double, col 27:bigint)(children: DoubleColSubtractDoubleColumn(col 2:double, 
col 21:double)(children: DoubleColDivideLongColumn(col 20:double, col 
1:bigint)(children: DoubleColMultiplyDoubleColumn(col 3:double, col 3:double) 
-> 20:double) -> 21:double) -> 20:double, IfExprNullCondExpr(col 24:boolean, 
null, col 26:bigint)(children: LongColEqualLongScalar(col 1:bigint, val 1) -> 
24:boolean, LongColSubtractLongScalar(col 1:bigint, val 1) -> 26:bigint) -> 
27:bigint) -> 21:double) -> 20:double, DoubleColMultiplyDoubleColumn(col 
21:double, col 29:double)(children: DoubleColUnaryMinus(col 
28:double)(children: DoubleScalarAddDoubleColumn(val -6432.0, col 
21:double)(children: LongColDivideLongColumn(col 0:bigint, col 1:bigint) -> 
21:double) -> 28:double) -> 21:double, DoubleColUnaryMinus(col 
28:double)(children: LongColDivideLongColumn(col 0:bigint, col
  1:bigint) -> 28:double) -> 29:double) -> 28:double, LongColUnaryMinus(col 
6:tinyint) -> 27:tinyint
+                      projectedOutputColumnNums: [8, 7, 9, 10, 12, 14, 13, 18, 
11, 20, 19, 4, 5, 25, 21, 29, 6, 27]
+                      selectExpressions: DoubleColDivideLongColumn(col 
7:double, col 1:bigint)(children: CastLongToDouble(col 0:bigint) -> 7:double) 
-> 8:double, DoubleColUnaryMinus(col 9:double)(children: 
DoubleColDivideLongColumn(col 7:double, col 1:bigint)(children: 
CastLongToDouble(col 0:bigint) -> 7:double) -> 9:double) -> 7:double, 
DoubleScalarAddDoubleColumn(val -6432.0, col 10:double)(children: 
DoubleColDivideLongColumn(col 9:double, col 1:bigint)(children: 
CastLongToDouble(col 0:bigint) -> 9:double) -> 10:double) -> 9:double, 
FuncPowerDoubleToDouble(col 11:double)(children: DoubleColDivideLongColumn(col 
10:double, col 1:bigint)(children: DoubleColSubtractDoubleColumn(col 2:double, 
col 11:double)(children: DoubleColDivideLongColumn(col 10:double, col 
1:bigint)(children: DoubleColMultiplyDoubleColumn(col 3:double, col 3:double) 
-> 10:double) -> 11:double) -> 10:double) -> 11:double) -> 10:double, 
DoubleColUnaryMinus(col 11:double)(children: DoubleScalarAddDoubleColumn(val -64
 32.0, col 12:double)(children: DoubleColDivideLongColumn(col 11:double, col 
1:bigint)(children: CastLongToDouble(col 0:bigint) -> 11:double) -> 12:double) 
-> 11:double) -> 12:double, DoubleColAddDoubleColumn(col 13:double, col 
11:double)(children: DoubleColUnaryMinus(col 11:double)(children: 
DoubleScalarAddDoubleColumn(val -6432.0, col 13:double)(children: 
DoubleColDivideLongColumn(col 11:double, col 1:bigint)(children: 
CastLongToDouble(col 0:bigint) -> 11:double) -> 13:double) -> 11:double) -> 
13:double, DoubleScalarAddDoubleColumn(val -6432.0, col 14:double)(children: 
DoubleColDivideLongColumn(col 11:double, col 1:bigint)(children: 
CastLongToDouble(col 0:bigint) -> 11:double) -> 14:double) -> 11:double) -> 
14:double, DoubleColDivideLongColumn(col 11:double, col 17:bigint)(children: 
DoubleColSubtractDoubleColumn(col 2:double, col 13:double)(children: 
DoubleColDivideLongColumn(col 11:double, col 1:bigint)(children: 
DoubleColMultiplyDoubleColumn(col 3:double, col 3:double) -> 11:doub
 le) -> 13:double) -> 11:double, IfExprNullCondExpr(col 15:boolean, null, col 
16:bigint)(children: LongColEqualLongScalar(col 1:bigint, val 1) -> 15:boolean, 
LongColSubtractLongScalar(col 1:bigint, val 1) -> 16:bigint) -> 17:bigint) -> 
13:double, DoubleColUnaryMinus(col 11:double)(children: 
DoubleScalarAddDoubleColumn(val -6432.0, col 18:double)(children: 
DoubleColDivideLongColumn(col 11:double, col 1:bigint)(children: 
CastLongToDouble(col 0:bigint) -> 11:double) -> 18:double) -> 11:double) -> 
18:double, DoubleScalarAddDoubleColumn(val -6432.0, col 19:double)(children: 
DoubleColUnaryMinus(col 11:double)(children: DoubleScalarAddDoubleColumn(val 
-6432.0, col 19:double)(children: DoubleColDivideLongColumn(col 11:double, col 
1:bigint)(children: CastLongToDouble(col 0:bigint) -> 11:double) -> 19:double) 
-> 11:double) -> 19:double) -> 11:double, DoubleColUnaryMinus(col 
19:double)(children: DoubleScalarAddDoubleColumn(val -6432.0, col 
20:double)(children: DoubleColDivideLongColumn(col 19:d
 ouble, col 1:bigint)(children: CastLongToDouble(col 0:bigint) -> 19:double) -> 
20:double) -> 19:double) -> 20:double, DoubleColDivideDoubleColumn(col 
21:double, col 22:double)(children: DoubleColUnaryMinus(col 
19:double)(children: DoubleScalarAddDoubleColumn(val -6432.0, col 
21:double)(children: DoubleColDivideLongColumn(col 19:double, col 
1:bigint)(children: CastLongToDouble(col 0:bigint) -> 19:double) -> 21:double) 
-> 19:double) -> 21:double, DoubleColUnaryMinus(col 19:double)(children: 
DoubleScalarAddDoubleColumn(val -6432.0, col 22:double)(children: 
DoubleColDivideLongColumn(col 19:double, col 1:bigint)(children: 
CastLongToDouble(col 0:bigint) -> 19:double) -> 22:double) -> 19:double) -> 
22:double) -> 19:double, DoubleColModuloDoubleColumn(col 22:double, col 
21:double)(children: DoubleColDivideLongColumn(col 21:double, col 
24:bigint)(children: DoubleColSubtractDoubleColumn(col 2:double, col 
22:double)(children: DoubleColDivideLongColumn(col 21:double, col 
1:bigint)(children: Dou
 bleColMultiplyDoubleColumn(col 3:double, col 3:double) -> 21:double) -> 
22:double) -> 21:double, IfExprNullCondExpr(col 17:boolean, null, col 
23:bigint)(children: LongColEqualLongScalar(col 1:bigint, val 1) -> 17:boolean, 
LongColSubtractLongScalar(col 1:bigint, val 1) -> 23:bigint) -> 24:bigint) -> 
22:double, FuncPowerDoubleToDouble(col 25:double)(children: 
DoubleColDivideLongColumn(col 21:double, col 1:bigint)(children: 
DoubleColSubtractDoubleColumn(col 2:double, col 25:double)(children: 
DoubleColDivideLongColumn(col 21:double, col 1:bigint)(children: 
DoubleColMultiplyDoubleColumn(col 3:double, col 3:double) -> 21:double) -> 
25:double) -> 21:double) -> 25:double) -> 21:double) -> 25:double, 
DoubleColUnaryMinus(col 22:double)(children: DoubleColDivideLongColumn(col 
21:double, col 27:bigint)(children: DoubleColSubtractDoubleColumn(col 2:double, 
col 22:double)(children: DoubleColDivideLongColumn(col 21:double, col 
1:bigint)(children: DoubleColMultiplyDoubleColumn(col 3:double, col 3:d
 ouble) -> 21:double) -> 22:double) -> 21:double, IfExprNullCondExpr(col 
24:boolean, null, col 26:bigint)(children: LongColEqualLongScalar(col 1:bigint, 
val 1) -> 24:boolean, LongColSubtractLongScalar(col 1:bigint, val 1) -> 
26:bigint) -> 27:bigint) -> 22:double) -> 21:double, 
DoubleColMultiplyDoubleColumn(col 28:double, col 22:double)(children: 
DoubleColUnaryMinus(col 22:double)(children: DoubleScalarAddDoubleColumn(val 
-6432.0, col 28:double)(children: DoubleColDivideLongColumn(col 22:double, col 
1:bigint)(children: CastLongToDouble(col 0:bigint) -> 22:double) -> 28:double) 
-> 22:double) -> 28:double, DoubleColUnaryMinus(col 29:double)(children: 
DoubleColDivideLongColumn(col 22:double, col 1:bigint)(children: 
CastLongToDouble(col 0:bigint) -> 22:double) -> 29:double) -> 22:double) -> 
29:double, LongColUnaryMinus(col 6:tinyint) -> 27:tinyint
                   Statistics: Num rows: 1 Data size: 52 Basic stats: COMPLETE 
Column stats: NONE
                   File Output Operator
                     compressed: false

http://git-wip-us.apache.org/repos/asf/hive/blob/649d7c12/ql/src/test/results/clientpositive/spark/parquet_vectorization_2.q.out
----------------------------------------------------------------------
diff --git 
a/ql/src/test/results/clientpositive/spark/parquet_vectorization_2.q.out 
b/ql/src/test/results/clientpositive/spark/parquet_vectorization_2.q.out
index e5a8209..390b1df 100644
--- a/ql/src/test/results/clientpositive/spark/parquet_vectorization_2.q.out
+++ b/ql/src/test/results/clientpositive/spark/parquet_vectorization_2.q.out
@@ -151,13 +151,13 @@ STAGE PLANS:
                 outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, 
_col6, _col7, _col8, _col9
                 Statistics: Num rows: 1 Data size: 76 Basic stats: COMPLETE 
Column stats: NONE
                 Select Operator
-                  expressions: (_col0 / _col1) (type: double), ((_col0 / 
_col1) % -563.0D) (type: double), ((_col0 / _col1) + 762.0D) (type: double), 
_col2 (type: double), ((_col3 - ((_col4 * _col4) / _col5)) / _col5) (type: 
double), (- ((_col3 - ((_col4 * _col4) / _col5)) / _col5)) (type: double), 
(_col2 - (_col0 / _col1)) (type: double), _col6 (type: bigint), (- (_col2 - 
(_col0 / _col1))) (type: double), (((_col3 - ((_col4 * _col4) / _col5)) / 
_col5) - 762.0D) (type: double), _col7 (type: tinyint), ((- ((_col3 - ((_col4 * 
_col4) / _col5)) / _col5)) + UDFToDouble(_col7)) (type: double), (_col8 / 
_col9) (type: double), (((- ((_col3 - ((_col4 * _col4) / _col5)) / _col5)) + 
UDFToDouble(_col7)) - _col2) (type: double)
+                  expressions: (UDFToDouble(_col0) / _col1) (type: double), 
((UDFToDouble(_col0) / _col1) % -563.0D) (type: double), ((UDFToDouble(_col0) / 
_col1) + 762.0D) (type: double), _col2 (type: double), ((_col3 - ((_col4 * 
_col4) / _col5)) / _col5) (type: double), (- ((_col3 - ((_col4 * _col4) / 
_col5)) / _col5)) (type: double), (_col2 - (UDFToDouble(_col0) / _col1)) (type: 
double), _col6 (type: bigint), (- (_col2 - (UDFToDouble(_col0) / _col1))) 
(type: double), (((_col3 - ((_col4 * _col4) / _col5)) / _col5) - 762.0D) (type: 
double), _col7 (type: tinyint), ((- ((_col3 - ((_col4 * _col4) / _col5)) / 
_col5)) + UDFToDouble(_col7)) (type: double), (_col8 / _col9) (type: double), 
(((- ((_col3 - ((_col4 * _col4) / _col5)) / _col5)) + UDFToDouble(_col7)) - 
_col2) (type: double)
                   outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, 
_col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13
                   Select Vectorization:
                       className: VectorSelectOperator
                       native: true
-                      projectedOutputColumnNums: [10, 12, 13, 2, 14, 11, 16, 
6, 15, 17, 7, 20, 18, 19]
-                      selectExpressions: LongColDivideLongColumn(col 0:bigint, 
col 1:bigint) -> 10:double, DoubleColModuloDoubleScalar(col 11:double, val 
-563.0)(children: LongColDivideLongColumn(col 0:bigint, col 1:bigint) -> 
11:double) -> 12:double, DoubleColAddDoubleScalar(col 11:double, val 
762.0)(children: LongColDivideLongColumn(col 0:bigint, col 1:bigint) -> 
11:double) -> 13:double, DoubleColDivideLongColumn(col 11:double, col 
5:bigint)(children: DoubleColSubtractDoubleColumn(col 3:double, col 
14:double)(children: DoubleColDivideLongColumn(col 11:double, col 
5:bigint)(children: DoubleColMultiplyDoubleColumn(col 4:double, col 4:double) 
-> 11:double) -> 14:double) -> 11:double) -> 14:double, DoubleColUnaryMinus(col 
15:double)(children: DoubleColDivideLongColumn(col 11:double, col 
5:bigint)(children: DoubleColSubtractDoubleColumn(col 3:double, col 
15:double)(children: DoubleColDivideLongColumn(col 11:double, col 
5:bigint)(children: DoubleColMultiplyDoubleColumn(col 4:double, col
  4:double) -> 11:double) -> 15:double) -> 11:double) -> 15:double) -> 
11:double, DoubleColSubtractDoubleColumn(col 2:double, col 15:double)(children: 
LongColDivideLongColumn(col 0:bigint, col 1:bigint) -> 15:double) -> 16:double, 
DoubleColUnaryMinus(col 17:double)(children: DoubleColSubtractDoubleColumn(col 
2:double, col 15:double)(children: LongColDivideLongColumn(col 0:bigint, col 
1:bigint) -> 15:double) -> 17:double) -> 15:double, 
DoubleColSubtractDoubleScalar(col 18:double, val 762.0)(children: 
DoubleColDivideLongColumn(col 17:double, col 5:bigint)(children: 
DoubleColSubtractDoubleColumn(col 3:double, col 18:double)(children: 
DoubleColDivideLongColumn(col 17:double, col 5:bigint)(children: 
DoubleColMultiplyDoubleColumn(col 4:double, col 4:double) -> 17:double) -> 
18:double) -> 17:double) -> 18:double) -> 17:double, 
DoubleColAddDoubleColumn(col 18:double, col 19:double)(children: 
DoubleColUnaryMinus(col 19:double)(children: DoubleColDivideLongColumn(col 
18:double, col 5:bigint)(c
 hildren: DoubleColSubtractDoubleColumn(col 3:double, col 19:double)(children: 
DoubleColDivideLongColumn(col 18:double, col 5:bigint)(children: 
DoubleColMultiplyDoubleColumn(col 4:double, col 4:double) -> 18:double) -> 
19:double) -> 18:double) -> 19:double) -> 18:double, CastLongToDouble(col 
7:tinyint) -> 19:double) -> 20:double, DoubleColDivideLongColumn(col 8:double, 
col 9:bigint) -> 18:double, DoubleColSubtractDoubleColumn(col 22:double, col 
2:double)(children: DoubleColAddDoubleColumn(col 19:double, col 
21:double)(children: DoubleColUnaryMinus(col 21:double)(children: 
DoubleColDivideLongColumn(col 19:double, col 5:bigint)(children: 
DoubleColSubtractDoubleColumn(col 3:double, col 21:double)(children: 
DoubleColDivideLongColumn(col 19:double, col 5:bigint)(children: 
DoubleColMultiplyDoubleColumn(col 4:double, col 4:double) -> 19:double) -> 
21:double) -> 19:double) -> 21:double) -> 19:double, CastLongToDouble(col 
7:tinyint) -> 21:double) -> 22:double) -> 19:double
+                      projectedOutputColumnNums: [11, 10, 12, 2, 14, 13, 15, 
6, 17, 16, 7, 20, 18, 19]
+                      selectExpressions: DoubleColDivideLongColumn(col 
10:double, col 1:bigint)(children: CastLongToDouble(col 0:bigint) -> 10:double) 
-> 11:double, DoubleColModuloDoubleScalar(col 12:double, val -563.0)(children: 
DoubleColDivideLongColumn(col 10:double, col 1:bigint)(children: 
CastLongToDouble(col 0:bigint) -> 10:double) -> 12:double) -> 10:double, 
DoubleColAddDoubleScalar(col 13:double, val 762.0)(children: 
DoubleColDivideLongColumn(col 12:double, col 1:bigint)(children: 
CastLongToDouble(col 0:bigint) -> 12:double) -> 13:double) -> 12:double, 
DoubleColDivideLongColumn(col 13:double, col 5:bigint)(children: 
DoubleColSubtractDoubleColumn(col 3:double, col 14:double)(children: 
DoubleColDivideLongColumn(col 13:double, col 5:bigint)(children: 
DoubleColMultiplyDoubleColumn(col 4:double, col 4:double) -> 13:double) -> 
14:double) -> 13:double) -> 14:double, DoubleColUnaryMinus(col 
15:double)(children: DoubleColDivideLongColumn(col 13:double, col 
5:bigint)(children: DoubleC
 olSubtractDoubleColumn(col 3:double, col 15:double)(children: 
DoubleColDivideLongColumn(col 13:double, col 5:bigint)(children: 
DoubleColMultiplyDoubleColumn(col 4:double, col 4:double) -> 13:double) -> 
15:double) -> 13:double) -> 15:double) -> 13:double, 
DoubleColSubtractDoubleColumn(col 2:double, col 16:double)(children: 
DoubleColDivideLongColumn(col 15:double, col 1:bigint)(children: 
CastLongToDouble(col 0:bigint) -> 15:double) -> 16:double) -> 15:double, 
DoubleColUnaryMinus(col 16:double)(children: DoubleColSubtractDoubleColumn(col 
2:double, col 17:double)(children: DoubleColDivideLongColumn(col 16:double, col 
1:bigint)(children: CastLongToDouble(col 0:bigint) -> 16:double) -> 17:double) 
-> 16:double) -> 17:double, DoubleColSubtractDoubleScalar(col 18:double, val 
762.0)(children: DoubleColDivideLongColumn(col 16:double, col 
5:bigint)(children: DoubleColSubtractDoubleColumn(col 3:double, col 
18:double)(children: DoubleColDivideLongColumn(col 16:double, col 
5:bigint)(children: Doub
 leColMultiplyDoubleColumn(col 4:double, col 4:double) -> 16:double) -> 
18:double) -> 16:double) -> 18:double) -> 16:double, 
DoubleColAddDoubleColumn(col 18:double, col 19:double)(children: 
DoubleColUnaryMinus(col 19:double)(children: DoubleColDivideLongColumn(col 
18:double, col 5:bigint)(children: DoubleColSubtractDoubleColumn(col 3:double, 
col 19:double)(children: DoubleColDivideLongColumn(col 18:double, col 
5:bigint)(children: DoubleColMultiplyDoubleColumn(col 4:double, col 4:double) 
-> 18:double) -> 19:double) -> 18:double) -> 19:double) -> 18:double, 
CastLongToDouble(col 7:tinyint) -> 19:double) -> 20:double, 
DoubleColDivideLongColumn(col 8:double, col 9:bigint) -> 18:double, 
DoubleColSubtractDoubleColumn(col 22:double, col 2:double)(children: 
DoubleColAddDoubleColumn(col 19:double, col 21:double)(children: 
DoubleColUnaryMinus(col 21:double)(children: DoubleColDivideLongColumn(col 
19:double, col 5:bigint)(children: DoubleColSubtractDoubleColumn(col 3:double, 
col 21:double)(child
 ren: DoubleColDivideLongColumn(col 19:double, col 5:bigint)(children: 
DoubleColMultiplyDoubleColumn(col 4:double, col 4:double) -> 19:double) -> 
21:double) -> 19:double) -> 21:double) -> 19:double, CastLongToDouble(col 
7:tinyint) -> 21:double) -> 22:double) -> 19:double
                   Statistics: Num rows: 1 Data size: 76 Basic stats: COMPLETE 
Column stats: NONE
                   File Output Operator
                     compressed: false

Reply via email to