Added: hive/trunk/ql/src/test/results/clientpositive/vector_interval_2.q.out
URL: 
http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/vector_interval_2.q.out?rev=1669376&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/vector_interval_2.q.out 
(added)
+++ hive/trunk/ql/src/test/results/clientpositive/vector_interval_2.q.out Thu 
Mar 26 17:49:31 2015
@@ -0,0 +1,1550 @@
+PREHOOK: query: drop table if exists vector_interval_2
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table if exists vector_interval_2
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table vector_interval_2 (ts timestamp, dt date, str1 
string, str2 string, str3 string, str4 string) stored as orc
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@vector_interval_2
+POSTHOOK: query: create table vector_interval_2 (ts timestamp, dt date, str1 
string, str2 string, str3 string, str4 string) stored as orc
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@vector_interval_2
+PREHOOK: query: insert into vector_interval_2
+  select timestamp '2001-01-01 01:02:03', date '2001-01-01', '1-2', '1-3', '1 
2:3:4', '1 2:3:5' from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@vector_interval_2
+POSTHOOK: query: insert into vector_interval_2
+  select timestamp '2001-01-01 01:02:03', date '2001-01-01', '1-2', '1-3', '1 
2:3:4', '1 2:3:5' from src limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@vector_interval_2
+POSTHOOK: Lineage: vector_interval_2.dt SIMPLE []
+POSTHOOK: Lineage: vector_interval_2.str1 SIMPLE []
+POSTHOOK: Lineage: vector_interval_2.str2 SIMPLE []
+POSTHOOK: Lineage: vector_interval_2.str3 SIMPLE []
+POSTHOOK: Lineage: vector_interval_2.str4 SIMPLE []
+POSTHOOK: Lineage: vector_interval_2.ts SIMPLE []
+PREHOOK: query: insert into vector_interval_2
+  select null, null, null, null, null, null from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@vector_interval_2
+POSTHOOK: query: insert into vector_interval_2
+  select null, null, null, null, null, null from src limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@vector_interval_2
+POSTHOOK: Lineage: vector_interval_2.dt EXPRESSION []
+POSTHOOK: Lineage: vector_interval_2.str1 EXPRESSION []
+POSTHOOK: Lineage: vector_interval_2.str2 EXPRESSION []
+POSTHOOK: Lineage: vector_interval_2.str3 EXPRESSION []
+POSTHOOK: Lineage: vector_interval_2.str4 EXPRESSION []
+POSTHOOK: Lineage: vector_interval_2.ts EXPRESSION []
+PREHOOK: query: -- interval comparisons in select clause
+
+explain
+select
+  str1,
+  -- Should all be true
+  interval_year_month(str1) = interval_year_month(str1),
+  interval_year_month(str1) <= interval_year_month(str1),
+  interval_year_month(str1) <= interval_year_month(str2),
+  interval_year_month(str1) < interval_year_month(str2),
+  interval_year_month(str1) >= interval_year_month(str1),
+  interval_year_month(str2) >= interval_year_month(str1),
+  interval_year_month(str2) > interval_year_month(str1),
+  interval_year_month(str1) != interval_year_month(str2),
+
+  interval_year_month(str1) = interval '1-2' year to month,
+  interval_year_month(str1) <= interval '1-2' year to month,
+  interval_year_month(str1) <= interval '1-3' year to month,
+  interval_year_month(str1) < interval '1-3' year to month,
+  interval_year_month(str1) >= interval '1-2' year to month,
+  interval_year_month(str2) >= interval '1-2' year to month,
+  interval_year_month(str2) > interval '1-2' year to month,
+  interval_year_month(str1) != interval '1-3' year to month,
+
+  interval '1-2' year to month = interval_year_month(str1),
+  interval '1-2' year to month <= interval_year_month(str1),
+  interval '1-2' year to month <= interval_year_month(str2),
+  interval '1-2' year to month < interval_year_month(str2),
+  interval '1-2' year to month >= interval_year_month(str1),
+  interval '1-3' year to month >= interval_year_month(str1),
+  interval '1-3' year to month > interval_year_month(str1),
+  interval '1-2' year to month != interval_year_month(str2)
+from vector_interval_2 order by str1
+PREHOOK: type: QUERY
+POSTHOOK: query: -- interval comparisons in select clause
+
+explain
+select
+  str1,
+  -- Should all be true
+  interval_year_month(str1) = interval_year_month(str1),
+  interval_year_month(str1) <= interval_year_month(str1),
+  interval_year_month(str1) <= interval_year_month(str2),
+  interval_year_month(str1) < interval_year_month(str2),
+  interval_year_month(str1) >= interval_year_month(str1),
+  interval_year_month(str2) >= interval_year_month(str1),
+  interval_year_month(str2) > interval_year_month(str1),
+  interval_year_month(str1) != interval_year_month(str2),
+
+  interval_year_month(str1) = interval '1-2' year to month,
+  interval_year_month(str1) <= interval '1-2' year to month,
+  interval_year_month(str1) <= interval '1-3' year to month,
+  interval_year_month(str1) < interval '1-3' year to month,
+  interval_year_month(str1) >= interval '1-2' year to month,
+  interval_year_month(str2) >= interval '1-2' year to month,
+  interval_year_month(str2) > interval '1-2' year to month,
+  interval_year_month(str1) != interval '1-3' year to month,
+
+  interval '1-2' year to month = interval_year_month(str1),
+  interval '1-2' year to month <= interval_year_month(str1),
+  interval '1-2' year to month <= interval_year_month(str2),
+  interval '1-2' year to month < interval_year_month(str2),
+  interval '1-2' year to month >= interval_year_month(str1),
+  interval '1-3' year to month >= interval_year_month(str1),
+  interval '1-3' year to month > interval_year_month(str1),
+  interval '1-2' year to month != interval_year_month(str2)
+from vector_interval_2 order by str1
+POSTHOOK: type: QUERY
+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_interval_2
+            Statistics: Num rows: 2 Data size: 788 Basic stats: COMPLETE 
Column stats: NONE
+            Select Operator
+              expressions: str1 (type: string), (CAST( str1 AS INTERVAL YEAR 
TO MONTH) = CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str1 
AS INTERVAL YEAR TO MONTH) <= CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: 
boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) <= CAST( str2 AS INTERVAL YEAR 
TO MONTH)) (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) < CAST( str2 
AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str1 AS INTERVAL YEAR TO 
MONTH) >= CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str2 
AS INTERVAL YEAR TO MONTH) >= CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: 
boolean), (CAST( str2 AS INTERVAL YEAR TO MONTH) > CAST( str1 AS INTERVAL YEAR 
TO MONTH)) (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) <> CAST( 
str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str1 AS INTERVAL YEAR 
TO MONTH) = 1-2) (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) <= 
1-2) (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) <=
  1-3) (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) < 1-3) (type: 
boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) >= 1-2) (type: boolean), 
(CAST( str2 AS INTERVAL YEAR TO MONTH) >= 1-2) (type: boolean), (CAST( str2 AS 
INTERVAL YEAR TO MONTH) > 1-2) (type: boolean), (CAST( str1 AS INTERVAL YEAR TO 
MONTH) <> 1-3) (type: boolean), (1-2 = CAST( str1 AS INTERVAL YEAR TO MONTH)) 
(type: boolean), (1-2 <= CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: 
boolean), (1-2 <= CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), (1-2 
< CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), (1-2 >= CAST( str1 AS 
INTERVAL YEAR TO MONTH)) (type: boolean), (1-3 >= CAST( str1 AS INTERVAL YEAR 
TO MONTH)) (type: boolean), (1-3 > CAST( str1 AS INTERVAL YEAR TO MONTH)) 
(type: boolean), (1-2 <> CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean)
+              outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, 
_col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, 
_col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24
+              Statistics: Num rows: 2 Data size: 788 Basic stats: COMPLETE 
Column stats: NONE
+              Reduce Output Operator
+                key expressions: _col0 (type: string)
+                sort order: +
+                Statistics: Num rows: 2 Data size: 788 Basic stats: COMPLETE 
Column stats: NONE
+                value expressions: _col1 (type: boolean), _col2 (type: 
boolean), _col3 (type: boolean), _col4 (type: boolean), _col5 (type: boolean), 
_col6 (type: boolean), _col7 (type: boolean), _col8 (type: boolean), _col9 
(type: boolean), _col10 (type: boolean), _col11 (type: boolean), _col12 (type: 
boolean), _col13 (type: boolean), _col14 (type: boolean), _col15 (type: 
boolean), _col16 (type: boolean), _col17 (type: boolean), _col18 (type: 
boolean), _col19 (type: boolean), _col20 (type: boolean), _col21 (type: 
boolean), _col22 (type: boolean), _col23 (type: boolean), _col24 (type: boolean)
+      Execution mode: vectorized
+      Reduce Operator Tree:
+        Select Operator
+          expressions: KEY.reducesinkkey0 (type: string), VALUE._col0 (type: 
boolean), VALUE._col1 (type: boolean), VALUE._col2 (type: boolean), VALUE._col3 
(type: boolean), VALUE._col4 (type: boolean), VALUE._col5 (type: boolean), 
VALUE._col6 (type: boolean), VALUE._col7 (type: boolean), VALUE._col8 (type: 
boolean), VALUE._col9 (type: boolean), VALUE._col10 (type: boolean), 
VALUE._col11 (type: boolean), VALUE._col12 (type: boolean), VALUE._col13 (type: 
boolean), VALUE._col14 (type: boolean), VALUE._col15 (type: boolean), 
VALUE._col16 (type: boolean), VALUE._col17 (type: boolean), VALUE._col18 (type: 
boolean), VALUE._col19 (type: boolean), VALUE._col20 (type: boolean), 
VALUE._col21 (type: boolean), VALUE._col22 (type: boolean), VALUE._col23 (type: 
boolean)
+          outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, 
_col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, 
_col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24
+          Statistics: Num rows: 2 Data size: 788 Basic stats: COMPLETE Column 
stats: NONE
+          File Output Operator
+            compressed: false
+            Statistics: Num rows: 2 Data size: 788 Basic stats: COMPLETE 
Column stats: NONE
+            table:
+                input format: org.apache.hadoop.mapred.TextInputFormat
+                output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: select
+  str1,
+  -- Should all be true
+  interval_year_month(str1) = interval_year_month(str1),
+  interval_year_month(str1) <= interval_year_month(str1),
+  interval_year_month(str1) <= interval_year_month(str2),
+  interval_year_month(str1) < interval_year_month(str2),
+  interval_year_month(str1) >= interval_year_month(str1),
+  interval_year_month(str2) >= interval_year_month(str1),
+  interval_year_month(str2) > interval_year_month(str1),
+  interval_year_month(str1) != interval_year_month(str2),
+
+  interval_year_month(str1) = interval '1-2' year to month,
+  interval_year_month(str1) <= interval '1-2' year to month,
+  interval_year_month(str1) <= interval '1-3' year to month,
+  interval_year_month(str1) < interval '1-3' year to month,
+  interval_year_month(str1) >= interval '1-2' year to month,
+  interval_year_month(str2) >= interval '1-2' year to month,
+  interval_year_month(str2) > interval '1-2' year to month,
+  interval_year_month(str1) != interval '1-3' year to month,
+
+  interval '1-2' year to month = interval_year_month(str1),
+  interval '1-2' year to month <= interval_year_month(str1),
+  interval '1-2' year to month <= interval_year_month(str2),
+  interval '1-2' year to month < interval_year_month(str2),
+  interval '1-2' year to month >= interval_year_month(str1),
+  interval '1-3' year to month >= interval_year_month(str1),
+  interval '1-3' year to month > interval_year_month(str1),
+  interval '1-2' year to month != interval_year_month(str2)
+from vector_interval_2 order by str1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@vector_interval_2
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  str1,
+  -- Should all be true
+  interval_year_month(str1) = interval_year_month(str1),
+  interval_year_month(str1) <= interval_year_month(str1),
+  interval_year_month(str1) <= interval_year_month(str2),
+  interval_year_month(str1) < interval_year_month(str2),
+  interval_year_month(str1) >= interval_year_month(str1),
+  interval_year_month(str2) >= interval_year_month(str1),
+  interval_year_month(str2) > interval_year_month(str1),
+  interval_year_month(str1) != interval_year_month(str2),
+
+  interval_year_month(str1) = interval '1-2' year to month,
+  interval_year_month(str1) <= interval '1-2' year to month,
+  interval_year_month(str1) <= interval '1-3' year to month,
+  interval_year_month(str1) < interval '1-3' year to month,
+  interval_year_month(str1) >= interval '1-2' year to month,
+  interval_year_month(str2) >= interval '1-2' year to month,
+  interval_year_month(str2) > interval '1-2' year to month,
+  interval_year_month(str1) != interval '1-3' year to month,
+
+  interval '1-2' year to month = interval_year_month(str1),
+  interval '1-2' year to month <= interval_year_month(str1),
+  interval '1-2' year to month <= interval_year_month(str2),
+  interval '1-2' year to month < interval_year_month(str2),
+  interval '1-2' year to month >= interval_year_month(str1),
+  interval '1-3' year to month >= interval_year_month(str1),
+  interval '1-3' year to month > interval_year_month(str1),
+  interval '1-2' year to month != interval_year_month(str2)
+from vector_interval_2 order by str1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@vector_interval_2
+#### A masked pattern was here ####
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    
NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    
NULL    NULL    NULL    NULL    NULL
+1-2    true    true    true    true    true    true    true    true    true    
true    true    true    true    true    true    true    true    true    true    
true    true    true    true    true
+PREHOOK: query: explain
+select
+  str1,
+  -- Should all be false
+  interval_year_month(str1) != interval_year_month(str1),
+  interval_year_month(str1) >= interval_year_month(str2),
+  interval_year_month(str1) > interval_year_month(str2),
+  interval_year_month(str2) <= interval_year_month(str1),
+  interval_year_month(str2) < interval_year_month(str1),
+  interval_year_month(str1) != interval_year_month(str1),
+
+  interval_year_month(str1) != interval '1-2' year to month,
+  interval_year_month(str1) >= interval '1-3' year to month,
+  interval_year_month(str1) > interval '1-3' year to month,
+  interval_year_month(str2) <= interval '1-2' year to month,
+  interval_year_month(str2) < interval '1-2' year to month,
+  interval_year_month(str1) != interval '1-2' year to month,
+
+  interval '1-2' year to month != interval_year_month(str1),
+  interval '1-2' year to month >= interval_year_month(str2),
+  interval '1-2' year to month > interval_year_month(str2),
+  interval '1-3' year to month <= interval_year_month(str1),
+  interval '1-3' year to month < interval_year_month(str1),
+  interval '1-2' year to month != interval_year_month(str1)
+from vector_interval_2 order by str1
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+select
+  str1,
+  -- Should all be false
+  interval_year_month(str1) != interval_year_month(str1),
+  interval_year_month(str1) >= interval_year_month(str2),
+  interval_year_month(str1) > interval_year_month(str2),
+  interval_year_month(str2) <= interval_year_month(str1),
+  interval_year_month(str2) < interval_year_month(str1),
+  interval_year_month(str1) != interval_year_month(str1),
+
+  interval_year_month(str1) != interval '1-2' year to month,
+  interval_year_month(str1) >= interval '1-3' year to month,
+  interval_year_month(str1) > interval '1-3' year to month,
+  interval_year_month(str2) <= interval '1-2' year to month,
+  interval_year_month(str2) < interval '1-2' year to month,
+  interval_year_month(str1) != interval '1-2' year to month,
+
+  interval '1-2' year to month != interval_year_month(str1),
+  interval '1-2' year to month >= interval_year_month(str2),
+  interval '1-2' year to month > interval_year_month(str2),
+  interval '1-3' year to month <= interval_year_month(str1),
+  interval '1-3' year to month < interval_year_month(str1),
+  interval '1-2' year to month != interval_year_month(str1)
+from vector_interval_2 order by str1
+POSTHOOK: type: QUERY
+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_interval_2
+            Statistics: Num rows: 2 Data size: 788 Basic stats: COMPLETE 
Column stats: NONE
+            Select Operator
+              expressions: str1 (type: string), (CAST( str1 AS INTERVAL YEAR 
TO MONTH) <> CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( 
str2 AS INTERVAL YEAR TO MONTH) <= 1-2) (type: boolean), (CAST( str2 AS 
INTERVAL YEAR TO MONTH) < 1-2) (type: boolean), (1-2 <> CAST( str1 AS INTERVAL 
YEAR TO MONTH)) (type: boolean), (1-2 >= CAST( str2 AS INTERVAL YEAR TO MONTH)) 
(type: boolean), (1-2 > CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), 
(1-3 <= CAST( str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (1-3 < CAST( 
str1 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str1 AS INTERVAL YEAR 
TO MONTH) >= CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( 
str1 AS INTERVAL YEAR TO MONTH) > CAST( str2 AS INTERVAL YEAR TO MONTH)) (type: 
boolean), (CAST( str2 AS INTERVAL YEAR TO MONTH) <= CAST( str1 AS INTERVAL YEAR 
TO MONTH)) (type: boolean), (CAST( str2 AS INTERVAL YEAR TO MONTH) < CAST( str1 
AS INTERVAL YEAR TO MONTH)) (type: boolean), (CAST( str1 AS I
 NTERVAL YEAR TO MONTH) <> 1-2) (type: boolean), (CAST( str1 AS INTERVAL YEAR 
TO MONTH) >= 1-3) (type: boolean), (CAST( str1 AS INTERVAL YEAR TO MONTH) > 
1-3) (type: boolean)
+              outputColumnNames: _col0, _col1, _col10, _col11, _col13, _col14, 
_col15, _col16, _col17, _col2, _col3, _col4, _col5, _col7, _col8, _col9
+              Statistics: Num rows: 2 Data size: 788 Basic stats: COMPLETE 
Column stats: NONE
+              Reduce Output Operator
+                key expressions: _col0 (type: string)
+                sort order: +
+                Statistics: Num rows: 2 Data size: 788 Basic stats: COMPLETE 
Column stats: NONE
+                value expressions: _col1 (type: boolean), _col2 (type: 
boolean), _col3 (type: boolean), _col4 (type: boolean), _col5 (type: boolean), 
_col7 (type: boolean), _col8 (type: boolean), _col9 (type: boolean), _col10 
(type: boolean), _col11 (type: boolean), _col13 (type: boolean), _col14 (type: 
boolean), _col15 (type: boolean), _col16 (type: boolean), _col17 (type: boolean)
+      Execution mode: vectorized
+      Reduce Operator Tree:
+        Select Operator
+          expressions: KEY.reducesinkkey0 (type: string), VALUE._col0 (type: 
boolean), VALUE._col1 (type: boolean), VALUE._col2 (type: boolean), VALUE._col3 
(type: boolean), VALUE._col4 (type: boolean), VALUE._col0 (type: boolean), 
VALUE._col5 (type: boolean), VALUE._col6 (type: boolean), VALUE._col7 (type: 
boolean), VALUE._col8 (type: boolean), VALUE._col9 (type: boolean), VALUE._col5 
(type: boolean), VALUE._col10 (type: boolean), VALUE._col11 (type: boolean), 
VALUE._col12 (type: boolean), VALUE._col13 (type: boolean), VALUE._col14 (type: 
boolean), VALUE._col10 (type: boolean)
+          outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, 
_col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, 
_col17, _col18
+          Statistics: Num rows: 2 Data size: 788 Basic stats: COMPLETE Column 
stats: NONE
+          File Output Operator
+            compressed: false
+            Statistics: Num rows: 2 Data size: 788 Basic stats: COMPLETE 
Column stats: NONE
+            table:
+                input format: org.apache.hadoop.mapred.TextInputFormat
+                output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: select
+  str1,
+  -- Should all be false
+  interval_year_month(str1) != interval_year_month(str1),
+  interval_year_month(str1) >= interval_year_month(str2),
+  interval_year_month(str1) > interval_year_month(str2),
+  interval_year_month(str2) <= interval_year_month(str1),
+  interval_year_month(str2) < interval_year_month(str1),
+  interval_year_month(str1) != interval_year_month(str1),
+
+  interval_year_month(str1) != interval '1-2' year to month,
+  interval_year_month(str1) >= interval '1-3' year to month,
+  interval_year_month(str1) > interval '1-3' year to month,
+  interval_year_month(str2) <= interval '1-2' year to month,
+  interval_year_month(str2) < interval '1-2' year to month,
+  interval_year_month(str1) != interval '1-2' year to month,
+
+  interval '1-2' year to month != interval_year_month(str1),
+  interval '1-2' year to month >= interval_year_month(str2),
+  interval '1-2' year to month > interval_year_month(str2),
+  interval '1-3' year to month <= interval_year_month(str1),
+  interval '1-3' year to month < interval_year_month(str1),
+  interval '1-2' year to month != interval_year_month(str1)
+from vector_interval_2 order by str1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@vector_interval_2
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  str1,
+  -- Should all be false
+  interval_year_month(str1) != interval_year_month(str1),
+  interval_year_month(str1) >= interval_year_month(str2),
+  interval_year_month(str1) > interval_year_month(str2),
+  interval_year_month(str2) <= interval_year_month(str1),
+  interval_year_month(str2) < interval_year_month(str1),
+  interval_year_month(str1) != interval_year_month(str1),
+
+  interval_year_month(str1) != interval '1-2' year to month,
+  interval_year_month(str1) >= interval '1-3' year to month,
+  interval_year_month(str1) > interval '1-3' year to month,
+  interval_year_month(str2) <= interval '1-2' year to month,
+  interval_year_month(str2) < interval '1-2' year to month,
+  interval_year_month(str1) != interval '1-2' year to month,
+
+  interval '1-2' year to month != interval_year_month(str1),
+  interval '1-2' year to month >= interval_year_month(str2),
+  interval '1-2' year to month > interval_year_month(str2),
+  interval '1-3' year to month <= interval_year_month(str1),
+  interval '1-3' year to month < interval_year_month(str1),
+  interval '1-2' year to month != interval_year_month(str1)
+from vector_interval_2 order by str1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@vector_interval_2
+#### A masked pattern was here ####
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    
NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL
+1-2    false   false   false   false   false   false   false   false   false   
false   false   false   false   false   false   false   false   false
+PREHOOK: query: explain
+select
+  str3,
+  -- Should all be true
+  interval_day_time(str3) = interval_day_time(str3),
+  interval_day_time(str3) <= interval_day_time(str3),
+  interval_day_time(str3) <= interval_day_time(str4),
+  interval_day_time(str3) < interval_day_time(str4),
+  interval_day_time(str3) >= interval_day_time(str3),
+  interval_day_time(str4) >= interval_day_time(str3),
+  interval_day_time(str4) > interval_day_time(str3),
+  interval_day_time(str3) != interval_day_time(str4),
+
+  interval_day_time(str3) = interval '1 2:3:4' day to second,
+  interval_day_time(str3) <= interval '1 2:3:4' day to second,
+  interval_day_time(str3) <= interval '1 2:3:5' day to second,
+  interval_day_time(str3) < interval '1 2:3:5' day to second,
+  interval_day_time(str3) >= interval '1 2:3:4' day to second,
+  interval_day_time(str4) >= interval '1 2:3:4' day to second,
+  interval_day_time(str4) > interval '1 2:3:4' day to second,
+  interval_day_time(str3) != interval '1 2:3:5' day to second,
+
+  interval '1 2:3:4' day to second = interval_day_time(str3),
+  interval '1 2:3:4' day to second <= interval_day_time(str3),
+  interval '1 2:3:4' day to second <= interval_day_time(str4),
+  interval '1 2:3:4' day to second < interval_day_time(str4),
+  interval '1 2:3:4' day to second >= interval_day_time(str3),
+  interval '1 2:3:5' day to second >= interval_day_time(str3),
+  interval '1 2:3:5' day to second > interval_day_time(str3),
+  interval '1 2:3:4' day to second != interval_day_time(str4)
+from vector_interval_2 order by str3
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+select
+  str3,
+  -- Should all be true
+  interval_day_time(str3) = interval_day_time(str3),
+  interval_day_time(str3) <= interval_day_time(str3),
+  interval_day_time(str3) <= interval_day_time(str4),
+  interval_day_time(str3) < interval_day_time(str4),
+  interval_day_time(str3) >= interval_day_time(str3),
+  interval_day_time(str4) >= interval_day_time(str3),
+  interval_day_time(str4) > interval_day_time(str3),
+  interval_day_time(str3) != interval_day_time(str4),
+
+  interval_day_time(str3) = interval '1 2:3:4' day to second,
+  interval_day_time(str3) <= interval '1 2:3:4' day to second,
+  interval_day_time(str3) <= interval '1 2:3:5' day to second,
+  interval_day_time(str3) < interval '1 2:3:5' day to second,
+  interval_day_time(str3) >= interval '1 2:3:4' day to second,
+  interval_day_time(str4) >= interval '1 2:3:4' day to second,
+  interval_day_time(str4) > interval '1 2:3:4' day to second,
+  interval_day_time(str3) != interval '1 2:3:5' day to second,
+
+  interval '1 2:3:4' day to second = interval_day_time(str3),
+  interval '1 2:3:4' day to second <= interval_day_time(str3),
+  interval '1 2:3:4' day to second <= interval_day_time(str4),
+  interval '1 2:3:4' day to second < interval_day_time(str4),
+  interval '1 2:3:4' day to second >= interval_day_time(str3),
+  interval '1 2:3:5' day to second >= interval_day_time(str3),
+  interval '1 2:3:5' day to second > interval_day_time(str3),
+  interval '1 2:3:4' day to second != interval_day_time(str4)
+from vector_interval_2 order by str3
+POSTHOOK: type: QUERY
+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_interval_2
+            Statistics: Num rows: 2 Data size: 788 Basic stats: COMPLETE 
Column stats: NONE
+            Select Operator
+              expressions: str3 (type: string), (CAST( str3 AS INTERVAL DAY TO 
SECOND) = CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str3 
AS INTERVAL DAY TO SECOND) <= CAST( str3 AS INTERVAL DAY TO SECOND)) (type: 
boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) <= CAST( str4 AS INTERVAL DAY 
TO SECOND)) (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) < CAST( 
str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str3 AS INTERVAL DAY 
TO SECOND) >= CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( 
str4 AS INTERVAL DAY TO SECOND) >= CAST( str3 AS INTERVAL DAY TO SECOND)) 
(type: boolean), (CAST( str4 AS INTERVAL DAY TO SECOND) > CAST( str3 AS 
INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str3 AS INTERVAL DAY TO 
SECOND) <> CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str3 
AS INTERVAL DAY TO SECOND) = 1 02:03:04.000000000) (type: boolean), (CAST( str3 
AS INTERVAL DAY TO SECOND) <= 1 02:03:04.000000000) (type: boolean), (CAST( 
 str3 AS INTERVAL DAY TO SECOND) <= 1 02:03:05.000000000) (type: boolean), 
(CAST( str3 AS INTERVAL DAY TO SECOND) < 1 02:03:05.000000000) (type: boolean), 
(CAST( str3 AS INTERVAL DAY TO SECOND) >= 1 02:03:04.000000000) (type: 
boolean), (CAST( str4 AS INTERVAL DAY TO SECOND) >= 1 02:03:04.000000000) 
(type: boolean), (CAST( str4 AS INTERVAL DAY TO SECOND) > 1 02:03:04.000000000) 
(type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) <> 1 
02:03:05.000000000) (type: boolean), (1 02:03:04.000000000 = CAST( str3 AS 
INTERVAL DAY TO SECOND)) (type: boolean), (1 02:03:04.000000000 <= CAST( str3 
AS INTERVAL DAY TO SECOND)) (type: boolean), (1 02:03:04.000000000 <= CAST( 
str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (1 02:03:04.000000000 < CAST( 
str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (1 02:03:04.000000000 >= 
CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (1 02:03:05.000000000 
>= CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (1 
02:03:05.000000000 > CAST( str3 A
 S INTERVAL DAY TO SECOND)) (type: boolean), (1 02:03:04.000000000 <> CAST( 
str4 AS INTERVAL DAY TO SECOND)) (type: boolean)
+              outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, 
_col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, 
_col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24
+              Statistics: Num rows: 2 Data size: 788 Basic stats: COMPLETE 
Column stats: NONE
+              Reduce Output Operator
+                key expressions: _col0 (type: string)
+                sort order: +
+                Statistics: Num rows: 2 Data size: 788 Basic stats: COMPLETE 
Column stats: NONE
+                value expressions: _col1 (type: boolean), _col2 (type: 
boolean), _col3 (type: boolean), _col4 (type: boolean), _col5 (type: boolean), 
_col6 (type: boolean), _col7 (type: boolean), _col8 (type: boolean), _col9 
(type: boolean), _col10 (type: boolean), _col11 (type: boolean), _col12 (type: 
boolean), _col13 (type: boolean), _col14 (type: boolean), _col15 (type: 
boolean), _col16 (type: boolean), _col17 (type: boolean), _col18 (type: 
boolean), _col19 (type: boolean), _col20 (type: boolean), _col21 (type: 
boolean), _col22 (type: boolean), _col23 (type: boolean), _col24 (type: boolean)
+      Execution mode: vectorized
+      Reduce Operator Tree:
+        Select Operator
+          expressions: KEY.reducesinkkey0 (type: string), VALUE._col0 (type: 
boolean), VALUE._col1 (type: boolean), VALUE._col2 (type: boolean), VALUE._col3 
(type: boolean), VALUE._col4 (type: boolean), VALUE._col5 (type: boolean), 
VALUE._col6 (type: boolean), VALUE._col7 (type: boolean), VALUE._col8 (type: 
boolean), VALUE._col9 (type: boolean), VALUE._col10 (type: boolean), 
VALUE._col11 (type: boolean), VALUE._col12 (type: boolean), VALUE._col13 (type: 
boolean), VALUE._col14 (type: boolean), VALUE._col15 (type: boolean), 
VALUE._col16 (type: boolean), VALUE._col17 (type: boolean), VALUE._col18 (type: 
boolean), VALUE._col19 (type: boolean), VALUE._col20 (type: boolean), 
VALUE._col21 (type: boolean), VALUE._col22 (type: boolean), VALUE._col23 (type: 
boolean)
+          outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, 
_col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, 
_col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24
+          Statistics: Num rows: 2 Data size: 788 Basic stats: COMPLETE Column 
stats: NONE
+          File Output Operator
+            compressed: false
+            Statistics: Num rows: 2 Data size: 788 Basic stats: COMPLETE 
Column stats: NONE
+            table:
+                input format: org.apache.hadoop.mapred.TextInputFormat
+                output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: select
+  str3,
+  -- Should all be true
+  interval_day_time(str3) = interval_day_time(str3),
+  interval_day_time(str3) <= interval_day_time(str3),
+  interval_day_time(str3) <= interval_day_time(str4),
+  interval_day_time(str3) < interval_day_time(str4),
+  interval_day_time(str3) >= interval_day_time(str3),
+  interval_day_time(str4) >= interval_day_time(str3),
+  interval_day_time(str4) > interval_day_time(str3),
+  interval_day_time(str3) != interval_day_time(str4),
+
+  interval_day_time(str3) = interval '1 2:3:4' day to second,
+  interval_day_time(str3) <= interval '1 2:3:4' day to second,
+  interval_day_time(str3) <= interval '1 2:3:5' day to second,
+  interval_day_time(str3) < interval '1 2:3:5' day to second,
+  interval_day_time(str3) >= interval '1 2:3:4' day to second,
+  interval_day_time(str4) >= interval '1 2:3:4' day to second,
+  interval_day_time(str4) > interval '1 2:3:4' day to second,
+  interval_day_time(str3) != interval '1 2:3:5' day to second,
+
+  interval '1 2:3:4' day to second = interval_day_time(str3),
+  interval '1 2:3:4' day to second <= interval_day_time(str3),
+  interval '1 2:3:4' day to second <= interval_day_time(str4),
+  interval '1 2:3:4' day to second < interval_day_time(str4),
+  interval '1 2:3:4' day to second >= interval_day_time(str3),
+  interval '1 2:3:5' day to second >= interval_day_time(str3),
+  interval '1 2:3:5' day to second > interval_day_time(str3),
+  interval '1 2:3:4' day to second != interval_day_time(str4)
+from vector_interval_2 order by str3
+PREHOOK: type: QUERY
+PREHOOK: Input: default@vector_interval_2
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  str3,
+  -- Should all be true
+  interval_day_time(str3) = interval_day_time(str3),
+  interval_day_time(str3) <= interval_day_time(str3),
+  interval_day_time(str3) <= interval_day_time(str4),
+  interval_day_time(str3) < interval_day_time(str4),
+  interval_day_time(str3) >= interval_day_time(str3),
+  interval_day_time(str4) >= interval_day_time(str3),
+  interval_day_time(str4) > interval_day_time(str3),
+  interval_day_time(str3) != interval_day_time(str4),
+
+  interval_day_time(str3) = interval '1 2:3:4' day to second,
+  interval_day_time(str3) <= interval '1 2:3:4' day to second,
+  interval_day_time(str3) <= interval '1 2:3:5' day to second,
+  interval_day_time(str3) < interval '1 2:3:5' day to second,
+  interval_day_time(str3) >= interval '1 2:3:4' day to second,
+  interval_day_time(str4) >= interval '1 2:3:4' day to second,
+  interval_day_time(str4) > interval '1 2:3:4' day to second,
+  interval_day_time(str3) != interval '1 2:3:5' day to second,
+
+  interval '1 2:3:4' day to second = interval_day_time(str3),
+  interval '1 2:3:4' day to second <= interval_day_time(str3),
+  interval '1 2:3:4' day to second <= interval_day_time(str4),
+  interval '1 2:3:4' day to second < interval_day_time(str4),
+  interval '1 2:3:4' day to second >= interval_day_time(str3),
+  interval '1 2:3:5' day to second >= interval_day_time(str3),
+  interval '1 2:3:5' day to second > interval_day_time(str3),
+  interval '1 2:3:4' day to second != interval_day_time(str4)
+from vector_interval_2 order by str3
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@vector_interval_2
+#### A masked pattern was here ####
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    
NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    
NULL    NULL    NULL    NULL    NULL
+1 2:3:4        true    true    true    true    true    true    true    true    
true    true    true    true    true    true    true    true    true    true    
true    true    true    true    true    true
+PREHOOK: query: explain
+select
+  str3,
+  -- Should all be false
+  interval_day_time(str3) != interval_day_time(str3),
+  interval_day_time(str3) >= interval_day_time(str4),
+  interval_day_time(str3) > interval_day_time(str4),
+  interval_day_time(str4) <= interval_day_time(str3),
+  interval_day_time(str4) < interval_day_time(str3),
+  interval_day_time(str3) != interval_day_time(str3),
+
+  interval_day_time(str3) != interval '1 2:3:4' day to second,
+  interval_day_time(str3) >= interval '1 2:3:5' day to second,
+  interval_day_time(str3) > interval '1 2:3:5' day to second,
+  interval_day_time(str4) <= interval '1 2:3:4' day to second,
+  interval_day_time(str4) < interval '1 2:3:4' day to second,
+  interval_day_time(str3) != interval '1 2:3:4' day to second,
+
+  interval '1 2:3:4' day to second != interval_day_time(str3),
+  interval '1 2:3:4' day to second >= interval_day_time(str4),
+  interval '1 2:3:4' day to second > interval_day_time(str4),
+  interval '1 2:3:5' day to second <= interval_day_time(str3),
+  interval '1 2:3:5' day to second < interval_day_time(str3),
+  interval '1 2:3:4' day to second != interval_day_time(str3)
+from vector_interval_2 order by str3
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+select
+  str3,
+  -- Should all be false
+  interval_day_time(str3) != interval_day_time(str3),
+  interval_day_time(str3) >= interval_day_time(str4),
+  interval_day_time(str3) > interval_day_time(str4),
+  interval_day_time(str4) <= interval_day_time(str3),
+  interval_day_time(str4) < interval_day_time(str3),
+  interval_day_time(str3) != interval_day_time(str3),
+
+  interval_day_time(str3) != interval '1 2:3:4' day to second,
+  interval_day_time(str3) >= interval '1 2:3:5' day to second,
+  interval_day_time(str3) > interval '1 2:3:5' day to second,
+  interval_day_time(str4) <= interval '1 2:3:4' day to second,
+  interval_day_time(str4) < interval '1 2:3:4' day to second,
+  interval_day_time(str3) != interval '1 2:3:4' day to second,
+
+  interval '1 2:3:4' day to second != interval_day_time(str3),
+  interval '1 2:3:4' day to second >= interval_day_time(str4),
+  interval '1 2:3:4' day to second > interval_day_time(str4),
+  interval '1 2:3:5' day to second <= interval_day_time(str3),
+  interval '1 2:3:5' day to second < interval_day_time(str3),
+  interval '1 2:3:4' day to second != interval_day_time(str3)
+from vector_interval_2 order by str3
+POSTHOOK: type: QUERY
+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_interval_2
+            Statistics: Num rows: 2 Data size: 788 Basic stats: COMPLETE 
Column stats: NONE
+            Select Operator
+              expressions: str3 (type: string), (CAST( str3 AS INTERVAL DAY TO 
SECOND) <> CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str4 
AS INTERVAL DAY TO SECOND) <= 1 02:03:04.000000000) (type: boolean), (CAST( 
str4 AS INTERVAL DAY TO SECOND) < 1 02:03:04.000000000) (type: boolean), (1 
02:03:04.000000000 <> CAST( str3 AS INTERVAL DAY TO SECOND)) (type: boolean), 
(1 02:03:04.000000000 >= CAST( str4 AS INTERVAL DAY TO SECOND)) (type: 
boolean), (1 02:03:04.000000000 > CAST( str4 AS INTERVAL DAY TO SECOND)) (type: 
boolean), (1 02:03:05.000000000 <= CAST( str3 AS INTERVAL DAY TO SECOND)) 
(type: boolean), (1 02:03:05.000000000 < CAST( str3 AS INTERVAL DAY TO SECOND)) 
(type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) >= CAST( str4 AS 
INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str3 AS INTERVAL DAY TO 
SECOND) > CAST( str4 AS INTERVAL DAY TO SECOND)) (type: boolean), (CAST( str4 
AS INTERVAL DAY TO SECOND) <= CAST( str3 AS INTERVAL DAY TO SECOND)) (type: bool
 ean), (CAST( str4 AS INTERVAL DAY TO SECOND) < CAST( str3 AS INTERVAL DAY TO 
SECOND)) (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) <> 1 
02:03:04.000000000) (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) >= 
1 02:03:05.000000000) (type: boolean), (CAST( str3 AS INTERVAL DAY TO SECOND) > 
1 02:03:05.000000000) (type: boolean)
+              outputColumnNames: _col0, _col1, _col10, _col11, _col13, _col14, 
_col15, _col16, _col17, _col2, _col3, _col4, _col5, _col7, _col8, _col9
+              Statistics: Num rows: 2 Data size: 788 Basic stats: COMPLETE 
Column stats: NONE
+              Reduce Output Operator
+                key expressions: _col0 (type: string)
+                sort order: +
+                Statistics: Num rows: 2 Data size: 788 Basic stats: COMPLETE 
Column stats: NONE
+                value expressions: _col1 (type: boolean), _col2 (type: 
boolean), _col3 (type: boolean), _col4 (type: boolean), _col5 (type: boolean), 
_col7 (type: boolean), _col8 (type: boolean), _col9 (type: boolean), _col10 
(type: boolean), _col11 (type: boolean), _col13 (type: boolean), _col14 (type: 
boolean), _col15 (type: boolean), _col16 (type: boolean), _col17 (type: boolean)
+      Execution mode: vectorized
+      Reduce Operator Tree:
+        Select Operator
+          expressions: KEY.reducesinkkey0 (type: string), VALUE._col0 (type: 
boolean), VALUE._col1 (type: boolean), VALUE._col2 (type: boolean), VALUE._col3 
(type: boolean), VALUE._col4 (type: boolean), VALUE._col0 (type: boolean), 
VALUE._col5 (type: boolean), VALUE._col6 (type: boolean), VALUE._col7 (type: 
boolean), VALUE._col8 (type: boolean), VALUE._col9 (type: boolean), VALUE._col5 
(type: boolean), VALUE._col10 (type: boolean), VALUE._col11 (type: boolean), 
VALUE._col12 (type: boolean), VALUE._col13 (type: boolean), VALUE._col14 (type: 
boolean), VALUE._col10 (type: boolean)
+          outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5, _col6, 
_col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, _col15, _col16, 
_col17, _col18
+          Statistics: Num rows: 2 Data size: 788 Basic stats: COMPLETE Column 
stats: NONE
+          File Output Operator
+            compressed: false
+            Statistics: Num rows: 2 Data size: 788 Basic stats: COMPLETE 
Column stats: NONE
+            table:
+                input format: org.apache.hadoop.mapred.TextInputFormat
+                output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: select
+  str3,
+  -- Should all be false
+  interval_day_time(str3) != interval_day_time(str3),
+  interval_day_time(str3) >= interval_day_time(str4),
+  interval_day_time(str3) > interval_day_time(str4),
+  interval_day_time(str4) <= interval_day_time(str3),
+  interval_day_time(str4) < interval_day_time(str3),
+  interval_day_time(str3) != interval_day_time(str3),
+
+  interval_day_time(str3) != interval '1 2:3:4' day to second,
+  interval_day_time(str3) >= interval '1 2:3:5' day to second,
+  interval_day_time(str3) > interval '1 2:3:5' day to second,
+  interval_day_time(str4) <= interval '1 2:3:4' day to second,
+  interval_day_time(str4) < interval '1 2:3:4' day to second,
+  interval_day_time(str3) != interval '1 2:3:4' day to second,
+
+  interval '1 2:3:4' day to second != interval_day_time(str3),
+  interval '1 2:3:4' day to second >= interval_day_time(str4),
+  interval '1 2:3:4' day to second > interval_day_time(str4),
+  interval '1 2:3:5' day to second <= interval_day_time(str3),
+  interval '1 2:3:5' day to second < interval_day_time(str3),
+  interval '1 2:3:4' day to second != interval_day_time(str3)
+from vector_interval_2 order by str3
+PREHOOK: type: QUERY
+PREHOOK: Input: default@vector_interval_2
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  str3,
+  -- Should all be false
+  interval_day_time(str3) != interval_day_time(str3),
+  interval_day_time(str3) >= interval_day_time(str4),
+  interval_day_time(str3) > interval_day_time(str4),
+  interval_day_time(str4) <= interval_day_time(str3),
+  interval_day_time(str4) < interval_day_time(str3),
+  interval_day_time(str3) != interval_day_time(str3),
+
+  interval_day_time(str3) != interval '1 2:3:4' day to second,
+  interval_day_time(str3) >= interval '1 2:3:5' day to second,
+  interval_day_time(str3) > interval '1 2:3:5' day to second,
+  interval_day_time(str4) <= interval '1 2:3:4' day to second,
+  interval_day_time(str4) < interval '1 2:3:4' day to second,
+  interval_day_time(str3) != interval '1 2:3:4' day to second,
+
+  interval '1 2:3:4' day to second != interval_day_time(str3),
+  interval '1 2:3:4' day to second >= interval_day_time(str4),
+  interval '1 2:3:4' day to second > interval_day_time(str4),
+  interval '1 2:3:5' day to second <= interval_day_time(str3),
+  interval '1 2:3:5' day to second < interval_day_time(str3),
+  interval '1 2:3:4' day to second != interval_day_time(str3)
+from vector_interval_2 order by str3
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@vector_interval_2
+#### A masked pattern was here ####
+NULL   NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    
NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL    NULL
+1 2:3:4        false   false   false   false   false   false   false   false   
false   false   false   false   false   false   false   false   false   false
+PREHOOK: query: -- interval expressions in predicates
+explain
+select ts from vector_interval_2
+where
+  interval_year_month(str1) = interval_year_month(str1)
+  and interval_year_month(str1) != interval_year_month(str2)
+  and interval_year_month(str1) <= interval_year_month(str2)
+  and interval_year_month(str1) < interval_year_month(str2)
+  and interval_year_month(str2) >= interval_year_month(str1)
+  and interval_year_month(str2) > interval_year_month(str1)
+
+  and interval_year_month(str1) = interval '1-2' year to month
+  and interval_year_month(str1) != interval '1-3' year to month
+  and interval_year_month(str1) <= interval '1-3' year to month
+  and interval_year_month(str1) < interval '1-3' year to month
+  and interval_year_month(str2) >= interval '1-2' year to month
+  and interval_year_month(str2) > interval '1-2' year to month
+
+  and interval '1-2' year to month = interval_year_month(str1)
+  and interval '1-2' year to month != interval_year_month(str2)
+  and interval '1-2' year to month <= interval_year_month(str2)
+  and interval '1-2' year to month < interval_year_month(str2)
+  and interval '1-3' year to month >= interval_year_month(str1)
+  and interval '1-3' year to month > interval_year_month(str1)
+order by ts
+PREHOOK: type: QUERY
+POSTHOOK: query: -- interval expressions in predicates
+explain
+select ts from vector_interval_2
+where
+  interval_year_month(str1) = interval_year_month(str1)
+  and interval_year_month(str1) != interval_year_month(str2)
+  and interval_year_month(str1) <= interval_year_month(str2)
+  and interval_year_month(str1) < interval_year_month(str2)
+  and interval_year_month(str2) >= interval_year_month(str1)
+  and interval_year_month(str2) > interval_year_month(str1)
+
+  and interval_year_month(str1) = interval '1-2' year to month
+  and interval_year_month(str1) != interval '1-3' year to month
+  and interval_year_month(str1) <= interval '1-3' year to month
+  and interval_year_month(str1) < interval '1-3' year to month
+  and interval_year_month(str2) >= interval '1-2' year to month
+  and interval_year_month(str2) > interval '1-2' year to month
+
+  and interval '1-2' year to month = interval_year_month(str1)
+  and interval '1-2' year to month != interval_year_month(str2)
+  and interval '1-2' year to month <= interval_year_month(str2)
+  and interval '1-2' year to month < interval_year_month(str2)
+  and interval '1-3' year to month >= interval_year_month(str1)
+  and interval '1-3' year to month > interval_year_month(str1)
+order by ts
+POSTHOOK: type: QUERY
+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_interval_2
+            Statistics: Num rows: 2 Data size: 788 Basic stats: COMPLETE 
Column stats: NONE
+            Filter Operator
+              predicate: ((((((((((((((((((CAST( str1 AS INTERVAL YEAR TO 
MONTH) = CAST( str1 AS INTERVAL YEAR TO MONTH)) and (CAST( str1 AS INTERVAL 
YEAR TO MONTH) <> CAST( str2 AS INTERVAL YEAR TO MONTH))) and (CAST( str1 AS 
INTERVAL YEAR TO MONTH) <= CAST( str2 AS INTERVAL YEAR TO MONTH))) and (CAST( 
str1 AS INTERVAL YEAR TO MONTH) < CAST( str2 AS INTERVAL YEAR TO MONTH))) and 
(CAST( str2 AS INTERVAL YEAR TO MONTH) >= CAST( str1 AS INTERVAL YEAR TO 
MONTH))) and (CAST( str2 AS INTERVAL YEAR TO MONTH) > CAST( str1 AS INTERVAL 
YEAR TO MONTH))) and (CAST( str1 AS INTERVAL YEAR TO MONTH) = 1-2)) and (CAST( 
str1 AS INTERVAL YEAR TO MONTH) <> 1-3)) and (CAST( str1 AS INTERVAL YEAR TO 
MONTH) <= 1-3)) and (CAST( str1 AS INTERVAL YEAR TO MONTH) < 1-3)) and (CAST( 
str2 AS INTERVAL YEAR TO MONTH) >= 1-2)) and (CAST( str2 AS INTERVAL YEAR TO 
MONTH) > 1-2)) and (1-2 = CAST( str1 AS INTERVAL YEAR TO MONTH))) and (1-2 <> 
CAST( str2 AS INTERVAL YEAR TO MONTH))) and (1-2 <= CAST( str2 AS INTERVAL 
 YEAR TO MONTH))) and (1-2 < CAST( str2 AS INTERVAL YEAR TO MONTH))) and (1-3 
>= CAST( str1 AS INTERVAL YEAR TO MONTH))) and (1-3 > CAST( str1 AS INTERVAL 
YEAR TO MONTH))) (type: boolean)
+              Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
+              Select Operator
+                expressions: ts (type: timestamp)
+                outputColumnNames: _col0
+                Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
+                Reduce Output Operator
+                  key expressions: _col0 (type: timestamp)
+                  sort order: +
+                  Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+      Execution mode: vectorized
+      Reduce Operator Tree:
+        Select Operator
+          expressions: KEY.reducesinkkey0 (type: timestamp)
+          outputColumnNames: _col0
+          Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: 
NONE
+          File Output Operator
+            compressed: false
+            Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
+            table:
+                input format: org.apache.hadoop.mapred.TextInputFormat
+                output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: select ts from vector_interval_2
+where
+  interval_year_month(str1) = interval_year_month(str1)
+  and interval_year_month(str1) != interval_year_month(str2)
+  and interval_year_month(str1) <= interval_year_month(str2)
+  and interval_year_month(str1) < interval_year_month(str2)
+  and interval_year_month(str2) >= interval_year_month(str1)
+  and interval_year_month(str2) > interval_year_month(str1)
+
+  and interval_year_month(str1) = interval '1-2' year to month
+  and interval_year_month(str1) != interval '1-3' year to month
+  and interval_year_month(str1) <= interval '1-3' year to month
+  and interval_year_month(str1) < interval '1-3' year to month
+  and interval_year_month(str2) >= interval '1-2' year to month
+  and interval_year_month(str2) > interval '1-2' year to month
+
+  and interval '1-2' year to month = interval_year_month(str1)
+  and interval '1-2' year to month != interval_year_month(str2)
+  and interval '1-2' year to month <= interval_year_month(str2)
+  and interval '1-2' year to month < interval_year_month(str2)
+  and interval '1-3' year to month >= interval_year_month(str1)
+  and interval '1-3' year to month > interval_year_month(str1)
+order by ts
+PREHOOK: type: QUERY
+PREHOOK: Input: default@vector_interval_2
+#### A masked pattern was here ####
+POSTHOOK: query: select ts from vector_interval_2
+where
+  interval_year_month(str1) = interval_year_month(str1)
+  and interval_year_month(str1) != interval_year_month(str2)
+  and interval_year_month(str1) <= interval_year_month(str2)
+  and interval_year_month(str1) < interval_year_month(str2)
+  and interval_year_month(str2) >= interval_year_month(str1)
+  and interval_year_month(str2) > interval_year_month(str1)
+
+  and interval_year_month(str1) = interval '1-2' year to month
+  and interval_year_month(str1) != interval '1-3' year to month
+  and interval_year_month(str1) <= interval '1-3' year to month
+  and interval_year_month(str1) < interval '1-3' year to month
+  and interval_year_month(str2) >= interval '1-2' year to month
+  and interval_year_month(str2) > interval '1-2' year to month
+
+  and interval '1-2' year to month = interval_year_month(str1)
+  and interval '1-2' year to month != interval_year_month(str2)
+  and interval '1-2' year to month <= interval_year_month(str2)
+  and interval '1-2' year to month < interval_year_month(str2)
+  and interval '1-3' year to month >= interval_year_month(str1)
+  and interval '1-3' year to month > interval_year_month(str1)
+order by ts
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@vector_interval_2
+#### A masked pattern was here ####
+2001-01-01 01:02:03
+PREHOOK: query: explain
+select ts from vector_interval_2
+where
+  interval_day_time(str3) = interval_day_time(str3)
+  and interval_day_time(str3) != interval_day_time(str4)
+  and interval_day_time(str3) <= interval_day_time(str4)
+  and interval_day_time(str3) < interval_day_time(str4)
+  and interval_day_time(str4) >= interval_day_time(str3)
+  and interval_day_time(str4) > interval_day_time(str3)
+
+  and interval_day_time(str3) = interval '1 2:3:4' day to second
+  and interval_day_time(str3) != interval '1 2:3:5' day to second
+  and interval_day_time(str3) <= interval '1 2:3:5' day to second
+  and interval_day_time(str3) < interval '1 2:3:5' day to second
+  and interval_day_time(str4) >= interval '1 2:3:4' day to second
+  and interval_day_time(str4) > interval '1 2:3:4' day to second
+
+  and interval '1 2:3:4' day to second = interval_day_time(str3)
+  and interval '1 2:3:4' day to second != interval_day_time(str4)
+  and interval '1 2:3:4' day to second <= interval_day_time(str4)
+  and interval '1 2:3:4' day to second < interval_day_time(str4)
+  and interval '1 2:3:5' day to second >= interval_day_time(str3)
+  and interval '1 2:3:5' day to second > interval_day_time(str3)
+order by ts
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+select ts from vector_interval_2
+where
+  interval_day_time(str3) = interval_day_time(str3)
+  and interval_day_time(str3) != interval_day_time(str4)
+  and interval_day_time(str3) <= interval_day_time(str4)
+  and interval_day_time(str3) < interval_day_time(str4)
+  and interval_day_time(str4) >= interval_day_time(str3)
+  and interval_day_time(str4) > interval_day_time(str3)
+
+  and interval_day_time(str3) = interval '1 2:3:4' day to second
+  and interval_day_time(str3) != interval '1 2:3:5' day to second
+  and interval_day_time(str3) <= interval '1 2:3:5' day to second
+  and interval_day_time(str3) < interval '1 2:3:5' day to second
+  and interval_day_time(str4) >= interval '1 2:3:4' day to second
+  and interval_day_time(str4) > interval '1 2:3:4' day to second
+
+  and interval '1 2:3:4' day to second = interval_day_time(str3)
+  and interval '1 2:3:4' day to second != interval_day_time(str4)
+  and interval '1 2:3:4' day to second <= interval_day_time(str4)
+  and interval '1 2:3:4' day to second < interval_day_time(str4)
+  and interval '1 2:3:5' day to second >= interval_day_time(str3)
+  and interval '1 2:3:5' day to second > interval_day_time(str3)
+order by ts
+POSTHOOK: type: QUERY
+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_interval_2
+            Statistics: Num rows: 2 Data size: 788 Basic stats: COMPLETE 
Column stats: NONE
+            Filter Operator
+              predicate: ((((((((((((((((((CAST( str3 AS INTERVAL DAY TO 
SECOND) = CAST( str3 AS INTERVAL DAY TO SECOND)) and (CAST( str3 AS INTERVAL 
DAY TO SECOND) <> CAST( str4 AS INTERVAL DAY TO SECOND))) and (CAST( str3 AS 
INTERVAL DAY TO SECOND) <= CAST( str4 AS INTERVAL DAY TO SECOND))) and (CAST( 
str3 AS INTERVAL DAY TO SECOND) < CAST( str4 AS INTERVAL DAY TO SECOND))) and 
(CAST( str4 AS INTERVAL DAY TO SECOND) >= CAST( str3 AS INTERVAL DAY TO 
SECOND))) and (CAST( str4 AS INTERVAL DAY TO SECOND) > CAST( str3 AS INTERVAL 
DAY TO SECOND))) and (CAST( str3 AS INTERVAL DAY TO SECOND) = 1 
02:03:04.000000000)) and (CAST( str3 AS INTERVAL DAY TO SECOND) <> 1 
02:03:05.000000000)) and (CAST( str3 AS INTERVAL DAY TO SECOND) <= 1 
02:03:05.000000000)) and (CAST( str3 AS INTERVAL DAY TO SECOND) < 1 
02:03:05.000000000)) and (CAST( str4 AS INTERVAL DAY TO SECOND) >= 1 
02:03:04.000000000)) and (CAST( str4 AS INTERVAL DAY TO SECOND) > 1 
02:03:04.000000000)) and (1 02:03:04.000000000 = CAST( st
 r3 AS INTERVAL DAY TO SECOND))) and (1 02:03:04.000000000 <> CAST( str4 AS 
INTERVAL DAY TO SECOND))) and (1 02:03:04.000000000 <= CAST( str4 AS INTERVAL 
DAY TO SECOND))) and (1 02:03:04.000000000 < CAST( str4 AS INTERVAL DAY TO 
SECOND))) and (1 02:03:05.000000000 >= CAST( str3 AS INTERVAL DAY TO SECOND))) 
and (1 02:03:05.000000000 > CAST( str3 AS INTERVAL DAY TO SECOND))) (type: 
boolean)
+              Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
+              Select Operator
+                expressions: ts (type: timestamp)
+                outputColumnNames: _col0
+                Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
+                Reduce Output Operator
+                  key expressions: _col0 (type: timestamp)
+                  sort order: +
+                  Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+      Execution mode: vectorized
+      Reduce Operator Tree:
+        Select Operator
+          expressions: KEY.reducesinkkey0 (type: timestamp)
+          outputColumnNames: _col0
+          Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: 
NONE
+          File Output Operator
+            compressed: false
+            Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
+            table:
+                input format: org.apache.hadoop.mapred.TextInputFormat
+                output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: select ts from vector_interval_2
+where
+  interval_day_time(str3) = interval_day_time(str3)
+  and interval_day_time(str3) != interval_day_time(str4)
+  and interval_day_time(str3) <= interval_day_time(str4)
+  and interval_day_time(str3) < interval_day_time(str4)
+  and interval_day_time(str4) >= interval_day_time(str3)
+  and interval_day_time(str4) > interval_day_time(str3)
+
+  and interval_day_time(str3) = interval '1 2:3:4' day to second
+  and interval_day_time(str3) != interval '1 2:3:5' day to second
+  and interval_day_time(str3) <= interval '1 2:3:5' day to second
+  and interval_day_time(str3) < interval '1 2:3:5' day to second
+  and interval_day_time(str4) >= interval '1 2:3:4' day to second
+  and interval_day_time(str4) > interval '1 2:3:4' day to second
+
+  and interval '1 2:3:4' day to second = interval_day_time(str3)
+  and interval '1 2:3:4' day to second != interval_day_time(str4)
+  and interval '1 2:3:4' day to second <= interval_day_time(str4)
+  and interval '1 2:3:4' day to second < interval_day_time(str4)
+  and interval '1 2:3:5' day to second >= interval_day_time(str3)
+  and interval '1 2:3:5' day to second > interval_day_time(str3)
+order by ts
+PREHOOK: type: QUERY
+PREHOOK: Input: default@vector_interval_2
+#### A masked pattern was here ####
+POSTHOOK: query: select ts from vector_interval_2
+where
+  interval_day_time(str3) = interval_day_time(str3)
+  and interval_day_time(str3) != interval_day_time(str4)
+  and interval_day_time(str3) <= interval_day_time(str4)
+  and interval_day_time(str3) < interval_day_time(str4)
+  and interval_day_time(str4) >= interval_day_time(str3)
+  and interval_day_time(str4) > interval_day_time(str3)
+
+  and interval_day_time(str3) = interval '1 2:3:4' day to second
+  and interval_day_time(str3) != interval '1 2:3:5' day to second
+  and interval_day_time(str3) <= interval '1 2:3:5' day to second
+  and interval_day_time(str3) < interval '1 2:3:5' day to second
+  and interval_day_time(str4) >= interval '1 2:3:4' day to second
+  and interval_day_time(str4) > interval '1 2:3:4' day to second
+
+  and interval '1 2:3:4' day to second = interval_day_time(str3)
+  and interval '1 2:3:4' day to second != interval_day_time(str4)
+  and interval '1 2:3:4' day to second <= interval_day_time(str4)
+  and interval '1 2:3:4' day to second < interval_day_time(str4)
+  and interval '1 2:3:5' day to second >= interval_day_time(str3)
+  and interval '1 2:3:5' day to second > interval_day_time(str3)
+order by ts
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@vector_interval_2
+#### A masked pattern was here ####
+2001-01-01 01:02:03
+PREHOOK: query: explain
+select ts from vector_interval_2
+where
+  date '2002-03-01' = dt + interval_year_month(str1)
+  and date '2002-03-01' <= dt + interval_year_month(str1)
+  and date '2002-03-01' >= dt + interval_year_month(str1)
+  and dt + interval_year_month(str1) = date '2002-03-01'
+  and dt + interval_year_month(str1) <= date '2002-03-01'
+  and dt + interval_year_month(str1) >= date '2002-03-01'
+  and dt != dt + interval_year_month(str1)
+
+  and date '2002-03-01' = dt + interval '1-2' year to month
+  and date '2002-03-01' <= dt + interval '1-2' year to month
+  and date '2002-03-01' >= dt + interval '1-2' year to month
+  and dt + interval '1-2' year to month = date '2002-03-01'
+  and dt + interval '1-2' year to month <= date '2002-03-01'
+  and dt + interval '1-2' year to month >= date '2002-03-01'
+  and dt != dt + interval '1-2' year to month
+order by ts
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+select ts from vector_interval_2
+where
+  date '2002-03-01' = dt + interval_year_month(str1)
+  and date '2002-03-01' <= dt + interval_year_month(str1)
+  and date '2002-03-01' >= dt + interval_year_month(str1)
+  and dt + interval_year_month(str1) = date '2002-03-01'
+  and dt + interval_year_month(str1) <= date '2002-03-01'
+  and dt + interval_year_month(str1) >= date '2002-03-01'
+  and dt != dt + interval_year_month(str1)
+
+  and date '2002-03-01' = dt + interval '1-2' year to month
+  and date '2002-03-01' <= dt + interval '1-2' year to month
+  and date '2002-03-01' >= dt + interval '1-2' year to month
+  and dt + interval '1-2' year to month = date '2002-03-01'
+  and dt + interval '1-2' year to month <= date '2002-03-01'
+  and dt + interval '1-2' year to month >= date '2002-03-01'
+  and dt != dt + interval '1-2' year to month
+order by ts
+POSTHOOK: type: QUERY
+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_interval_2
+            Statistics: Num rows: 2 Data size: 788 Basic stats: COMPLETE 
Column stats: NONE
+            Filter Operator
+              predicate: ((((((((((((((2002-03-01 = (dt + CAST( str1 AS 
INTERVAL YEAR TO MONTH))) and (2002-03-01 <= (dt + CAST( str1 AS INTERVAL YEAR 
TO MONTH)))) and (2002-03-01 >= (dt + CAST( str1 AS INTERVAL YEAR TO MONTH)))) 
and ((dt + CAST( str1 AS INTERVAL YEAR TO MONTH)) = 2002-03-01)) and ((dt + 
CAST( str1 AS INTERVAL YEAR TO MONTH)) <= 2002-03-01)) and ((dt + CAST( str1 AS 
INTERVAL YEAR TO MONTH)) >= 2002-03-01)) and (dt <> (dt + CAST( str1 AS 
INTERVAL YEAR TO MONTH)))) and (2002-03-01 = (dt + 1-2))) and (2002-03-01 <= 
(dt + 1-2))) and (2002-03-01 >= (dt + 1-2))) and ((dt + 1-2) = 2002-03-01)) and 
((dt + 1-2) <= 2002-03-01)) and ((dt + 1-2) >= 2002-03-01)) and (dt <> (dt + 
1-2))) (type: boolean)
+              Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
+              Select Operator
+                expressions: ts (type: timestamp)
+                outputColumnNames: _col0
+                Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
+                Reduce Output Operator
+                  key expressions: _col0 (type: timestamp)
+                  sort order: +
+                  Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+      Execution mode: vectorized
+      Reduce Operator Tree:
+        Select Operator
+          expressions: KEY.reducesinkkey0 (type: timestamp)
+          outputColumnNames: _col0
+          Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: 
NONE
+          File Output Operator
+            compressed: false
+            Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
+            table:
+                input format: org.apache.hadoop.mapred.TextInputFormat
+                output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: select ts from vector_interval_2
+where
+  date '2002-03-01' = dt + interval_year_month(str1)
+  and date '2002-03-01' <= dt + interval_year_month(str1)
+  and date '2002-03-01' >= dt + interval_year_month(str1)
+  and dt + interval_year_month(str1) = date '2002-03-01'
+  and dt + interval_year_month(str1) <= date '2002-03-01'
+  and dt + interval_year_month(str1) >= date '2002-03-01'
+  and dt != dt + interval_year_month(str1)
+
+  and date '2002-03-01' = dt + interval '1-2' year to month
+  and date '2002-03-01' <= dt + interval '1-2' year to month
+  and date '2002-03-01' >= dt + interval '1-2' year to month
+  and dt + interval '1-2' year to month = date '2002-03-01'
+  and dt + interval '1-2' year to month <= date '2002-03-01'
+  and dt + interval '1-2' year to month >= date '2002-03-01'
+  and dt != dt + interval '1-2' year to month
+order by ts
+PREHOOK: type: QUERY
+PREHOOK: Input: default@vector_interval_2
+#### A masked pattern was here ####
+POSTHOOK: query: select ts from vector_interval_2
+where
+  date '2002-03-01' = dt + interval_year_month(str1)
+  and date '2002-03-01' <= dt + interval_year_month(str1)
+  and date '2002-03-01' >= dt + interval_year_month(str1)
+  and dt + interval_year_month(str1) = date '2002-03-01'
+  and dt + interval_year_month(str1) <= date '2002-03-01'
+  and dt + interval_year_month(str1) >= date '2002-03-01'
+  and dt != dt + interval_year_month(str1)
+
+  and date '2002-03-01' = dt + interval '1-2' year to month
+  and date '2002-03-01' <= dt + interval '1-2' year to month
+  and date '2002-03-01' >= dt + interval '1-2' year to month
+  and dt + interval '1-2' year to month = date '2002-03-01'
+  and dt + interval '1-2' year to month <= date '2002-03-01'
+  and dt + interval '1-2' year to month >= date '2002-03-01'
+  and dt != dt + interval '1-2' year to month
+order by ts
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@vector_interval_2
+#### A masked pattern was here ####
+2001-01-01 01:02:03
+PREHOOK: query: explain
+select ts from vector_interval_2
+where
+  timestamp '2002-03-01 01:02:03' = ts + interval '1-2' year to month
+  and timestamp '2002-03-01 01:02:03' <= ts + interval '1-2' year to month
+  and timestamp '2002-03-01 01:02:03' >= ts + interval '1-2' year to month
+  and timestamp '2002-04-01 01:02:03' != ts + interval '1-2' year to month
+  and timestamp '2002-02-01 01:02:03' < ts + interval '1-2' year to month
+  and timestamp '2002-04-01 01:02:03' > ts + interval '1-2' year to month
+
+  and ts + interval '1-2' year to month = timestamp '2002-03-01 01:02:03'
+  and ts + interval '1-2' year to month >= timestamp '2002-03-01 01:02:03'
+  and ts + interval '1-2' year to month <= timestamp '2002-03-01 01:02:03'
+  and ts + interval '1-2' year to month != timestamp '2002-04-01 01:02:03'
+  and ts + interval '1-2' year to month > timestamp '2002-02-01 01:02:03'
+  and ts + interval '1-2' year to month < timestamp '2002-04-01 01:02:03'
+
+  and ts = ts + interval '0' year
+  and ts != ts + interval '1' year
+  and ts <= ts + interval '1' year
+  and ts < ts + interval '1' year
+  and ts >= ts - interval '1' year
+  and ts > ts - interval '1' year
+order by ts
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+select ts from vector_interval_2
+where
+  timestamp '2002-03-01 01:02:03' = ts + interval '1-2' year to month
+  and timestamp '2002-03-01 01:02:03' <= ts + interval '1-2' year to month
+  and timestamp '2002-03-01 01:02:03' >= ts + interval '1-2' year to month
+  and timestamp '2002-04-01 01:02:03' != ts + interval '1-2' year to month
+  and timestamp '2002-02-01 01:02:03' < ts + interval '1-2' year to month
+  and timestamp '2002-04-01 01:02:03' > ts + interval '1-2' year to month
+
+  and ts + interval '1-2' year to month = timestamp '2002-03-01 01:02:03'
+  and ts + interval '1-2' year to month >= timestamp '2002-03-01 01:02:03'
+  and ts + interval '1-2' year to month <= timestamp '2002-03-01 01:02:03'
+  and ts + interval '1-2' year to month != timestamp '2002-04-01 01:02:03'
+  and ts + interval '1-2' year to month > timestamp '2002-02-01 01:02:03'
+  and ts + interval '1-2' year to month < timestamp '2002-04-01 01:02:03'
+
+  and ts = ts + interval '0' year
+  and ts != ts + interval '1' year
+  and ts <= ts + interval '1' year
+  and ts < ts + interval '1' year
+  and ts >= ts - interval '1' year
+  and ts > ts - interval '1' year
+order by ts
+POSTHOOK: type: QUERY
+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_interval_2
+            Statistics: Num rows: 2 Data size: 788 Basic stats: COMPLETE 
Column stats: NONE
+            Filter Operator
+              predicate: ((((((((((((((((((2002-03-01 01:02:03.0 = (ts + 1-2)) 
and (2002-03-01 01:02:03.0 <= (ts + 1-2))) and (2002-03-01 01:02:03.0 >= (ts + 
1-2))) and (2002-04-01 01:02:03.0 <> (ts + 1-2))) and (2002-02-01 01:02:03.0 < 
(ts + 1-2))) and (2002-04-01 01:02:03.0 > (ts + 1-2))) and ((ts + 1-2) = 
2002-03-01 01:02:03.0)) and ((ts + 1-2) >= 2002-03-01 01:02:03.0)) and ((ts + 
1-2) <= 2002-03-01 01:02:03.0)) and ((ts + 1-2) <> 2002-04-01 01:02:03.0)) and 
((ts + 1-2) > 2002-02-01 01:02:03.0)) and ((ts + 1-2) < 2002-04-01 01:02:03.0)) 
and (ts = (ts + 0-0))) and (ts <> (ts + 1-0))) and (ts <= (ts + 1-0))) and (ts 
< (ts + 1-0))) and (ts >= (ts - 1-0))) and (ts > (ts - 1-0))) (type: boolean)
+              Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
+              Select Operator
+                expressions: ts (type: timestamp)
+                outputColumnNames: _col0
+                Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
+                Reduce Output Operator
+                  key expressions: _col0 (type: timestamp)
+                  sort order: +
+                  Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+      Execution mode: vectorized
+      Reduce Operator Tree:
+        Select Operator
+          expressions: KEY.reducesinkkey0 (type: timestamp)
+          outputColumnNames: _col0
+          Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: 
NONE
+          File Output Operator
+            compressed: false
+            Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
+            table:
+                input format: org.apache.hadoop.mapred.TextInputFormat
+                output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: select ts from vector_interval_2
+where
+  timestamp '2002-03-01 01:02:03' = ts + interval '1-2' year to month
+  and timestamp '2002-03-01 01:02:03' <= ts + interval '1-2' year to month
+  and timestamp '2002-03-01 01:02:03' >= ts + interval '1-2' year to month
+  and timestamp '2002-04-01 01:02:03' != ts + interval '1-2' year to month
+  and timestamp '2002-02-01 01:02:03' < ts + interval '1-2' year to month
+  and timestamp '2002-04-01 01:02:03' > ts + interval '1-2' year to month
+
+  and ts + interval '1-2' year to month = timestamp '2002-03-01 01:02:03'
+  and ts + interval '1-2' year to month >= timestamp '2002-03-01 01:02:03'
+  and ts + interval '1-2' year to month <= timestamp '2002-03-01 01:02:03'
+  and ts + interval '1-2' year to month != timestamp '2002-04-01 01:02:03'
+  and ts + interval '1-2' year to month > timestamp '2002-02-01 01:02:03'
+  and ts + interval '1-2' year to month < timestamp '2002-04-01 01:02:03'
+
+  and ts = ts + interval '0' year
+  and ts != ts + interval '1' year
+  and ts <= ts + interval '1' year
+  and ts < ts + interval '1' year
+  and ts >= ts - interval '1' year
+  and ts > ts - interval '1' year
+order by ts
+PREHOOK: type: QUERY
+PREHOOK: Input: default@vector_interval_2
+#### A masked pattern was here ####
+POSTHOOK: query: select ts from vector_interval_2
+where
+  timestamp '2002-03-01 01:02:03' = ts + interval '1-2' year to month
+  and timestamp '2002-03-01 01:02:03' <= ts + interval '1-2' year to month
+  and timestamp '2002-03-01 01:02:03' >= ts + interval '1-2' year to month
+  and timestamp '2002-04-01 01:02:03' != ts + interval '1-2' year to month
+  and timestamp '2002-02-01 01:02:03' < ts + interval '1-2' year to month
+  and timestamp '2002-04-01 01:02:03' > ts + interval '1-2' year to month
+
+  and ts + interval '1-2' year to month = timestamp '2002-03-01 01:02:03'
+  and ts + interval '1-2' year to month >= timestamp '2002-03-01 01:02:03'
+  and ts + interval '1-2' year to month <= timestamp '2002-03-01 01:02:03'
+  and ts + interval '1-2' year to month != timestamp '2002-04-01 01:02:03'
+  and ts + interval '1-2' year to month > timestamp '2002-02-01 01:02:03'
+  and ts + interval '1-2' year to month < timestamp '2002-04-01 01:02:03'
+
+  and ts = ts + interval '0' year
+  and ts != ts + interval '1' year
+  and ts <= ts + interval '1' year
+  and ts < ts + interval '1' year
+  and ts >= ts - interval '1' year
+  and ts > ts - interval '1' year
+order by ts
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@vector_interval_2
+#### A masked pattern was here ####
+2001-01-01 01:02:03
+PREHOOK: query: -- day to second expressions in predicate
+explain
+select ts from vector_interval_2
+where
+  timestamp '2001-01-01 01:02:03' = dt + interval '0 1:2:3' day to second
+  and timestamp '2001-01-01 01:02:03' != dt + interval '0 1:2:4' day to second
+  and timestamp '2001-01-01 01:02:03' <= dt + interval '0 1:2:3' day to second
+  and timestamp '2001-01-01 01:02:03' < dt + interval '0 1:2:4' day to second
+  and timestamp '2001-01-01 01:02:03' >= dt - interval '0 1:2:3' day to second
+  and timestamp '2001-01-01 01:02:03' > dt - interval '0 1:2:4' day to second
+
+  and dt + interval '0 1:2:3' day to second = timestamp '2001-01-01 01:02:03'
+  and dt + interval '0 1:2:4' day to second != timestamp '2001-01-01 01:02:03'
+  and dt + interval '0 1:2:3' day to second >= timestamp '2001-01-01 01:02:03'
+  and dt + interval '0 1:2:4' day to second > timestamp '2001-01-01 01:02:03'
+  and dt - interval '0 1:2:3' day to second <= timestamp '2001-01-01 01:02:03'
+  and dt - interval '0 1:2:4' day to second < timestamp '2001-01-01 01:02:03'
+
+  and ts = dt + interval '0 1:2:3' day to second
+  and ts != dt + interval '0 1:2:4' day to second
+  and ts <= dt + interval '0 1:2:3' day to second
+  and ts < dt + interval '0 1:2:4' day to second
+  and ts >= dt - interval '0 1:2:3' day to second
+  and ts > dt - interval '0 1:2:4' day to second
+order by ts
+PREHOOK: type: QUERY
+POSTHOOK: query: -- day to second expressions in predicate
+explain
+select ts from vector_interval_2
+where
+  timestamp '2001-01-01 01:02:03' = dt + interval '0 1:2:3' day to second
+  and timestamp '2001-01-01 01:02:03' != dt + interval '0 1:2:4' day to second
+  and timestamp '2001-01-01 01:02:03' <= dt + interval '0 1:2:3' day to second
+  and timestamp '2001-01-01 01:02:03' < dt + interval '0 1:2:4' day to second
+  and timestamp '2001-01-01 01:02:03' >= dt - interval '0 1:2:3' day to second
+  and timestamp '2001-01-01 01:02:03' > dt - interval '0 1:2:4' day to second
+
+  and dt + interval '0 1:2:3' day to second = timestamp '2001-01-01 01:02:03'
+  and dt + interval '0 1:2:4' day to second != timestamp '2001-01-01 01:02:03'
+  and dt + interval '0 1:2:3' day to second >= timestamp '2001-01-01 01:02:03'
+  and dt + interval '0 1:2:4' day to second > timestamp '2001-01-01 01:02:03'
+  and dt - interval '0 1:2:3' day to second <= timestamp '2001-01-01 01:02:03'
+  and dt - interval '0 1:2:4' day to second < timestamp '2001-01-01 01:02:03'
+
+  and ts = dt + interval '0 1:2:3' day to second
+  and ts != dt + interval '0 1:2:4' day to second
+  and ts <= dt + interval '0 1:2:3' day to second
+  and ts < dt + interval '0 1:2:4' day to second
+  and ts >= dt - interval '0 1:2:3' day to second
+  and ts > dt - interval '0 1:2:4' day to second
+order by ts
+POSTHOOK: type: QUERY
+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_interval_2
+            Statistics: Num rows: 2 Data size: 788 Basic stats: COMPLETE 
Column stats: NONE
+            Filter Operator
+              predicate: ((((((((((((((((((2001-01-01 01:02:03.0 = (dt + 0 
01:02:03.000000000)) and (2001-01-01 01:02:03.0 <> (dt + 0 
01:02:04.000000000))) and (2001-01-01 01:02:03.0 <= (dt + 0 
01:02:03.000000000))) and (2001-01-01 01:02:03.0 < (dt + 0 
01:02:04.000000000))) and (2001-01-01 01:02:03.0 >= (dt - 0 
01:02:03.000000000))) and (2001-01-01 01:02:03.0 > (dt - 0 
01:02:04.000000000))) and ((dt + 0 01:02:03.000000000) = 2001-01-01 
01:02:03.0)) and ((dt + 0 01:02:04.000000000) <> 2001-01-01 01:02:03.0)) and 
((dt + 0 01:02:03.000000000) >= 2001-01-01 01:02:03.0)) and ((dt + 0 
01:02:04.000000000) > 2001-01-01 01:02:03.0)) and ((dt - 0 01:02:03.000000000) 
<= 2001-01-01 01:02:03.0)) and ((dt - 0 01:02:04.000000000) < 2001-01-01 
01:02:03.0)) and (ts = (dt + 0 01:02:03.000000000))) and (ts <> (dt + 0 
01:02:04.000000000))) and (ts <= (dt + 0 01:02:03.000000000))) and (ts < (dt + 
0 01:02:04.000000000))) and (ts >= (dt - 0 01:02:03.000000000))) and (ts > (dt 
- 0 01:02:04.000000000))) (ty
 pe: boolean)
+              Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
+              Select Operator
+                expressions: ts (type: timestamp)
+                outputColumnNames: _col0
+                Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
+                Reduce Output Operator
+                  key expressions: _col0 (type: timestamp)
+                  sort order: +
+                  Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+      Execution mode: vectorized
+      Reduce Operator Tree:
+        Select Operator
+          expressions: KEY.reducesinkkey0 (type: timestamp)
+          outputColumnNames: _col0
+          Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: 
NONE
+          File Output Operator
+            compressed: false
+            Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
+            table:
+                input format: org.apache.hadoop.mapred.TextInputFormat
+                output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: select ts from vector_interval_2
+where
+  timestamp '2001-01-01 01:02:03' = dt + interval '0 1:2:3' day to second
+  and timestamp '2001-01-01 01:02:03' != dt + interval '0 1:2:4' day to second
+  and timestamp '2001-01-01 01:02:03' <= dt + interval '0 1:2:3' day to second
+  and timestamp '2001-01-01 01:02:03' < dt + interval '0 1:2:4' day to second
+  and timestamp '2001-01-01 01:02:03' >= dt - interval '0 1:2:3' day to second
+  and timestamp '2001-01-01 01:02:03' > dt - interval '0 1:2:4' day to second
+
+  and dt + interval '0 1:2:3' day to second = timestamp '2001-01-01 01:02:03'
+  and dt + interval '0 1:2:4' day to second != timestamp '2001-01-01 01:02:03'
+  and dt + interval '0 1:2:3' day to second >= timestamp '2001-01-01 01:02:03'
+  and dt + interval '0 1:2:4' day to second > timestamp '2001-01-01 01:02:03'
+  and dt - interval '0 1:2:3' day to second <= timestamp '2001-01-01 01:02:03'
+  and dt - interval '0 1:2:4' day to second < timestamp '2001-01-01 01:02:03'
+
+  and ts = dt + interval '0 1:2:3' day to second
+  and ts != dt + interval '0 1:2:4' day to second
+  and ts <= dt + interval '0 1:2:3' day to second
+  and ts < dt + interval '0 1:2:4' day to second
+  and ts >= dt - interval '0 1:2:3' day to second
+  and ts > dt - interval '0 1:2:4' day to second
+order by ts
+PREHOOK: type: QUERY
+PREHOOK: Input: default@vector_interval_2
+#### A masked pattern was here ####
+POSTHOOK: query: select ts from vector_interval_2
+where
+  timestamp '2001-01-01 01:02:03' = dt + interval '0 1:2:3' day to second
+  and timestamp '2001-01-01 01:02:03' != dt + interval '0 1:2:4' day to second
+  and timestamp '2001-01-01 01:02:03' <= dt + interval '0 1:2:3' day to second
+  and timestamp '2001-01-01 01:02:03' < dt + interval '0 1:2:4' day to second
+  and timestamp '2001-01-01 01:02:03' >= dt - interval '0 1:2:3' day to second
+  and timestamp '2001-01-01 01:02:03' > dt - interval '0 1:2:4' day to second
+
+  and dt + interval '0 1:2:3' day to second = timestamp '2001-01-01 01:02:03'
+  and dt + interval '0 1:2:4' day to second != timestamp '2001-01-01 01:02:03'
+  and dt + interval '0 1:2:3' day to second >= timestamp '2001-01-01 01:02:03'
+  and dt + interval '0 1:2:4' day to second > timestamp '2001-01-01 01:02:03'
+  and dt - interval '0 1:2:3' day to second <= timestamp '2001-01-01 01:02:03'
+  and dt - interval '0 1:2:4' day to second < timestamp '2001-01-01 01:02:03'
+
+  and ts = dt + interval '0 1:2:3' day to second
+  and ts != dt + interval '0 1:2:4' day to second
+  and ts <= dt + interval '0 1:2:3' day to second
+  and ts < dt + interval '0 1:2:4' day to second
+  and ts >= dt - interval '0 1:2:3' day to second
+  and ts > dt - interval '0 1:2:4' day to second
+order by ts
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@vector_interval_2
+#### A masked pattern was here ####
+2001-01-01 01:02:03
+PREHOOK: query: explain
+select ts from vector_interval_2
+where
+  timestamp '2001-01-01 01:02:03' = ts + interval '0' day
+  and timestamp '2001-01-01 01:02:03' != ts + interval '1' day
+  and timestamp '2001-01-01 01:02:03' <= ts + interval '1' day
+  and timestamp '2001-01-01 01:02:03' < ts + interval '1' day
+  and timestamp '2001-01-01 01:02:03' >= ts - interval '1' day
+  and timestamp '2001-01-01 01:02:03' > ts - interval '1' day
+
+  and ts + interval '0' day = timestamp '2001-01-01 01:02:03'
+  and ts + interval '1' day != timestamp '2001-01-01 01:02:03'
+  and ts + interval '1' day >= timestamp '2001-01-01 01:02:03'
+  and ts + interval '1' day > timestamp '2001-01-01 01:02:03'
+  and ts - interval '1' day <= timestamp '2001-01-01 01:02:03'
+  and ts - interval '1' day < timestamp '2001-01-01 01:02:03'
+
+  and ts = ts + interval '0' day
+  and ts != ts + interval '1' day
+  and ts <= ts + interval '1' day
+  and ts < ts + interval '1' day
+  and ts >= ts - interval '1' day
+  and ts > ts - interval '1' day
+order by ts
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+select ts from vector_interval_2
+where
+  timestamp '2001-01-01 01:02:03' = ts + interval '0' day
+  and timestamp '2001-01-01 01:02:03' != ts + interval '1' day
+  and timestamp '2001-01-01 01:02:03' <= ts + interval '1' day
+  and timestamp '2001-01-01 01:02:03' < ts + interval '1' day
+  and timestamp '2001-01-01 01:02:03' >= ts - interval '1' day
+  and timestamp '2001-01-01 01:02:03' > ts - interval '1' day
+
+  and ts + interval '0' day = timestamp '2001-01-01 01:02:03'
+  and ts + interval '1' day != timestamp '2001-01-01 01:02:03'
+  and ts + interval '1' day >= timestamp '2001-01-01 01:02:03'
+  and ts + interval '1' day > timestamp '2001-01-01 01:02:03'
+  and ts - interval '1' day <= timestamp '2001-01-01 01:02:03'
+  and ts - interval '1' day < timestamp '2001-01-01 01:02:03'
+
+  and ts = ts + interval '0' day
+  and ts != ts + interval '1' day
+  and ts <= ts + interval '1' day
+  and ts < ts + interval '1' day
+  and ts >= ts - interval '1' day
+  and ts > ts - interval '1' day
+order by ts
+POSTHOOK: type: QUERY
+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_interval_2
+            Statistics: Num rows: 2 Data size: 788 Basic stats: COMPLETE 
Column stats: NONE
+            Filter Operator
+              predicate: ((((((((((((((((((2001-01-01 01:02:03.0 = (ts + 0 
00:00:00.000000000)) and (2001-01-01 01:02:03.0 <> (ts + 1 
00:00:00.000000000))) and (2001-01-01 01:02:03.0 <= (ts + 1 
00:00:00.000000000))) and (2001-01-01 01:02:03.0 < (ts + 1 
00:00:00.000000000))) and (2001-01-01 01:02:03.0 >= (ts - 1 
00:00:00.000000000))) and (2001-01-01 01:02:03.0 > (ts - 1 
00:00:00.000000000))) and ((ts + 0 00:00:00.000000000) = 2001-01-01 
01:02:03.0)) and ((ts + 1 00:00:00.000000000) <> 2001-01-01 01:02:03.0)) and 
((ts + 1 00:00:00.000000000) >= 2001-01-01 01:02:03.0)) and ((ts + 1 
00:00:00.000000000) > 2001-01-01 01:02:03.0)) and ((ts - 1 00:00:00.000000000) 
<= 2001-01-01 01:02:03.0)) and ((ts - 1 00:00:00.000000000) < 2001-01-01 
01:02:03.0)) and (ts = (ts + 0 00:00:00.000000000))) and (ts <> (ts + 1 
00:00:00.000000000))) and (ts <= (ts + 1 00:00:00.000000000))) and (ts < (ts + 
1 00:00:00.000000000))) and (ts >= (ts - 1 00:00:00.000000000))) and (ts > (ts 
- 1 00:00:00.000000000))) (ty
 pe: boolean)
+              Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
+              Select Operator
+                expressions: ts (type: timestamp)
+                outputColumnNames: _col0
+                Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
+                Reduce Output Operator
+                  key expressions: _col0 (type: timestamp)
+                  sort order: +
+                  Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+      Execution mode: vectorized
+      Reduce Operator Tree:
+        Select Operator
+          expressions: KEY.reducesinkkey0 (type: timestamp)
+          outputColumnNames: _col0
+          Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: 
NONE
+          File Output Operator
+            compressed: false
+            Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
+            table:
+                input format: org.apache.hadoop.mapred.TextInputFormat
+                output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: select ts from vector_interval_2
+where
+  timestamp '2001-01-01 01:02:03' = ts + interval '0' day
+  and timestamp '2001-01-01 01:02:03' != ts + interval '1' day
+  and timestamp '2001-01-01 01:02:03' <= ts + interval '1' day
+  and timestamp '2001-01-01 01:02:03' < ts + interval '1' day
+  and timestamp '2001-01-01 01:02:03' >= ts - interval '1' day
+  and timestamp '2001-01-01 01:02:03' > ts - interval '1' day
+
+  and ts + interval '0' day = timestamp '2001-01-01 01:02:03'
+  and ts + interval '1' day != timestamp '2001-01-01 01:02:03'
+  and ts + interval '1' day >= timestamp '2001-01-01 01:02:03'
+  and ts + interval '1' day > timestamp '2001-01-01 01:02:03'
+  and ts - interval '1' day <= timestamp '2001-01-01 01:02:03'
+  and ts - interval '1' day < timestamp '2001-01-01 01:02:03'
+
+  and ts = ts + interval '0' day
+  and ts != ts + interval '1' day
+  and ts <= ts + interval '1' day
+  and ts < ts + interval '1' day
+  and ts >= ts - interval '1' day
+  and ts > ts - interval '1' day
+order by ts
+PREHOOK: type: QUERY
+PREHOOK: Input: default@vector_interval_2
+#### A masked pattern was here ####
+POSTHOOK: query: select ts from vector_interval_2
+where
+  timestamp '2001-01-01 01:02:03' = ts + interval '0' day
+  and timestamp '2001-01-01 01:02:03' != ts + interval '1' day
+  and timestamp '2001-01-01 01:02:03' <= ts + interval '1' day
+  and timestamp '2001-01-01 01:02:03' < ts + interval '1' day
+  and timestamp '2001-01-01 01:02:03' >= ts - interval '1' day
+  and timestamp '2001-01-01 01:02:03' > ts - interval '1' day
+
+  and ts + interval '0' day = timestamp '2001-01-01 01:02:03'
+  and ts + interval '1' day != timestamp '2001-01-01 01:02:03'
+  and ts + interval '1' day >= timestamp '2001-01-01 01:02:03'
+  and ts + interval '1' day > timestamp '2001-01-01 01:02:03'
+  and ts - interval '1' day <= timestamp '2001-01-01 01:02:03'
+  and ts - interval '1' day < timestamp '2001-01-01 01:02:03'
+
+  and ts = ts + interval '0' day
+  and ts != ts + interval '1' day
+  and ts <= ts + interval '1' day
+  and ts < ts + interval '1' day

[... 16 lines stripped ...]

Reply via email to