HIVE-16135: Vectorization: unhandled constant type for scalar argument (Teddy 
Choi, reviewed by Matt McCline)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/74372256
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/74372256
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/74372256

Branch: refs/heads/hive-14535
Commit: 74372256d18371e188885ef0c458fba25da0ba32
Parents: bb9ea57
Author: Author: Teddy Choi <tc...@hortonworks.com>
Authored: Thu Mar 9 00:33:09 2017 -0600
Committer: Matt McCline <mmccl...@hortonworks.com>
Committed: Thu Mar 9 00:33:29 2017 -0600

----------------------------------------------------------------------
 .../ql/exec/vector/VectorizationContext.java    |   5 +-
 .../test/queries/clientpositive/vector_date_1.q |   5 +
 .../clientpositive/vectorized_timestamp.q       |  10 ++
 .../clientpositive/llap/vector_date_1.q.out     |  78 ++++++++++++
 .../llap/vectorized_timestamp.q.out             |  60 +++++++++
 .../results/clientpositive/vector_date_1.q.out  |  74 +++++++++++
 .../clientpositive/vectorized_timestamp.q.out   | 125 +++++++++++++++++++
 7 files changed, 355 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/74372256/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizationContext.java
----------------------------------------------------------------------
diff --git 
a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizationContext.java 
b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizationContext.java
index f184b8d..5b0c2bf 100644
--- 
a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizationContext.java
+++ 
b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizationContext.java
@@ -2534,7 +2534,8 @@ public class VectorizationContext {
           "Non-constant argument not supported for vectorization.");
     }
     ExprNodeConstantDesc constExpr = (ExprNodeConstantDesc) expr;
-    if (isStringFamily(constExpr.getTypeString())) {
+    String constTypeString = constExpr.getTypeString();
+    if (isStringFamily(constTypeString) || isDatetimeFamily(constTypeString)) {
 
       // create expression tree with type cast from string to timestamp
       ExprNodeGenericFuncDesc expr2 = new ExprNodeGenericFuncDesc();
@@ -2549,7 +2550,7 @@ public class VectorizationContext {
     }
 
     throw new HiveException("Udf: unhandled constant type for scalar argument. 
"
-        + "Expecting string.");
+        + "Expecting string/date/timestamp.");
   }
 
   private Timestamp evaluateCastToTimestamp(ExprNodeDesc expr) throws 
HiveException {

http://git-wip-us.apache.org/repos/asf/hive/blob/74372256/ql/src/test/queries/clientpositive/vector_date_1.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/vector_date_1.q 
b/ql/src/test/queries/clientpositive/vector_date_1.q
index 7e8768c..0055973 100644
--- a/ql/src/test/queries/clientpositive/vector_date_1.q
+++ b/ql/src/test/queries/clientpositive/vector_date_1.q
@@ -182,4 +182,9 @@ where
   and date '1970-01-01' <= dt1
 order by dt1;
 
+EXPLAIN VECTORIZATION EXPRESSION
+SELECT dt1 FROM vector_date_1 WHERE dt1 IN (date '1970-01-01', date 
'2001-01-01');
+
+SELECT dt1 FROM vector_date_1 WHERE dt1 IN (date '1970-01-01', date 
'2001-01-01');
+
 drop table vector_date_1;

http://git-wip-us.apache.org/repos/asf/hive/blob/74372256/ql/src/test/queries/clientpositive/vectorized_timestamp.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/vectorized_timestamp.q 
b/ql/src/test/queries/clientpositive/vectorized_timestamp.q
index ceee2ee..c110597 100644
--- a/ql/src/test/queries/clientpositive/vectorized_timestamp.q
+++ b/ql/src/test/queries/clientpositive/vectorized_timestamp.q
@@ -16,6 +16,11 @@ SELECT MIN(ts), MAX(ts), MAX(ts) - MIN(ts) FROM test;
 
 SELECT MIN(ts), MAX(ts), MAX(ts) - MIN(ts) FROM test;
 
+EXPLAIN VECTORIZATION EXPRESSION
+SELECT ts FROM test WHERE ts IN (timestamp '0001-01-01 00:00:00.000000000', 
timestamp '0002-02-02 00:00:00.000000000');
+
+SELECT ts FROM test WHERE ts IN (timestamp '0001-01-01 00:00:00.000000000', 
timestamp '0002-02-02 00:00:00.000000000');
+
 SET hive.vectorized.execution.enabled = true;
 EXPLAIN VECTORIZATION EXPRESSION
 SELECT ts FROM test;
@@ -26,3 +31,8 @@ EXPLAIN VECTORIZATION EXPRESSION
 SELECT MIN(ts), MAX(ts), MAX(ts) - MIN(ts) FROM test;
 
 SELECT MIN(ts), MAX(ts), MAX(ts) - MIN(ts) FROM test;
+
+EXPLAIN VECTORIZATION EXPRESSION
+SELECT ts FROM test WHERE ts IN (timestamp '0001-01-01 00:00:00.000000000', 
timestamp '0002-02-02 00:00:00.000000000');
+
+SELECT ts FROM test WHERE ts IN (timestamp '0001-01-01 00:00:00.000000000', 
timestamp '0002-02-02 00:00:00.000000000');

http://git-wip-us.apache.org/repos/asf/hive/blob/74372256/ql/src/test/results/clientpositive/llap/vector_date_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vector_date_1.q.out 
b/ql/src/test/results/clientpositive/llap/vector_date_1.q.out
index 8fbbb0a..a4f1050 100644
--- a/ql/src/test/results/clientpositive/llap/vector_date_1.q.out
+++ b/ql/src/test/results/clientpositive/llap/vector_date_1.q.out
@@ -708,6 +708,84 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@vector_date_1
 #### A masked pattern was here ####
 2001-01-01     2001-06-01
+PREHOOK: query: EXPLAIN VECTORIZATION EXPRESSION
+SELECT dt1 FROM vector_date_1 WHERE dt1 IN (date '1970-01-01', date 
'2001-01-01')
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN VECTORIZATION EXPRESSION
+SELECT dt1 FROM vector_date_1 WHERE dt1 IN (date '1970-01-01', date 
'2001-01-01')
+POSTHOOK: type: QUERY
+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 ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: vector_date_1
+                  Statistics: Num rows: 3 Data size: 224 Basic stats: COMPLETE 
Column stats: NONE
+                  TableScan Vectorization:
+                      native: true
+                      projectedOutputColumns: [0, 1]
+                  Filter Operator
+                    Filter Vectorization:
+                        className: VectorFilterOperator
+                        native: true
+                        predicateExpression: FilterLongColumnInList(col 0, 
values [0, 11323]) -> boolean
+                    predicate: (dt1) IN (1970-01-01, 2001-01-01) (type: 
boolean)
+                    Statistics: Num rows: 2 Data size: 149 Basic stats: 
COMPLETE Column stats: NONE
+                    Select Operator
+                      expressions: dt1 (type: date)
+                      outputColumnNames: _col0
+                      Select Vectorization:
+                          className: VectorSelectOperator
+                          native: true
+                          projectedOutputColumns: [0]
+                      Statistics: Num rows: 2 Data size: 149 Basic stats: 
COMPLETE Column stats: NONE
+                      File Output Operator
+                        compressed: false
+                        File Sink Vectorization:
+                            className: VectorFileSinkOperator
+                            native: false
+                        Statistics: Num rows: 2 Data size: 149 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
+            Execution mode: vectorized, llap
+            LLAP IO: all inputs
+            Map Vectorization:
+                enabled: true
+                enabledConditionsMet: 
hive.vectorized.use.vectorized.input.format IS true
+                groupByVectorOutput: true
+                inputFileFormats: 
org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
+                allNative: false
+                usesVectorUDFAdaptor: false
+                vectorized: true
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: SELECT dt1 FROM vector_date_1 WHERE dt1 IN (date '1970-01-01', 
date '2001-01-01')
+PREHOOK: type: QUERY
+PREHOOK: Input: default@vector_date_1
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT dt1 FROM vector_date_1 WHERE dt1 IN (date 
'1970-01-01', date '2001-01-01')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@vector_date_1
+#### A masked pattern was here ####
+2001-01-01
 PREHOOK: query: drop table vector_date_1
 PREHOOK: type: DROPTABLE
 PREHOOK: Input: default@vector_date_1

http://git-wip-us.apache.org/repos/asf/hive/blob/74372256/ql/src/test/results/clientpositive/llap/vectorized_timestamp.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorized_timestamp.q.out 
b/ql/src/test/results/clientpositive/llap/vectorized_timestamp.q.out
index 63fff72..82d5518 100644
--- a/ql/src/test/results/clientpositive/llap/vectorized_timestamp.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorized_timestamp.q.out
@@ -86,6 +86,36 @@ POSTHOOK: Input: default@test
 #### A masked pattern was here ####
 0001-01-01 00:00:00    9999-12-31 23:59:59.999999999   3652060 
23:59:59.999999999
 PREHOOK: query: EXPLAIN VECTORIZATION EXPRESSION
+SELECT ts FROM test WHERE ts IN (timestamp '0001-01-01 00:00:00.000000000', 
timestamp '0002-02-02 00:00:00.000000000')
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN VECTORIZATION EXPRESSION
+SELECT ts FROM test WHERE ts IN (timestamp '0001-01-01 00:00:00.000000000', 
timestamp '0002-02-02 00:00:00.000000000')
+POSTHOOK: type: QUERY
+Plan optimized by CBO.
+
+Stage-0
+  Fetch Operator
+    limit:-1
+    Stage-1
+      Map 1 llap
+      File Output Operator [FS_3]
+        Select Operator [SEL_2] (rows=1 width=40)
+          Output:["_col0"]
+          Filter Operator [FIL_4] (rows=1 width=40)
+            predicate:(ts) IN (0001-01-01 00:00:00.0, 0002-02-02 00:00:00.0)
+            TableScan [TS_0] (rows=2 width=40)
+              default@test,test,Tbl:COMPLETE,Col:NONE,Output:["ts"]
+
+PREHOOK: query: SELECT ts FROM test WHERE ts IN (timestamp '0001-01-01 
00:00:00.000000000', timestamp '0002-02-02 00:00:00.000000000')
+PREHOOK: type: QUERY
+PREHOOK: Input: default@test
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT ts FROM test WHERE ts IN (timestamp '0001-01-01 
00:00:00.000000000', timestamp '0002-02-02 00:00:00.000000000')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@test
+#### A masked pattern was here ####
+0001-01-01 00:00:00
+PREHOOK: query: EXPLAIN VECTORIZATION EXPRESSION
 SELECT ts FROM test
 PREHOOK: type: QUERY
 POSTHOOK: query: EXPLAIN VECTORIZATION EXPRESSION
@@ -153,3 +183,33 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@test
 #### A masked pattern was here ####
 0001-01-01 00:00:00    9999-12-31 23:59:59.999999999   3652060 
23:59:59.999999999
+PREHOOK: query: EXPLAIN VECTORIZATION EXPRESSION
+SELECT ts FROM test WHERE ts IN (timestamp '0001-01-01 00:00:00.000000000', 
timestamp '0002-02-02 00:00:00.000000000')
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN VECTORIZATION EXPRESSION
+SELECT ts FROM test WHERE ts IN (timestamp '0001-01-01 00:00:00.000000000', 
timestamp '0002-02-02 00:00:00.000000000')
+POSTHOOK: type: QUERY
+Plan optimized by CBO.
+
+Stage-0
+  Fetch Operator
+    limit:-1
+    Stage-1
+      Map 1 vectorized, llap
+      File Output Operator [FS_7]
+        Select Operator [SEL_6] (rows=1 width=40)
+          Output:["_col0"]
+          Filter Operator [FIL_5] (rows=1 width=40)
+            predicate:(ts) IN (0001-01-01 00:00:00.0, 0002-02-02 00:00:00.0)
+            TableScan [TS_0] (rows=2 width=40)
+              default@test,test,Tbl:COMPLETE,Col:NONE,Output:["ts"]
+
+PREHOOK: query: SELECT ts FROM test WHERE ts IN (timestamp '0001-01-01 
00:00:00.000000000', timestamp '0002-02-02 00:00:00.000000000')
+PREHOOK: type: QUERY
+PREHOOK: Input: default@test
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT ts FROM test WHERE ts IN (timestamp '0001-01-01 
00:00:00.000000000', timestamp '0002-02-02 00:00:00.000000000')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@test
+#### A masked pattern was here ####
+0001-01-01 00:00:00

http://git-wip-us.apache.org/repos/asf/hive/blob/74372256/ql/src/test/results/clientpositive/vector_date_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vector_date_1.q.out 
b/ql/src/test/results/clientpositive/vector_date_1.q.out
index 0cce38e..c2389e6 100644
--- a/ql/src/test/results/clientpositive/vector_date_1.q.out
+++ b/ql/src/test/results/clientpositive/vector_date_1.q.out
@@ -654,6 +654,80 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@vector_date_1
 #### A masked pattern was here ####
 2001-01-01     2001-06-01
+PREHOOK: query: EXPLAIN VECTORIZATION EXPRESSION
+SELECT dt1 FROM vector_date_1 WHERE dt1 IN (date '1970-01-01', date 
'2001-01-01')
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN VECTORIZATION EXPRESSION
+SELECT dt1 FROM vector_date_1 WHERE dt1 IN (date '1970-01-01', date 
'2001-01-01')
+POSTHOOK: type: QUERY
+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
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: vector_date_1
+            Statistics: Num rows: 3 Data size: 224 Basic stats: COMPLETE 
Column stats: NONE
+            TableScan Vectorization:
+                native: true
+                projectedOutputColumns: [0, 1]
+            Filter Operator
+              Filter Vectorization:
+                  className: VectorFilterOperator
+                  native: true
+                  predicateExpression: FilterLongColumnInList(col 0, values 
[0, 11323]) -> boolean
+              predicate: (dt1) IN (1970-01-01, 2001-01-01) (type: boolean)
+              Statistics: Num rows: 2 Data size: 149 Basic stats: COMPLETE 
Column stats: NONE
+              Select Operator
+                expressions: dt1 (type: date)
+                outputColumnNames: _col0
+                Select Vectorization:
+                    className: VectorSelectOperator
+                    native: true
+                    projectedOutputColumns: [0]
+                Statistics: Num rows: 2 Data size: 149 Basic stats: COMPLETE 
Column stats: NONE
+                File Output Operator
+                  compressed: false
+                  File Sink Vectorization:
+                      className: VectorFileSinkOperator
+                      native: false
+                  Statistics: Num rows: 2 Data size: 149 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
+      Execution mode: vectorized
+      Map Vectorization:
+          enabled: true
+          enabledConditionsMet: hive.vectorized.use.vectorized.input.format IS 
true
+          groupByVectorOutput: true
+          inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
+          allNative: false
+          usesVectorUDFAdaptor: false
+          vectorized: true
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: SELECT dt1 FROM vector_date_1 WHERE dt1 IN (date '1970-01-01', 
date '2001-01-01')
+PREHOOK: type: QUERY
+PREHOOK: Input: default@vector_date_1
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT dt1 FROM vector_date_1 WHERE dt1 IN (date 
'1970-01-01', date '2001-01-01')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@vector_date_1
+#### A masked pattern was here ####
+2001-01-01
 PREHOOK: query: drop table vector_date_1
 PREHOOK: type: DROPTABLE
 PREHOOK: Input: default@vector_date_1

http://git-wip-us.apache.org/repos/asf/hive/blob/74372256/ql/src/test/results/clientpositive/vectorized_timestamp.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vectorized_timestamp.q.out 
b/ql/src/test/results/clientpositive/vectorized_timestamp.q.out
index cce9f65..4945e4a 100644
--- a/ql/src/test/results/clientpositive/vectorized_timestamp.q.out
+++ b/ql/src/test/results/clientpositive/vectorized_timestamp.q.out
@@ -142,6 +142,57 @@ POSTHOOK: Input: default@test
 #### A masked pattern was here ####
 0001-01-01 00:00:00    9999-12-31 23:59:59.999999999   3652060 
23:59:59.999999999
 PREHOOK: query: EXPLAIN VECTORIZATION EXPRESSION
+SELECT ts FROM test WHERE ts IN (timestamp '0001-01-01 00:00:00.000000000', 
timestamp '0002-02-02 00:00:00.000000000')
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN VECTORIZATION EXPRESSION
+SELECT ts FROM test WHERE ts IN (timestamp '0001-01-01 00:00:00.000000000', 
timestamp '0002-02-02 00:00:00.000000000')
+POSTHOOK: type: QUERY
+PLAN VECTORIZATION:
+  enabled: false
+  enabledConditionsNotMet: [hive.vectorized.execution.enabled IS false]
+
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: test
+            Statistics: Num rows: 2 Data size: 80 Basic stats: COMPLETE Column 
stats: NONE
+            Filter Operator
+              predicate: (ts) IN (0001-01-01 00:00:00.0, 0002-02-02 
00:00:00.0) (type: boolean)
+              Statistics: Num rows: 1 Data size: 40 Basic stats: COMPLETE 
Column stats: NONE
+              Select Operator
+                expressions: ts (type: timestamp)
+                outputColumnNames: _col0
+                Statistics: Num rows: 1 Data size: 40 Basic stats: COMPLETE 
Column stats: NONE
+                File Output Operator
+                  compressed: false
+                  Statistics: Num rows: 1 Data size: 40 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 ts FROM test WHERE ts IN (timestamp '0001-01-01 
00:00:00.000000000', timestamp '0002-02-02 00:00:00.000000000')
+PREHOOK: type: QUERY
+PREHOOK: Input: default@test
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT ts FROM test WHERE ts IN (timestamp '0001-01-01 
00:00:00.000000000', timestamp '0002-02-02 00:00:00.000000000')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@test
+#### A masked pattern was here ####
+0001-01-01 00:00:00
+PREHOOK: query: EXPLAIN VECTORIZATION EXPRESSION
 SELECT ts FROM test
 PREHOOK: type: QUERY
 POSTHOOK: query: EXPLAIN VECTORIZATION EXPRESSION
@@ -311,3 +362,77 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@test
 #### A masked pattern was here ####
 0001-01-01 00:00:00    9999-12-31 23:59:59.999999999   3652060 
23:59:59.999999999
+PREHOOK: query: EXPLAIN VECTORIZATION EXPRESSION
+SELECT ts FROM test WHERE ts IN (timestamp '0001-01-01 00:00:00.000000000', 
timestamp '0002-02-02 00:00:00.000000000')
+PREHOOK: type: QUERY
+POSTHOOK: query: EXPLAIN VECTORIZATION EXPRESSION
+SELECT ts FROM test WHERE ts IN (timestamp '0001-01-01 00:00:00.000000000', 
timestamp '0002-02-02 00:00:00.000000000')
+POSTHOOK: type: QUERY
+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
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: test
+            Statistics: Num rows: 2 Data size: 80 Basic stats: COMPLETE Column 
stats: NONE
+            TableScan Vectorization:
+                native: true
+                projectedOutputColumns: [0]
+            Filter Operator
+              Filter Vectorization:
+                  className: VectorFilterOperator
+                  native: true
+                  predicateExpression: FilterTimestampColumnInList(col 0, 
values [0001-01-01 00:00:00.0, 0002-02-02 00:00:00.0]) -> boolean
+              predicate: (ts) IN (0001-01-01 00:00:00.0, 0002-02-02 
00:00:00.0) (type: boolean)
+              Statistics: Num rows: 1 Data size: 40 Basic stats: COMPLETE 
Column stats: NONE
+              Select Operator
+                expressions: ts (type: timestamp)
+                outputColumnNames: _col0
+                Select Vectorization:
+                    className: VectorSelectOperator
+                    native: true
+                    projectedOutputColumns: [0]
+                Statistics: Num rows: 1 Data size: 40 Basic stats: COMPLETE 
Column stats: NONE
+                File Output Operator
+                  compressed: false
+                  File Sink Vectorization:
+                      className: VectorFileSinkOperator
+                      native: false
+                  Statistics: Num rows: 1 Data size: 40 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
+      Execution mode: vectorized
+      Map Vectorization:
+          enabled: true
+          enabledConditionsMet: hive.vectorized.use.vectorized.input.format IS 
true
+          groupByVectorOutput: true
+          inputFileFormats: org.apache.hadoop.hive.ql.io.orc.OrcInputFormat
+          allNative: false
+          usesVectorUDFAdaptor: false
+          vectorized: true
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: SELECT ts FROM test WHERE ts IN (timestamp '0001-01-01 
00:00:00.000000000', timestamp '0002-02-02 00:00:00.000000000')
+PREHOOK: type: QUERY
+PREHOOK: Input: default@test
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT ts FROM test WHERE ts IN (timestamp '0001-01-01 
00:00:00.000000000', timestamp '0002-02-02 00:00:00.000000000')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@test
+#### A masked pattern was here ####
+0001-01-01 00:00:00

Reply via email to