http://git-wip-us.apache.org/repos/asf/hive/blob/8b968c7e/ql/src/test/results/clientpositive/spark/vectorized_case.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/spark/vectorized_case.q.out 
b/ql/src/test/results/clientpositive/spark/vectorized_case.q.out
index fa78d79..073b278 100644
--- a/ql/src/test/results/clientpositive/spark/vectorized_case.q.out
+++ b/ql/src/test/results/clientpositive/spark/vectorized_case.q.out
@@ -73,8 +73,8 @@ STAGE PLANS:
                       Select Vectorization:
                           className: VectorSelectOperator
                           native: true
-                          projectedOutputColumnNums: [1, 17, 21]
-                          selectExpressions: IfExprColumnCondExpr(col 
13:boolean, col 14:stringcol 16:string)(children: LongColEqualLongScalar(col 
1:smallint, val 418) -> 13:boolean, ConstantVectorExpression(val a) -> 
14:string, IfExprStringScalarStringScalar(col 15:boolean, val b, val 
c)(children: LongColEqualLongScalar(col 1:smallint, val 12205) -> 15:boolean) 
-> 16:string) -> 17:string, IfExprColumnCondExpr(col 15:boolean, col 
18:stringcol 20:string)(children: LongColEqualLongScalar(col 1:smallint, val 
418) -> 15:boolean, ConstantVectorExpression(val a) -> 18:string, 
IfExprStringScalarStringScalar(col 19:boolean, val b, val c)(children: 
LongColEqualLongScalar(col 1:smallint, val 12205) -> 19:boolean) -> 20:string) 
-> 21:string
+                          projectedOutputColumnNums: [1, 17, 22]
+                          selectExpressions: IfExprColumnCondExpr(col 
13:boolean, col 14:stringcol 16:string)(children: LongColEqualLongScalar(col 
1:smallint, val 418) -> 13:boolean, ConstantVectorExpression(val a) -> 
14:string, IfExprStringScalarStringScalar(col 15:boolean, val b, val 
c)(children: LongColEqualLongScalar(col 1:smallint, val 12205) -> 15:boolean) 
-> 16:string) -> 17:string, IfExprColumnCondExpr(col 18:boolean, col 
19:stringcol 21:string)(children: LongColEqualLongScalar(col 1:smallint, val 
418) -> 18:boolean, ConstantVectorExpression(val a) -> 19:string, 
IfExprStringScalarStringScalar(col 20:boolean, val b, val c)(children: 
LongColEqualLongScalar(col 1:smallint, val 12205) -> 20:boolean) -> 21:string) 
-> 22:string
                       Statistics: Num rows: 12288 Data size: 2907994 Basic 
stats: COMPLETE Column stats: NONE
                       File Output Operator
                         compressed: false
@@ -101,7 +101,7 @@ STAGE PLANS:
                     includeColumns: [1]
                     dataColumns: ctinyint:tinyint, csmallint:smallint, 
cint:int, cbigint:bigint, cfloat:float, cdouble:double, cstring1:string, 
cstring2:string, ctimestamp1:timestamp, ctimestamp2:timestamp, 
cboolean1:boolean, cboolean2:boolean
                     partitionColumnCount: 0
-                    scratchColumnTypeNames: [bigint, string, bigint, string, 
string, string, bigint, string, string]
+                    scratchColumnTypeNames: [bigint, string, bigint, string, 
string, bigint, string, bigint, string, string]
 
   Stage: Stage-0
     Fetch Operator
@@ -307,13 +307,13 @@ STAGE PLANS:
                     Select Vectorization:
                         className: VectorSelectOperator
                         native: true
-                        projectedOutputColumnNums: [13, 14]
-                        selectExpressions: IfExprLongScalarLongScalar(col 
14:boolean, val 1, val 0)(children: LongColEqualLongScalar(col 13:int, val 
0)(children: LongColModuloLongScalar(col 2:int, val 2) -> 13:int) -> 
14:boolean) -> 13:int, IfExprLongScalarLongScalar(col 15:boolean, val 1, val 
0)(children: LongColEqualLongScalar(col 14:int, val 1)(children: 
LongColModuloLongScalar(col 2:int, val 2) -> 14:int) -> 15:boolean) -> 14:int
+                        projectedOutputColumnNums: [15, 18]
+                        selectExpressions: IfExprLongScalarLongScalar(col 
14:boolean, val 1, val 0)(children: LongColEqualLongScalar(col 13:int, val 
0)(children: LongColModuloLongScalar(col 2:int, val 2) -> 13:int) -> 
14:boolean) -> 15:int, IfExprLongScalarLongScalar(col 17:boolean, val 1, val 
0)(children: LongColEqualLongScalar(col 16:int, val 1)(children: 
LongColModuloLongScalar(col 2:int, val 2) -> 16:int) -> 17:boolean) -> 18:int
                     Statistics: Num rows: 12288 Data size: 2907994 Basic 
stats: COMPLETE Column stats: NONE
                     Group By Operator
                       aggregations: sum(_col0), sum(_col1)
                       Group By Vectorization:
-                          aggregators: VectorUDAFSumLong(col 13:int) -> 
bigint, VectorUDAFSumLong(col 14:int) -> bigint
+                          aggregators: VectorUDAFSumLong(col 15:int) -> 
bigint, VectorUDAFSumLong(col 18:int) -> bigint
                           className: VectorGroupByOperator
                           groupByMode: HASH
                           native: false
@@ -346,7 +346,7 @@ STAGE PLANS:
                     includeColumns: [2]
                     dataColumns: ctinyint:tinyint, csmallint:smallint, 
cint:int, cbigint:bigint, cfloat:float, cdouble:double, cstring1:string, 
cstring2:string, ctimestamp1:timestamp, ctimestamp2:timestamp, 
cboolean1:boolean, cboolean2:boolean
                     partitionColumnCount: 0
-                    scratchColumnTypeNames: [bigint, bigint, bigint]
+                    scratchColumnTypeNames: [bigint, bigint, bigint, bigint, 
bigint, bigint]
         Reducer 2 
             Execution mode: vectorized
             Reduce Vectorization:
@@ -452,13 +452,13 @@ STAGE PLANS:
                     Select Vectorization:
                         className: VectorSelectOperator
                         native: true
-                        projectedOutputColumnNums: [13, 14]
-                        selectExpressions: IfExprLongColumnLongScalar(col 
14:boolean, col 2:int, val 0)(children: LongColEqualLongScalar(col 13:int, val 
0)(children: LongColModuloLongScalar(col 2:int, val 2) -> 13:int) -> 
14:boolean) -> 13:int, IfExprLongColumnLongScalar(col 15:boolean, col 2:int, 
val 0)(children: LongColEqualLongScalar(col 14:int, val 1)(children: 
LongColModuloLongScalar(col 2:int, val 2) -> 14:int) -> 15:boolean) -> 14:int
+                        projectedOutputColumnNums: [15, 18]
+                        selectExpressions: IfExprLongColumnLongScalar(col 
14:boolean, col 2:int, val 0)(children: LongColEqualLongScalar(col 13:int, val 
0)(children: LongColModuloLongScalar(col 2:int, val 2) -> 13:int) -> 
14:boolean) -> 15:int, IfExprLongColumnLongScalar(col 17:boolean, col 2:int, 
val 0)(children: LongColEqualLongScalar(col 16:int, val 1)(children: 
LongColModuloLongScalar(col 2:int, val 2) -> 16:int) -> 17:boolean) -> 18:int
                     Statistics: Num rows: 12288 Data size: 2907994 Basic 
stats: COMPLETE Column stats: NONE
                     Group By Operator
                       aggregations: sum(_col0), sum(_col1)
                       Group By Vectorization:
-                          aggregators: VectorUDAFSumLong(col 13:int) -> 
bigint, VectorUDAFSumLong(col 14:int) -> bigint
+                          aggregators: VectorUDAFSumLong(col 15:int) -> 
bigint, VectorUDAFSumLong(col 18:int) -> bigint
                           className: VectorGroupByOperator
                           groupByMode: HASH
                           native: false
@@ -491,7 +491,7 @@ STAGE PLANS:
                     includeColumns: [2]
                     dataColumns: ctinyint:tinyint, csmallint:smallint, 
cint:int, cbigint:bigint, cfloat:float, cdouble:double, cstring1:string, 
cstring2:string, ctimestamp1:timestamp, ctimestamp2:timestamp, 
cboolean1:boolean, cboolean2:boolean
                     partitionColumnCount: 0
-                    scratchColumnTypeNames: [bigint, bigint, bigint]
+                    scratchColumnTypeNames: [bigint, bigint, bigint, bigint, 
bigint, bigint]
         Reducer 2 
             Execution mode: vectorized
             Reduce Vectorization:

http://git-wip-us.apache.org/repos/asf/hive/blob/8b968c7e/ql/src/test/results/clientpositive/spark/vectorized_math_funcs.q.out
----------------------------------------------------------------------
diff --git 
a/ql/src/test/results/clientpositive/spark/vectorized_math_funcs.q.out 
b/ql/src/test/results/clientpositive/spark/vectorized_math_funcs.q.out
index fe97f78..977725c 100644
--- a/ql/src/test/results/clientpositive/spark/vectorized_math_funcs.q.out
+++ b/ql/src/test/results/clientpositive/spark/vectorized_math_funcs.q.out
@@ -140,8 +140,8 @@ STAGE PLANS:
                       Select Vectorization:
                           className: VectorSelectOperator
                           native: true
-                          projectedOutputColumnNums: [5, 14, 13, 15, 16, 17, 
19, 18, 20, 21, 22, 24, 23, 25, 26, 27, 28, 29, 31, 32, 30, 33, 34, 35, 36, 37, 
38, 39, 40, 41, 42, 43, 44, 45, 46, 5, 3, 47, 48, 49, 50]
-                          selectExpressions: 
RoundWithNumDigitsDoubleToDouble(col 5, decimalPlaces 2) -> 14:double, 
FuncFloorDoubleToLong(col 5:double) -> 13:bigint, FuncCeilDoubleToLong(col 
5:double) -> 15:bigint, FuncRandNoSeed -> 16:double, FuncRand -> 17:double, 
FuncExpDoubleToDouble(col 18:double)(children: FuncLnDoubleToDouble(col 
5:double) -> 18:double) -> 19:double, FuncLnDoubleToDouble(col 5:double) -> 
18:double, FuncLnDoubleToDouble(col 4:float) -> 20:double, 
FuncLog10DoubleToDouble(col 5:double) -> 21:double, FuncLog2DoubleToDouble(col 
5:double) -> 22:double, FuncLog2DoubleToDouble(col 23:double)(children: 
DoubleColSubtractDoubleScalar(col 5:double, val 15601.0) -> 23:double) -> 
24:double, FuncLog2DoubleToDouble(col 4:float) -> 23:double, 
FuncLog2LongToDouble(col 3:bigint) -> 25:double, FuncLog2LongToDouble(col 
2:int) -> 26:double, FuncLog2LongToDouble(col 1:smallint) -> 27:double, 
FuncLog2LongToDouble(col 0:tinyint) -> 28:double, 
FuncLogWithBaseDoubleToDouble(col 5:doubl
 e) -> 29:double, FuncPowerDoubleToDouble(col 30:double)(children: 
FuncLog2DoubleToDouble(col 5:double) -> 30:double) -> 31:double, 
FuncPowerDoubleToDouble(col 30:double)(children: FuncLog2DoubleToDouble(col 
5:double) -> 30:double) -> 32:double, FuncSqrtDoubleToDouble(col 5:double) -> 
30:double, FuncSqrtLongToDouble(col 3:bigint) -> 33:double, FuncBin(col 
3:bigint) -> 34:string, VectorUDFAdaptor(hex(cdouble)) -> 35:string, 
VectorUDFAdaptor(conv(cbigint, 10, 16)) -> 36:string, FuncAbsDoubleToDouble(col 
5:double) -> 37:double, FuncAbsLongToLong(col 0:tinyint) -> 38:int, 
PosModLongToLong(col 2, divisor 3) -> 39:int, FuncSinDoubleToDouble(col 
5:double) -> 40:double, FuncASinDoubleToDouble(col 5:double) -> 41:double, 
FuncCosDoubleToDouble(col 5:double) -> 42:double, FuncACosDoubleToDouble(col 
5:double) -> 43:double, FuncATanDoubleToDouble(col 5:double) -> 44:double, 
FuncDegreesDoubleToDouble(col 5:double) -> 45:double, 
FuncRadiansDoubleToDouble(col 5:double) -> 46:double, DoubleColUnaryMi
 nus(col 5:double) -> 47:double, FuncSignDoubleToDouble(col 5:double) -> 
48:double, FuncSignLongToDouble(col 3:bigint) -> 49:double, 
FuncCosDoubleToDouble(col 51:double)(children: DoubleColAddDoubleScalar(col 
50:double, val 3.14159)(children: DoubleColUnaryMinus(col 51:double)(children: 
FuncSinDoubleToDouble(col 50:double)(children: FuncLnDoubleToDouble(col 
5:double) -> 50:double) -> 51:double) -> 50:double) -> 51:double) -> 50:double
+                          projectedOutputColumnNums: [5, 15, 16, 17, 18, 19, 
21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 33, 35, 37, 38, 39, 40, 41, 42, 43, 
44, 45, 46, 47, 48, 49, 50, 51, 52, 5, 3, 53, 54, 55, 60]
+                          selectExpressions: 
RoundWithNumDigitsDoubleToDouble(col 5, decimalPlaces 2) -> 15:double, 
FuncFloorDoubleToLong(col 5:double) -> 16:bigint, FuncCeilDoubleToLong(col 
5:double) -> 17:bigint, FuncRandNoSeed -> 18:double, FuncRand -> 19:double, 
FuncExpDoubleToDouble(col 20:double)(children: FuncLnDoubleToDouble(col 
5:double) -> 20:double) -> 21:double, FuncLnDoubleToDouble(col 5:double) -> 
22:double, FuncLnDoubleToDouble(col 4:float) -> 23:double, 
FuncLog10DoubleToDouble(col 5:double) -> 24:double, FuncLog2DoubleToDouble(col 
5:double) -> 25:double, FuncLog2DoubleToDouble(col 26:double)(children: 
DoubleColSubtractDoubleScalar(col 5:double, val 15601.0) -> 26:double) -> 
27:double, FuncLog2DoubleToDouble(col 4:float) -> 28:double, 
FuncLog2LongToDouble(col 3:bigint) -> 29:double, FuncLog2LongToDouble(col 
2:int) -> 30:double, FuncLog2LongToDouble(col 1:smallint) -> 31:double, 
FuncLog2LongToDouble(col 0:tinyint) -> 32:double, 
FuncLogWithBaseDoubleToDouble(col 5:doubl
 e) -> 33:double, FuncPowerDoubleToDouble(col 34:double)(children: 
FuncLog2DoubleToDouble(col 5:double) -> 34:double) -> 35:double, 
FuncPowerDoubleToDouble(col 36:double)(children: FuncLog2DoubleToDouble(col 
5:double) -> 36:double) -> 37:double, FuncSqrtDoubleToDouble(col 5:double) -> 
38:double, FuncSqrtLongToDouble(col 3:bigint) -> 39:double, FuncBin(col 
3:bigint) -> 40:string, VectorUDFAdaptor(hex(cdouble)) -> 41:string, 
VectorUDFAdaptor(conv(cbigint, 10, 16)) -> 42:string, FuncAbsDoubleToDouble(col 
5:double) -> 43:double, FuncAbsLongToLong(col 0:tinyint) -> 44:int, 
PosModLongToLong(col 2, divisor 3) -> 45:int, FuncSinDoubleToDouble(col 
5:double) -> 46:double, FuncASinDoubleToDouble(col 5:double) -> 47:double, 
FuncCosDoubleToDouble(col 5:double) -> 48:double, FuncACosDoubleToDouble(col 
5:double) -> 49:double, FuncATanDoubleToDouble(col 5:double) -> 50:double, 
FuncDegreesDoubleToDouble(col 5:double) -> 51:double, 
FuncRadiansDoubleToDouble(col 5:double) -> 52:double, DoubleColUnaryMi
 nus(col 5:double) -> 53:double, FuncSignDoubleToDouble(col 5:double) -> 
54:double, FuncSignLongToDouble(col 3:bigint) -> 55:double, 
FuncCosDoubleToDouble(col 59:double)(children: DoubleColAddDoubleScalar(col 
58:double, val 3.14159)(children: DoubleColUnaryMinus(col 57:double)(children: 
FuncSinDoubleToDouble(col 56:double)(children: FuncLnDoubleToDouble(col 
5:double) -> 56:double) -> 57:double) -> 58:double) -> 59:double) -> 60:double
                       Statistics: Num rows: 2048 Data size: 484665 Basic 
stats: COMPLETE Column stats: NONE
                       File Output Operator
                         compressed: false

http://git-wip-us.apache.org/repos/asf/hive/blob/8b968c7e/ql/src/test/results/clientpositive/spark/vectorized_timestamp_funcs.q.out
----------------------------------------------------------------------
diff --git 
a/ql/src/test/results/clientpositive/spark/vectorized_timestamp_funcs.q.out 
b/ql/src/test/results/clientpositive/spark/vectorized_timestamp_funcs.q.out
index cbd2d3e..1e650f9 100644
--- a/ql/src/test/results/clientpositive/spark/vectorized_timestamp_funcs.q.out
+++ b/ql/src/test/results/clientpositive/spark/vectorized_timestamp_funcs.q.out
@@ -483,8 +483,8 @@ STAGE PLANS:
                     Select Vectorization:
                         className: VectorSelectOperator
                         native: true
-                        projectedOutputColumnNums: [5, 7, 8, 9, 6, 11, 10, 13, 
14]
-                        selectExpressions: VectorUDFUnixTimeStampString(col 
2:string) -> 5:bigint, VectorUDFYearDate(col 6, field YEAR)(children: 
CastStringToDate(col 2:string) -> 6:date) -> 7:int, VectorUDFMonthDate(col 6, 
field MONTH)(children: CastStringToDate(col 2:string) -> 6:date) -> 8:int, 
VectorUDFDayOfMonthDate(col 6, field DAY_OF_MONTH)(children: 
CastStringToDate(col 2:string) -> 6:date) -> 9:int, 
VectorUDFDayOfMonthString(col 2:string, fieldStart 8, fieldLength 2) -> 6:int, 
VectorUDFWeekOfYearDate(col 10, field WEEK_OF_YEAR)(children: 
CastStringToDate(col 2:string) -> 10:date) -> 11:int, 
VectorUDFHourTimestamp(col 12:timestamp, field HOUR_OF_DAY)(children: 
CastStringToTimestamp(col 2:string) -> 12:timestamp) -> 10:int, 
VectorUDFMinuteTimestamp(col 12:timestamp, field MINUTE)(children: 
CastStringToTimestamp(col 2:string) -> 12:timestamp) -> 13:int, 
VectorUDFSecondTimestamp(col 12:timestamp, field SECOND)(children: 
CastStringToTimestamp(col 2:string) -> 12:timestamp) -> 14
 :int
+                        projectedOutputColumnNums: [5, 7, 9, 11, 12, 14, 16, 
18, 20]
+                        selectExpressions: VectorUDFUnixTimeStampString(col 
2:string) -> 5:bigint, VectorUDFYearDate(col 6, field YEAR)(children: 
CastStringToDate(col 2:string) -> 6:date) -> 7:int, VectorUDFMonthDate(col 8, 
field MONTH)(children: CastStringToDate(col 2:string) -> 8:date) -> 9:int, 
VectorUDFDayOfMonthDate(col 10, field DAY_OF_MONTH)(children: 
CastStringToDate(col 2:string) -> 10:date) -> 11:int, 
VectorUDFDayOfMonthString(col 2:string, fieldStart 8, fieldLength 2) -> 12:int, 
VectorUDFWeekOfYearDate(col 13, field WEEK_OF_YEAR)(children: 
CastStringToDate(col 2:string) -> 13:date) -> 14:int, 
VectorUDFHourTimestamp(col 15:timestamp, field HOUR_OF_DAY)(children: 
CastStringToTimestamp(col 2:string) -> 15:timestamp) -> 16:int, 
VectorUDFMinuteTimestamp(col 17:timestamp, field MINUTE)(children: 
CastStringToTimestamp(col 2:string) -> 17:timestamp) -> 18:int, 
VectorUDFSecondTimestamp(col 19:timestamp, field SECOND)(children: 
CastStringToTimestamp(col 2:string) -> 19:timestamp) -
 > 20:int
                     Statistics: Num rows: 52 Data size: 8979 Basic stats: 
COMPLETE Column stats: NONE
                     Reduce Output Operator
                       key expressions: _col0 (type: bigint)
@@ -679,8 +679,8 @@ STAGE PLANS:
                     Select Vectorization:
                         className: VectorSelectOperator
                         native: true
-                        projectedOutputColumnNums: [7, 6, 8, 9, 11, 10, 14, 
15, 16]
-                        selectExpressions: LongColEqualLongColumn(col 
5:bigint, col 6:bigint)(children: VectorUDFUnixTimeStampTimestamp(col 
1:timestamp) -> 5:bigint, VectorUDFUnixTimeStampString(col 2:string) -> 
6:bigint) -> 7:boolean, LongColEqualLongColumn(col 5:int, col 8:int)(children: 
VectorUDFYearTimestamp(col 1:timestamp, field YEAR) -> 5:int, 
VectorUDFYearDate(col 6, field YEAR)(children: CastStringToDate(col 2:string) 
-> 6:date) -> 8:int) -> 6:boolean, LongColEqualLongColumn(col 5:int, col 
9:int)(children: VectorUDFMonthTimestamp(col 1:timestamp, field MONTH) -> 
5:int, VectorUDFMonthDate(col 8, field MONTH)(children: CastStringToDate(col 
2:string) -> 8:date) -> 9:int) -> 8:boolean, LongColEqualLongColumn(col 5:int, 
col 10:int)(children: VectorUDFDayOfMonthTimestamp(col 1:timestamp, field 
DAY_OF_MONTH) -> 5:int, VectorUDFDayOfMonthDate(col 9, field 
DAY_OF_MONTH)(children: CastStringToDate(col 2:string) -> 9:date) -> 10:int) -> 
9:boolean, LongColEqualLongColumn(col 5:int, col
  10:int)(children: VectorUDFDayOfMonthTimestamp(col 1:timestamp, field 
DAY_OF_MONTH) -> 5:int, VectorUDFDayOfMonthString(col 2:string, fieldStart 8, 
fieldLength 2) -> 10:int) -> 11:boolean, LongColEqualLongColumn(col 5:int, col 
12:int)(children: VectorUDFWeekOfYearTimestamp(col 1:timestamp, field 
WEEK_OF_YEAR) -> 5:int, VectorUDFWeekOfYearDate(col 10, field 
WEEK_OF_YEAR)(children: CastStringToDate(col 2:string) -> 10:date) -> 12:int) 
-> 10:boolean, LongColEqualLongColumn(col 5:int, col 12:int)(children: 
VectorUDFHourTimestamp(col 1:timestamp, field HOUR_OF_DAY) -> 5:int, 
VectorUDFHourTimestamp(col 13:timestamp, field HOUR_OF_DAY)(children: 
CastStringToTimestamp(col 2:string) -> 13:timestamp) -> 12:int) -> 14:boolean, 
LongColEqualLongColumn(col 5:int, col 12:int)(children: 
VectorUDFMinuteTimestamp(col 1:timestamp, field MINUTE) -> 5:int, 
VectorUDFMinuteTimestamp(col 13:timestamp, field MINUTE)(children: 
CastStringToTimestamp(col 2:string) -> 13:timestamp) -> 12:int) -> 15:boolean, 
Lo
 ngColEqualLongColumn(col 5:int, col 12:int)(children: 
VectorUDFSecondTimestamp(col 1:timestamp, field SECOND) -> 5:int, 
VectorUDFSecondTimestamp(col 13:timestamp, field SECOND)(children: 
CastStringToTimestamp(col 2:string) -> 13:timestamp) -> 12:int) -> 16:boolean
+                        projectedOutputColumnNums: [7, 11, 15, 19, 22, 26, 30, 
34, 38]
+                        selectExpressions: LongColEqualLongColumn(col 
5:bigint, col 6:bigint)(children: VectorUDFUnixTimeStampTimestamp(col 
1:timestamp) -> 5:bigint, VectorUDFUnixTimeStampString(col 2:string) -> 
6:bigint) -> 7:boolean, LongColEqualLongColumn(col 8:int, col 10:int)(children: 
VectorUDFYearTimestamp(col 1:timestamp, field YEAR) -> 8:int, 
VectorUDFYearDate(col 9, field YEAR)(children: CastStringToDate(col 2:string) 
-> 9:date) -> 10:int) -> 11:boolean, LongColEqualLongColumn(col 12:int, col 
14:int)(children: VectorUDFMonthTimestamp(col 1:timestamp, field MONTH) -> 
12:int, VectorUDFMonthDate(col 13, field MONTH)(children: CastStringToDate(col 
2:string) -> 13:date) -> 14:int) -> 15:boolean, LongColEqualLongColumn(col 
16:int, col 18:int)(children: VectorUDFDayOfMonthTimestamp(col 1:timestamp, 
field DAY_OF_MONTH) -> 16:int, VectorUDFDayOfMonthDate(col 17, field 
DAY_OF_MONTH)(children: CastStringToDate(col 2:string) -> 17:date) -> 18:int) 
-> 19:boolean, LongColEqualLongColumn
 (col 20:int, col 21:int)(children: VectorUDFDayOfMonthTimestamp(col 
1:timestamp, field DAY_OF_MONTH) -> 20:int, VectorUDFDayOfMonthString(col 
2:string, fieldStart 8, fieldLength 2) -> 21:int) -> 22:boolean, 
LongColEqualLongColumn(col 23:int, col 25:int)(children: 
VectorUDFWeekOfYearTimestamp(col 1:timestamp, field WEEK_OF_YEAR) -> 23:int, 
VectorUDFWeekOfYearDate(col 24, field WEEK_OF_YEAR)(children: 
CastStringToDate(col 2:string) -> 24:date) -> 25:int) -> 26:boolean, 
LongColEqualLongColumn(col 27:int, col 29:int)(children: 
VectorUDFHourTimestamp(col 1:timestamp, field HOUR_OF_DAY) -> 27:int, 
VectorUDFHourTimestamp(col 28:timestamp, field HOUR_OF_DAY)(children: 
CastStringToTimestamp(col 2:string) -> 28:timestamp) -> 29:int) -> 30:boolean, 
LongColEqualLongColumn(col 31:int, col 33:int)(children: 
VectorUDFMinuteTimestamp(col 1:timestamp, field MINUTE) -> 31:int, 
VectorUDFMinuteTimestamp(col 32:timestamp, field MINUTE)(children: 
CastStringToTimestamp(col 2:string) -> 32:timestamp) -> 33
 :int) -> 34:boolean, LongColEqualLongColumn(col 35:int, col 37:int)(children: 
VectorUDFSecondTimestamp(col 1:timestamp, field SECOND) -> 35:int, 
VectorUDFSecondTimestamp(col 36:timestamp, field SECOND)(children: 
CastStringToTimestamp(col 2:string) -> 36:timestamp) -> 37:int) -> 38:boolean
                     Statistics: Num rows: 52 Data size: 8979 Basic stats: 
COMPLETE Column stats: NONE
                     Reduce Output Operator
                       key expressions: _col0 (type: boolean)
@@ -875,8 +875,8 @@ STAGE PLANS:
                     Select Vectorization:
                         className: VectorSelectOperator
                         native: true
-                        projectedOutputColumnNums: [2, 4, 5, 6, 3, 8, 7, 10, 
11]
-                        selectExpressions: VectorUDFUnixTimeStampString(col 
0:string) -> 2:bigint, VectorUDFYearDate(col 3, field YEAR)(children: 
CastStringToDate(col 0:string) -> 3:date) -> 4:int, VectorUDFMonthDate(col 3, 
field MONTH)(children: CastStringToDate(col 0:string) -> 3:date) -> 5:int, 
VectorUDFDayOfMonthDate(col 3, field DAY_OF_MONTH)(children: 
CastStringToDate(col 0:string) -> 3:date) -> 6:int, 
VectorUDFDayOfMonthString(col 0:string, fieldStart 8, fieldLength 2) -> 3:int, 
VectorUDFWeekOfYearDate(col 7, field WEEK_OF_YEAR)(children: 
CastStringToDate(col 0:string) -> 7:date) -> 8:int, VectorUDFHourTimestamp(col 
9:timestamp, field HOUR_OF_DAY)(children: CastStringToTimestamp(col 0:string) 
-> 9:timestamp) -> 7:int, VectorUDFMinuteTimestamp(col 9:timestamp, field 
MINUTE)(children: CastStringToTimestamp(col 0:string) -> 9:timestamp) -> 
10:int, VectorUDFSecondTimestamp(col 9:timestamp, field SECOND)(children: 
CastStringToTimestamp(col 0:string) -> 9:timestamp) -> 11:int
+                        projectedOutputColumnNums: [2, 4, 6, 8, 9, 11, 13, 15, 
17]
+                        selectExpressions: VectorUDFUnixTimeStampString(col 
0:string) -> 2:bigint, VectorUDFYearDate(col 3, field YEAR)(children: 
CastStringToDate(col 0:string) -> 3:date) -> 4:int, VectorUDFMonthDate(col 5, 
field MONTH)(children: CastStringToDate(col 0:string) -> 5:date) -> 6:int, 
VectorUDFDayOfMonthDate(col 7, field DAY_OF_MONTH)(children: 
CastStringToDate(col 0:string) -> 7:date) -> 8:int, 
VectorUDFDayOfMonthString(col 0:string, fieldStart 8, fieldLength 2) -> 9:int, 
VectorUDFWeekOfYearDate(col 10, field WEEK_OF_YEAR)(children: 
CastStringToDate(col 0:string) -> 10:date) -> 11:int, 
VectorUDFHourTimestamp(col 12:timestamp, field HOUR_OF_DAY)(children: 
CastStringToTimestamp(col 0:string) -> 12:timestamp) -> 13:int, 
VectorUDFMinuteTimestamp(col 14:timestamp, field MINUTE)(children: 
CastStringToTimestamp(col 0:string) -> 14:timestamp) -> 15:int, 
VectorUDFSecondTimestamp(col 16:timestamp, field SECOND)(children: 
CastStringToTimestamp(col 0:string) -> 16:timestamp) -> 17
 :int
                     Statistics: Num rows: 3 Data size: 294 Basic stats: 
COMPLETE Column stats: NONE
                     Reduce Output Operator
                       key expressions: _col0 (type: bigint)
@@ -1345,8 +1345,8 @@ STAGE PLANS:
                   Select Vectorization:
                       className: VectorSelectOperator
                       native: true
-                      projectedOutputColumnNums: [5, 7, 8, 11, 6, 12, 13, 14]
-                      selectExpressions: RoundWithNumDigitsDoubleToDouble(col 
4, decimalPlaces 0)(children: DoubleColDivideLongColumn(col 0:double, col 
1:bigint) -> 4:double) -> 5:double, DoubleColumnBetween(col 6:double, left 
8.97077295279421E19, right 8.97077295279422E19)(children: 
DoubleColDivideLongColumn(col 4:double, col 1:bigint)(children: 
DoubleColSubtractDoubleColumn(col 2:double, col 6:double)(children: 
DoubleColDivideLongColumn(col 4:double, col 1:bigint)(children: 
DoubleColMultiplyDoubleColumn(col 3:double, col 3:double) -> 4:double) -> 
6:double) -> 4:double) -> 6:double) -> 7:boolean, DoubleColumnBetween(col 
6:double, left 8.97077295279421E19, right 8.97077295279422E19)(children: 
DoubleColDivideLongColumn(col 4:double, col 1:bigint)(children: 
DoubleColSubtractDoubleColumn(col 2:double, col 6:double)(children: 
DoubleColDivideLongColumn(col 4:double, col 1:bigint)(children: 
DoubleColMultiplyDoubleColumn(col 3:double, col 3:double) -> 4:double) -> 
6:double) -> 4:double) ->
  6:double) -> 8:boolean, DoubleColumnBetween(col 6:double, left 
9.20684592523616E19, right 9.20684592523617E19)(children: 
DoubleColDivideLongColumn(col 4:double, col 11:bigint)(children: 
DoubleColSubtractDoubleColumn(col 2:double, col 6:double)(children: 
DoubleColDivideLongColumn(col 4:double, col 1:bigint)(children: 
DoubleColMultiplyDoubleColumn(col 3:double, col 3:double) -> 4:double) -> 
6:double) -> 4:double, IfExprNullCondExpr(col 9:boolean, null, col 
10:bigint)(children: LongColEqualLongScalar(col 1:bigint, val 1) -> 9:boolean, 
LongColSubtractLongScalar(col 1:bigint, val 1) -> 10:bigint) -> 11:bigint) -> 
6:double) -> 11:boolean, RoundWithNumDigitsDoubleToDouble(col 4, decimalPlaces 
3)(children: FuncPowerDoubleToDouble(col 6:double)(children: 
DoubleColDivideLongColumn(col 4:double, col 1:bigint)(children: 
DoubleColSubtractDoubleColumn(col 2:double, col 6:double)(children: 
DoubleColDivideLongColumn(col 4:double, col 1:bigint)(children: 
DoubleColMultiplyDoubleColumn(col 3:double, 
 col 3:double) -> 4:double) -> 6:double) -> 4:double) -> 6:double) -> 4:double) 
-> 6:double, RoundWithNumDigitsDoubleToDouble(col 4, decimalPlaces 3)(children: 
FuncPowerDoubleToDouble(col 12:double)(children: DoubleColDivideLongColumn(col 
4:double, col 1:bigint)(children: DoubleColSubtractDoubleColumn(col 2:double, 
col 12:double)(children: DoubleColDivideLongColumn(col 4:double, col 
1:bigint)(children: DoubleColMultiplyDoubleColumn(col 3:double, col 3:double) 
-> 4:double) -> 12:double) -> 4:double) -> 12:double) -> 4:double) -> 
12:double, RoundWithNumDigitsDoubleToDouble(col 4, decimalPlaces 3)(children: 
FuncPowerDoubleToDouble(col 13:double)(children: DoubleColDivideLongColumn(col 
4:double, col 1:bigint)(children: DoubleColSubtractDoubleColumn(col 2:double, 
col 13:double)(children: DoubleColDivideLongColumn(col 4:double, col 
1:bigint)(children: DoubleColMultiplyDoubleColumn(col 3:double, col 3:double) 
-> 4:double) -> 13:double) -> 4:double) -> 13:double) -> 4:double) -> 
13:double, R
 oundWithNumDigitsDoubleToDouble(col 4, decimalPlaces 3)(children: 
FuncPowerDoubleToDouble(col 14:double)(children: DoubleColDivideLongColumn(col 
4:double, col 17:bigint)(children: DoubleColSubtractDoubleColumn(col 2:double, 
col 14:double)(children: DoubleColDivideLongColumn(col 4:double, col 
1:bigint)(children: DoubleColMultiplyDoubleColumn(col 3:double, col 3:double) 
-> 4:double) -> 14:double) -> 4: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) -> 4:double) -> 14:double
+                      projectedOutputColumnNums: [5, 10, 15, 23, 29, 35, 41, 
50]
+                      selectExpressions: RoundWithNumDigitsDoubleToDouble(col 
4, decimalPlaces 0)(children: DoubleColDivideLongColumn(col 0:double, col 
1:bigint) -> 4:double) -> 5:double, DoubleColumnBetween(col 9:double, left 
8.97077295279421E19, right 8.97077295279422E19)(children: 
DoubleColDivideLongColumn(col 8:double, col 1:bigint)(children: 
DoubleColSubtractDoubleColumn(col 2:double, col 7:double)(children: 
DoubleColDivideLongColumn(col 6:double, col 1:bigint)(children: 
DoubleColMultiplyDoubleColumn(col 3:double, col 3:double) -> 6:double) -> 
7:double) -> 8:double) -> 9:double) -> 10:boolean, DoubleColumnBetween(col 
14:double, left 8.97077295279421E19, right 8.97077295279422E19)(children: 
DoubleColDivideLongColumn(col 13:double, col 1:bigint)(children: 
DoubleColSubtractDoubleColumn(col 2:double, col 12:double)(children: 
DoubleColDivideLongColumn(col 11:double, col 1:bigint)(children: 
DoubleColMultiplyDoubleColumn(col 3:double, col 3:double) -> 11:double) -> 
12:double) -> 13:do
 uble) -> 14:double) -> 15:boolean, DoubleColumnBetween(col 22:double, left 
9.20684592523616E19, right 9.20684592523617E19)(children: 
DoubleColDivideLongColumn(col 18:double, col 21:bigint)(children: 
DoubleColSubtractDoubleColumn(col 2:double, col 17:double)(children: 
DoubleColDivideLongColumn(col 16:double, col 1:bigint)(children: 
DoubleColMultiplyDoubleColumn(col 3:double, col 3:double) -> 16:double) -> 
17:double) -> 18:double, IfExprNullCondExpr(col 19:boolean, null, col 
20:bigint)(children: LongColEqualLongScalar(col 1:bigint, val 1) -> 19:boolean, 
LongColSubtractLongScalar(col 1:bigint, val 1) -> 20:bigint) -> 21:bigint) -> 
22:double) -> 23:boolean, RoundWithNumDigitsDoubleToDouble(col 28, 
decimalPlaces 3)(children: FuncPowerDoubleToDouble(col 27:double)(children: 
DoubleColDivideLongColumn(col 26:double, col 1:bigint)(children: 
DoubleColSubtractDoubleColumn(col 2:double, col 25:double)(children: 
DoubleColDivideLongColumn(col 24:double, col 1:bigint)(children: 
DoubleColMultiplyDo
 ubleColumn(col 3:double, col 3:double) -> 24:double) -> 25:double) -> 
26:double) -> 27:double) -> 28:double) -> 29:double, 
RoundWithNumDigitsDoubleToDouble(col 34, decimalPlaces 3)(children: 
FuncPowerDoubleToDouble(col 33:double)(children: DoubleColDivideLongColumn(col 
32:double, col 1:bigint)(children: DoubleColSubtractDoubleColumn(col 2:double, 
col 31:double)(children: DoubleColDivideLongColumn(col 30:double, col 
1:bigint)(children: DoubleColMultiplyDoubleColumn(col 3:double, col 3:double) 
-> 30:double) -> 31:double) -> 32:double) -> 33:double) -> 34:double) -> 
35:double, RoundWithNumDigitsDoubleToDouble(col 40, decimalPlaces 3)(children: 
FuncPowerDoubleToDouble(col 39:double)(children: DoubleColDivideLongColumn(col 
38:double, col 1:bigint)(children: DoubleColSubtractDoubleColumn(col 2:double, 
col 37:double)(children: DoubleColDivideLongColumn(col 36:double, col 
1:bigint)(children: DoubleColMultiplyDoubleColumn(col 3:double, col 3:double) 
-> 36:double) -> 37:double) -> 38:double) 
 -> 39:double) -> 40:double) -> 41:double, RoundWithNumDigitsDoubleToDouble(col 
49, decimalPlaces 3)(children: FuncPowerDoubleToDouble(col 48:double)(children: 
DoubleColDivideLongColumn(col 44:double, col 47:bigint)(children: 
DoubleColSubtractDoubleColumn(col 2:double, col 43:double)(children: 
DoubleColDivideLongColumn(col 42:double, col 1:bigint)(children: 
DoubleColMultiplyDoubleColumn(col 3:double, col 3:double) -> 42:double) -> 
43:double) -> 44:double, IfExprNullCondExpr(col 45:boolean, null, col 
46:bigint)(children: LongColEqualLongScalar(col 1:bigint, val 1) -> 45:boolean, 
LongColSubtractLongScalar(col 1:bigint, val 1) -> 46:bigint) -> 47:bigint) -> 
48:double) -> 49:double) -> 50:double
                   Statistics: Num rows: 1 Data size: 32 Basic stats: COMPLETE 
Column stats: NONE
                   File Output Operator
                     compressed: false

http://git-wip-us.apache.org/repos/asf/hive/blob/8b968c7e/ql/src/test/results/clientpositive/vector_case_when_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vector_case_when_1.q.out 
b/ql/src/test/results/clientpositive/vector_case_when_1.q.out
index 9949de7..87f28af 100644
--- a/ql/src/test/results/clientpositive/vector_case_when_1.q.out
+++ b/ql/src/test/results/clientpositive/vector_case_when_1.q.out
@@ -211,8 +211,8 @@ STAGE PLANS:
               Select Vectorization:
                   className: VectorSelectOperator
                   native: true
-                  projectedOutputColumnNums: [4, 21, 22, 23, 20, 24, 25, 27, 
28, 29, 30, 31, 32, 35, 37, 38, 19]
-                  selectExpressions: VectorUDFAdaptor(CASE WHEN ((l_quantity = 
1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 
10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE ('Huge number') 
END)(children: LongColEqualLongScalar(col 4:int, val 1) -> 17:boolean, 
LongColEqualLongScalar(col 4:int, val 2) -> 18:boolean, 
LongColLessLongScalar(col 4:int, val 10) -> 19:boolean, 
LongColLessLongScalar(col 4:int, val 100) -> 20:boolean) -> 21:string, 
VectorUDFAdaptor(CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity 
= 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 
100)) THEN ('Many') ELSE (null) END)(children: LongColEqualLongScalar(col 
4:int, val 1) -> 17:boolean, LongColEqualLongScalar(col 4:int, val 2) -> 
18:boolean, LongColLessLongScalar(col 4:int, val 10) -> 19:boolean, 
LongColLessLongScalar(col 4:int, val 100) -> 20:boolean) -> 22:string, 
VectorUDFAdaptor(CASE WHEN ((l_quantity = 1)) THEN ('Single') W
 HEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') 
WHEN ((l_quantity < 100)) THEN (null) ELSE (null) END)(children: 
LongColEqualLongScalar(col 4:int, val 1) -> 17:boolean, 
LongColEqualLongScalar(col 4:int, val 2) -> 18:boolean, 
LongColLessLongScalar(col 4:int, val 10) -> 19:boolean, 
LongColLessLongScalar(col 4:int, val 100) -> 20:boolean) -> 23:string, 
IfExprLongColumnLongColumn(col 17:boolean, col 18:date, col 19:date)(children: 
StringGroupColEqualCharScalar(col 14:char(10), val SHIP) -> 17:boolean, 
VectorUDFDateAddColScalar(col 10:date, val 10) -> 18:date, 
VectorUDFDateAddColScalar(col 10:date, val 5) -> 19:date) -> 20:date, 
VectorUDFAdaptor(CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * 
(1.0D - l_discount))) ELSE (0) END)(children: StringGroupColEqualCharScalar(col 
8:char(1), val N) -> 17:boolean, DoubleColMultiplyDoubleColumn(col 5:double, 
col 24:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 
6:double) -> 24:double) -> 25:doubl
 e) -> 24:double, VectorUDFAdaptor(CASE WHEN ((l_returnflag = 'N')) THEN 
((l_extendedprice * (1.0D - l_discount))) ELSE (0.0D) END)(children: 
StringGroupColEqualCharScalar(col 8:char(1), val N) -> 17:boolean, 
DoubleColMultiplyDoubleColumn(col 5:double, col 25:double)(children: 
DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 25:double) -> 
26:double) -> 25:double, VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 
'DELIVER IN PERSON'), null, l_tax))(children: 
StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: 
col 13:varchar(20)) -> 17:boolean) -> 27:decimal(10,2), 
VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), 
l_tax, null))(children: StringGroupColEqualStringScalar(col 13:string, val TAKE 
BACK RETURN)(children: col 13:varchar(20)) -> 17:boolean) -> 28:decimal(10,2), 
VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, 
l_tax))(children: StringGroupColEqualStringScalar(col 13:string, val D
 ELIVER IN PERSON)(children: col 13:varchar(20)) -> 17:boolean) -> 
29:decimal(12,2), VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'TAKE 
BACK RETURN'), l_tax, 0))(children: StringGroupColEqualStringScalar(col 
13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 17:boolean) 
-> 30:decimal(12,2), IfExprDecimal64ScalarDecimal64Column(col 17:boolean, 
decimal64Val 0, decimalVal 0, col 7:decimal(10,2)/DECIMAL_64)(children: 
StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: 
col 13:varchar(20)) -> 17:boolean) -> 31:decimal(10,2)/DECIMAL_64, 
IfExprDecimal64ColumnDecimal64Scalar(col 18:boolean, col 
7:decimal(10,2)/DECIMAL_64, decimal64Val 0, decimalVal 0)(children: 
StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: 
col 13:varchar(20)) -> 18:boolean) -> 32:decimal(10,2)/DECIMAL_64, 
IfExprTimestampColumnColumn(col 19:boolean, col 33:timestampcol 
34:timestamp)(children: LongColGreaterLongScalar(col 1:int, val 30) -> 19:
 boolean, CastDateToTimestamp(col 12:date) -> 33:timestamp, 
CastDateToTimestamp(col 11:date) -> 34:timestamp) -> 35:timestamp, 
VectorUDFAdaptor(if((l_suppkey > 10000), datediff(l_receiptdate, l_commitdate), 
null))(children: LongColGreaterLongScalar(col 2:int, val 10000) -> 19:boolean, 
VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 36:int) -> 37:int, 
VectorUDFAdaptor(if((l_suppkey > 10000), null, datediff(l_receiptdate, 
l_commitdate)))(children: LongColGreaterLongScalar(col 2:int, val 10000) -> 
19:boolean, VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 36:int) -> 
38:int, IfExprLongScalarLongScalar(col 36:boolean, val 14245, val 
14609)(children: LongColGreaterLongScalar(col 19:int, val 100)(children: 
LongColModuloLongScalar(col 2:int, val 500) -> 19:int) -> 36:boolean) -> 19:date
+                  projectedOutputColumnNums: [4, 21, 26, 31, 35, 39, 43, 45, 
47, 49, 51, 53, 55, 59, 62, 65, 68]
+                  selectExpressions: VectorUDFAdaptor(CASE WHEN ((l_quantity = 
1)) THEN ('Single') WHEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 
10)) THEN ('Some') WHEN ((l_quantity < 100)) THEN ('Many') ELSE ('Huge number') 
END)(children: LongColEqualLongScalar(col 4:int, val 1) -> 17:boolean, 
LongColEqualLongScalar(col 4:int, val 2) -> 18:boolean, 
LongColLessLongScalar(col 4:int, val 10) -> 19:boolean, 
LongColLessLongScalar(col 4:int, val 100) -> 20:boolean) -> 21:string, 
VectorUDFAdaptor(CASE WHEN ((l_quantity = 1)) THEN ('Single') WHEN ((l_quantity 
= 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') WHEN ((l_quantity < 
100)) THEN ('Many') ELSE (null) END)(children: LongColEqualLongScalar(col 
4:int, val 1) -> 22:boolean, LongColEqualLongScalar(col 4:int, val 2) -> 
23:boolean, LongColLessLongScalar(col 4:int, val 10) -> 24:boolean, 
LongColLessLongScalar(col 4:int, val 100) -> 25:boolean) -> 26:string, 
VectorUDFAdaptor(CASE WHEN ((l_quantity = 1)) THEN ('Single') W
 HEN ((l_quantity = 2)) THEN ('Two') WHEN ((l_quantity < 10)) THEN ('Some') 
WHEN ((l_quantity < 100)) THEN (null) ELSE (null) END)(children: 
LongColEqualLongScalar(col 4:int, val 1) -> 27:boolean, 
LongColEqualLongScalar(col 4:int, val 2) -> 28:boolean, 
LongColLessLongScalar(col 4:int, val 10) -> 29:boolean, 
LongColLessLongScalar(col 4:int, val 100) -> 30:boolean) -> 31:string, 
IfExprLongColumnLongColumn(col 32:boolean, col 33:date, col 34:date)(children: 
StringGroupColEqualCharScalar(col 14:char(10), val SHIP) -> 32:boolean, 
VectorUDFDateAddColScalar(col 10:date, val 10) -> 33:date, 
VectorUDFDateAddColScalar(col 10:date, val 5) -> 34:date) -> 35:date, 
VectorUDFAdaptor(CASE WHEN ((l_returnflag = 'N')) THEN ((l_extendedprice * 
(1.0D - l_discount))) ELSE (0) END)(children: StringGroupColEqualCharScalar(col 
8:char(1), val N) -> 36:boolean, DoubleColMultiplyDoubleColumn(col 5:double, 
col 37:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 
6:double) -> 37:double) -> 38:doubl
 e) -> 39:double, VectorUDFAdaptor(CASE WHEN ((l_returnflag = 'N')) THEN 
((l_extendedprice * (1.0D - l_discount))) ELSE (0.0D) END)(children: 
StringGroupColEqualCharScalar(col 8:char(1), val N) -> 40:boolean, 
DoubleColMultiplyDoubleColumn(col 5:double, col 41:double)(children: 
DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 41:double) -> 
42:double) -> 43:double, VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 
'DELIVER IN PERSON'), null, l_tax))(children: 
StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: 
col 13:varchar(20)) -> 44:boolean) -> 45:decimal(10,2), 
VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), 
l_tax, null))(children: StringGroupColEqualStringScalar(col 13:string, val TAKE 
BACK RETURN)(children: col 13:varchar(20)) -> 46:boolean) -> 47:decimal(10,2), 
VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, 
l_tax))(children: StringGroupColEqualStringScalar(col 13:string, val D
 ELIVER IN PERSON)(children: col 13:varchar(20)) -> 48:boolean) -> 
49:decimal(12,2), VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'TAKE 
BACK RETURN'), l_tax, 0))(children: StringGroupColEqualStringScalar(col 
13:string, val TAKE BACK RETURN)(children: col 13:varchar(20)) -> 50:boolean) 
-> 51:decimal(12,2), IfExprDecimal64ScalarDecimal64Column(col 52:boolean, 
decimal64Val 0, decimalVal 0, col 7:decimal(10,2)/DECIMAL_64)(children: 
StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: 
col 13:varchar(20)) -> 52:boolean) -> 53:decimal(10,2)/DECIMAL_64, 
IfExprDecimal64ColumnDecimal64Scalar(col 54:boolean, col 
7:decimal(10,2)/DECIMAL_64, decimal64Val 0, decimalVal 0)(children: 
StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: 
col 13:varchar(20)) -> 54:boolean) -> 55:decimal(10,2)/DECIMAL_64, 
IfExprTimestampColumnColumn(col 56:boolean, col 57:timestampcol 
58:timestamp)(children: LongColGreaterLongScalar(col 1:int, val 30) -> 56:
 boolean, CastDateToTimestamp(col 12:date) -> 57:timestamp, 
CastDateToTimestamp(col 11:date) -> 58:timestamp) -> 59:timestamp, 
VectorUDFAdaptor(if((l_suppkey > 10000), datediff(l_receiptdate, l_commitdate), 
null))(children: LongColGreaterLongScalar(col 2:int, val 10000) -> 60:boolean, 
VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 61:int) -> 62:int, 
VectorUDFAdaptor(if((l_suppkey > 10000), null, datediff(l_receiptdate, 
l_commitdate)))(children: LongColGreaterLongScalar(col 2:int, val 10000) -> 
63:boolean, VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 64:int) -> 
65:int, IfExprLongScalarLongScalar(col 67:boolean, val 14245, val 
14609)(children: LongColGreaterLongScalar(col 66:int, val 100)(children: 
LongColModuloLongScalar(col 2:int, val 500) -> 66:int) -> 67:boolean) -> 68:date
               Statistics: Num rows: 101 Data size: 78500 Basic stats: COMPLETE 
Column stats: NONE
               File Output Operator
                 compressed: false
@@ -239,7 +239,7 @@ STAGE PLANS:
               includeColumns: [1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14]
               dataColumns: l_orderkey:int, l_partkey:int, l_suppkey:int, 
l_linenumber:int, l_quantity:int, l_extendedprice:double, l_discount:double, 
l_tax:decimal(10,2)/DECIMAL_64, l_returnflag:char(1), l_linestatus:char(1), 
l_shipdate:date, l_commitdate:date, l_receiptdate:date, 
l_shipinstruct:varchar(20), l_shipmode:char(10), l_comment:string
               partitionColumnCount: 0
-              scratchColumnTypeNames: [bigint, bigint, bigint, bigint, string, 
string, string, double, double, double, decimal(10,2), decimal(10,2), 
decimal(12,2), decimal(12,2), decimal(10,2)/DECIMAL_64, 
decimal(10,2)/DECIMAL_64, timestamp, timestamp, timestamp, bigint, bigint, 
bigint]
+              scratchColumnTypeNames: [bigint, bigint, bigint, bigint, string, 
bigint, bigint, bigint, bigint, string, bigint, bigint, bigint, bigint, string, 
bigint, bigint, bigint, bigint, bigint, double, double, double, bigint, double, 
double, double, bigint, decimal(10,2), bigint, decimal(10,2), bigint, 
decimal(12,2), bigint, decimal(12,2), bigint, decimal(10,2)/DECIMAL_64, bigint, 
decimal(10,2)/DECIMAL_64, bigint, timestamp, timestamp, timestamp, bigint, 
bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint]
 
   Stage: Stage-0
     Fetch Operator
@@ -544,8 +544,8 @@ STAGE PLANS:
               Select Vectorization:
                   className: VectorSelectOperator
                   native: true
-                  projectedOutputColumnNums: [4, 22, 24, 25, 26, 29, 27, 30, 
31, 32, 33, 34, 36, 40, 42, 45, 46]
-                  selectExpressions: IfExprStringScalarStringGroupColumn(col 
17:boolean, val Singlecol 21:string)(children: LongColEqualLongScalar(col 
4:int, val 1) -> 17:boolean, IfExprStringScalarStringGroupColumn(col 
18:boolean, val Twocol 22:string)(children: LongColEqualLongScalar(col 4:int, 
val 2) -> 18:boolean, IfExprStringScalarStringGroupColumn(col 19:boolean, val 
Somecol 21:string)(children: LongColLessLongScalar(col 4:int, val 10) -> 
19:boolean, IfExprStringScalarStringScalar(col 20:boolean, val Many, val Huge 
number)(children: LongColLessLongScalar(col 4:int, val 100) -> 20:boolean) -> 
21:string) -> 22:string) -> 21:string) -> 22:string, 
IfExprStringScalarStringGroupColumn(col 17:boolean, val Singlecol 
23:string)(children: LongColEqualLongScalar(col 4:int, val 1) -> 17:boolean, 
IfExprStringScalarStringGroupColumn(col 18:boolean, val Twocol 
24:string)(children: LongColEqualLongScalar(col 4:int, val 2) -> 18:boolean, 
IfExprStringScalarStringGroupColumn(col 19:boolean, val 
 Somecol 23:string)(children: LongColLessLongScalar(col 4:int, val 10) -> 
19:boolean, IfExprColumnNull(col 20:boolean, col 21:string, null)(children: 
LongColLessLongScalar(col 4:int, val 100) -> 20:boolean, 
ConstantVectorExpression(val Many) -> 21:string) -> 23:string) -> 24:string) -> 
23:string) -> 24:string, IfExprStringScalarStringGroupColumn(col 17:boolean, 
val Singlecol 23:string)(children: LongColEqualLongScalar(col 4:int, val 1) -> 
17:boolean, IfExprStringScalarStringGroupColumn(col 18:boolean, val Twocol 
25:string)(children: LongColEqualLongScalar(col 4:int, val 2) -> 18:boolean, 
IfExprStringScalarStringGroupColumn(col 19:boolean, val Somecol 
23:string)(children: LongColLessLongScalar(col 4:int, val 10) -> 19:boolean, 
IfExprNullNull(null, null) -> 23:string) -> 25:string) -> 23:string) -> 
25:string, IfExprLongColumnLongColumn(col 17:boolean, col 18:date, col 
19:date)(children: StringGroupColEqualCharScalar(col 14:char(10), val SHIP) -> 
17:boolean, VectorUDFDateAddColScalar(co
 l 10:date, val 10) -> 18:date, VectorUDFDateAddColScalar(col 10:date, val 5) 
-> 19:date) -> 26:date, IfExprDoubleColumnDoubleColumn(col 17:boolean, col 
28:doublecol 27:double)(children: StringGroupColEqualCharScalar(col 8:char(1), 
val N) -> 17:boolean, DoubleColMultiplyDoubleColumn(col 5:double, col 
27:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 
27:double) -> 28:double, ConstantVectorExpression(val 0.0) -> 27:double) -> 
29:double, IfExprDoubleColumnDoubleScalar(col 17:boolean, col 28:double, val 
0.0)(children: StringGroupColEqualCharScalar(col 8:char(1), val N) -> 
17:boolean, DoubleColMultiplyDoubleColumn(col 5:double, col 
27:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 
27:double) -> 28:double) -> 27:double, IfExprNullColumn(col 17:boolean, null, 
col 48)(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN 
PERSON)(children: col 13:varchar(20)) -> 17:boolean, 
ConvertDecimal64ToDecimal(col 7:decimal(10
 ,2)/DECIMAL_64) -> 48:decimal(10,2)) -> 30:decimal(10,2), IfExprColumnNull(col 
18:boolean, col 49:decimal(10,2), null)(children: 
StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: 
col 13:varchar(20)) -> 18:boolean, ConvertDecimal64ToDecimal(col 
7:decimal(10,2)/DECIMAL_64) -> 49:decimal(10,2)) -> 31:decimal(10,2), 
VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, 
l_tax))(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN 
PERSON)(children: col 13:varchar(20)) -> 19:boolean) -> 32:decimal(12,2), 
VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), 
l_tax, 0))(children: StringGroupColEqualStringScalar(col 13:string, val TAKE 
BACK RETURN)(children: col 13:varchar(20)) -> 19:boolean) -> 33:decimal(12,2), 
IfExprDecimal64ScalarDecimal64Column(col 19:boolean, decimal64Val 0, decimalVal 
0, col 7:decimal(10,2)/DECIMAL_64)(children: 
StringGroupColEqualStringScalar(col 13:string, val DELIVER IN P
 ERSON)(children: col 13:varchar(20)) -> 19:boolean) -> 
34:decimal(10,2)/DECIMAL_64, IfExprDecimal64ColumnDecimal64Scalar(col 
35:boolean, col 7:decimal(10,2)/DECIMAL_64, decimal64Val 0, decimalVal 
0)(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK 
RETURN)(children: col 13:varchar(20)) -> 35:boolean) -> 
36:decimal(10,2)/DECIMAL_64, IfExprTimestampColumnColumn(col 37:boolean, col 
38:timestampcol 39:timestamp)(children: LongColGreaterLongScalar(col 1:int, val 
30) -> 37:boolean, CastDateToTimestamp(col 12:date) -> 38:timestamp, 
CastDateToTimestamp(col 11:date) -> 39:timestamp) -> 40:timestamp, 
IfExprColumnNull(col 37:boolean, col 41:int, null)(children: 
LongColGreaterLongScalar(col 2:int, val 10000) -> 37:boolean, 
VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 41:int) -> 42:int, 
IfExprNullColumn(col 43:boolean, null, col 44)(children: 
LongColGreaterLongScalar(col 2:int, val 10000) -> 43:boolean, 
VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 44:int) -> 
 45:int, IfExprLongScalarLongScalar(col 47:boolean, val 14245, val 
14609)(children: LongColGreaterLongScalar(col 46:int, val 100)(children: 
LongColModuloLongScalar(col 2:int, val 500) -> 46:int) -> 47:boolean) -> 46:date
+                  projectedOutputColumnNums: [4, 24, 33, 40, 44, 49, 53, 55, 
57, 59, 61, 63, 65, 69, 72, 75, 78]
+                  selectExpressions: IfExprStringScalarStringGroupColumn(col 
17:boolean, val Singlecol 23:string)(children: LongColEqualLongScalar(col 
4:int, val 1) -> 17:boolean, IfExprStringScalarStringGroupColumn(col 
18:boolean, val Twocol 22:string)(children: LongColEqualLongScalar(col 4:int, 
val 2) -> 18:boolean, IfExprStringScalarStringGroupColumn(col 19:boolean, val 
Somecol 21:string)(children: LongColLessLongScalar(col 4:int, val 10) -> 
19:boolean, IfExprStringScalarStringScalar(col 20:boolean, val Many, val Huge 
number)(children: LongColLessLongScalar(col 4:int, val 100) -> 20:boolean) -> 
21:string) -> 22:string) -> 23:string) -> 24:string, 
IfExprStringScalarStringGroupColumn(col 25:boolean, val Singlecol 
32:string)(children: LongColEqualLongScalar(col 4:int, val 1) -> 25:boolean, 
IfExprStringScalarStringGroupColumn(col 26:boolean, val Twocol 
31:string)(children: LongColEqualLongScalar(col 4:int, val 2) -> 26:boolean, 
IfExprStringScalarStringGroupColumn(col 27:boolean, val 
 Somecol 30:string)(children: LongColLessLongScalar(col 4:int, val 10) -> 
27:boolean, IfExprColumnNull(col 28:boolean, col 29:string, null)(children: 
LongColLessLongScalar(col 4:int, val 100) -> 28:boolean, 
ConstantVectorExpression(val Many) -> 29:string) -> 30:string) -> 31:string) -> 
32:string) -> 33:string, IfExprStringScalarStringGroupColumn(col 34:boolean, 
val Singlecol 39:string)(children: LongColEqualLongScalar(col 4:int, val 1) -> 
34:boolean, IfExprStringScalarStringGroupColumn(col 35:boolean, val Twocol 
38:string)(children: LongColEqualLongScalar(col 4:int, val 2) -> 35:boolean, 
IfExprStringScalarStringGroupColumn(col 36:boolean, val Somecol 
37:string)(children: LongColLessLongScalar(col 4:int, val 10) -> 36:boolean, 
IfExprNullNull(null, null) -> 37:string) -> 38:string) -> 39:string) -> 
40:string, IfExprLongColumnLongColumn(col 41:boolean, col 42:date, col 
43:date)(children: StringGroupColEqualCharScalar(col 14:char(10), val SHIP) -> 
41:boolean, VectorUDFDateAddColScalar(co
 l 10:date, val 10) -> 42:date, VectorUDFDateAddColScalar(col 10:date, val 5) 
-> 43:date) -> 44:date, IfExprDoubleColumnDoubleColumn(col 45:boolean, col 
47:doublecol 48:double)(children: StringGroupColEqualCharScalar(col 8:char(1), 
val N) -> 45:boolean, DoubleColMultiplyDoubleColumn(col 5:double, col 
46:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 
46:double) -> 47:double, ConstantVectorExpression(val 0.0) -> 48:double) -> 
49:double, IfExprDoubleColumnDoubleScalar(col 50:boolean, col 52:double, val 
0.0)(children: StringGroupColEqualCharScalar(col 8:char(1), val N) -> 
50:boolean, DoubleColMultiplyDoubleColumn(col 5:double, col 
51:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 
51:double) -> 52:double) -> 53:double, IfExprNullColumn(col 54:boolean, null, 
col 79)(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN 
PERSON)(children: col 13:varchar(20)) -> 54:boolean, 
ConvertDecimal64ToDecimal(col 7:decimal(10
 ,2)/DECIMAL_64) -> 79:decimal(10,2)) -> 55:decimal(10,2), IfExprColumnNull(col 
56:boolean, col 80:decimal(10,2), null)(children: 
StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: 
col 13:varchar(20)) -> 56:boolean, ConvertDecimal64ToDecimal(col 
7:decimal(10,2)/DECIMAL_64) -> 80:decimal(10,2)) -> 57:decimal(10,2), 
VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, 
l_tax))(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN 
PERSON)(children: col 13:varchar(20)) -> 58:boolean) -> 59:decimal(12,2), 
VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'TAKE BACK RETURN'), 
l_tax, 0))(children: StringGroupColEqualStringScalar(col 13:string, val TAKE 
BACK RETURN)(children: col 13:varchar(20)) -> 60:boolean) -> 61:decimal(12,2), 
IfExprDecimal64ScalarDecimal64Column(col 62:boolean, decimal64Val 0, decimalVal 
0, col 7:decimal(10,2)/DECIMAL_64)(children: 
StringGroupColEqualStringScalar(col 13:string, val DELIVER IN P
 ERSON)(children: col 13:varchar(20)) -> 62:boolean) -> 
63:decimal(10,2)/DECIMAL_64, IfExprDecimal64ColumnDecimal64Scalar(col 
64:boolean, col 7:decimal(10,2)/DECIMAL_64, decimal64Val 0, decimalVal 
0)(children: StringGroupColEqualStringScalar(col 13:string, val TAKE BACK 
RETURN)(children: col 13:varchar(20)) -> 64:boolean) -> 
65:decimal(10,2)/DECIMAL_64, IfExprTimestampColumnColumn(col 66:boolean, col 
67:timestampcol 68:timestamp)(children: LongColGreaterLongScalar(col 1:int, val 
30) -> 66:boolean, CastDateToTimestamp(col 12:date) -> 67:timestamp, 
CastDateToTimestamp(col 11:date) -> 68:timestamp) -> 69:timestamp, 
IfExprColumnNull(col 70:boolean, col 71:int, null)(children: 
LongColGreaterLongScalar(col 2:int, val 10000) -> 70:boolean, 
VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 71:int) -> 72:int, 
IfExprNullColumn(col 73:boolean, null, col 74)(children: 
LongColGreaterLongScalar(col 2:int, val 10000) -> 73:boolean, 
VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 74:int) -> 
 75:int, IfExprLongScalarLongScalar(col 77:boolean, val 14245, val 
14609)(children: LongColGreaterLongScalar(col 76:int, val 100)(children: 
LongColModuloLongScalar(col 2:int, val 500) -> 76:int) -> 77:boolean) -> 78:date
               Statistics: Num rows: 101 Data size: 78500 Basic stats: COMPLETE 
Column stats: NONE
               File Output Operator
                 compressed: false
@@ -572,7 +572,7 @@ STAGE PLANS:
               includeColumns: [1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14]
               dataColumns: l_orderkey:int, l_partkey:int, l_suppkey:int, 
l_linenumber:int, l_quantity:int, l_extendedprice:double, l_discount:double, 
l_tax:decimal(10,2)/DECIMAL_64, l_returnflag:char(1), l_linestatus:char(1), 
l_shipdate:date, l_commitdate:date, l_receiptdate:date, 
l_shipinstruct:varchar(20), l_shipmode:char(10), l_comment:string
               partitionColumnCount: 0
-              scratchColumnTypeNames: [bigint, bigint, bigint, bigint, string, 
string, string, string, string, bigint, double, double, double, decimal(10,2), 
decimal(10,2), decimal(12,2), decimal(12,2), decimal(10,2)/DECIMAL_64, bigint, 
decimal(10,2)/DECIMAL_64, bigint, timestamp, timestamp, timestamp, bigint, 
bigint, bigint, bigint, bigint, bigint, bigint, decimal(10,2), decimal(10,2)]
+              scratchColumnTypeNames: [bigint, bigint, bigint, bigint, string, 
string, string, string, bigint, bigint, bigint, bigint, string, string, string, 
string, string, bigint, bigint, bigint, string, string, string, string, bigint, 
bigint, bigint, bigint, bigint, double, double, double, double, bigint, double, 
double, double, bigint, decimal(10,2), bigint, decimal(10,2), bigint, 
decimal(12,2), bigint, decimal(12,2), bigint, decimal(10,2)/DECIMAL_64, bigint, 
decimal(10,2)/DECIMAL_64, bigint, timestamp, timestamp, timestamp, bigint, 
bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, decimal(10,2), 
decimal(10,2)]
 
   Stage: Stage-0
     Fetch Operator
@@ -877,8 +877,8 @@ STAGE PLANS:
               Select Vectorization:
                   className: VectorSelectOperator
                   native: true
-                  projectedOutputColumnNums: [4, 27, 38, 48, 52, 56, 60, 62, 
64, 69, 73, 74, 76, 80, 83, 86, 87]
-                  selectExpressions: IfExprColumnCondExpr(col 17:boolean, col 
18:stringcol 26:string)(children: LongColEqualLongScalar(col 4:int, val 1) -> 
17:boolean, ConstantVectorExpression(val Single) -> 18:string, 
IfExprColumnCondExpr(col 19:boolean, col 20:stringcol 25:string)(children: 
LongColEqualLongScalar(col 4:int, val 2) -> 19:boolean, 
ConstantVectorExpression(val Two) -> 20:string, IfExprColumnCondExpr(col 
21:boolean, col 22:stringcol 24:string)(children: LongColLessLongScalar(col 
4:int, val 10) -> 21:boolean, ConstantVectorExpression(val Some) -> 22:string, 
IfExprStringScalarStringScalar(col 23:boolean, val Many, val Huge 
number)(children: LongColLessLongScalar(col 4:int, val 100) -> 23:boolean) -> 
24:string) -> 25:string) -> 26:string) -> 27:string, IfExprColumnCondExpr(col 
23:boolean, col 28:stringcol 37:string)(children: LongColEqualLongScalar(col 
4:int, val 1) -> 23:boolean, ConstantVectorExpression(val Single) -> 28:string, 
IfExprColumnCondExpr(col 29:boolean, col
  30:stringcol 36:string)(children: LongColEqualLongScalar(col 4:int, val 2) -> 
29:boolean, ConstantVectorExpression(val Two) -> 30:string, 
IfExprColumnCondExpr(col 31:boolean, col 32:stringcol 35:string)(children: 
LongColLessLongScalar(col 4:int, val 10) -> 31:boolean, 
ConstantVectorExpression(val Some) -> 32:string, IfExprColumnNull(col 
33:boolean, col 34:string, null)(children: LongColLessLongScalar(col 4:int, val 
100) -> 33:boolean, ConstantVectorExpression(val Many) -> 34:string) -> 
35:string) -> 36:string) -> 37:string) -> 38:string, IfExprColumnCondExpr(col 
39:boolean, col 40:stringcol 47:string)(children: LongColEqualLongScalar(col 
4:int, val 1) -> 39:boolean, ConstantVectorExpression(val Single) -> 40:string, 
IfExprColumnCondExpr(col 41:boolean, col 42:stringcol 46:string)(children: 
LongColEqualLongScalar(col 4:int, val 2) -> 41:boolean, 
ConstantVectorExpression(val Two) -> 42:string, IfExprColumnCondExpr(col 
43:boolean, col 44:stringcol 45:string)(children: LongColLessLongS
 calar(col 4:int, val 10) -> 43:boolean, ConstantVectorExpression(val Some) -> 
44:string, IfExprNullNull(null, null) -> 45:string) -> 46:string) -> 47:string) 
-> 48:string, IfExprCondExprCondExpr(col 49:boolean, col 50:datecol 
51:date)(children: StringGroupColEqualCharScalar(col 14:char(10), val SHIP) -> 
49:boolean, VectorUDFDateAddColScalar(col 10:date, val 10) -> 50:date, 
VectorUDFDateAddColScalar(col 10:date, val 5) -> 51:date) -> 52:date, 
IfExprCondExprCondExpr(col 53:boolean, col 55:doublecol 54:double)(children: 
StringGroupColEqualCharScalar(col 8:char(1), val N) -> 53:boolean, 
DoubleColMultiplyDoubleColumn(col 5:double, col 54:double)(children: 
DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 54:double) -> 
55:double, ConstantVectorExpression(val 0.0) -> 54:double) -> 56:double, 
IfExprCondExprColumn(col 57:boolean, col 59:double, col 58:double)(children: 
StringGroupColEqualCharScalar(col 8:char(1), val N) -> 57:boolean, 
DoubleColMultiplyDoubleColumn(col 5:double, col 
 58:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) 
-> 58:double) -> 59:double, ConstantVectorExpression(val 0.0) -> 58:double) -> 
60:double, IfExprNullColumn(col 61:boolean, null, col 89)(children: 
StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: 
col 13:varchar(20)) -> 61:boolean, ConvertDecimal64ToDecimal(col 
7:decimal(10,2)/DECIMAL_64) -> 89:decimal(10,2)) -> 62:decimal(10,2), 
IfExprColumnNull(col 63:boolean, col 90:decimal(10,2), null)(children: 
StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: 
col 13:varchar(20)) -> 63:boolean, ConvertDecimal64ToDecimal(col 
7:decimal(10,2)/DECIMAL_64) -> 90:decimal(10,2)) -> 64:decimal(10,2), 
VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, 
l_tax))(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN 
PERSON)(children: col 13:varchar(20)) -> 68:boolean) -> 69:decimal(12,2), 
VectorUDFAdaptor(if((CAST( l_shipinstru
 ct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0))(children: 
StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: 
col 13:varchar(20)) -> 72:boolean) -> 73:decimal(12,2), 
IfExprDecimal64ScalarDecimal64Column(col 72:boolean, decimal64Val 0, decimalVal 
0, col 7:decimal(10,2)/DECIMAL_64)(children: 
StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: 
col 13:varchar(20)) -> 72:boolean) -> 74:decimal(10,2)/DECIMAL_64, 
IfExprDecimal64ColumnDecimal64Scalar(col 75:boolean, col 
7:decimal(10,2)/DECIMAL_64, decimal64Val 0, decimalVal 0)(children: 
StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: 
col 13:varchar(20)) -> 75:boolean) -> 76:decimal(10,2)/DECIMAL_64, 
IfExprCondExprCondExpr(col 77:boolean, col 78:timestampcol 
79:timestamp)(children: LongColGreaterLongScalar(col 1:int, val 30) -> 
77:boolean, CastDateToTimestamp(col 12:date) -> 78:timestamp, 
CastDateToTimestamp(col 11:date) -> 79:timestamp) -> 80:timestamp, If
 ExprCondExprNull(col 81:boolean, col 82:int, null)(children: 
LongColGreaterLongScalar(col 2:int, val 10000) -> 81:boolean, 
VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 82:int) -> 83:int, 
IfExprNullCondExpr(col 84:boolean, null, col 85:int)(children: 
LongColGreaterLongScalar(col 2:int, val 10000) -> 84:boolean, 
VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 85:int) -> 86:int, 
IfExprLongScalarLongScalar(col 88:boolean, val 14245, val 14609)(children: 
LongColGreaterLongScalar(col 87:int, val 100)(children: 
LongColModuloLongScalar(col 2:int, val 500) -> 87:int) -> 88:boolean) -> 87:date
+                  projectedOutputColumnNums: [4, 27, 39, 49, 53, 58, 63, 65, 
67, 72, 77, 79, 81, 85, 88, 91, 94]
+                  selectExpressions: IfExprColumnCondExpr(col 17:boolean, col 
18:stringcol 26:string)(children: LongColEqualLongScalar(col 4:int, val 1) -> 
17:boolean, ConstantVectorExpression(val Single) -> 18:string, 
IfExprColumnCondExpr(col 19:boolean, col 20:stringcol 25:string)(children: 
LongColEqualLongScalar(col 4:int, val 2) -> 19:boolean, 
ConstantVectorExpression(val Two) -> 20:string, IfExprColumnCondExpr(col 
21:boolean, col 22:stringcol 24:string)(children: LongColLessLongScalar(col 
4:int, val 10) -> 21:boolean, ConstantVectorExpression(val Some) -> 22:string, 
IfExprStringScalarStringScalar(col 23:boolean, val Many, val Huge 
number)(children: LongColLessLongScalar(col 4:int, val 100) -> 23:boolean) -> 
24:string) -> 25:string) -> 26:string) -> 27:string, IfExprColumnCondExpr(col 
28:boolean, col 29:stringcol 38:string)(children: LongColEqualLongScalar(col 
4:int, val 1) -> 28:boolean, ConstantVectorExpression(val Single) -> 29:string, 
IfExprColumnCondExpr(col 30:boolean, col
  31:stringcol 37:string)(children: LongColEqualLongScalar(col 4:int, val 2) -> 
30:boolean, ConstantVectorExpression(val Two) -> 31:string, 
IfExprColumnCondExpr(col 32:boolean, col 33:stringcol 36:string)(children: 
LongColLessLongScalar(col 4:int, val 10) -> 32:boolean, 
ConstantVectorExpression(val Some) -> 33:string, IfExprColumnNull(col 
34:boolean, col 35:string, null)(children: LongColLessLongScalar(col 4:int, val 
100) -> 34:boolean, ConstantVectorExpression(val Many) -> 35:string) -> 
36:string) -> 37:string) -> 38:string) -> 39:string, IfExprColumnCondExpr(col 
40:boolean, col 41:stringcol 48:string)(children: LongColEqualLongScalar(col 
4:int, val 1) -> 40:boolean, ConstantVectorExpression(val Single) -> 41:string, 
IfExprColumnCondExpr(col 42:boolean, col 43:stringcol 47:string)(children: 
LongColEqualLongScalar(col 4:int, val 2) -> 42:boolean, 
ConstantVectorExpression(val Two) -> 43:string, IfExprColumnCondExpr(col 
44:boolean, col 45:stringcol 46:string)(children: LongColLessLongS
 calar(col 4:int, val 10) -> 44:boolean, ConstantVectorExpression(val Some) -> 
45:string, IfExprNullNull(null, null) -> 46:string) -> 47:string) -> 48:string) 
-> 49:string, IfExprCondExprCondExpr(col 50:boolean, col 51:datecol 
52:date)(children: StringGroupColEqualCharScalar(col 14:char(10), val SHIP) -> 
50:boolean, VectorUDFDateAddColScalar(col 10:date, val 10) -> 51:date, 
VectorUDFDateAddColScalar(col 10:date, val 5) -> 52:date) -> 53:date, 
IfExprCondExprCondExpr(col 54:boolean, col 56:doublecol 57:double)(children: 
StringGroupColEqualCharScalar(col 8:char(1), val N) -> 54:boolean, 
DoubleColMultiplyDoubleColumn(col 5:double, col 55:double)(children: 
DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) -> 55:double) -> 
56:double, ConstantVectorExpression(val 0.0) -> 57:double) -> 58:double, 
IfExprCondExprColumn(col 59:boolean, col 61:double, col 62:double)(children: 
StringGroupColEqualCharScalar(col 8:char(1), val N) -> 59:boolean, 
DoubleColMultiplyDoubleColumn(col 5:double, col 
 60:double)(children: DoubleScalarSubtractDoubleColumn(val 1.0, col 6:double) 
-> 60:double) -> 61:double, ConstantVectorExpression(val 0.0) -> 62:double) -> 
63:double, IfExprNullColumn(col 64:boolean, null, col 95)(children: 
StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: 
col 13:varchar(20)) -> 64:boolean, ConvertDecimal64ToDecimal(col 
7:decimal(10,2)/DECIMAL_64) -> 95:decimal(10,2)) -> 65:decimal(10,2), 
IfExprColumnNull(col 66:boolean, col 96:decimal(10,2), null)(children: 
StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: 
col 13:varchar(20)) -> 66:boolean, ConvertDecimal64ToDecimal(col 
7:decimal(10,2)/DECIMAL_64) -> 96:decimal(10,2)) -> 67:decimal(10,2), 
VectorUDFAdaptor(if((CAST( l_shipinstruct AS STRING) = 'DELIVER IN PERSON'), 0, 
l_tax))(children: StringGroupColEqualStringScalar(col 13:string, val DELIVER IN 
PERSON)(children: col 13:varchar(20)) -> 71:boolean) -> 72:decimal(12,2), 
VectorUDFAdaptor(if((CAST( l_shipinstru
 ct AS STRING) = 'TAKE BACK RETURN'), l_tax, 0))(children: 
StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: 
col 13:varchar(20)) -> 76:boolean) -> 77:decimal(12,2), 
IfExprDecimal64ScalarDecimal64Column(col 78:boolean, decimal64Val 0, decimalVal 
0, col 7:decimal(10,2)/DECIMAL_64)(children: 
StringGroupColEqualStringScalar(col 13:string, val DELIVER IN PERSON)(children: 
col 13:varchar(20)) -> 78:boolean) -> 79:decimal(10,2)/DECIMAL_64, 
IfExprDecimal64ColumnDecimal64Scalar(col 80:boolean, col 
7:decimal(10,2)/DECIMAL_64, decimal64Val 0, decimalVal 0)(children: 
StringGroupColEqualStringScalar(col 13:string, val TAKE BACK RETURN)(children: 
col 13:varchar(20)) -> 80:boolean) -> 81:decimal(10,2)/DECIMAL_64, 
IfExprCondExprCondExpr(col 82:boolean, col 83:timestampcol 
84:timestamp)(children: LongColGreaterLongScalar(col 1:int, val 30) -> 
82:boolean, CastDateToTimestamp(col 12:date) -> 83:timestamp, 
CastDateToTimestamp(col 11:date) -> 84:timestamp) -> 85:timestamp, If
 ExprCondExprNull(col 86:boolean, col 87:int, null)(children: 
LongColGreaterLongScalar(col 2:int, val 10000) -> 86:boolean, 
VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 87:int) -> 88:int, 
IfExprNullCondExpr(col 89:boolean, null, col 90:int)(children: 
LongColGreaterLongScalar(col 2:int, val 10000) -> 89:boolean, 
VectorUDFDateDiffColCol(col 12:date, col 11:date) -> 90:int) -> 91:int, 
IfExprLongScalarLongScalar(col 93:boolean, val 14245, val 14609)(children: 
LongColGreaterLongScalar(col 92:int, val 100)(children: 
LongColModuloLongScalar(col 2:int, val 500) -> 92:int) -> 93:boolean) -> 94:date
               Statistics: Num rows: 101 Data size: 78500 Basic stats: COMPLETE 
Column stats: NONE
               File Output Operator
                 compressed: false
@@ -905,7 +905,7 @@ STAGE PLANS:
               includeColumns: [1, 2, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14]
               dataColumns: l_orderkey:int, l_partkey:int, l_suppkey:int, 
l_linenumber:int, l_quantity:int, l_extendedprice:double, l_discount:double, 
l_tax:decimal(10,2)/DECIMAL_64, l_returnflag:char(1), l_linestatus:char(1), 
l_shipdate:date, l_commitdate:date, l_receiptdate:date, 
l_shipinstruct:varchar(20), l_shipmode:char(10), l_comment:string
               partitionColumnCount: 0
-              scratchColumnTypeNames: [bigint, string, bigint, string, bigint, 
string, bigint, string, string, string, string, string, bigint, string, bigint, 
string, bigint, string, string, string, string, string, bigint, string, bigint, 
string, bigint, string, string, string, string, string, bigint, bigint, bigint, 
bigint, bigint, double, double, double, bigint, double, double, double, bigint, 
decimal(10,2), bigint, decimal(10,2), bigint, bigint, decimal(12,2), bigint, 
decimal(12,2), decimal(12,2), bigint, bigint, decimal(12,2), 
decimal(10,2)/DECIMAL_64, bigint, decimal(10,2)/DECIMAL_64, bigint, timestamp, 
timestamp, timestamp, bigint, bigint, bigint, bigint, bigint, bigint, bigint, 
bigint, decimal(10,2), decimal(10,2)]
+              scratchColumnTypeNames: [bigint, string, bigint, string, bigint, 
string, bigint, string, string, string, string, bigint, string, bigint, string, 
bigint, string, bigint, string, string, string, string, string, bigint, string, 
bigint, string, bigint, string, string, string, string, string, bigint, bigint, 
bigint, bigint, bigint, double, double, double, double, bigint, double, double, 
double, double, bigint, decimal(10,2), bigint, decimal(10,2), bigint, bigint, 
decimal(12,2), bigint, decimal(12,2), bigint, decimal(12,2), bigint, bigint, 
decimal(12,2), bigint, decimal(10,2)/DECIMAL_64, bigint, 
decimal(10,2)/DECIMAL_64, bigint, timestamp, timestamp, timestamp, bigint, 
bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, decimal(10,2), 
decimal(10,2)]
 
   Stage: Stage-0
     Fetch Operator

Reply via email to