You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by pr...@apache.org on 2016/08/23 18:46:09 UTC

[38/51] [partial] hive git commit: HIVE-14502: Convert MiniTez tests to MiniLlap tests (Prasanth Jayachandran reviewed by Siddharth Seth)

http://git-wip-us.apache.org/repos/asf/hive/blob/5f01dc42/ql/src/test/results/clientpositive/llap/constprog_semijoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/constprog_semijoin.q.out b/ql/src/test/results/clientpositive/llap/constprog_semijoin.q.out
new file mode 100644
index 0000000..e9f8a8f
--- /dev/null
+++ b/ql/src/test/results/clientpositive/llap/constprog_semijoin.q.out
@@ -0,0 +1,494 @@
+PREHOOK: query: create table table1 (id int, val string, val1 string, dimid int)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@table1
+POSTHOOK: query: create table table1 (id int, val string, val1 string, dimid int)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@table1
+PREHOOK: query: insert into table1 (id, val, val1, dimid) values (1, 't1val01', 'val101', 100), (2, 't1val02', 'val102', 200), (3, 't1val03', 'val103', 103), (3, 't1val01', 'val104', 100), (2, 't1val05', 'val105', 200), (3, 't1val01', 'val106', 103), (1, 't1val07', 'val107', 200), (2, 't1val01', 'val108', 200), (3, 't1val09', 'val109', 103), (4,'t1val01', 'val110', 200)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@values__tmp__table__1
+PREHOOK: Output: default@table1
+POSTHOOK: query: insert into table1 (id, val, val1, dimid) values (1, 't1val01', 'val101', 100), (2, 't1val02', 'val102', 200), (3, 't1val03', 'val103', 103), (3, 't1val01', 'val104', 100), (2, 't1val05', 'val105', 200), (3, 't1val01', 'val106', 103), (1, 't1val07', 'val107', 200), (2, 't1val01', 'val108', 200), (3, 't1val09', 'val109', 103), (4,'t1val01', 'val110', 200)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@values__tmp__table__1
+POSTHOOK: Output: default@table1
+POSTHOOK: Lineage: table1.dimid EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col4, type:string, comment:), ]
+POSTHOOK: Lineage: table1.id EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
+POSTHOOK: Lineage: table1.val SIMPLE [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
+POSTHOOK: Lineage: table1.val1 SIMPLE [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col3, type:string, comment:), ]
+PREHOOK: query: create table table2 (id int, val2 string)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@table2
+POSTHOOK: query: create table table2 (id int, val2 string)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@table2
+PREHOOK: query: insert into table2 (id, val2) values (1, 't2val201'), (2, 't2val202'), (3, 't2val203')
+PREHOOK: type: QUERY
+PREHOOK: Input: default@values__tmp__table__2
+PREHOOK: Output: default@table2
+POSTHOOK: query: insert into table2 (id, val2) values (1, 't2val201'), (2, 't2val202'), (3, 't2val203')
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@values__tmp__table__2
+POSTHOOK: Output: default@table2
+POSTHOOK: Lineage: table2.id EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
+POSTHOOK: Lineage: table2.val2 SIMPLE [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col2, type:string, comment:), ]
+PREHOOK: query: create table table3 (id int)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@table3
+POSTHOOK: query: create table table3 (id int)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@table3
+PREHOOK: query: insert into table3 (id) values (100), (100), (101), (102), (103)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@values__tmp__table__3
+PREHOOK: Output: default@table3
+POSTHOOK: query: insert into table3 (id) values (100), (100), (101), (102), (103)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@values__tmp__table__3
+POSTHOOK: Output: default@table3
+POSTHOOK: Lineage: table3.id EXPRESSION [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col1, type:string, comment:), ]
+PREHOOK: query: explain select table1.id, table1.val, table1.val1 from table1 left semi join table3 on table1.dimid = table3.id where table1.val = 't1val01'
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select table1.id, table1.val, table1.val1 from table1 left semi join table3 on table1.dimid = table3.id where table1.val = 't1val01'
+POSTHOOK: type: QUERY
+Plan optimized by CBO.
+
+Vertex dependency in root stage
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 3 (SIMPLE_EDGE)
+
+Stage-0
+  Fetch Operator
+    limit:-1
+    Stage-1
+      Reducer 2 llap
+      File Output Operator [FS_12]
+        Select Operator [SEL_11] (rows=5 width=22)
+          Output:["_col0","_col1","_col2"]
+          Merge Join Operator [MERGEJOIN_17] (rows=5 width=22)
+            Conds:RS_8._col3=RS_9._col0(Left Semi),Output:["_col0","_col2"]
+          <-Map 1 [SIMPLE_EDGE] llap
+            SHUFFLE [RS_8]
+              PartitionCols:_col3
+              Select Operator [SEL_2] (rows=5 width=20)
+                Output:["_col0","_col2","_col3"]
+                Filter Operator [FIL_15] (rows=5 width=20)
+                  predicate:((val = 't1val01') and dimid is not null)
+                  TableScan [TS_0] (rows=10 width=20)
+                    default@table1,table1,Tbl:COMPLETE,Col:NONE,Output:["id","val","val1","dimid"]
+          <-Map 3 [SIMPLE_EDGE] llap
+            SHUFFLE [RS_9]
+              PartitionCols:_col0
+              Group By Operator [GBY_7] (rows=5 width=3)
+                Output:["_col0"],keys:_col0
+                Select Operator [SEL_5] (rows=5 width=3)
+                  Output:["_col0"]
+                  Filter Operator [FIL_16] (rows=5 width=3)
+                    predicate:id is not null
+                    TableScan [TS_3] (rows=5 width=3)
+                      default@table3,table3,Tbl:COMPLETE,Col:NONE,Output:["id"]
+
+PREHOOK: query: select table1.id, table1.val, table1.val1 from table1 left semi join table3 on table1.dimid = table3.id where table1.val = 't1val01'
+PREHOOK: type: QUERY
+PREHOOK: Input: default@table1
+PREHOOK: Input: default@table3
+#### A masked pattern was here ####
+POSTHOOK: query: select table1.id, table1.val, table1.val1 from table1 left semi join table3 on table1.dimid = table3.id where table1.val = 't1val01'
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@table1
+POSTHOOK: Input: default@table3
+#### A masked pattern was here ####
+1	t1val01	val101
+3	t1val01	val104
+3	t1val01	val106
+PREHOOK: query: explain select table1.id, table1.val, table2.val2 from table1 inner join table2 on table1.val = 't1val01' and table1.id = table2.id left semi join table3 on table1.dimid = table3.id
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select table1.id, table1.val, table2.val2 from table1 inner join table2 on table1.val = 't1val01' and table1.id = table2.id left semi join table3 on table1.dimid = table3.id
+POSTHOOK: type: QUERY
+Plan optimized by CBO.
+
+Vertex dependency in root stage
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 4 (SIMPLE_EDGE)
+Reducer 3 <- Map 5 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+
+Stage-0
+  Fetch Operator
+    limit:-1
+    Stage-1
+      Reducer 3 llap
+      File Output Operator [FS_18]
+        Select Operator [SEL_17] (rows=5 width=24)
+          Output:["_col0","_col1","_col2"]
+          Merge Join Operator [MERGEJOIN_28] (rows=5 width=24)
+            Conds:RS_14._col0=RS_15._col0(Inner),Output:["_col0","_col4"]
+          <-Map 5 [SIMPLE_EDGE] llap
+            SHUFFLE [RS_15]
+              PartitionCols:_col0
+              Select Operator [SEL_8] (rows=3 width=10)
+                Output:["_col0","_col1"]
+                Filter Operator [FIL_26] (rows=3 width=10)
+                  predicate:id is not null
+                  TableScan [TS_6] (rows=3 width=10)
+                    default@table2,table2,Tbl:COMPLETE,Col:NONE,Output:["id","val2"]
+          <-Reducer 2 [SIMPLE_EDGE] llap
+            SHUFFLE [RS_14]
+              PartitionCols:_col0
+              Merge Join Operator [MERGEJOIN_27] (rows=5 width=22)
+                Conds:RS_11._col2=RS_12._col0(Left Semi),Output:["_col0"]
+              <-Map 1 [SIMPLE_EDGE] llap
+                SHUFFLE [RS_11]
+                  PartitionCols:_col2
+                  Select Operator [SEL_2] (rows=5 width=20)
+                    Output:["_col0","_col2"]
+                    Filter Operator [FIL_24] (rows=5 width=20)
+                      predicate:((val = 't1val01') and id is not null and dimid is not null)
+                      TableScan [TS_0] (rows=10 width=20)
+                        default@table1,table1,Tbl:COMPLETE,Col:NONE,Output:["id","val","dimid"]
+              <-Map 4 [SIMPLE_EDGE] llap
+                SHUFFLE [RS_12]
+                  PartitionCols:_col0
+                  Group By Operator [GBY_10] (rows=5 width=3)
+                    Output:["_col0"],keys:_col0
+                    Select Operator [SEL_5] (rows=5 width=3)
+                      Output:["_col0"]
+                      Filter Operator [FIL_25] (rows=5 width=3)
+                        predicate:id is not null
+                        TableScan [TS_3] (rows=5 width=3)
+                          default@table3,table3,Tbl:COMPLETE,Col:NONE,Output:["id"]
+
+PREHOOK: query: select table1.id, table1.val, table2.val2 from table1 inner join table2 on table1.val = 't1val01' and table1.id = table2.id left semi join table3 on table1.dimid = table3.id
+PREHOOK: type: QUERY
+PREHOOK: Input: default@table1
+PREHOOK: Input: default@table2
+PREHOOK: Input: default@table3
+#### A masked pattern was here ####
+POSTHOOK: query: select table1.id, table1.val, table2.val2 from table1 inner join table2 on table1.val = 't1val01' and table1.id = table2.id left semi join table3 on table1.dimid = table3.id
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@table1
+POSTHOOK: Input: default@table2
+POSTHOOK: Input: default@table3
+#### A masked pattern was here ####
+1	t1val01	t2val201
+3	t1val01	t2val203
+3	t1val01	t2val203
+PREHOOK: query: explain select table1.id, table1.val, table2.val2 from table1 left semi join table3 on table1.dimid = table3.id inner join table2 on table1.val = 't1val01' and table1.id = table2.id
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select table1.id, table1.val, table2.val2 from table1 left semi join table3 on table1.dimid = table3.id inner join table2 on table1.val = 't1val01' and table1.id = table2.id
+POSTHOOK: type: QUERY
+Plan optimized by CBO.
+
+Vertex dependency in root stage
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 4 (SIMPLE_EDGE)
+Reducer 3 <- Map 5 (SIMPLE_EDGE), Reducer 2 (SIMPLE_EDGE)
+
+Stage-0
+  Fetch Operator
+    limit:-1
+    Stage-1
+      Reducer 3 llap
+      File Output Operator [FS_18]
+        Select Operator [SEL_17] (rows=5 width=24)
+          Output:["_col0","_col1","_col2"]
+          Merge Join Operator [MERGEJOIN_28] (rows=5 width=24)
+            Conds:RS_14._col0=RS_15._col0(Inner),Output:["_col0","_col4"]
+          <-Map 5 [SIMPLE_EDGE] llap
+            SHUFFLE [RS_15]
+              PartitionCols:_col0
+              Select Operator [SEL_8] (rows=3 width=10)
+                Output:["_col0","_col1"]
+                Filter Operator [FIL_26] (rows=3 width=10)
+                  predicate:id is not null
+                  TableScan [TS_6] (rows=3 width=10)
+                    default@table2,table2,Tbl:COMPLETE,Col:NONE,Output:["id","val2"]
+          <-Reducer 2 [SIMPLE_EDGE] llap
+            SHUFFLE [RS_14]
+              PartitionCols:_col0
+              Merge Join Operator [MERGEJOIN_27] (rows=5 width=22)
+                Conds:RS_11._col2=RS_12._col0(Left Semi),Output:["_col0"]
+              <-Map 1 [SIMPLE_EDGE] llap
+                SHUFFLE [RS_11]
+                  PartitionCols:_col2
+                  Select Operator [SEL_2] (rows=5 width=20)
+                    Output:["_col0","_col2"]
+                    Filter Operator [FIL_24] (rows=5 width=20)
+                      predicate:((val = 't1val01') and dimid is not null and id is not null)
+                      TableScan [TS_0] (rows=10 width=20)
+                        default@table1,table1,Tbl:COMPLETE,Col:NONE,Output:["id","val","dimid"]
+              <-Map 4 [SIMPLE_EDGE] llap
+                SHUFFLE [RS_12]
+                  PartitionCols:_col0
+                  Group By Operator [GBY_10] (rows=5 width=3)
+                    Output:["_col0"],keys:_col0
+                    Select Operator [SEL_5] (rows=5 width=3)
+                      Output:["_col0"]
+                      Filter Operator [FIL_25] (rows=5 width=3)
+                        predicate:id is not null
+                        TableScan [TS_3] (rows=5 width=3)
+                          default@table3,table3,Tbl:COMPLETE,Col:NONE,Output:["id"]
+
+PREHOOK: query: select table1.id, table1.val, table2.val2 from table1 left semi join table3 on table1.dimid = table3.id inner join table2 on table1.val = 't1val01' and table1.id = table2.id
+PREHOOK: type: QUERY
+PREHOOK: Input: default@table1
+PREHOOK: Input: default@table2
+PREHOOK: Input: default@table3
+#### A masked pattern was here ####
+POSTHOOK: query: select table1.id, table1.val, table2.val2 from table1 left semi join table3 on table1.dimid = table3.id inner join table2 on table1.val = 't1val01' and table1.id = table2.id
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@table1
+POSTHOOK: Input: default@table2
+POSTHOOK: Input: default@table3
+#### A masked pattern was here ####
+1	t1val01	t2val201
+3	t1val01	t2val203
+3	t1val01	t2val203
+PREHOOK: query: explain select table1.id, table1.val, table1.val1 from table1 left semi join table3 on table1.dimid = table3.id and table3.id = 100 where table1.dimid <> 100
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select table1.id, table1.val, table1.val1 from table1 left semi join table3 on table1.dimid = table3.id and table3.id = 100 where table1.dimid <> 100
+POSTHOOK: type: QUERY
+Plan optimized by CBO.
+
+Vertex dependency in root stage
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 3 (SIMPLE_EDGE)
+
+Stage-0
+  Fetch Operator
+    limit:-1
+    Stage-1
+      Reducer 2 llap
+      File Output Operator [FS_12]
+        Merge Join Operator [MERGEJOIN_17] (rows=2 width=3)
+          Conds:RS_8.100, true=RS_9._col0, _col1(Left Semi),Output:["_col0","_col1","_col2"]
+        <-Map 1 [SIMPLE_EDGE] llap
+          SHUFFLE [RS_8]
+            PartitionCols:100, true
+            Select Operator [SEL_2] (rows=1 width=20)
+              Output:["_col0","_col1","_col2"]
+              Filter Operator [FIL_15] (rows=1 width=20)
+                predicate:false
+                TableScan [TS_0] (rows=10 width=20)
+                  default@table1,table1,Tbl:COMPLETE,Col:NONE,Output:["id","val","val1"]
+        <-Map 3 [SIMPLE_EDGE] llap
+          SHUFFLE [RS_9]
+            PartitionCols:_col0, _col1
+            Group By Operator [GBY_7] (rows=2 width=3)
+              Output:["_col0","_col1"],keys:_col0, _col1
+              Select Operator [SEL_5] (rows=2 width=3)
+                Output:["_col0","_col1"]
+                Filter Operator [FIL_16] (rows=2 width=3)
+                  predicate:((id = 100) and (id = 100) is not null)
+                  TableScan [TS_3] (rows=5 width=3)
+                    default@table3,table3,Tbl:COMPLETE,Col:NONE,Output:["id"]
+
+PREHOOK: query: select table1.id, table1.val, table1.val1 from table1 left semi join table3 on table1.dimid = table3.id and table3.id = 100 where table1.dimid <> 100
+PREHOOK: type: QUERY
+PREHOOK: Input: default@table1
+PREHOOK: Input: default@table3
+#### A masked pattern was here ####
+POSTHOOK: query: select table1.id, table1.val, table1.val1 from table1 left semi join table3 on table1.dimid = table3.id and table3.id = 100 where table1.dimid <> 100
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@table1
+POSTHOOK: Input: default@table3
+#### A masked pattern was here ####
+PREHOOK: query: explain select table1.id, table1.val, table1.val1 from table1 left semi join table3 on table1.dimid = table3.id and table3.id = 100 where table1.dimid  IN (100,200)
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select table1.id, table1.val, table1.val1 from table1 left semi join table3 on table1.dimid = table3.id and table3.id = 100 where table1.dimid  IN (100,200)
+POSTHOOK: type: QUERY
+Plan optimized by CBO.
+
+Vertex dependency in root stage
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 3 (SIMPLE_EDGE)
+
+Stage-0
+  Fetch Operator
+    limit:-1
+    Stage-1
+      Reducer 2 llap
+      File Output Operator [FS_12]
+        Merge Join Operator [MERGEJOIN_17] (rows=5 width=22)
+          Conds:RS_8.100, true=RS_9._col0, _col1(Left Semi),Output:["_col0","_col1","_col2"]
+        <-Map 1 [SIMPLE_EDGE] llap
+          SHUFFLE [RS_8]
+            PartitionCols:100, true
+            Select Operator [SEL_2] (rows=5 width=20)
+              Output:["_col0","_col1","_col2"]
+              Filter Operator [FIL_15] (rows=5 width=20)
+                predicate:((dimid = 100) and (dimid = 100) is not null)
+                TableScan [TS_0] (rows=10 width=20)
+                  default@table1,table1,Tbl:COMPLETE,Col:NONE,Output:["id","val","val1","dimid"]
+        <-Map 3 [SIMPLE_EDGE] llap
+          SHUFFLE [RS_9]
+            PartitionCols:_col0, _col1
+            Group By Operator [GBY_7] (rows=2 width=3)
+              Output:["_col0","_col1"],keys:_col0, _col1
+              Select Operator [SEL_5] (rows=2 width=3)
+                Output:["_col0","_col1"]
+                Filter Operator [FIL_16] (rows=2 width=3)
+                  predicate:((id = 100) and (id = 100) is not null)
+                  TableScan [TS_3] (rows=5 width=3)
+                    default@table3,table3,Tbl:COMPLETE,Col:NONE,Output:["id"]
+
+PREHOOK: query: select table1.id, table1.val, table1.val1 from table1 left semi join table3 on table1.dimid = table3.id and table3.id = 100 where table1.dimid  IN (100,200)
+PREHOOK: type: QUERY
+PREHOOK: Input: default@table1
+PREHOOK: Input: default@table3
+#### A masked pattern was here ####
+POSTHOOK: query: select table1.id, table1.val, table1.val1 from table1 left semi join table3 on table1.dimid = table3.id and table3.id = 100 where table1.dimid  IN (100,200)
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@table1
+POSTHOOK: Input: default@table3
+#### A masked pattern was here ####
+1	t1val01	val101
+3	t1val01	val104
+PREHOOK: query: explain select table1.id, table1.val, table1.val1 from table1 left semi join table3 on table1.dimid = table3.id and table3.id = 100 where table1.dimid  = 200
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select table1.id, table1.val, table1.val1 from table1 left semi join table3 on table1.dimid = table3.id and table3.id = 100 where table1.dimid  = 200
+POSTHOOK: type: QUERY
+Plan optimized by CBO.
+
+Vertex dependency in root stage
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 3 (SIMPLE_EDGE)
+
+Stage-0
+  Fetch Operator
+    limit:-1
+    Stage-1
+      Reducer 2 llap
+      File Output Operator [FS_12]
+        Merge Join Operator [MERGEJOIN_17] (rows=2 width=3)
+          Conds:RS_8.100, true=RS_9._col0, _col1(Left Semi),Output:["_col0","_col1","_col2"]
+        <-Map 1 [SIMPLE_EDGE] llap
+          SHUFFLE [RS_8]
+            PartitionCols:100, true
+            Select Operator [SEL_2] (rows=1 width=20)
+              Output:["_col0","_col1","_col2"]
+              Filter Operator [FIL_15] (rows=1 width=20)
+                predicate:false
+                TableScan [TS_0] (rows=10 width=20)
+                  default@table1,table1,Tbl:COMPLETE,Col:NONE,Output:["id","val","val1"]
+        <-Map 3 [SIMPLE_EDGE] llap
+          SHUFFLE [RS_9]
+            PartitionCols:_col0, _col1
+            Group By Operator [GBY_7] (rows=2 width=3)
+              Output:["_col0","_col1"],keys:_col0, _col1
+              Select Operator [SEL_5] (rows=2 width=3)
+                Output:["_col0","_col1"]
+                Filter Operator [FIL_16] (rows=2 width=3)
+                  predicate:((id = 100) and (id = 100) is not null)
+                  TableScan [TS_3] (rows=5 width=3)
+                    default@table3,table3,Tbl:COMPLETE,Col:NONE,Output:["id"]
+
+PREHOOK: query: select table1.id, table1.val, table1.val1 from table1 left semi join table3 on table1.dimid = table3.id and table3.id = 100 where table1.dimid  = 200
+PREHOOK: type: QUERY
+PREHOOK: Input: default@table1
+PREHOOK: Input: default@table3
+#### A masked pattern was here ####
+POSTHOOK: query: select table1.id, table1.val, table1.val1 from table1 left semi join table3 on table1.dimid = table3.id and table3.id = 100 where table1.dimid  = 200
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@table1
+POSTHOOK: Input: default@table3
+#### A masked pattern was here ####
+PREHOOK: query: explain select table1.id, table1.val, table1.val1 from table1 left semi join table3 on table1.dimid = table3.id and table3.id = 100 where table1.dimid  = 100
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select table1.id, table1.val, table1.val1 from table1 left semi join table3 on table1.dimid = table3.id and table3.id = 100 where table1.dimid  = 100
+POSTHOOK: type: QUERY
+Plan optimized by CBO.
+
+Vertex dependency in root stage
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 3 (SIMPLE_EDGE)
+
+Stage-0
+  Fetch Operator
+    limit:-1
+    Stage-1
+      Reducer 2 llap
+      File Output Operator [FS_12]
+        Merge Join Operator [MERGEJOIN_17] (rows=5 width=22)
+          Conds:RS_8.100, true=RS_9._col0, _col1(Left Semi),Output:["_col0","_col1","_col2"]
+        <-Map 1 [SIMPLE_EDGE] llap
+          SHUFFLE [RS_8]
+            PartitionCols:100, true
+            Select Operator [SEL_2] (rows=5 width=20)
+              Output:["_col0","_col1","_col2"]
+              Filter Operator [FIL_15] (rows=5 width=20)
+                predicate:((dimid = 100) and (dimid = 100) is not null)
+                TableScan [TS_0] (rows=10 width=20)
+                  default@table1,table1,Tbl:COMPLETE,Col:NONE,Output:["id","val","val1","dimid"]
+        <-Map 3 [SIMPLE_EDGE] llap
+          SHUFFLE [RS_9]
+            PartitionCols:_col0, _col1
+            Group By Operator [GBY_7] (rows=2 width=3)
+              Output:["_col0","_col1"],keys:_col0, _col1
+              Select Operator [SEL_5] (rows=2 width=3)
+                Output:["_col0","_col1"]
+                Filter Operator [FIL_16] (rows=2 width=3)
+                  predicate:((id = 100) and (id = 100) is not null)
+                  TableScan [TS_3] (rows=5 width=3)
+                    default@table3,table3,Tbl:COMPLETE,Col:NONE,Output:["id"]
+
+PREHOOK: query: select table1.id, table1.val, table1.val1 from table1 left semi join table3 on table1.dimid = table3.id and table3.id = 100 where table1.dimid  = 100
+PREHOOK: type: QUERY
+PREHOOK: Input: default@table1
+PREHOOK: Input: default@table3
+#### A masked pattern was here ####
+POSTHOOK: query: select table1.id, table1.val, table1.val1 from table1 left semi join table3 on table1.dimid = table3.id and table3.id = 100 where table1.dimid  = 100
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@table1
+POSTHOOK: Input: default@table3
+#### A masked pattern was here ####
+1	t1val01	val101
+3	t1val01	val104
+PREHOOK: query: explain select table1.id, table1.val, table1.val1 from table1 left semi join table3 on table1.dimid = table3.id and table3.id = 100
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select table1.id, table1.val, table1.val1 from table1 left semi join table3 on table1.dimid = table3.id and table3.id = 100
+POSTHOOK: type: QUERY
+Plan optimized by CBO.
+
+Vertex dependency in root stage
+Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 3 (SIMPLE_EDGE)
+
+Stage-0
+  Fetch Operator
+    limit:-1
+    Stage-1
+      Reducer 2 llap
+      File Output Operator [FS_12]
+        Merge Join Operator [MERGEJOIN_17] (rows=5 width=22)
+          Conds:RS_8.100, true=RS_9._col0, _col1(Left Semi),Output:["_col0","_col1","_col2"]
+        <-Map 1 [SIMPLE_EDGE] llap
+          SHUFFLE [RS_8]
+            PartitionCols:100, true
+            Select Operator [SEL_2] (rows=5 width=20)
+              Output:["_col0","_col1","_col2"]
+              Filter Operator [FIL_15] (rows=5 width=20)
+                predicate:((dimid = 100) and (dimid = 100) is not null)
+                TableScan [TS_0] (rows=10 width=20)
+                  default@table1,table1,Tbl:COMPLETE,Col:NONE,Output:["id","val","val1","dimid"]
+        <-Map 3 [SIMPLE_EDGE] llap
+          SHUFFLE [RS_9]
+            PartitionCols:_col0, _col1
+            Group By Operator [GBY_7] (rows=2 width=3)
+              Output:["_col0","_col1"],keys:_col0, _col1
+              Select Operator [SEL_5] (rows=2 width=3)
+                Output:["_col0","_col1"]
+                Filter Operator [FIL_16] (rows=2 width=3)
+                  predicate:((id = 100) and (id = 100) is not null)
+                  TableScan [TS_3] (rows=5 width=3)
+                    default@table3,table3,Tbl:COMPLETE,Col:NONE,Output:["id"]
+
+PREHOOK: query: select table1.id, table1.val, table1.val1 from table1 left semi join table3 on table1.dimid = table3.id and table3.id = 100
+PREHOOK: type: QUERY
+PREHOOK: Input: default@table1
+PREHOOK: Input: default@table3
+#### A masked pattern was here ####
+POSTHOOK: query: select table1.id, table1.val, table1.val1 from table1 left semi join table3 on table1.dimid = table3.id and table3.id = 100
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@table1
+POSTHOOK: Input: default@table3
+#### A masked pattern was here ####
+1	t1val01	val101
+3	t1val01	val104