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

Reply via email to