http://git-wip-us.apache.org/repos/asf/hive/blob/53980ba6/ql/src/test/results/clientpositive/llap/vector_case_when_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_case_when_2.q.out 
b/ql/src/test/results/clientpositive/llap/vector_case_when_2.q.out
new file mode 100644
index 0000000..38187bb
--- /dev/null
+++ b/ql/src/test/results/clientpositive/llap/vector_case_when_2.q.out
@@ -0,0 +1,884 @@
+PREHOOK: query: create table timestamps_txt (tsval timestamp) STORED AS 
TEXTFILE
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@timestamps_txt
+POSTHOOK: query: create table timestamps_txt (tsval timestamp) STORED AS 
TEXTFILE
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@timestamps_txt
+PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/timestamps.txt' 
OVERWRITE INTO TABLE timestamps_txt
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@timestamps_txt
+POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/timestamps.txt' 
OVERWRITE INTO TABLE timestamps_txt
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@timestamps_txt
+PREHOOK: query: create table timestamps (cdate date, ctimestamp1 timestamp,  
stimestamp1 string,  ctimestamp2 timestamp) stored as orc
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@timestamps
+POSTHOOK: query: create table timestamps (cdate date, ctimestamp1 timestamp,  
stimestamp1 string,  ctimestamp2 timestamp) stored as orc
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@timestamps
+PREHOOK: query: insert overwrite table timestamps
+  select cast(tsval as date), tsval, cast(tsval as string), tsval - '1 2:3:4' 
day to second from timestamps_txt
+PREHOOK: type: QUERY
+PREHOOK: Input: default@timestamps_txt
+PREHOOK: Output: default@timestamps
+POSTHOOK: query: insert overwrite table timestamps
+  select cast(tsval as date), tsval, cast(tsval as string), tsval - '1 2:3:4' 
day to second from timestamps_txt
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@timestamps_txt
+POSTHOOK: Output: default@timestamps
+POSTHOOK: Lineage: timestamps.cdate EXPRESSION 
[(timestamps_txt)timestamps_txt.FieldSchema(name:tsval, type:timestamp, 
comment:null), ]
+POSTHOOK: Lineage: timestamps.ctimestamp1 SIMPLE 
[(timestamps_txt)timestamps_txt.FieldSchema(name:tsval, type:timestamp, 
comment:null), ]
+POSTHOOK: Lineage: timestamps.ctimestamp2 EXPRESSION 
[(timestamps_txt)timestamps_txt.FieldSchema(name:tsval, type:timestamp, 
comment:null), ]
+POSTHOOK: Lineage: timestamps.stimestamp1 EXPRESSION 
[(timestamps_txt)timestamps_txt.FieldSchema(name:tsval, type:timestamp, 
comment:null), ]
+tsval  tsval   _c2     _c3
+PREHOOK: query: INSERT INTO TABLE timestamps VALUES (NULL,NULL,NULL,NULL)
+PREHOOK: type: QUERY
+PREHOOK: Input: _dummy_database@_dummy_table
+PREHOOK: Output: default@timestamps
+POSTHOOK: query: INSERT INTO TABLE timestamps VALUES (NULL,NULL,NULL,NULL)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: _dummy_database@_dummy_table
+POSTHOOK: Output: default@timestamps
+POSTHOOK: Lineage: timestamps.cdate EXPRESSION []
+POSTHOOK: Lineage: timestamps.ctimestamp1 EXPRESSION []
+POSTHOOK: Lineage: timestamps.ctimestamp2 EXPRESSION []
+POSTHOOK: Lineage: timestamps.stimestamp1 EXPRESSION []
+_col0  _col1   _col2   _col3
+PREHOOK: query: EXPLAIN VECTORIZATION DETAIL
+SELECT
+   ctimestamp1,
+   ctimestamp2,
+   CASE
+     WHEN ctimestamp2 <= date '1800-12-31' THEN "1800s or Earlier"
+     WHEN ctimestamp2 < date '1900-01-01' THEN "1900s"
+     WHEN ctimestamp2 between cast('2006-01-01 00:00:00.000' as timestamp) and 
cast('2010-12-31 23:59:59.999999999' as timestamp) THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN "Early 
2010s"
+     ELSE "Unknown" END AS ctimestamp2_Description,
+   CASE
+     WHEN ctimestamp2 <= timestamp '2000-12-31 23:59:59.999999999' THEN "Old"
+     WHEN ctimestamp2 < timestamp '2006-01-01 00:00:00.000' THEN "Early 2000s"
+     WHEN ctimestamp2 between cast('2006-01-01 00:00:00.000' as timestamp) and 
cast('2010-12-31 23:59:59.999999999' as timestamp) THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN "Early 
2010s"
+     ELSE NULL END AS ctimestamp2_Description_2,
+   CASE
+     WHEN ctimestamp2 <= timestamp '2000-12-31 23:59:59.999999999' THEN "Old"
+     WHEN ctimestamp2 < timestamp '2006-01-01 00:00:00.000' THEN "Early 2000s"
+     WHEN ctimestamp2 between timestamp '2006-01-01 00:00:00.000' and 
timestamp '2010-12-31 23:59:59.999999999' THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN NULL
+     ELSE NULL END AS ctimestamp2_Description_3,
+   IF(timestamp '1974-10-04 17:21:03.989' > ctimestamp1, year(ctimestamp1), 
year(ctimestamp2)) AS field1,
+   CASE WHEN stimestamp1 LIKE '%19%'
+            THEN stimestamp1
+        ELSE timestamp '2018-03-08 23:04:59' END AS Field_2,
+   IF(ctimestamp1 = timestamp '2021-09-24 03:18:32.413655165' , NULL, 
minute(ctimestamp1)) AS Field_3,
+   IF(ctimestamp2 >= timestamp '5344-10-04 18:40:08.165' and ctimestamp2 < 
timestamp '6631-11-13 16:31:29.702202248', minute(ctimestamp1), NULL) AS 
Field_4,
+   IF(cast(ctimestamp1 as double) % 500 > 100, DATE_ADD(cdate, 1), 
DATE_ADD(cdate, 365)) AS Field_5
+FROM timestamps
+ORDER BY ctimestamp1, stimestamp1, ctimestamp2
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN VECTORIZATION DETAIL
+SELECT
+   ctimestamp1,
+   ctimestamp2,
+   CASE
+     WHEN ctimestamp2 <= date '1800-12-31' THEN "1800s or Earlier"
+     WHEN ctimestamp2 < date '1900-01-01' THEN "1900s"
+     WHEN ctimestamp2 between cast('2006-01-01 00:00:00.000' as timestamp) and 
cast('2010-12-31 23:59:59.999999999' as timestamp) THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN "Early 
2010s"
+     ELSE "Unknown" END AS ctimestamp2_Description,
+   CASE
+     WHEN ctimestamp2 <= timestamp '2000-12-31 23:59:59.999999999' THEN "Old"
+     WHEN ctimestamp2 < timestamp '2006-01-01 00:00:00.000' THEN "Early 2000s"
+     WHEN ctimestamp2 between cast('2006-01-01 00:00:00.000' as timestamp) and 
cast('2010-12-31 23:59:59.999999999' as timestamp) THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN "Early 
2010s"
+     ELSE NULL END AS ctimestamp2_Description_2,
+   CASE
+     WHEN ctimestamp2 <= timestamp '2000-12-31 23:59:59.999999999' THEN "Old"
+     WHEN ctimestamp2 < timestamp '2006-01-01 00:00:00.000' THEN "Early 2000s"
+     WHEN ctimestamp2 between timestamp '2006-01-01 00:00:00.000' and 
timestamp '2010-12-31 23:59:59.999999999' THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN NULL
+     ELSE NULL END AS ctimestamp2_Description_3,
+   IF(timestamp '1974-10-04 17:21:03.989' > ctimestamp1, year(ctimestamp1), 
year(ctimestamp2)) AS field1,
+   CASE WHEN stimestamp1 LIKE '%19%'
+            THEN stimestamp1
+        ELSE timestamp '2018-03-08 23:04:59' END AS Field_2,
+   IF(ctimestamp1 = timestamp '2021-09-24 03:18:32.413655165' , NULL, 
minute(ctimestamp1)) AS Field_3,
+   IF(ctimestamp2 >= timestamp '5344-10-04 18:40:08.165' and ctimestamp2 < 
timestamp '6631-11-13 16:31:29.702202248', minute(ctimestamp1), NULL) AS 
Field_4,
+   IF(cast(ctimestamp1 as double) % 500 > 100, DATE_ADD(cdate, 1), 
DATE_ADD(cdate, 365)) AS Field_5
+FROM timestamps
+ORDER BY ctimestamp1, stimestamp1, ctimestamp2
+POSTHOOK: type: QUERY
+Explain
+PLAN VECTORIZATION:
+  enabled: true
+  enabledConditionsMet: [hive.vectorized.execution.enabled IS true]
+
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Tez
+#### A masked pattern was here ####
+      Edges:
+        Reducer 2 <- Map 1 (SIMPLE_EDGE)
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: timestamps
+                  Statistics: Num rows: 51 Data size: 16000 Basic stats: 
COMPLETE Column stats: NONE
+                  Select Operator
+                    expressions: ctimestamp1 (type: timestamp), ctimestamp2 
(type: timestamp), CASE WHEN ((ctimestamp2 <= TIMESTAMP'1800-12-31 
00:00:00.0')) THEN ('1800s or Earlier') WHEN ((ctimestamp2 < 
TIMESTAMP'1900-01-01 00:00:00.0')) THEN ('1900s') WHEN (ctimestamp2 BETWEEN 
TIMESTAMP'2006-01-01 00:00:00.0' AND TIMESTAMP'2010-12-31 23:59:59.999999999') 
THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 
23:59:59.999999999')) THEN ('Early 2010s') ELSE ('Unknown') END (type: string), 
CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN 
('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00.0')) THEN ('Early 
2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00.0' AND 
TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN 
((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 
2010s') ELSE (null) END (type: string), CASE WHEN ((ctimestamp2 <= 
TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ct
 imestamp2 < TIMESTAMP'2006-01-01 00:00:00.0')) THEN ('Early 2000s') WHEN 
(ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00.0' AND TIMESTAMP'2010-12-31 
23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= 
TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN (null) ELSE (null) END (type: 
string), if((TIMESTAMP'1974-10-04 17:21:03.989' > ctimestamp1), 
year(ctimestamp1), year(ctimestamp2)) (type: int), CASE WHEN ((stimestamp1 like 
'%19%')) THEN (stimestamp1) ELSE (TIMESTAMP'2018-03-08 23:04:59.0') END (type: 
string), if((ctimestamp1 = TIMESTAMP'2021-09-24 03:18:32.413655165'), null, 
minute(ctimestamp1)) (type: int), if(((ctimestamp2 >= TIMESTAMP'5344-10-04 
18:40:08.165') and (ctimestamp2 < TIMESTAMP'6631-11-13 16:31:29.702202248')), 
minute(ctimestamp1), null) (type: int), if(((UDFToDouble(ctimestamp1) % 500.0D) 
> 100.0D), date_add(cdate, 1), date_add(cdate, 365)) (type: date), stimestamp1 
(type: string)
+                    outputColumnNames: _col0, _col1, _col2, _col3, _col4, 
_col5, _col6, _col7, _col8, _col9, _col10
+                    Statistics: Num rows: 51 Data size: 16000 Basic stats: 
COMPLETE Column stats: NONE
+                    Reduce Output Operator
+                      key expressions: _col0 (type: timestamp), _col10 (type: 
string), _col1 (type: timestamp)
+                      sort order: +++
+                      Statistics: Num rows: 51 Data size: 16000 Basic stats: 
COMPLETE Column stats: NONE
+                      value expressions: _col2 (type: string), _col3 (type: 
string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 
(type: int), _col8 (type: int), _col9 (type: date)
+            Execution mode: llap
+            LLAP IO: all inputs
+            Map Vectorization:
+                enabled: true
+                enabledConditionsMet: 
hive.vectorized.use.vectorized.input.format IS true
+                inputFileFormats: 
org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
+                notVectorizedReason: SELECT operator: Unexpected primitive 
type category VOID
+                vectorized: false
+        Reducer 2 
+            Execution mode: vectorized, llap
+            Reduce Vectorization:
+                enabled: true
+                enableConditionsMet: hive.vectorized.execution.reduce.enabled 
IS true, hive.execution.engine tez IN [tez, spark] IS true
+                reduceColumnNullOrder: aaa
+                reduceColumnSortOrder: +++
+                allNative: false
+                usesVectorUDFAdaptor: false
+                vectorized: true
+                rowBatchContext:
+                    dataColumnCount: 11
+                    dataColumns: KEY.reducesinkkey0:timestamp, 
KEY.reducesinkkey1:string, KEY.reducesinkkey2:timestamp, VALUE._col0:string, 
VALUE._col1:string, VALUE._col2:string, VALUE._col3:int, VALUE._col4:string, 
VALUE._col5:int, VALUE._col6:int, VALUE._col7:date
+                    partitionColumnCount: 0
+                    scratchColumnTypeNames: []
+            Reduce Operator Tree:
+              Select Operator
+                expressions: KEY.reducesinkkey0 (type: timestamp), 
KEY.reducesinkkey2 (type: timestamp), VALUE._col0 (type: string), VALUE._col1 
(type: string), VALUE._col2 (type: string), VALUE._col3 (type: int), 
VALUE._col4 (type: string), VALUE._col5 (type: int), VALUE._col6 (type: int), 
VALUE._col7 (type: date)
+                outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, 
_col6, _col7, _col8, _col9
+                Select Vectorization:
+                    className: VectorSelectOperator
+                    native: true
+                    projectedOutputColumnNums: [0, 2, 3, 4, 5, 6, 7, 8, 9, 10]
+                Statistics: Num rows: 51 Data size: 16000 Basic stats: 
COMPLETE Column stats: NONE
+                File Output Operator
+                  compressed: false
+                  File Sink Vectorization:
+                      className: VectorFileSinkOperator
+                      native: false
+                  Statistics: Num rows: 51 Data size: 16000 Basic stats: 
COMPLETE Column stats: NONE
+                  table:
+                      input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
+                      output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                      serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: SELECT
+   ctimestamp1,
+   ctimestamp2,
+   CASE
+     WHEN ctimestamp2 <= date '1800-12-31' THEN "1800s or Earlier"
+     WHEN ctimestamp2 < date '1900-01-01' THEN "1900s"
+     WHEN ctimestamp2 between cast('2006-01-01 00:00:00.000' as timestamp) and 
cast('2010-12-31 23:59:59.999999999' as timestamp) THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN "Early 
2010s"
+     ELSE "Unknown" END AS ctimestamp2_Description,
+   CASE
+     WHEN ctimestamp2 <= timestamp '2000-12-31 23:59:59.999999999' THEN "Old"
+     WHEN ctimestamp2 < timestamp '2006-01-01 00:00:00.000' THEN "Early 2000s"
+     WHEN ctimestamp2 between cast('2006-01-01 00:00:00.000' as timestamp) and 
cast('2010-12-31 23:59:59.999999999' as timestamp) THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN "Early 
2010s"
+     ELSE NULL END AS ctimestamp2_Description_2,
+   CASE
+     WHEN ctimestamp2 <= timestamp '2000-12-31 23:59:59.999999999' THEN "Old"
+     WHEN ctimestamp2 < timestamp '2006-01-01 00:00:00.000' THEN "Early 2000s"
+     WHEN ctimestamp2 between timestamp '2006-01-01 00:00:00.000' and 
timestamp '2010-12-31 23:59:59.999999999' THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN NULL
+     ELSE NULL END AS ctimestamp2_Description_3,
+   IF(timestamp '1974-10-04 17:21:03.989' > ctimestamp1, year(ctimestamp1), 
year(ctimestamp2)) AS field1,
+   CASE WHEN stimestamp1 LIKE '%19%'
+            THEN stimestamp1
+        ELSE timestamp '2018-03-08 23:04:59' END AS Field_2,
+   IF(ctimestamp1 = timestamp '2021-09-24 03:18:32.413655165' , NULL, 
minute(ctimestamp1)) AS Field_3,
+   IF(ctimestamp2 >= timestamp '5344-10-04 18:40:08.165' and ctimestamp2 < 
timestamp '6631-11-13 16:31:29.702202248', minute(ctimestamp1), NULL) AS 
Field_4,
+   IF(cast(ctimestamp1 as double) % 500 > 100, DATE_ADD(cdate, 1), 
DATE_ADD(cdate, 365)) AS Field_5
+FROM timestamps
+ORDER BY ctimestamp1, stimestamp1, ctimestamp2
+PREHOOK: type: QUERY
+PREHOOK: Input: default@timestamps
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT
+   ctimestamp1,
+   ctimestamp2,
+   CASE
+     WHEN ctimestamp2 <= date '1800-12-31' THEN "1800s or Earlier"
+     WHEN ctimestamp2 < date '1900-01-01' THEN "1900s"
+     WHEN ctimestamp2 between cast('2006-01-01 00:00:00.000' as timestamp) and 
cast('2010-12-31 23:59:59.999999999' as timestamp) THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN "Early 
2010s"
+     ELSE "Unknown" END AS ctimestamp2_Description,
+   CASE
+     WHEN ctimestamp2 <= timestamp '2000-12-31 23:59:59.999999999' THEN "Old"
+     WHEN ctimestamp2 < timestamp '2006-01-01 00:00:00.000' THEN "Early 2000s"
+     WHEN ctimestamp2 between cast('2006-01-01 00:00:00.000' as timestamp) and 
cast('2010-12-31 23:59:59.999999999' as timestamp) THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN "Early 
2010s"
+     ELSE NULL END AS ctimestamp2_Description_2,
+   CASE
+     WHEN ctimestamp2 <= timestamp '2000-12-31 23:59:59.999999999' THEN "Old"
+     WHEN ctimestamp2 < timestamp '2006-01-01 00:00:00.000' THEN "Early 2000s"
+     WHEN ctimestamp2 between timestamp '2006-01-01 00:00:00.000' and 
timestamp '2010-12-31 23:59:59.999999999' THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN NULL
+     ELSE NULL END AS ctimestamp2_Description_3,
+   IF(timestamp '1974-10-04 17:21:03.989' > ctimestamp1, year(ctimestamp1), 
year(ctimestamp2)) AS field1,
+   CASE WHEN stimestamp1 LIKE '%19%'
+            THEN stimestamp1
+        ELSE timestamp '2018-03-08 23:04:59' END AS Field_2,
+   IF(ctimestamp1 = timestamp '2021-09-24 03:18:32.413655165' , NULL, 
minute(ctimestamp1)) AS Field_3,
+   IF(ctimestamp2 >= timestamp '5344-10-04 18:40:08.165' and ctimestamp2 < 
timestamp '6631-11-13 16:31:29.702202248', minute(ctimestamp1), NULL) AS 
Field_4,
+   IF(cast(ctimestamp1 as double) % 500 > 100, DATE_ADD(cdate, 1), 
DATE_ADD(cdate, 365)) AS Field_5
+FROM timestamps
+ORDER BY ctimestamp1, stimestamp1, ctimestamp2
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@timestamps
+#### A masked pattern was here ####
+ctimestamp1    ctimestamp2     ctimestamp2_description 
ctimestamp2_description_2       ctimestamp2_description_3       field1  field_2 
field_3 field_4 field_5
+NULL   NULL    Unknown NULL    NULL    NULL    2018-03-08 23:04:59     NULL    
NULL    NULL
+0004-09-22 18:26:29.519542222  0004-09-21 16:23:25.519542222   1800s or 
Earlier        Old     Old     4       0004-09-22 18:26:29.519542222   26      
NULL    0005-09-22
+0528-10-27 08:15:18.941718273  0528-10-26 06:12:14.941718273   1800s or 
Earlier        Old     Old     528     2018-03-08 23:04:59     15      NULL    
0529-10-27
+1319-02-02 16:31:57.778        1319-02-01 14:28:53.778 1800s or Earlier        
Old     Old     1319    1319-02-02 16:31:57.778 31      NULL    1320-02-02
+1404-07-23 15:32:16.059185026  1404-07-22 13:29:12.059185026   1800s or 
Earlier        Old     Old     1404    2018-03-08 23:04:59     32      NULL    
1405-07-23
+1815-05-06 00:12:37.543584705  1815-05-04 22:09:33.543584705   1900s   Old     
Old     1815    2018-03-08 23:04:59     12      NULL    1816-05-05
+1883-04-17 04:14:34.647766229  1883-04-16 02:11:30.647766229   1900s   Old     
Old     1883    2018-03-08 23:04:59     14      NULL    1884-04-16
+1966-08-16 13:36:50.183618031  1966-08-15 11:33:46.183618031   Early 2010s     
Old     Old     1966    1966-08-16 13:36:50.183618031   36      NULL    
1967-08-16
+1973-04-17 06:30:38.596784156  1973-04-16 04:27:34.596784156   Early 2010s     
Old     Old     1973    1973-04-17 06:30:38.596784156   30      NULL    
1974-04-17
+1974-10-04 17:21:03.989        1974-10-03 15:17:59.989 Early 2010s     Old     
Old     1974    1974-10-04 17:21:03.989 21      NULL    1974-10-05
+1976-03-03 04:54:33.000895162  1976-03-02 02:51:29.000895162   Early 2010s     
Old     Old     1976    1976-03-03 04:54:33.000895162   54      NULL    
1976-03-04
+1976-05-06 00:42:30.910786948  1976-05-04 22:39:26.910786948   Early 2010s     
Old     Old     1976    1976-05-06 00:42:30.910786948   42      NULL    
1977-05-06
+1978-08-05 14:41:05.501        1978-08-04 12:38:01.501 Early 2010s     Old     
Old     1978    1978-08-05 14:41:05.501 41      NULL    1978-08-06
+1981-04-25 09:01:12.077192689  1981-04-24 06:58:08.077192689   Early 2010s     
Old     Old     1981    1981-04-25 09:01:12.077192689   1       NULL    
1982-04-25
+1981-11-15 23:03:10.999338387  1981-11-14 21:00:06.999338387   Early 2010s     
Old     Old     1981    1981-11-15 23:03:10.999338387   3       NULL    
1981-11-16
+1985-07-20 09:30:11    1985-07-19 07:27:07     Early 2010s     Old     Old     
1985    1985-07-20 09:30:11     30      NULL    1986-07-20
+1985-11-18 16:37:54    1985-11-17 14:34:50     Early 2010s     Old     Old     
1985    1985-11-18 16:37:54     37      NULL    1985-11-19
+1987-02-21 19:48:29    1987-02-20 17:45:25     Early 2010s     Old     Old     
1987    1987-02-21 19:48:29     48      NULL    1987-02-22
+1987-05-28 13:52:07.900916635  1987-05-27 11:49:03.900916635   Early 2010s     
Old     Old     1987    1987-05-28 13:52:07.900916635   52      NULL    
1988-05-27
+1998-10-16 20:05:29.397591987  1998-10-15 18:02:25.397591987   Early 2010s     
Old     Old     1998    1998-10-16 20:05:29.397591987   5       NULL    
1999-10-16
+1999-10-03 16:59:10.396903939  1999-10-02 14:56:06.396903939   Early 2010s     
Old     Old     1999    1999-10-03 16:59:10.396903939   59      NULL    
1999-10-04
+2000-12-18 08:42:30.000595596  2000-12-17 06:39:26.000595596   Early 2010s     
Old     Old     2000    2018-03-08 23:04:59     42      NULL    2000-12-19
+2002-05-10 05:29:48.990818073  2002-05-09 03:26:44.990818073   Early 2010s     
Early 2000s     Early 2000s     2002    2018-03-08 23:04:59     29      NULL    
2002-05-11
+2003-09-23 22:33:17.00003252   2003-09-22 20:30:13.00003252    Early 2010s     
Early 2000s     Early 2000s     2003    2018-03-08 23:04:59     33      NULL    
2004-09-22
+2004-03-07 20:14:13    2004-03-06 18:11:09     Early 2010s     Early 2000s     
Early 2000s     2004    2018-03-08 23:04:59     14      NULL    2004-03-08
+2007-02-09 05:17:29.368756876  2007-02-08 03:14:25.368756876   Late 2000s      
Late 2000s      Late 2000s      2007    2018-03-08 23:04:59     17      NULL    
2008-02-09
+2009-01-21 10:49:07.108        2009-01-20 08:46:03.108 Late 2000s      Late 
2000s      Late 2000s      2009    2018-03-08 23:04:59     49      NULL    
2009-01-22
+2010-04-08 02:43:35.861742727  2010-04-07 00:40:31.861742727   Late 2000s      
Late 2000s      Late 2000s      2010    2018-03-08 23:04:59     43      NULL    
2010-04-09
+2013-04-07 02:44:43.00086821   2013-04-06 00:41:39.00086821    Early 2010s     
Early 2010s     NULL    2013    2018-03-08 23:04:59     44      NULL    
2013-04-08
+2013-04-10 00:43:46.854731546  2013-04-08 22:40:42.854731546   Early 2010s     
Early 2010s     NULL    2013    2018-03-08 23:04:59     43      NULL    
2013-04-11
+2021-09-24 03:18:32.413655165  2021-09-23 01:15:28.413655165   Unknown NULL    
NULL    2021    2018-03-08 23:04:59     NULL    NULL    2021-09-25
+2024-11-11 16:42:41.101        2024-11-10 14:39:37.101 Unknown NULL    NULL    
2024    2018-03-08 23:04:59     42      NULL    2024-11-12
+4143-07-08 10:53:27.252802259  4143-07-07 08:50:23.252802259   Unknown NULL    
NULL    4143    2018-03-08 23:04:59     53      NULL    4143-07-09
+4966-12-04 09:30:55.202        4966-12-03 07:27:51.202 Unknown NULL    NULL    
4966    2018-03-08 23:04:59     30      NULL    4966-12-05
+5339-02-01 14:10:01.085678691  5339-01-31 12:06:57.085678691   Unknown NULL    
NULL    5339    2018-03-08 23:04:59     10      NULL    5340-02-01
+5344-10-04 18:40:08.165        5344-10-03 16:37:04.165 Unknown NULL    NULL    
5344    2018-03-08 23:04:59     40      NULL    5344-10-05
+5397-07-13 07:12:32.000896438  5397-07-12 05:09:28.000896438   Unknown NULL    
NULL    5397    2018-03-08 23:04:59     12      12      5397-07-14
+5966-07-09 03:30:50.597        5966-07-08 01:27:46.597 Unknown NULL    NULL    
5966    2018-03-08 23:04:59     30      30      5967-07-09
+6229-06-28 02:54:28.970117179  6229-06-27 00:51:24.970117179   Unknown NULL    
NULL    6229    2018-03-08 23:04:59     54      54      6230-06-28
+6482-04-27 12:07:38.073915413  6482-04-26 10:04:34.073915413   Unknown NULL    
NULL    6482    2018-03-08 23:04:59     7       7       6482-04-28
+6631-11-13 16:31:29.702202248  6631-11-12 14:28:25.702202248   Unknown NULL    
NULL    6631    2018-03-08 23:04:59     31      31      6631-11-14
+6705-09-28 18:27:28.000845672  6705-09-27 16:24:24.000845672   Unknown NULL    
NULL    6705    2018-03-08 23:04:59     27      NULL    6705-09-29
+6731-02-12 08:12:48.287783702  6731-02-11 06:09:44.287783702   Unknown NULL    
NULL    6731    2018-03-08 23:04:59     12      NULL    6731-02-13
+7160-12-02 06:00:24.81200852   7160-12-01 03:57:20.81200852    Unknown NULL    
NULL    7160    2018-03-08 23:04:59     0       NULL    7161-12-02
+7409-09-07 23:33:32.459349602  7409-09-06 21:30:28.459349602   Unknown NULL    
NULL    7409    2018-03-08 23:04:59     33      NULL    7409-09-08
+7503-06-23 23:14:17.486        7503-06-22 21:11:13.486 Unknown NULL    NULL    
7503    2018-03-08 23:04:59     14      NULL    7503-06-24
+8422-07-22 03:21:45.745036084  8422-07-21 01:18:41.745036084   Unknown NULL    
NULL    8422    2018-03-08 23:04:59     21      NULL    8422-07-23
+8521-01-16 20:42:05.668832388  8521-01-15 18:39:01.668832388   Unknown NULL    
NULL    8521    2018-03-08 23:04:59     42      NULL    8521-01-17
+9075-06-13 16:20:09.218517797  9075-06-12 14:17:05.218517797   Unknown NULL    
NULL    9075    2018-03-08 23:04:59     20      NULL    9075-06-14
+9209-11-11 04:08:58.223768453  9209-11-10 02:05:54.223768453   Unknown NULL    
NULL    9209    2018-03-08 23:04:59     8       NULL    9209-11-12
+9403-01-09 18:12:33.547        9403-01-08 16:09:29.547 Unknown NULL    NULL    
9403    2018-03-08 23:04:59     12      NULL    9403-01-10
+PREHOOK: query: EXPLAIN VECTORIZATION DETAIL
+SELECT
+   ctimestamp1,
+   ctimestamp2,
+   CASE
+     WHEN ctimestamp2 <= date '1800-12-31' THEN "1800s or Earlier"
+     WHEN ctimestamp2 < date '1900-01-01' THEN "1900s"
+     WHEN ctimestamp2 between cast('2006-01-01 00:00:00.000' as timestamp) and 
cast('2010-12-31 23:59:59.999999999' as timestamp) THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN "Early 
2010s"
+     ELSE "Unknown" END AS ctimestamp2_Description,
+   CASE
+     WHEN ctimestamp2 <= timestamp '2000-12-31 23:59:59.999999999' THEN "Old"
+     WHEN ctimestamp2 < timestamp '2006-01-01 00:00:00.000' THEN "Early 2000s"
+     WHEN ctimestamp2 between cast('2006-01-01 00:00:00.000' as timestamp) and 
cast('2010-12-31 23:59:59.999999999' as timestamp) THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN "Early 
2010s"
+     ELSE NULL END AS ctimestamp2_Description_2,
+   CASE
+     WHEN ctimestamp2 <= timestamp '2000-12-31 23:59:59.999999999' THEN "Old"
+     WHEN ctimestamp2 < timestamp '2006-01-01 00:00:00.000' THEN "Early 2000s"
+     WHEN ctimestamp2 between timestamp '2006-01-01 00:00:00.000' and 
timestamp '2010-12-31 23:59:59.999999999' THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN NULL
+     ELSE NULL END AS ctimestamp2_Description_3,
+   IF(timestamp '1974-10-04 17:21:03.989' > ctimestamp1, year(ctimestamp1), 
year(ctimestamp2)) AS field1,
+   CASE WHEN stimestamp1 LIKE '%19%'
+            THEN stimestamp1
+        ELSE timestamp '2018-03-08 23:04:59' END AS Field_2,
+   IF(ctimestamp1 = timestamp '2021-09-24 03:18:32.413655165' , NULL, 
minute(ctimestamp1)) AS Field_3,
+   IF(ctimestamp2 >= timestamp '5344-10-04 18:40:08.165' and ctimestamp2 < 
timestamp '6631-11-13 16:31:29.702202248', minute(ctimestamp1), NULL) AS 
Field_4,
+   IF(cast(ctimestamp1 as double) % 500 > 100, DATE_ADD(cdate, 1), 
DATE_ADD(cdate, 365)) AS Field_5
+FROM timestamps
+ORDER BY ctimestamp1, stimestamp1, ctimestamp2
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN VECTORIZATION DETAIL
+SELECT
+   ctimestamp1,
+   ctimestamp2,
+   CASE
+     WHEN ctimestamp2 <= date '1800-12-31' THEN "1800s or Earlier"
+     WHEN ctimestamp2 < date '1900-01-01' THEN "1900s"
+     WHEN ctimestamp2 between cast('2006-01-01 00:00:00.000' as timestamp) and 
cast('2010-12-31 23:59:59.999999999' as timestamp) THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN "Early 
2010s"
+     ELSE "Unknown" END AS ctimestamp2_Description,
+   CASE
+     WHEN ctimestamp2 <= timestamp '2000-12-31 23:59:59.999999999' THEN "Old"
+     WHEN ctimestamp2 < timestamp '2006-01-01 00:00:00.000' THEN "Early 2000s"
+     WHEN ctimestamp2 between cast('2006-01-01 00:00:00.000' as timestamp) and 
cast('2010-12-31 23:59:59.999999999' as timestamp) THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN "Early 
2010s"
+     ELSE NULL END AS ctimestamp2_Description_2,
+   CASE
+     WHEN ctimestamp2 <= timestamp '2000-12-31 23:59:59.999999999' THEN "Old"
+     WHEN ctimestamp2 < timestamp '2006-01-01 00:00:00.000' THEN "Early 2000s"
+     WHEN ctimestamp2 between timestamp '2006-01-01 00:00:00.000' and 
timestamp '2010-12-31 23:59:59.999999999' THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN NULL
+     ELSE NULL END AS ctimestamp2_Description_3,
+   IF(timestamp '1974-10-04 17:21:03.989' > ctimestamp1, year(ctimestamp1), 
year(ctimestamp2)) AS field1,
+   CASE WHEN stimestamp1 LIKE '%19%'
+            THEN stimestamp1
+        ELSE timestamp '2018-03-08 23:04:59' END AS Field_2,
+   IF(ctimestamp1 = timestamp '2021-09-24 03:18:32.413655165' , NULL, 
minute(ctimestamp1)) AS Field_3,
+   IF(ctimestamp2 >= timestamp '5344-10-04 18:40:08.165' and ctimestamp2 < 
timestamp '6631-11-13 16:31:29.702202248', minute(ctimestamp1), NULL) AS 
Field_4,
+   IF(cast(ctimestamp1 as double) % 500 > 100, DATE_ADD(cdate, 1), 
DATE_ADD(cdate, 365)) AS Field_5
+FROM timestamps
+ORDER BY ctimestamp1, stimestamp1, ctimestamp2
+POSTHOOK: type: QUERY
+Explain
+PLAN VECTORIZATION:
+  enabled: true
+  enabledConditionsMet: [hive.vectorized.execution.enabled IS true]
+
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Tez
+#### A masked pattern was here ####
+      Edges:
+        Reducer 2 <- Map 1 (SIMPLE_EDGE)
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: timestamps
+                  Statistics: Num rows: 51 Data size: 16000 Basic stats: 
COMPLETE Column stats: NONE
+                  TableScan Vectorization:
+                      native: true
+                      vectorizationSchemaColumns: [0:cdate:date, 
1:ctimestamp1:timestamp, 2:stimestamp1:string, 3:ctimestamp2:timestamp, 
4:ROW__ID:struct<transactionid:bigint,bucketid:int,rowid:bigint>]
+                  Select Operator
+                    expressions: ctimestamp1 (type: timestamp), ctimestamp2 
(type: timestamp), CASE WHEN ((ctimestamp2 <= TIMESTAMP'1800-12-31 
00:00:00.0')) THEN ('1800s or Earlier') WHEN ((ctimestamp2 < 
TIMESTAMP'1900-01-01 00:00:00.0')) THEN ('1900s') WHEN (ctimestamp2 BETWEEN 
TIMESTAMP'2006-01-01 00:00:00.0' AND TIMESTAMP'2010-12-31 23:59:59.999999999') 
THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 
23:59:59.999999999')) THEN ('Early 2010s') ELSE ('Unknown') END (type: string), 
CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN 
('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00.0')) THEN ('Early 
2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00.0' AND 
TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN 
((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 
2010s') ELSE (null) END (type: string), CASE WHEN ((ctimestamp2 <= 
TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ct
 imestamp2 < TIMESTAMP'2006-01-01 00:00:00.0')) THEN ('Early 2000s') WHEN 
(ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00.0' AND TIMESTAMP'2010-12-31 
23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= 
TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN (null) ELSE (null) END (type: 
string), if((TIMESTAMP'1974-10-04 17:21:03.989' > ctimestamp1), 
year(ctimestamp1), year(ctimestamp2)) (type: int), CASE WHEN ((stimestamp1 like 
'%19%')) THEN (stimestamp1) ELSE (TIMESTAMP'2018-03-08 23:04:59.0') END (type: 
string), if((ctimestamp1 = TIMESTAMP'2021-09-24 03:18:32.413655165'), null, 
minute(ctimestamp1)) (type: int), if(((ctimestamp2 >= TIMESTAMP'5344-10-04 
18:40:08.165') and (ctimestamp2 < TIMESTAMP'6631-11-13 16:31:29.702202248')), 
minute(ctimestamp1), null) (type: int), if(((UDFToDouble(ctimestamp1) % 500.0D) 
> 100.0D), date_add(cdate, 1), date_add(cdate, 365)) (type: date), stimestamp1 
(type: string)
+                    outputColumnNames: _col0, _col1, _col2, _col3, _col4, 
_col5, _col6, _col7, _col8, _col9, _col10
+                    Select Vectorization:
+                        className: VectorSelectOperator
+                        native: true
+                        projectedOutputColumnNums: [1, 3, 10, 12, 13, 14, 11, 
7, 16, 23, 2]
+                        selectExpressions: 
IfExprStringScalarStringGroupColumn(col 5:boolean, val 1800s or Earliercol 
9:string)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 
1800-12-31 00:00:00.0) -> 5:boolean, IfExprStringScalarStringGroupColumn(col 
6:boolean, val 1900scol 10:string)(children: 
TimestampColLessTimestampScalar(col 3:timestamp, val 1900-01-01 00:00:00.0) -> 
6:boolean, IfExprStringScalarStringGroupColumn(col 7:boolean, val Late 2000scol 
9:string)(children: VectorUDFAdaptor(ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 
00:00:00.0' AND TIMESTAMP'2010-12-31 23:59:59.999999999') -> 7:boolean, 
IfExprStringScalarStringScalar(col 8:boolean, val Early 2010s, val 
Unknown)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 
2015-12-31 23:59:59.999999999) -> 8:boolean) -> 9:string) -> 10:string) -> 
9:string) -> 10:string, IfExprStringScalarStringGroupColumn(col 5:boolean, val 
Oldcol 11:string)(children: TimestampColLessEqualTimestampScalar(col 3:t
 imestamp, val 2000-12-31 23:59:59.999999999) -> 5:boolean, 
IfExprStringScalarStringGroupColumn(col 6:boolean, val Early 2000scol 
12:string)(children: TimestampColLessTimestampScalar(col 3:timestamp, val 
2006-01-01 00:00:00.0) -> 6:boolean, IfExprStringScalarStringGroupColumn(col 
7:boolean, val Late 2000scol 11:string)(children: VectorUDFAdaptor(ctimestamp2 
BETWEEN TIMESTAMP'2006-01-01 00:00:00.0' AND TIMESTAMP'2010-12-31 
23:59:59.999999999') -> 7:boolean, IfExprColumnNull(col 8:boolean, col 
9:string, null)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, 
val 2015-12-31 23:59:59.999999999) -> 8:boolean, ConstantVectorExpression(val 
Early 2010s) -> 9:string) -> 11:string) -> 12:string) -> 11:string) -> 
12:string, IfExprStringScalarStringGroupColumn(col 5:boolean, val Oldcol 
11:string)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 
2000-12-31 23:59:59.999999999) -> 5:boolean, 
IfExprStringScalarStringGroupColumn(col 6:boolean, val Early 2000scol 13:st
 ring)(children: TimestampColLessTimestampScalar(col 3:timestamp, val 
2006-01-01 00:00:00.0) -> 6:boolean, IfExprStringScalarStringGroupColumn(col 
7:boolean, val Late 2000scol 11:string)(children: VectorUDFAdaptor(ctimestamp2 
BETWEEN TIMESTAMP'2006-01-01 00:00:00.0' AND TIMESTAMP'2010-12-31 
23:59:59.999999999') -> 7:boolean, IfExprNullNull(null, null) -> 11:string) -> 
13:string) -> 11:string) -> 13:string, IfExprLongColumnLongColumn(col 
5:boolean, col 6:int, col 7:int)(children: 
TimestampScalarGreaterTimestampColumn(val 1974-10-04 17:21:03.989, col 
1:timestamp) -> 5:boolean, VectorUDFYearTimestamp(col 1:timestamp, field YEAR) 
-> 6:int, VectorUDFYearTimestamp(col 3:timestamp, field YEAR) -> 7:int) -> 
14:int, VectorUDFAdaptor(CASE WHEN ((stimestamp1 like '%19%')) THEN 
(stimestamp1) ELSE (TIMESTAMP'2018-03-08 23:04:59.0') END)(children: 
SelectStringColLikeStringScalar(col 2:string) -> 5:boolean) -> 11:string, 
IfExprNullColumn(col 5:boolean, null, col 6)(children: TimestampColEqualTimest
 ampScalar(col 1:timestamp, val 2021-09-24 03:18:32.413655165) -> 5:boolean, 
VectorUDFMinuteTimestamp(col 1:timestamp, field MINUTE) -> 6:int) -> 7:int, 
IfExprColumnNull(col 17:boolean, col 15:int, null)(children: ColAndCol(col 
15:boolean, col 16:boolean)(children: 
TimestampColGreaterEqualTimestampScalar(col 3:timestamp, val 5344-10-04 
18:40:08.165) -> 15:boolean, TimestampColLessTimestampScalar(col 3:timestamp, 
val 6631-11-13 16:31:29.702202248) -> 16:boolean) -> 17:boolean, 
VectorUDFMinuteTimestamp(col 1:timestamp, field MINUTE) -> 15:int) -> 16:int, 
IfExprLongColumnLongColumn(col 20:boolean, col 21:date, col 22:date)(children: 
DoubleColGreaterDoubleScalar(col 19:double, val 100.0)(children: 
DoubleColModuloDoubleScalar(col 18:double, val 500.0)(children: 
CastTimestampToDouble(col 1:timestamp) -> 18:double) -> 19:double) -> 
20:boolean, VectorUDFDateAddColScalar(col 0:date, val 1) -> 21:date, 
VectorUDFDateAddColScalar(col 0:date, val 365) -> 22:date) -> 23:date
+                    Statistics: Num rows: 51 Data size: 16000 Basic stats: 
COMPLETE Column stats: NONE
+                    Reduce Output Operator
+                      key expressions: _col0 (type: timestamp), _col10 (type: 
string), _col1 (type: timestamp)
+                      sort order: +++
+                      Reduce Sink Vectorization:
+                          className: VectorReduceSinkObjectHashOperator
+                          keyColumnNums: [1, 2, 3]
+                          native: true
+                          nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, 
BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
+                          valueColumnNums: [10, 12, 13, 14, 11, 7, 16, 23]
+                      Statistics: Num rows: 51 Data size: 16000 Basic stats: 
COMPLETE Column stats: NONE
+                      value expressions: _col2 (type: string), _col3 (type: 
string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 
(type: int), _col8 (type: int), _col9 (type: date)
+            Execution mode: vectorized, llap
+            LLAP IO: all inputs
+            Map Vectorization:
+                enabled: true
+                enabledConditionsMet: 
hive.vectorized.use.vectorized.input.format IS true
+                inputFormatFeatureSupport: []
+                featureSupportInUse: []
+                inputFileFormats: 
org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
+                allNative: true
+                usesVectorUDFAdaptor: true
+                vectorized: true
+                rowBatchContext:
+                    dataColumnCount: 4
+                    includeColumns: [0, 1, 2, 3]
+                    dataColumns: cdate:date, ctimestamp1:timestamp, 
stimestamp1:string, ctimestamp2:timestamp
+                    partitionColumnCount: 0
+                    scratchColumnTypeNames: [bigint, bigint, bigint, bigint, 
string, string, string, string, string, bigint, bigint, bigint, bigint, double, 
double, bigint, bigint, bigint, bigint]
+        Reducer 2 
+            Execution mode: vectorized, llap
+            Reduce Vectorization:
+                enabled: true
+                enableConditionsMet: hive.vectorized.execution.reduce.enabled 
IS true, hive.execution.engine tez IN [tez, spark] IS true
+                reduceColumnNullOrder: aaa
+                reduceColumnSortOrder: +++
+                allNative: false
+                usesVectorUDFAdaptor: false
+                vectorized: true
+                rowBatchContext:
+                    dataColumnCount: 11
+                    dataColumns: KEY.reducesinkkey0:timestamp, 
KEY.reducesinkkey1:string, KEY.reducesinkkey2:timestamp, VALUE._col0:string, 
VALUE._col1:string, VALUE._col2:string, VALUE._col3:int, VALUE._col4:string, 
VALUE._col5:int, VALUE._col6:int, VALUE._col7:date
+                    partitionColumnCount: 0
+                    scratchColumnTypeNames: []
+            Reduce Operator Tree:
+              Select Operator
+                expressions: KEY.reducesinkkey0 (type: timestamp), 
KEY.reducesinkkey2 (type: timestamp), VALUE._col0 (type: string), VALUE._col1 
(type: string), VALUE._col2 (type: string), VALUE._col3 (type: int), 
VALUE._col4 (type: string), VALUE._col5 (type: int), VALUE._col6 (type: int), 
VALUE._col7 (type: date)
+                outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, 
_col6, _col7, _col8, _col9
+                Select Vectorization:
+                    className: VectorSelectOperator
+                    native: true
+                    projectedOutputColumnNums: [0, 2, 3, 4, 5, 6, 7, 8, 9, 10]
+                Statistics: Num rows: 51 Data size: 16000 Basic stats: 
COMPLETE Column stats: NONE
+                File Output Operator
+                  compressed: false
+                  File Sink Vectorization:
+                      className: VectorFileSinkOperator
+                      native: false
+                  Statistics: Num rows: 51 Data size: 16000 Basic stats: 
COMPLETE Column stats: NONE
+                  table:
+                      input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
+                      output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                      serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: SELECT
+   ctimestamp1,
+   ctimestamp2,
+   CASE
+     WHEN ctimestamp2 <= date '1800-12-31' THEN "1800s or Earlier"
+     WHEN ctimestamp2 < date '1900-01-01' THEN "1900s"
+     WHEN ctimestamp2 between cast('2006-01-01 00:00:00.000' as timestamp) and 
cast('2010-12-31 23:59:59.999999999' as timestamp) THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN "Early 
2010s"
+     ELSE "Unknown" END AS ctimestamp2_Description,
+   CASE
+     WHEN ctimestamp2 <= timestamp '2000-12-31 23:59:59.999999999' THEN "Old"
+     WHEN ctimestamp2 < timestamp '2006-01-01 00:00:00.000' THEN "Early 2000s"
+     WHEN ctimestamp2 between cast('2006-01-01 00:00:00.000' as timestamp) and 
cast('2010-12-31 23:59:59.999999999' as timestamp) THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN "Early 
2010s"
+     ELSE NULL END AS ctimestamp2_Description_2,
+   CASE
+     WHEN ctimestamp2 <= timestamp '2000-12-31 23:59:59.999999999' THEN "Old"
+     WHEN ctimestamp2 < timestamp '2006-01-01 00:00:00.000' THEN "Early 2000s"
+     WHEN ctimestamp2 between timestamp '2006-01-01 00:00:00.000' and 
timestamp '2010-12-31 23:59:59.999999999' THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN NULL
+     ELSE NULL END AS ctimestamp2_Description_3,
+   IF(timestamp '1974-10-04 17:21:03.989' > ctimestamp1, year(ctimestamp1), 
year(ctimestamp2)) AS field1,
+   CASE WHEN stimestamp1 LIKE '%19%'
+            THEN stimestamp1
+        ELSE timestamp '2018-03-08 23:04:59' END AS Field_2,
+   IF(ctimestamp1 = timestamp '2021-09-24 03:18:32.413655165' , NULL, 
minute(ctimestamp1)) AS Field_3,
+   IF(ctimestamp2 >= timestamp '5344-10-04 18:40:08.165' and ctimestamp2 < 
timestamp '6631-11-13 16:31:29.702202248', minute(ctimestamp1), NULL) AS 
Field_4,
+   IF(cast(ctimestamp1 as double) % 500 > 100, DATE_ADD(cdate, 1), 
DATE_ADD(cdate, 365)) AS Field_5
+FROM timestamps
+ORDER BY ctimestamp1, stimestamp1, ctimestamp2
+PREHOOK: type: QUERY
+PREHOOK: Input: default@timestamps
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT
+   ctimestamp1,
+   ctimestamp2,
+   CASE
+     WHEN ctimestamp2 <= date '1800-12-31' THEN "1800s or Earlier"
+     WHEN ctimestamp2 < date '1900-01-01' THEN "1900s"
+     WHEN ctimestamp2 between cast('2006-01-01 00:00:00.000' as timestamp) and 
cast('2010-12-31 23:59:59.999999999' as timestamp) THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN "Early 
2010s"
+     ELSE "Unknown" END AS ctimestamp2_Description,
+   CASE
+     WHEN ctimestamp2 <= timestamp '2000-12-31 23:59:59.999999999' THEN "Old"
+     WHEN ctimestamp2 < timestamp '2006-01-01 00:00:00.000' THEN "Early 2000s"
+     WHEN ctimestamp2 between cast('2006-01-01 00:00:00.000' as timestamp) and 
cast('2010-12-31 23:59:59.999999999' as timestamp) THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN "Early 
2010s"
+     ELSE NULL END AS ctimestamp2_Description_2,
+   CASE
+     WHEN ctimestamp2 <= timestamp '2000-12-31 23:59:59.999999999' THEN "Old"
+     WHEN ctimestamp2 < timestamp '2006-01-01 00:00:00.000' THEN "Early 2000s"
+     WHEN ctimestamp2 between timestamp '2006-01-01 00:00:00.000' and 
timestamp '2010-12-31 23:59:59.999999999' THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN NULL
+     ELSE NULL END AS ctimestamp2_Description_3,
+   IF(timestamp '1974-10-04 17:21:03.989' > ctimestamp1, year(ctimestamp1), 
year(ctimestamp2)) AS field1,
+   CASE WHEN stimestamp1 LIKE '%19%'
+            THEN stimestamp1
+        ELSE timestamp '2018-03-08 23:04:59' END AS Field_2,
+   IF(ctimestamp1 = timestamp '2021-09-24 03:18:32.413655165' , NULL, 
minute(ctimestamp1)) AS Field_3,
+   IF(ctimestamp2 >= timestamp '5344-10-04 18:40:08.165' and ctimestamp2 < 
timestamp '6631-11-13 16:31:29.702202248', minute(ctimestamp1), NULL) AS 
Field_4,
+   IF(cast(ctimestamp1 as double) % 500 > 100, DATE_ADD(cdate, 1), 
DATE_ADD(cdate, 365)) AS Field_5
+FROM timestamps
+ORDER BY ctimestamp1, stimestamp1, ctimestamp2
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@timestamps
+#### A masked pattern was here ####
+ctimestamp1    ctimestamp2     ctimestamp2_description 
ctimestamp2_description_2       ctimestamp2_description_3       field1  field_2 
field_3 field_4 field_5
+NULL   NULL    Unknown NULL    NULL    NULL    2018-03-08 23:04:59     NULL    
NULL    NULL
+0004-09-22 18:26:29.519542222  0004-09-21 16:23:25.519542222   1800s or 
Earlier        Old     Old     4       0004-09-22 18:26:29.519542222   26      
NULL    0005-09-22
+0528-10-27 08:15:18.941718273  0528-10-26 06:12:14.941718273   1800s or 
Earlier        Old     Old     528     2018-03-08 23:04:59     15      NULL    
0529-10-27
+1319-02-02 16:31:57.778        1319-02-01 14:28:53.778 1800s or Earlier        
Old     Old     1319    1319-02-02 16:31:57.778 31      NULL    1320-02-02
+1404-07-23 15:32:16.059185026  1404-07-22 13:29:12.059185026   1800s or 
Earlier        Old     Old     1404    2018-03-08 23:04:59     32      NULL    
1405-07-23
+1815-05-06 00:12:37.543584705  1815-05-04 22:09:33.543584705   1900s   Old     
Old     1815    2018-03-08 23:04:59     12      NULL    1816-05-05
+1883-04-17 04:14:34.647766229  1883-04-16 02:11:30.647766229   1900s   Old     
Old     1883    2018-03-08 23:04:59     14      NULL    1884-04-16
+1966-08-16 13:36:50.183618031  1966-08-15 11:33:46.183618031   Early 2010s     
Old     Old     1966    1966-08-16 13:36:50.183618031   36      NULL    
1967-08-16
+1973-04-17 06:30:38.596784156  1973-04-16 04:27:34.596784156   Early 2010s     
Old     Old     1973    1973-04-17 06:30:38.596784156   30      NULL    
1974-04-17
+1974-10-04 17:21:03.989        1974-10-03 15:17:59.989 Early 2010s     Old     
Old     1974    1974-10-04 17:21:03.989 21      NULL    1974-10-05
+1976-03-03 04:54:33.000895162  1976-03-02 02:51:29.000895162   Early 2010s     
Old     Old     1976    1976-03-03 04:54:33.000895162   54      NULL    
1976-03-04
+1976-05-06 00:42:30.910786948  1976-05-04 22:39:26.910786948   Early 2010s     
Old     Old     1976    1976-05-06 00:42:30.910786948   42      NULL    
1977-05-06
+1978-08-05 14:41:05.501        1978-08-04 12:38:01.501 Early 2010s     Old     
Old     1978    1978-08-05 14:41:05.501 41      NULL    1978-08-06
+1981-04-25 09:01:12.077192689  1981-04-24 06:58:08.077192689   Early 2010s     
Old     Old     1981    1981-04-25 09:01:12.077192689   1       NULL    
1982-04-25
+1981-11-15 23:03:10.999338387  1981-11-14 21:00:06.999338387   Early 2010s     
Old     Old     1981    1981-11-15 23:03:10.999338387   3       NULL    
1981-11-16
+1985-07-20 09:30:11    1985-07-19 07:27:07     Early 2010s     Old     Old     
1985    1985-07-20 09:30:11     30      NULL    1986-07-20
+1985-11-18 16:37:54    1985-11-17 14:34:50     Early 2010s     Old     Old     
1985    1985-11-18 16:37:54     37      NULL    1985-11-19
+1987-02-21 19:48:29    1987-02-20 17:45:25     Early 2010s     Old     Old     
1987    1987-02-21 19:48:29     48      NULL    1987-02-22
+1987-05-28 13:52:07.900916635  1987-05-27 11:49:03.900916635   Early 2010s     
Old     Old     1987    1987-05-28 13:52:07.900916635   52      NULL    
1988-05-27
+1998-10-16 20:05:29.397591987  1998-10-15 18:02:25.397591987   Early 2010s     
Old     Old     1998    1998-10-16 20:05:29.397591987   5       NULL    
1999-10-16
+1999-10-03 16:59:10.396903939  1999-10-02 14:56:06.396903939   Early 2010s     
Old     Old     1999    1999-10-03 16:59:10.396903939   59      NULL    
1999-10-04
+2000-12-18 08:42:30.000595596  2000-12-17 06:39:26.000595596   Early 2010s     
Old     Old     2000    2018-03-08 23:04:59     42      NULL    2000-12-19
+2002-05-10 05:29:48.990818073  2002-05-09 03:26:44.990818073   Early 2010s     
Early 2000s     Early 2000s     2002    2018-03-08 23:04:59     29      NULL    
2002-05-11
+2003-09-23 22:33:17.00003252   2003-09-22 20:30:13.00003252    Early 2010s     
Early 2000s     Early 2000s     2003    2018-03-08 23:04:59     33      NULL    
2004-09-22
+2004-03-07 20:14:13    2004-03-06 18:11:09     Early 2010s     Early 2000s     
Early 2000s     2004    2018-03-08 23:04:59     14      NULL    2004-03-08
+2007-02-09 05:17:29.368756876  2007-02-08 03:14:25.368756876   Late 2000s      
Late 2000s      Late 2000s      2007    2018-03-08 23:04:59     17      NULL    
2008-02-09
+2009-01-21 10:49:07.108        2009-01-20 08:46:03.108 Late 2000s      Late 
2000s      Late 2000s      2009    2018-03-08 23:04:59     49      NULL    
2009-01-22
+2010-04-08 02:43:35.861742727  2010-04-07 00:40:31.861742727   Late 2000s      
Late 2000s      Late 2000s      2010    2018-03-08 23:04:59     43      NULL    
2010-04-09
+2013-04-07 02:44:43.00086821   2013-04-06 00:41:39.00086821    Early 2010s     
Early 2010s     NULL    2013    2018-03-08 23:04:59     44      NULL    
2013-04-08
+2013-04-10 00:43:46.854731546  2013-04-08 22:40:42.854731546   Early 2010s     
Early 2010s     NULL    2013    2018-03-08 23:04:59     43      NULL    
2013-04-11
+2021-09-24 03:18:32.413655165  2021-09-23 01:15:28.413655165   Unknown NULL    
NULL    2021    2018-03-08 23:04:59     NULL    NULL    2021-09-25
+2024-11-11 16:42:41.101        2024-11-10 14:39:37.101 Unknown NULL    NULL    
2024    2018-03-08 23:04:59     42      NULL    2024-11-12
+4143-07-08 10:53:27.252802259  4143-07-07 08:50:23.252802259   Unknown NULL    
NULL    4143    2018-03-08 23:04:59     53      NULL    4143-07-09
+4966-12-04 09:30:55.202        4966-12-03 07:27:51.202 Unknown NULL    NULL    
4966    2018-03-08 23:04:59     30      NULL    4966-12-05
+5339-02-01 14:10:01.085678691  5339-01-31 12:06:57.085678691   Unknown NULL    
NULL    5339    2018-03-08 23:04:59     10      NULL    5340-02-01
+5344-10-04 18:40:08.165        5344-10-03 16:37:04.165 Unknown NULL    NULL    
5344    2018-03-08 23:04:59     40      NULL    5344-10-05
+5397-07-13 07:12:32.000896438  5397-07-12 05:09:28.000896438   Unknown NULL    
NULL    5397    2018-03-08 23:04:59     12      12      5397-07-14
+5966-07-09 03:30:50.597        5966-07-08 01:27:46.597 Unknown NULL    NULL    
5966    2018-03-08 23:04:59     30      30      5967-07-09
+6229-06-28 02:54:28.970117179  6229-06-27 00:51:24.970117179   Unknown NULL    
NULL    6229    2018-03-08 23:04:59     54      54      6230-06-28
+6482-04-27 12:07:38.073915413  6482-04-26 10:04:34.073915413   Unknown NULL    
NULL    6482    2018-03-08 23:04:59     7       7       6482-04-28
+6631-11-13 16:31:29.702202248  6631-11-12 14:28:25.702202248   Unknown NULL    
NULL    6631    2018-03-08 23:04:59     31      31      6631-11-14
+6705-09-28 18:27:28.000845672  6705-09-27 16:24:24.000845672   Unknown NULL    
NULL    6705    2018-03-08 23:04:59     27      NULL    6705-09-29
+6731-02-12 08:12:48.287783702  6731-02-11 06:09:44.287783702   Unknown NULL    
NULL    6731    2018-03-08 23:04:59     12      NULL    6731-02-13
+7160-12-02 06:00:24.81200852   7160-12-01 03:57:20.81200852    Unknown NULL    
NULL    7160    2018-03-08 23:04:59     0       NULL    7161-12-02
+7409-09-07 23:33:32.459349602  7409-09-06 21:30:28.459349602   Unknown NULL    
NULL    7409    2018-03-08 23:04:59     33      NULL    7409-09-08
+7503-06-23 23:14:17.486        7503-06-22 21:11:13.486 Unknown NULL    NULL    
7503    2018-03-08 23:04:59     14      NULL    7503-06-24
+8422-07-22 03:21:45.745036084  8422-07-21 01:18:41.745036084   Unknown NULL    
NULL    8422    2018-03-08 23:04:59     21      NULL    8422-07-23
+8521-01-16 20:42:05.668832388  8521-01-15 18:39:01.668832388   Unknown NULL    
NULL    8521    2018-03-08 23:04:59     42      NULL    8521-01-17
+9075-06-13 16:20:09.218517797  9075-06-12 14:17:05.218517797   Unknown NULL    
NULL    9075    2018-03-08 23:04:59     20      NULL    9075-06-14
+9209-11-11 04:08:58.223768453  9209-11-10 02:05:54.223768453   Unknown NULL    
NULL    9209    2018-03-08 23:04:59     8       NULL    9209-11-12
+9403-01-09 18:12:33.547        9403-01-08 16:09:29.547 Unknown NULL    NULL    
9403    2018-03-08 23:04:59     12      NULL    9403-01-10
+PREHOOK: query: EXPLAIN VECTORIZATION DETAIL
+SELECT
+   ctimestamp1,
+   ctimestamp2,
+   CASE
+     WHEN ctimestamp2 <= date '1800-12-31' THEN "1800s or Earlier"
+     WHEN ctimestamp2 < date '1900-01-01' THEN "1900s"
+     WHEN ctimestamp2 between cast('2006-01-01 00:00:00.000' as timestamp) and 
cast('2010-12-31 23:59:59.999999999' as timestamp) THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN "Early 
2010s"
+     ELSE "Unknown" END AS ctimestamp2_Description,
+   CASE
+     WHEN ctimestamp2 <= timestamp '2000-12-31 23:59:59.999999999' THEN "Old"
+     WHEN ctimestamp2 < timestamp '2006-01-01 00:00:00.000' THEN "Early 2000s"
+     WHEN ctimestamp2 between cast('2006-01-01 00:00:00.000' as timestamp) and 
cast('2010-12-31 23:59:59.999999999' as timestamp) THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN "Early 
2010s"
+     ELSE NULL END AS ctimestamp2_Description_2,
+   CASE
+     WHEN ctimestamp2 <= timestamp '2000-12-31 23:59:59.999999999' THEN "Old"
+     WHEN ctimestamp2 < timestamp '2006-01-01 00:00:00.000' THEN "Early 2000s"
+     WHEN ctimestamp2 between timestamp '2006-01-01 00:00:00.000' and 
timestamp '2010-12-31 23:59:59.999999999' THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN NULL
+     ELSE NULL END AS ctimestamp2_Description_3,
+   IF(timestamp '1974-10-04 17:21:03.989' > ctimestamp1, year(ctimestamp1), 
year(ctimestamp2)) AS field1,
+   CASE WHEN stimestamp1 LIKE '%19%'
+            THEN stimestamp1
+        ELSE timestamp '2018-03-08 23:04:59' END AS Field_2,
+   IF(ctimestamp1 = timestamp '2021-09-24 03:18:32.413655165' , NULL, 
minute(ctimestamp1)) AS Field_3,
+   IF(ctimestamp2 >= timestamp '5344-10-04 18:40:08.165' and ctimestamp2 < 
timestamp '6631-11-13 16:31:29.702202248', minute(ctimestamp1), NULL) AS 
Field_4,
+   IF(cast(ctimestamp1 as double) % 500 > 100, DATE_ADD(cdate, 1), 
DATE_ADD(cdate, 365)) AS Field_5
+FROM timestamps
+ORDER BY ctimestamp1, stimestamp1, ctimestamp2
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN VECTORIZATION DETAIL
+SELECT
+   ctimestamp1,
+   ctimestamp2,
+   CASE
+     WHEN ctimestamp2 <= date '1800-12-31' THEN "1800s or Earlier"
+     WHEN ctimestamp2 < date '1900-01-01' THEN "1900s"
+     WHEN ctimestamp2 between cast('2006-01-01 00:00:00.000' as timestamp) and 
cast('2010-12-31 23:59:59.999999999' as timestamp) THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN "Early 
2010s"
+     ELSE "Unknown" END AS ctimestamp2_Description,
+   CASE
+     WHEN ctimestamp2 <= timestamp '2000-12-31 23:59:59.999999999' THEN "Old"
+     WHEN ctimestamp2 < timestamp '2006-01-01 00:00:00.000' THEN "Early 2000s"
+     WHEN ctimestamp2 between cast('2006-01-01 00:00:00.000' as timestamp) and 
cast('2010-12-31 23:59:59.999999999' as timestamp) THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN "Early 
2010s"
+     ELSE NULL END AS ctimestamp2_Description_2,
+   CASE
+     WHEN ctimestamp2 <= timestamp '2000-12-31 23:59:59.999999999' THEN "Old"
+     WHEN ctimestamp2 < timestamp '2006-01-01 00:00:00.000' THEN "Early 2000s"
+     WHEN ctimestamp2 between timestamp '2006-01-01 00:00:00.000' and 
timestamp '2010-12-31 23:59:59.999999999' THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN NULL
+     ELSE NULL END AS ctimestamp2_Description_3,
+   IF(timestamp '1974-10-04 17:21:03.989' > ctimestamp1, year(ctimestamp1), 
year(ctimestamp2)) AS field1,
+   CASE WHEN stimestamp1 LIKE '%19%'
+            THEN stimestamp1
+        ELSE timestamp '2018-03-08 23:04:59' END AS Field_2,
+   IF(ctimestamp1 = timestamp '2021-09-24 03:18:32.413655165' , NULL, 
minute(ctimestamp1)) AS Field_3,
+   IF(ctimestamp2 >= timestamp '5344-10-04 18:40:08.165' and ctimestamp2 < 
timestamp '6631-11-13 16:31:29.702202248', minute(ctimestamp1), NULL) AS 
Field_4,
+   IF(cast(ctimestamp1 as double) % 500 > 100, DATE_ADD(cdate, 1), 
DATE_ADD(cdate, 365)) AS Field_5
+FROM timestamps
+ORDER BY ctimestamp1, stimestamp1, ctimestamp2
+POSTHOOK: type: QUERY
+Explain
+PLAN VECTORIZATION:
+  enabled: true
+  enabledConditionsMet: [hive.vectorized.execution.enabled IS true]
+
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Tez
+#### A masked pattern was here ####
+      Edges:
+        Reducer 2 <- Map 1 (SIMPLE_EDGE)
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: timestamps
+                  Statistics: Num rows: 51 Data size: 16000 Basic stats: 
COMPLETE Column stats: NONE
+                  TableScan Vectorization:
+                      native: true
+                      vectorizationSchemaColumns: [0:cdate:date, 
1:ctimestamp1:timestamp, 2:stimestamp1:string, 3:ctimestamp2:timestamp, 
4:ROW__ID:struct<transactionid:bigint,bucketid:int,rowid:bigint>]
+                  Select Operator
+                    expressions: ctimestamp1 (type: timestamp), ctimestamp2 
(type: timestamp), CASE WHEN ((ctimestamp2 <= TIMESTAMP'1800-12-31 
00:00:00.0')) THEN ('1800s or Earlier') WHEN ((ctimestamp2 < 
TIMESTAMP'1900-01-01 00:00:00.0')) THEN ('1900s') WHEN (ctimestamp2 BETWEEN 
TIMESTAMP'2006-01-01 00:00:00.0' AND TIMESTAMP'2010-12-31 23:59:59.999999999') 
THEN ('Late 2000s') WHEN ((ctimestamp2 <= TIMESTAMP'2015-12-31 
23:59:59.999999999')) THEN ('Early 2010s') ELSE ('Unknown') END (type: string), 
CASE WHEN ((ctimestamp2 <= TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN 
('Old') WHEN ((ctimestamp2 < TIMESTAMP'2006-01-01 00:00:00.0')) THEN ('Early 
2000s') WHEN (ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00.0' AND 
TIMESTAMP'2010-12-31 23:59:59.999999999') THEN ('Late 2000s') WHEN 
((ctimestamp2 <= TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN ('Early 
2010s') ELSE (null) END (type: string), CASE WHEN ((ctimestamp2 <= 
TIMESTAMP'2000-12-31 23:59:59.999999999')) THEN ('Old') WHEN ((ct
 imestamp2 < TIMESTAMP'2006-01-01 00:00:00.0')) THEN ('Early 2000s') WHEN 
(ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00.0' AND TIMESTAMP'2010-12-31 
23:59:59.999999999') THEN ('Late 2000s') WHEN ((ctimestamp2 <= 
TIMESTAMP'2015-12-31 23:59:59.999999999')) THEN (null) ELSE (null) END (type: 
string), if((TIMESTAMP'1974-10-04 17:21:03.989' > ctimestamp1), 
year(ctimestamp1), year(ctimestamp2)) (type: int), CASE WHEN ((stimestamp1 like 
'%19%')) THEN (stimestamp1) ELSE (TIMESTAMP'2018-03-08 23:04:59.0') END (type: 
string), if((ctimestamp1 = TIMESTAMP'2021-09-24 03:18:32.413655165'), null, 
minute(ctimestamp1)) (type: int), if(((ctimestamp2 >= TIMESTAMP'5344-10-04 
18:40:08.165') and (ctimestamp2 < TIMESTAMP'6631-11-13 16:31:29.702202248')), 
minute(ctimestamp1), null) (type: int), if(((UDFToDouble(ctimestamp1) % 500.0D) 
> 100.0D), date_add(cdate, 1), date_add(cdate, 365)) (type: date), stimestamp1 
(type: string)
+                    outputColumnNames: _col0, _col1, _col2, _col3, _col4, 
_col5, _col6, _col7, _col8, _col9, _col10
+                    Select Vectorization:
+                        className: VectorSelectOperator
+                        native: true
+                        projectedOutputColumnNums: [1, 3, 15, 26, 36, 40, 42, 
44, 46, 53, 2]
+                        selectExpressions: IfExprColumnCondExpr(col 5:boolean, 
col 6:stringcol 14:string)(children: TimestampColLessEqualTimestampScalar(col 
3:timestamp, val 1800-12-31 00:00:00.0) -> 5:boolean, 
ConstantVectorExpression(val 1800s or Earlier) -> 6:string, 
IfExprColumnCondExpr(col 7:boolean, col 8:stringcol 13:string)(children: 
TimestampColLessTimestampScalar(col 3:timestamp, val 1900-01-01 00:00:00.0) -> 
7:boolean, ConstantVectorExpression(val 1900s) -> 8:string, 
IfExprColumnCondExpr(col 9:boolean, col 10:stringcol 12:string)(children: 
VectorUDFAdaptor(ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 00:00:00.0' AND 
TIMESTAMP'2010-12-31 23:59:59.999999999') -> 9:boolean, 
ConstantVectorExpression(val Late 2000s) -> 10:string, 
IfExprStringScalarStringScalar(col 11:boolean, val Early 2010s, val 
Unknown)(children: TimestampColLessEqualTimestampScalar(col 3:timestamp, val 
2015-12-31 23:59:59.999999999) -> 11:boolean) -> 12:string) -> 13:string) -> 
14:string) -> 15:string, IfExprCo
 lumnCondExpr(col 11:boolean, col 16:stringcol 25:string)(children: 
TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2000-12-31 
23:59:59.999999999) -> 11:boolean, ConstantVectorExpression(val Old) -> 
16:string, IfExprColumnCondExpr(col 17:boolean, col 18:stringcol 
24:string)(children: TimestampColLessTimestampScalar(col 3:timestamp, val 
2006-01-01 00:00:00.0) -> 17:boolean, ConstantVectorExpression(val Early 2000s) 
-> 18:string, IfExprColumnCondExpr(col 19:boolean, col 20:stringcol 
23:string)(children: VectorUDFAdaptor(ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 
00:00:00.0' AND TIMESTAMP'2010-12-31 23:59:59.999999999') -> 19:boolean, 
ConstantVectorExpression(val Late 2000s) -> 20:string, IfExprColumnNull(col 
21:boolean, col 22:string, null)(children: 
TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2015-12-31 
23:59:59.999999999) -> 21:boolean, ConstantVectorExpression(val Early 2010s) -> 
22:string) -> 23:string) -> 24:string) -> 25:string) -> 26:string, 
IfExprColumnCon
 dExpr(col 27:boolean, col 28:stringcol 35:string)(children: 
TimestampColLessEqualTimestampScalar(col 3:timestamp, val 2000-12-31 
23:59:59.999999999) -> 27:boolean, ConstantVectorExpression(val Old) -> 
28:string, IfExprColumnCondExpr(col 29:boolean, col 30:stringcol 
34:string)(children: TimestampColLessTimestampScalar(col 3:timestamp, val 
2006-01-01 00:00:00.0) -> 29:boolean, ConstantVectorExpression(val Early 2000s) 
-> 30:string, IfExprColumnCondExpr(col 31:boolean, col 32:stringcol 
33:string)(children: VectorUDFAdaptor(ctimestamp2 BETWEEN TIMESTAMP'2006-01-01 
00:00:00.0' AND TIMESTAMP'2010-12-31 23:59:59.999999999') -> 31:boolean, 
ConstantVectorExpression(val Late 2000s) -> 32:string, IfExprNullNull(null, 
null) -> 33:string) -> 34:string) -> 35:string) -> 36:string, 
IfExprCondExprCondExpr(col 37:boolean, col 38:intcol 39:int)(children: 
TimestampScalarGreaterTimestampColumn(val 1974-10-04 17:21:03.989, col 
1:timestamp) -> 37:boolean, VectorUDFYearTimestamp(col 1:timestamp, field YEA
 R) -> 38:int, VectorUDFYearTimestamp(col 3:timestamp, field YEAR) -> 39:int) 
-> 40:int, VectorUDFAdaptor(CASE WHEN ((stimestamp1 like '%19%')) THEN 
(stimestamp1) ELSE (TIMESTAMP'2018-03-08 23:04:59.0') END)(children: 
SelectStringColLikeStringScalar(col 2:string) -> 41:boolean) -> 42:string, 
IfExprNullCondExpr(col 41:boolean, null, col 43:int)(children: 
TimestampColEqualTimestampScalar(col 1:timestamp, val 2021-09-24 
03:18:32.413655165) -> 41:boolean, VectorUDFMinuteTimestamp(col 1:timestamp, 
field MINUTE) -> 43:int) -> 44:int, IfExprCondExprNull(col 47:boolean, col 
45:int, null)(children: ColAndCol(col 45:boolean, col 46:boolean)(children: 
TimestampColGreaterEqualTimestampScalar(col 3:timestamp, val 5344-10-04 
18:40:08.165) -> 45:boolean, TimestampColLessTimestampScalar(col 3:timestamp, 
val 6631-11-13 16:31:29.702202248) -> 46:boolean) -> 47:boolean, 
VectorUDFMinuteTimestamp(col 1:timestamp, field MINUTE) -> 45:int) -> 46:int, 
IfExprCondExprCondExpr(col 50:boolean, col 51:datecol 52
 :date)(children: DoubleColGreaterDoubleScalar(col 49:double, val 
100.0)(children: DoubleColModuloDoubleScalar(col 48:double, val 
500.0)(children: CastTimestampToDouble(col 1:timestamp) -> 48:double) -> 
49:double) -> 50:boolean, VectorUDFDateAddColScalar(col 0:date, val 1) -> 
51:date, VectorUDFDateAddColScalar(col 0:date, val 365) -> 52:date) -> 53:date
+                    Statistics: Num rows: 51 Data size: 16000 Basic stats: 
COMPLETE Column stats: NONE
+                    Reduce Output Operator
+                      key expressions: _col0 (type: timestamp), _col10 (type: 
string), _col1 (type: timestamp)
+                      sort order: +++
+                      Reduce Sink Vectorization:
+                          className: VectorReduceSinkObjectHashOperator
+                          keyColumnNums: [1, 2, 3]
+                          native: true
+                          nativeConditionsMet: 
hive.vectorized.execution.reducesink.new.enabled IS true, hive.execution.engine 
tez IN [tez, spark] IS true, No PTF TopN IS true, No DISTINCT columns IS true, 
BinarySortableSerDe for keys IS true, LazyBinarySerDe for values IS true
+                          valueColumnNums: [15, 26, 36, 40, 42, 44, 46, 53]
+                      Statistics: Num rows: 51 Data size: 16000 Basic stats: 
COMPLETE Column stats: NONE
+                      value expressions: _col2 (type: string), _col3 (type: 
string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 
(type: int), _col8 (type: int), _col9 (type: date)
+            Execution mode: vectorized, llap
+            LLAP IO: all inputs
+            Map Vectorization:
+                enabled: true
+                enabledConditionsMet: 
hive.vectorized.use.vectorized.input.format IS true
+                inputFormatFeatureSupport: []
+                featureSupportInUse: []
+                inputFileFormats: 
org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
+                allNative: true
+                usesVectorUDFAdaptor: true
+                vectorized: true
+                rowBatchContext:
+                    dataColumnCount: 4
+                    includeColumns: [0, 1, 2, 3]
+                    dataColumns: cdate:date, ctimestamp1:timestamp, 
stimestamp1:string, ctimestamp2:timestamp
+                    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, string, bigint, bigint, bigint, bigint, bigint, double, 
double, bigint, bigint, bigint, bigint]
+        Reducer 2 
+            Execution mode: vectorized, llap
+            Reduce Vectorization:
+                enabled: true
+                enableConditionsMet: hive.vectorized.execution.reduce.enabled 
IS true, hive.execution.engine tez IN [tez, spark] IS true
+                reduceColumnNullOrder: aaa
+                reduceColumnSortOrder: +++
+                allNative: false
+                usesVectorUDFAdaptor: false
+                vectorized: true
+                rowBatchContext:
+                    dataColumnCount: 11
+                    dataColumns: KEY.reducesinkkey0:timestamp, 
KEY.reducesinkkey1:string, KEY.reducesinkkey2:timestamp, VALUE._col0:string, 
VALUE._col1:string, VALUE._col2:string, VALUE._col3:int, VALUE._col4:string, 
VALUE._col5:int, VALUE._col6:int, VALUE._col7:date
+                    partitionColumnCount: 0
+                    scratchColumnTypeNames: []
+            Reduce Operator Tree:
+              Select Operator
+                expressions: KEY.reducesinkkey0 (type: timestamp), 
KEY.reducesinkkey2 (type: timestamp), VALUE._col0 (type: string), VALUE._col1 
(type: string), VALUE._col2 (type: string), VALUE._col3 (type: int), 
VALUE._col4 (type: string), VALUE._col5 (type: int), VALUE._col6 (type: int), 
VALUE._col7 (type: date)
+                outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, 
_col6, _col7, _col8, _col9
+                Select Vectorization:
+                    className: VectorSelectOperator
+                    native: true
+                    projectedOutputColumnNums: [0, 2, 3, 4, 5, 6, 7, 8, 9, 10]
+                Statistics: Num rows: 51 Data size: 16000 Basic stats: 
COMPLETE Column stats: NONE
+                File Output Operator
+                  compressed: false
+                  File Sink Vectorization:
+                      className: VectorFileSinkOperator
+                      native: false
+                  Statistics: Num rows: 51 Data size: 16000 Basic stats: 
COMPLETE Column stats: NONE
+                  table:
+                      input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
+                      output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                      serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: SELECT
+   ctimestamp1,
+   ctimestamp2,
+   CASE
+     WHEN ctimestamp2 <= date '1800-12-31' THEN "1800s or Earlier"
+     WHEN ctimestamp2 < date '1900-01-01' THEN "1900s"
+     WHEN ctimestamp2 between cast('2006-01-01 00:00:00.000' as timestamp) and 
cast('2010-12-31 23:59:59.999999999' as timestamp) THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN "Early 
2010s"
+     ELSE "Unknown" END AS ctimestamp2_Description,
+   CASE
+     WHEN ctimestamp2 <= timestamp '2000-12-31 23:59:59.999999999' THEN "Old"
+     WHEN ctimestamp2 < timestamp '2006-01-01 00:00:00.000' THEN "Early 2000s"
+     WHEN ctimestamp2 between cast('2006-01-01 00:00:00.000' as timestamp) and 
cast('2010-12-31 23:59:59.999999999' as timestamp) THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN "Early 
2010s"
+     ELSE NULL END AS ctimestamp2_Description_2,
+   CASE
+     WHEN ctimestamp2 <= timestamp '2000-12-31 23:59:59.999999999' THEN "Old"
+     WHEN ctimestamp2 < timestamp '2006-01-01 00:00:00.000' THEN "Early 2000s"
+     WHEN ctimestamp2 between timestamp '2006-01-01 00:00:00.000' and 
timestamp '2010-12-31 23:59:59.999999999' THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN NULL
+     ELSE NULL END AS ctimestamp2_Description_3,
+   IF(timestamp '1974-10-04 17:21:03.989' > ctimestamp1, year(ctimestamp1), 
year(ctimestamp2)) AS field1,
+   CASE WHEN stimestamp1 LIKE '%19%'
+            THEN stimestamp1
+        ELSE timestamp '2018-03-08 23:04:59' END AS Field_2,
+   IF(ctimestamp1 = timestamp '2021-09-24 03:18:32.413655165' , NULL, 
minute(ctimestamp1)) AS Field_3,
+   IF(ctimestamp2 >= timestamp '5344-10-04 18:40:08.165' and ctimestamp2 < 
timestamp '6631-11-13 16:31:29.702202248', minute(ctimestamp1), NULL) AS 
Field_4,
+   IF(cast(ctimestamp1 as double) % 500 > 100, DATE_ADD(cdate, 1), 
DATE_ADD(cdate, 365)) AS Field_5
+FROM timestamps
+ORDER BY ctimestamp1, stimestamp1, ctimestamp2
+PREHOOK: type: QUERY
+PREHOOK: Input: default@timestamps
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT
+   ctimestamp1,
+   ctimestamp2,
+   CASE
+     WHEN ctimestamp2 <= date '1800-12-31' THEN "1800s or Earlier"
+     WHEN ctimestamp2 < date '1900-01-01' THEN "1900s"
+     WHEN ctimestamp2 between cast('2006-01-01 00:00:00.000' as timestamp) and 
cast('2010-12-31 23:59:59.999999999' as timestamp) THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN "Early 
2010s"
+     ELSE "Unknown" END AS ctimestamp2_Description,
+   CASE
+     WHEN ctimestamp2 <= timestamp '2000-12-31 23:59:59.999999999' THEN "Old"
+     WHEN ctimestamp2 < timestamp '2006-01-01 00:00:00.000' THEN "Early 2000s"
+     WHEN ctimestamp2 between cast('2006-01-01 00:00:00.000' as timestamp) and 
cast('2010-12-31 23:59:59.999999999' as timestamp) THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN "Early 
2010s"
+     ELSE NULL END AS ctimestamp2_Description_2,
+   CASE
+     WHEN ctimestamp2 <= timestamp '2000-12-31 23:59:59.999999999' THEN "Old"
+     WHEN ctimestamp2 < timestamp '2006-01-01 00:00:00.000' THEN "Early 2000s"
+     WHEN ctimestamp2 between timestamp '2006-01-01 00:00:00.000' and 
timestamp '2010-12-31 23:59:59.999999999' THEN "Late 2000s"
+     WHEN ctimestamp2 <= timestamp '2015-12-31 23:59:59.999999999' THEN NULL
+     ELSE NULL END AS ctimestamp2_Description_3,
+   IF(timestamp '1974-10-04 17:21:03.989' > ctimestamp1, year(ctimestamp1), 
year(ctimestamp2)) AS field1,
+   CASE WHEN stimestamp1 LIKE '%19%'
+            THEN stimestamp1
+        ELSE timestamp '2018-03-08 23:04:59' END AS Field_2,
+   IF(ctimestamp1 = timestamp '2021-09-24 03:18:32.413655165' , NULL, 
minute(ctimestamp1)) AS Field_3,
+   IF(ctimestamp2 >= timestamp '5344-10-04 18:40:08.165' and ctimestamp2 < 
timestamp '6631-11-13 16:31:29.702202248', minute(ctimestamp1), NULL) AS 
Field_4,
+   IF(cast(ctimestamp1 as double) % 500 > 100, DATE_ADD(cdate, 1), 
DATE_ADD(cdate, 365)) AS Field_5
+FROM timestamps
+ORDER BY ctimestamp1, stimestamp1, ctimestamp2
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@timestamps
+#### A masked pattern was here ####
+ctimestamp1    ctimestamp2     ctimestamp2_description 
ctimestamp2_description_2       ctimestamp2_description_3       field1  field_2 
field_3 field_4 field_5
+NULL   NULL    Unknown NULL    NULL    NULL    2018-03-08 23:04:59     NULL    
NULL    NULL
+0004-09-22 18:26:29.519542222  0004-09-21 16:23:25.519542222   1800s or 
Earlier        Old     Old     4       0004-09-22 18:26:29.519542222   26      
NULL    0005-09-22
+0528-10-27 08:15:18.941718273  0528-10-26 06:12:14.941718273   1800s or 
Earlier        Old     Old     528     2018-03-08 23:04:59     15      NULL    
0529-10-27
+1319-02-02 16:31:57.778        1319-02-01 14:28:53.778 1800s or Earlier        
Old     Old     1319    1319-02-02 16:31:57.778 31      NULL    1320-02-02
+1404-07-23 15:32:16.059185026  1404-07-22 13:29:12.059185026   1800s or 
Earlier        Old     Old     1404    2018-03-08 23:04:59     32      NULL    
1405-07-23
+1815-05-06 00:12:37.543584705  1815-05-04 22:09:33.543584705   1900s   Old     
Old     1815    2018-03-08 23:04:59     12      NULL    1816-05-05
+1883-04-17 04:14:34.647766229  1883-04-16 02:11:30.647766229   1900s   Old     
Old     1883    2018-03-08 23:04:59     14      NULL    1884-04-16
+1966-08-16 13:36:50.183618031  1966-08-15 11:33:46.183618031   Early 2010s     
Old     Old     1966    1966-08-16 13:36:50.183618031   36      NULL    
1967-08-16
+1973-04-17 06:30:38.596784156  1973-04-16 04:27:34.596784156   Early 2010s     
Old     Old     1973    1973-04-17 06:30:38.596784156   30      NULL    
1974-04-17
+1974-10-04 17:21:03.989        1974-10-03 15:17:59.989 Early 2010s     Old     
Old     1974    1974-10-04 17:21:03.989 21      NULL    1974-10-05
+1976-03-03 04:54:33.000895162  1976-03-02 02:51:29.000895162   Early 2010s     
Old     Old     1976    1976-03-03 04:54:33.000895162   54      NULL    
1976-03-04
+1976-05-06 00:42:30.910786948  1976-05-04 22:39:26.910786948   Early 2010s     
Old     Old     1976    1976-05-06 00:42:30.910786948   42      NULL    
1977-05-06
+1978-08-05 14:41:05.501        1978-08-04 12:38:01.501 Early 2010s     Old     
Old     1978    1978-08-05 14:41:05.501 41      NULL    1978-08-06
+1981-04-25 09:01:12.077192689  1981-04-24 06:58:08.077192689   Early 2010s     
Old     Old     1981    1981-04-25 09:01:12.077192689   1       NULL    
1982-04-25
+1981-11-15 23:03:10.999338387  1981-11-14 21:00:06.999338387   Early 2010s     
Old     Old     1981    1981-11-15 23:03:10.999338387   3       NULL    
1981-11-16
+1985-07-20 09:30:11    1985-07-19 07:27:07     Early 2010s     Old     Old     
1985    1985-07-20 09:30:11     30      NULL    1986-07-20
+1985-11-18 16:37:54    1985-11-17 14:34:50     Early 2010s     Old     Old     
1985    1985-11-18 16:37:54     37      NULL    1985-11-19
+1987-02-21 19:48:29    1987-02-20 17:45:25     Early 2010s     Old     Old     
1987    1987-02-21 19:48:29     48      NULL    1987-02-22
+1987-05-28 13:52:07.900916635  1987-05-27 11:49:03.900916635   Early 2010s     
Old     Old     1987    1987-05-28 13:52:07.900916635   52      NULL    
1988-05-27
+1998-10-16 20:05:29.397591987  1998-10-15 18:02:25.397591987   Early 2010s     
Old     Old     1998    1998-10-16 20:05:29.397591987   5       NULL    
1999-10-16
+1999-10-03 16:59:10.396903939  1999-10-02 14:56:06.396903939   Early 2010s     
Old     Old     1999    1999-10-03 16:59:10.396903939   59      NULL    
1999-10-04
+2000-12-18 08:42:30.000595596  2000-12-17 06:39:26.000595596   Early 2010s     
Old     Old     2000    2018-03-08 23:04:59     42      NULL    2000-12-19
+2002-05-10 05:29:48.990818073  2002-05-09 03:26:44.990818073   Early 2010s     
Early 2000s     Early 2000s     2002    2018-03-08 23:04:59     29      NULL    
2002-05-11
+2003-09-23 22:33:17.00003252   2003-09-22 20:30:13.00003252    Early 2010s     
Early 2000s     Early 2000s     2003    2018-03-08 23:04:59     33      NULL    
2004-09-22
+2004-03-07 20:14:13    2004-03-06 18:11:09     Early 2010s     Early 2000s     
Early 2000s     2004    2018-03-08 23:04:59     14      NULL    2004-03-08
+2007-02-09 05:17:29.368756876  2007-02-08 03:14:25.368756876   Late 2000s      
Late 2000s      Late 2000s      2007    2018-03-08 23:04:59     17      NULL    
2008-02-09
+2009-01-21 10:49:07.108        2009-01-20 08:46:03.108 Late 2000s      Late 
2000s      Late 2000s      2009    2018-03-08 23:04:59     49      NULL    
2009-01-22
+2010-04-08 02:43:35.861742727  2010-04-07 00:40:31.861742727   Late 2000s      
Late 2000s      Late 2000s      2010    2018-03-08 23:04:59     43      NULL    
2010-04-09
+2013-04-07 02:44:43.00086821   2013-04-06 00:41:39.00086821    Early 2010s     
Early 2010s     NULL    2013    2018-03-08 23:04:59     44      NULL    
2013-04-08
+2013-04-10 00:43:46.854731546  2013-04-08 22:40:42.854731546   Early 2010s     
Early 2010s     NULL    2013    2018-03-08 23:04:59     43      NULL    
2013-04-11
+2021-09-24 03:18:32.413655165  2021-09-23 01:15:28.413655165   Unknown NULL    
NULL    2021    2018-03-08 23:04:59     NULL    NULL    2021-09-25
+2024-11-11 16:42:41.101        2024-11-10 14:39:37.101 Unknown NULL    NULL    
2024    2018-03-08 23:04:59     42      NULL    2024-11-12
+4143-07-08 10:53:27.252802259  4143-07-07 08:50:23.252802259   Unknown NULL    
NULL    4143    2018-03-08 23:04:59     53      NULL    4143-07-09
+4966-12-04 09:30:55.202        4966-12-03 07:27:51.202 Unknown NULL    NULL    
4966    2018-03-08 23:04:59     30      NULL    4966-12-05
+5339-02-01 14:10:01.085678691  5339-01-31 12:06:57.085678691   Unknown NULL    
NULL    5339    2018-03-08 23:04:59     10      NULL    5340-02-01
+5344-10-04 18:40:08.165        5344-10-03 16:37:04.165 Unknown NULL    NULL    
5344    2018-03-08 23:04:59     40      NULL    5344-10-05
+5397-07-13 07:12:32.000896438  5397-07-12 05:09:28.000896438   Unknown NULL    
NULL    5397    2018-03-08 23:04:59     12      12      5397-07-14
+5966-07-09 03:30:50.597        5966-07-08 01:27:46.597 Unknown NULL    NULL    
5966    2018-03-08 23:04:59     30      30      5967-07-09
+6229-06-28 02:54:28.970117179  6229-06-27 00:51:24.970117179   Unknown NULL    
NULL    6229    2018-03-08 23:04:59     54      54      6230-06-28
+6482-04-27 12:07:38.073915413  6482-04-26 10:04:34.073915413   Unknown NULL    
NULL    6482    2018-03-08 23:04:59     7       7       6482-04-28
+6631-11-13 16:31:29.702202248  6631-11-12 14:28:25.702202248   Unknown NULL    
NULL    6631    2018-03-08 23:04:59     31      31      6631-11-14
+6705-09-28 18:27:28.000845672  6705-09-27 16:24:24.000845672   Unknown NULL    
NULL    6705    2018-03-08 23:04:59     27      NULL    6705-09-29
+6731-02-12 08:12:48.287783702  6731-02-11 06:09:44.287783702   Unknown NULL    
NULL    6731    2018-03-08 23:04:59     12      NULL    6731-02-13
+7160-12-02 06:00:24.81200852   7160-12-01 03:57:20.81200852    Unknown NULL    
NULL    7160    2018-03-08 23:04:59     0       NULL    7161-12-02
+7409-09-07 23:33:32.459349602  7409-09-06 21:30:28.459349602   Unknown NULL    
NULL    7409    2018-03-08 23:04:59     33      NULL    7409-09-08
+7503-06-23 23:14:17.486        7503-06-22 21:11:13.486 Unknown NULL    NULL    
7503    2018-03-08 23:04:59     14      NULL    7503-06-24
+8422-07-22 03:21:45.745036084  8422-07-21 01:18:41.745036084   Unknown NULL    
NULL    8422    2018-03-08 23:04:59     21      NULL    8422-07-23
+8521-01-16 20:42:05.668832388  8521-01-15 18:39:01.668832388   Unknown NULL    
NULL    8521    2018-03-08 23:04:59     42      NULL    8521-01-17
+9075-06-13 16:20:09.218517797  9075-06-12 14:17:05.218517797   Unknown NULL    
NULL    9075    2018-03-08 23:04:59     20      NULL    9075-06-14
+9209-11-11 04:08:58.223768453  9209-11-10 02:05:54.223768453   Unknown NULL    
NULL    9209    2018-03-08 23:04:59     8       NULL    9209-11-12
+9403-01-09 18:12:33.547        9403-01-08 16:09:29.547 Unknown NULL    NULL    
9403    2018-03-08 23:04:59     12      NULL    9403-01-10

http://git-wip-us.apache.org/repos/asf/hive/blob/53980ba6/ql/src/test/results/clientpositive/llap/vector_groupby_grouping_id1.q.out
----------------------------------------------------------------------
diff --git 
a/ql/src/test/results/clientpositive/llap/vector_groupby_grouping_id1.q.out 
b/ql/src/test/results/clientpositive/llap/vector_groupby_grouping_id1.q.out
index e57a0da..9f9fdaf 100644
--- a/ql/src/test/results/clientpositive/llap/vector_groupby_grouping_id1.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_groupby_grouping_id1.q.out
@@ -764,8 +764,8 @@ STAGE PLANS:
                   Select Vectorization:
                       className: VectorSelectOperator
                       native: true
-                      projectedOutputColumnNums: [0, 1, 2, 8]
-                      selectExpressions: 
IfExprStringScalarStringGroupColumn(col 3:boolean, val 0col 7:string)(children: 
LongColEqualLongScalar(col 2:bigint, val 0) -> 3:boolean, 
IfExprStringScalarStringGroupColumn(col 4:boolean, val 1col 8:string)(children: 
LongColEqualLongScalar(col 2:bigint, val 1) -> 4:boolean, 
IfExprStringScalarStringGroupColumn(col 5:boolean, val 2col 7:string)(children: 
LongColEqualLongScalar(col 2:bigint, val 2) -> 5:boolean, 
IfExprStringScalarStringScalar(col 6:boolean, val 3, val nothing)(children: 
LongColEqualLongScalar(col 2:bigint, val 3) -> 6:boolean) -> 7:string) -> 
8:string) -> 7:string) -> 8:string
+                      projectedOutputColumnNums: [0, 1, 2, 13]
+                      selectExpressions: IfExprColumnCondExpr(col 3:boolean, 
col 4:stringcol 12:string)(children: LongColEqualLongScalar(col 2:bigint, val 
0) -> 3:boolean, ConstantVectorExpression(val 0) -> 4:string, 
IfExprColumnCondExpr(col 5:boolean, col 6:stringcol 11:string)(children: 
LongColEqualLongScalar(col 2:bigint, val 1) -> 5:boolean, 
ConstantVectorExpression(val 1) -> 6:string, IfExprColumnCondExpr(col 
7:boolean, col 8:stringcol 10:string)(children: LongColEqualLongScalar(col 
2:bigint, val 2) -> 7:boolean, ConstantVectorExpression(val 2) -> 8:string, 
IfExprStringScalarStringScalar(col 9:boolean, val 3, val nothing)(children: 
LongColEqualLongScalar(col 2:bigint, val 3) -> 9:boolean) -> 10:string) -> 
11:string) -> 12:string) -> 13:string
                   Statistics: Num rows: 12 Data size: 4416 Basic stats: 
COMPLETE Column stats: NONE
                   File Output Operator
                     compressed: false
@@ -924,8 +924,8 @@ STAGE PLANS:
                   Select Vectorization:
                       className: VectorSelectOperator
                       native: true
-                      projectedOutputColumnNums: [0, 1, 2, 8]
-                      selectExpressions: 
IfExprStringScalarStringGroupColumn(col 3:boolean, val 0col 7:string)(children: 
LongColEqualLongScalar(col 2:bigint, val 0) -> 3:boolean, 
IfExprStringScalarStringGroupColumn(col 4:boolean, val 1col 8:string)(children: 
LongColEqualLongScalar(col 2:bigint, val 1) -> 4:boolean, 
IfExprStringScalarStringGroupColumn(col 5:boolean, val 2col 7:string)(children: 
LongColEqualLongScalar(col 2:bigint, val 2) -> 5:boolean, 
IfExprStringScalarStringScalar(col 6:boolean, val 3, val nothing)(children: 
LongColEqualLongScalar(col 2:bigint, val 3) -> 6:boolean) -> 7:string) -> 
8:string) -> 7:string) -> 8:string
+                      projectedOutputColumnNums: [0, 1, 2, 13]
+                      selectExpressions: IfExprColumnCondExpr(col 3:boolean, 
col 4:stringcol 12:string)(children: LongColEqualLongScalar(col 2:bigint, val 
0) -> 3:boolean, ConstantVectorExpression(val 0) -> 4:string, 
IfExprColumnCondExpr(col 5:boolean, col 6:stringcol 11:string)(children: 
LongColEqualLongScalar(col 2:bigint, val 1) -> 5:boolean, 
ConstantVectorExpression(val 1) -> 6:string, IfExprColumnCondExpr(col 
7:boolean, col 8:stringcol 10:string)(children: LongColEqualLongScalar(col 
2:bigint, val 2) -> 7:boolean, ConstantVectorExpression(val 2) -> 8:string, 
IfExprStringScalarStringScalar(col 9:boolean, val 3, val nothing)(children: 
LongColEqualLongScalar(col 2:bigint, val 3) -> 9:boolean) -> 10:string) -> 
11:string) -> 12:string) -> 13:string
                   Statistics: Num rows: 12 Data size: 4416 Basic stats: 
COMPLETE Column stats: NONE
                   File Output Operator
                     compressed: false

Reply via email to