http://git-wip-us.apache.org/repos/asf/hive/blob/975a49b6/ql/src/test/results/clientpositive/tez/join_nullsafe.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/tez/join_nullsafe.q.out 
b/ql/src/test/results/clientpositive/tez/join_nullsafe.q.out
deleted file mode 100644
index 38caf65..0000000
--- a/ql/src/test/results/clientpositive/tez/join_nullsafe.q.out
+++ /dev/null
@@ -1,1651 +0,0 @@
-PREHOOK: query: -- SORT_QUERY_RESULTS
-
-CREATE TABLE myinput1(key int, value int)
-PREHOOK: type: CREATETABLE
-PREHOOK: Output: database:default
-PREHOOK: Output: default@myinput1
-POSTHOOK: query: -- SORT_QUERY_RESULTS
-
-CREATE TABLE myinput1(key int, value int)
-POSTHOOK: type: CREATETABLE
-POSTHOOK: Output: database:default
-POSTHOOK: Output: default@myinput1
-PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in8.txt' INTO TABLE 
myinput1
-PREHOOK: type: LOAD
-#### A masked pattern was here ####
-PREHOOK: Output: default@myinput1
-POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in8.txt' INTO TABLE 
myinput1
-POSTHOOK: type: LOAD
-#### A masked pattern was here ####
-POSTHOOK: Output: default@myinput1
-PREHOOK: query: -- merging
-explain select * from myinput1 a join myinput1 b on a.key<=>b.value
-PREHOOK: type: QUERY
-POSTHOOK: query: -- merging
-explain select * from myinput1 a join myinput1 b on a.key<=>b.value
-POSTHOOK: type: QUERY
-STAGE DEPENDENCIES:
-  Stage-1 is a root stage
-  Stage-0 depends on stages: Stage-1
-
-STAGE PLANS:
-  Stage: Stage-1
-    Tez
-#### A masked pattern was here ####
-      Edges:
-        Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 3 (SIMPLE_EDGE)
-#### A masked pattern was here ####
-      Vertices:
-        Map 1 
-            Map Operator Tree:
-                TableScan
-                  alias: a
-                  Statistics: Num rows: 3 Data size: 26 Basic stats: COMPLETE 
Column stats: NONE
-                  Reduce Output Operator
-                    key expressions: key (type: int)
-                    sort order: +
-                    Map-reduce partition columns: key (type: int)
-                    Statistics: Num rows: 3 Data size: 26 Basic stats: 
COMPLETE Column stats: NONE
-                    value expressions: value (type: int)
-        Map 3 
-            Map Operator Tree:
-                TableScan
-                  alias: b
-                  Statistics: Num rows: 3 Data size: 26 Basic stats: COMPLETE 
Column stats: NONE
-                  Reduce Output Operator
-                    key expressions: value (type: int)
-                    sort order: +
-                    Map-reduce partition columns: value (type: int)
-                    Statistics: Num rows: 3 Data size: 26 Basic stats: 
COMPLETE Column stats: NONE
-                    value expressions: key (type: int)
-        Reducer 2 
-            Reduce Operator Tree:
-              Merge Join Operator
-                condition map:
-                     Inner Join 0 to 1
-                keys:
-                  0 key (type: int)
-                  1 value (type: int)
-                nullSafes: [true]
-                outputColumnNames: _col0, _col1, _col5, _col6
-                Statistics: Num rows: 3 Data size: 28 Basic stats: COMPLETE 
Column stats: NONE
-                Select Operator
-                  expressions: _col0 (type: int), _col1 (type: int), _col5 
(type: int), _col6 (type: int)
-                  outputColumnNames: _col0, _col1, _col2, _col3
-                  Statistics: Num rows: 3 Data size: 28 Basic stats: COMPLETE 
Column stats: NONE
-                  File Output Operator
-                    compressed: false
-                    Statistics: Num rows: 3 Data size: 28 Basic stats: 
COMPLETE Column stats: NONE
-                    table:
-                        input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
-                        output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                        serde: 
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-
-  Stage: Stage-0
-    Fetch Operator
-      limit: -1
-      Processor Tree:
-        ListSink
-
-PREHOOK: query: -- SORT_QUERY_RESULTS
-select * from myinput1 a join myinput1 b on a.key<=>b.value
-PREHOOK: type: QUERY
-PREHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-POSTHOOK: query: -- SORT_QUERY_RESULTS
-select * from myinput1 a join myinput1 b on a.key<=>b.value
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-10     NULL    NULL    10
-100    100     100     100
-NULL   10      10      NULL
-NULL   10      48      NULL
-NULL   10      NULL    NULL
-NULL   35      10      NULL
-NULL   35      48      NULL
-NULL   35      NULL    NULL
-NULL   NULL    10      NULL
-NULL   NULL    48      NULL
-NULL   NULL    NULL    NULL
-PREHOOK: query: explain select * from myinput1 a join myinput1 b on 
a.key<=>b.value join myinput1 c on a.key=c.key
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select * from myinput1 a join myinput1 b on 
a.key<=>b.value join myinput1 c on a.key=c.key
-POSTHOOK: type: QUERY
-STAGE DEPENDENCIES:
-  Stage-1 is a root stage
-  Stage-0 depends on stages: Stage-1
-
-STAGE PLANS:
-  Stage: Stage-1
-    Tez
-#### A masked pattern was here ####
-      Edges:
-        Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 3 (SIMPLE_EDGE), Map 4 
(SIMPLE_EDGE)
-#### A masked pattern was here ####
-      Vertices:
-        Map 1 
-            Map Operator Tree:
-                TableScan
-                  alias: a
-                  Statistics: Num rows: 3 Data size: 26 Basic stats: COMPLETE 
Column stats: NONE
-                  Filter Operator
-                    predicate: key is not null (type: boolean)
-                    Statistics: Num rows: 3 Data size: 26 Basic stats: 
COMPLETE Column stats: NONE
-                    Reduce Output Operator
-                      key expressions: key (type: int)
-                      sort order: +
-                      Map-reduce partition columns: key (type: int)
-                      Statistics: Num rows: 3 Data size: 26 Basic stats: 
COMPLETE Column stats: NONE
-                      value expressions: value (type: int)
-        Map 3 
-            Map Operator Tree:
-                TableScan
-                  alias: b
-                  Statistics: Num rows: 3 Data size: 26 Basic stats: COMPLETE 
Column stats: NONE
-                  Filter Operator
-                    predicate: value is not null (type: boolean)
-                    Statistics: Num rows: 3 Data size: 26 Basic stats: 
COMPLETE Column stats: NONE
-                    Reduce Output Operator
-                      key expressions: value (type: int)
-                      sort order: +
-                      Map-reduce partition columns: value (type: int)
-                      Statistics: Num rows: 3 Data size: 26 Basic stats: 
COMPLETE Column stats: NONE
-                      value expressions: key (type: int)
-        Map 4 
-            Map Operator Tree:
-                TableScan
-                  alias: c
-                  Statistics: Num rows: 3 Data size: 26 Basic stats: COMPLETE 
Column stats: NONE
-                  Filter Operator
-                    predicate: key is not null (type: boolean)
-                    Statistics: Num rows: 3 Data size: 26 Basic stats: 
COMPLETE Column stats: NONE
-                    Reduce Output Operator
-                      key expressions: key (type: int)
-                      sort order: +
-                      Map-reduce partition columns: key (type: int)
-                      Statistics: Num rows: 3 Data size: 26 Basic stats: 
COMPLETE Column stats: NONE
-                      value expressions: value (type: int)
-        Reducer 2 
-            Reduce Operator Tree:
-              Merge Join Operator
-                condition map:
-                     Inner Join 0 to 1
-                     Inner Join 0 to 2
-                keys:
-                  0 key (type: int)
-                  1 value (type: int)
-                  2 key (type: int)
-                outputColumnNames: _col0, _col1, _col5, _col6, _col10, _col11
-                Statistics: Num rows: 6 Data size: 57 Basic stats: COMPLETE 
Column stats: NONE
-                Select Operator
-                  expressions: _col0 (type: int), _col1 (type: int), _col5 
(type: int), _col6 (type: int), _col10 (type: int), _col11 (type: int)
-                  outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
-                  Statistics: Num rows: 6 Data size: 57 Basic stats: COMPLETE 
Column stats: NONE
-                  File Output Operator
-                    compressed: false
-                    Statistics: Num rows: 6 Data size: 57 Basic stats: 
COMPLETE Column stats: NONE
-                    table:
-                        input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
-                        output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                        serde: 
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-
-  Stage: Stage-0
-    Fetch Operator
-      limit: -1
-      Processor Tree:
-        ListSink
-
-PREHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value 
join myinput1 c on a.key=c.key
-PREHOOK: type: QUERY
-PREHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-POSTHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value 
join myinput1 c on a.key=c.key
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-10     NULL    NULL    10      10      NULL
-100    100     100     100     100     100
-PREHOOK: query: explain select * from myinput1 a join myinput1 b on 
a.key<=>b.value join myinput1 c on a.key<=>c.key
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select * from myinput1 a join myinput1 b on 
a.key<=>b.value join myinput1 c on a.key<=>c.key
-POSTHOOK: type: QUERY
-STAGE DEPENDENCIES:
-  Stage-1 is a root stage
-  Stage-0 depends on stages: Stage-1
-
-STAGE PLANS:
-  Stage: Stage-1
-    Tez
-#### A masked pattern was here ####
-      Edges:
-        Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 3 (SIMPLE_EDGE), Map 4 
(SIMPLE_EDGE)
-#### A masked pattern was here ####
-      Vertices:
-        Map 1 
-            Map Operator Tree:
-                TableScan
-                  alias: a
-                  Statistics: Num rows: 3 Data size: 26 Basic stats: COMPLETE 
Column stats: NONE
-                  Reduce Output Operator
-                    key expressions: key (type: int)
-                    sort order: +
-                    Map-reduce partition columns: key (type: int)
-                    Statistics: Num rows: 3 Data size: 26 Basic stats: 
COMPLETE Column stats: NONE
-                    value expressions: value (type: int)
-        Map 3 
-            Map Operator Tree:
-                TableScan
-                  alias: b
-                  Statistics: Num rows: 3 Data size: 26 Basic stats: COMPLETE 
Column stats: NONE
-                  Reduce Output Operator
-                    key expressions: value (type: int)
-                    sort order: +
-                    Map-reduce partition columns: value (type: int)
-                    Statistics: Num rows: 3 Data size: 26 Basic stats: 
COMPLETE Column stats: NONE
-                    value expressions: key (type: int)
-        Map 4 
-            Map Operator Tree:
-                TableScan
-                  alias: c
-                  Statistics: Num rows: 3 Data size: 26 Basic stats: COMPLETE 
Column stats: NONE
-                  Reduce Output Operator
-                    key expressions: key (type: int)
-                    sort order: +
-                    Map-reduce partition columns: key (type: int)
-                    Statistics: Num rows: 3 Data size: 26 Basic stats: 
COMPLETE Column stats: NONE
-                    value expressions: value (type: int)
-        Reducer 2 
-            Reduce Operator Tree:
-              Merge Join Operator
-                condition map:
-                     Inner Join 0 to 1
-                     Inner Join 0 to 2
-                keys:
-                  0 key (type: int)
-                  1 value (type: int)
-                  2 key (type: int)
-                nullSafes: [true]
-                outputColumnNames: _col0, _col1, _col5, _col6, _col10, _col11
-                Statistics: Num rows: 6 Data size: 57 Basic stats: COMPLETE 
Column stats: NONE
-                Select Operator
-                  expressions: _col0 (type: int), _col1 (type: int), _col5 
(type: int), _col6 (type: int), _col10 (type: int), _col11 (type: int)
-                  outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
-                  Statistics: Num rows: 6 Data size: 57 Basic stats: COMPLETE 
Column stats: NONE
-                  File Output Operator
-                    compressed: false
-                    Statistics: Num rows: 6 Data size: 57 Basic stats: 
COMPLETE Column stats: NONE
-                    table:
-                        input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
-                        output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                        serde: 
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-
-  Stage: Stage-0
-    Fetch Operator
-      limit: -1
-      Processor Tree:
-        ListSink
-
-PREHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value 
join myinput1 c on a.key<=>c.key
-PREHOOK: type: QUERY
-PREHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-POSTHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value 
join myinput1 c on a.key<=>c.key
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-10     NULL    NULL    10      10      NULL
-100    100     100     100     100     100
-NULL   10      10      NULL    NULL    10
-NULL   10      10      NULL    NULL    35
-NULL   10      10      NULL    NULL    NULL
-NULL   10      48      NULL    NULL    10
-NULL   10      48      NULL    NULL    35
-NULL   10      48      NULL    NULL    NULL
-NULL   10      NULL    NULL    NULL    10
-NULL   10      NULL    NULL    NULL    35
-NULL   10      NULL    NULL    NULL    NULL
-NULL   35      10      NULL    NULL    10
-NULL   35      10      NULL    NULL    35
-NULL   35      10      NULL    NULL    NULL
-NULL   35      48      NULL    NULL    10
-NULL   35      48      NULL    NULL    35
-NULL   35      48      NULL    NULL    NULL
-NULL   35      NULL    NULL    NULL    10
-NULL   35      NULL    NULL    NULL    35
-NULL   35      NULL    NULL    NULL    NULL
-NULL   NULL    10      NULL    NULL    10
-NULL   NULL    10      NULL    NULL    35
-NULL   NULL    10      NULL    NULL    NULL
-NULL   NULL    48      NULL    NULL    10
-NULL   NULL    48      NULL    NULL    35
-NULL   NULL    48      NULL    NULL    NULL
-NULL   NULL    NULL    NULL    NULL    10
-NULL   NULL    NULL    NULL    NULL    35
-NULL   NULL    NULL    NULL    NULL    NULL
-PREHOOK: query: explain select * from myinput1 a join myinput1 b on 
a.key<=>b.value AND a.value=b.key join myinput1 c on a.key<=>c.key AND 
a.value=c.value
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select * from myinput1 a join myinput1 b on 
a.key<=>b.value AND a.value=b.key join myinput1 c on a.key<=>c.key AND 
a.value=c.value
-POSTHOOK: type: QUERY
-STAGE DEPENDENCIES:
-  Stage-1 is a root stage
-  Stage-0 depends on stages: Stage-1
-
-STAGE PLANS:
-  Stage: Stage-1
-    Tez
-#### A masked pattern was here ####
-      Edges:
-        Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 3 (SIMPLE_EDGE), Map 4 
(SIMPLE_EDGE)
-#### A masked pattern was here ####
-      Vertices:
-        Map 1 
-            Map Operator Tree:
-                TableScan
-                  alias: a
-                  Statistics: Num rows: 3 Data size: 26 Basic stats: COMPLETE 
Column stats: NONE
-                  Filter Operator
-                    predicate: value is not null (type: boolean)
-                    Statistics: Num rows: 3 Data size: 26 Basic stats: 
COMPLETE Column stats: NONE
-                    Reduce Output Operator
-                      key expressions: key (type: int), value (type: int)
-                      sort order: ++
-                      Map-reduce partition columns: key (type: int), value 
(type: int)
-                      Statistics: Num rows: 3 Data size: 26 Basic stats: 
COMPLETE Column stats: NONE
-        Map 3 
-            Map Operator Tree:
-                TableScan
-                  alias: b
-                  Statistics: Num rows: 3 Data size: 26 Basic stats: COMPLETE 
Column stats: NONE
-                  Filter Operator
-                    predicate: key is not null (type: boolean)
-                    Statistics: Num rows: 3 Data size: 26 Basic stats: 
COMPLETE Column stats: NONE
-                    Reduce Output Operator
-                      key expressions: value (type: int), key (type: int)
-                      sort order: ++
-                      Map-reduce partition columns: value (type: int), key 
(type: int)
-                      Statistics: Num rows: 3 Data size: 26 Basic stats: 
COMPLETE Column stats: NONE
-        Map 4 
-            Map Operator Tree:
-                TableScan
-                  alias: c
-                  Statistics: Num rows: 3 Data size: 26 Basic stats: COMPLETE 
Column stats: NONE
-                  Filter Operator
-                    predicate: value is not null (type: boolean)
-                    Statistics: Num rows: 3 Data size: 26 Basic stats: 
COMPLETE Column stats: NONE
-                    Reduce Output Operator
-                      key expressions: key (type: int), value (type: int)
-                      sort order: ++
-                      Map-reduce partition columns: key (type: int), value 
(type: int)
-                      Statistics: Num rows: 3 Data size: 26 Basic stats: 
COMPLETE Column stats: NONE
-        Reducer 2 
-            Reduce Operator Tree:
-              Merge Join Operator
-                condition map:
-                     Inner Join 0 to 1
-                     Inner Join 0 to 2
-                keys:
-                  0 key (type: int), value (type: int)
-                  1 value (type: int), key (type: int)
-                  2 key (type: int), value (type: int)
-                nullSafes: [true, false]
-                outputColumnNames: _col0, _col1, _col5, _col6, _col10, _col11
-                Statistics: Num rows: 6 Data size: 57 Basic stats: COMPLETE 
Column stats: NONE
-                Select Operator
-                  expressions: _col0 (type: int), _col1 (type: int), _col5 
(type: int), _col6 (type: int), _col10 (type: int), _col11 (type: int)
-                  outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
-                  Statistics: Num rows: 6 Data size: 57 Basic stats: COMPLETE 
Column stats: NONE
-                  File Output Operator
-                    compressed: false
-                    Statistics: Num rows: 6 Data size: 57 Basic stats: 
COMPLETE Column stats: NONE
-                    table:
-                        input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
-                        output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                        serde: 
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-
-  Stage: Stage-0
-    Fetch Operator
-      limit: -1
-      Processor Tree:
-        ListSink
-
-PREHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value 
AND a.value=b.key join myinput1 c on a.key<=>c.key AND a.value=c.value
-PREHOOK: type: QUERY
-PREHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-POSTHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value 
AND a.value=b.key join myinput1 c on a.key<=>c.key AND a.value=c.value
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-100    100     100     100     100     100
-NULL   10      10      NULL    NULL    10
-PREHOOK: query: explain select * from myinput1 a join myinput1 b on 
a.key<=>b.value AND a.value<=>b.key join myinput1 c on a.key<=>c.key AND 
a.value<=>c.value
-PREHOOK: type: QUERY
-POSTHOOK: query: explain select * from myinput1 a join myinput1 b on 
a.key<=>b.value AND a.value<=>b.key join myinput1 c on a.key<=>c.key AND 
a.value<=>c.value
-POSTHOOK: type: QUERY
-STAGE DEPENDENCIES:
-  Stage-1 is a root stage
-  Stage-0 depends on stages: Stage-1
-
-STAGE PLANS:
-  Stage: Stage-1
-    Tez
-#### A masked pattern was here ####
-      Edges:
-        Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 3 (SIMPLE_EDGE), Map 4 
(SIMPLE_EDGE)
-#### A masked pattern was here ####
-      Vertices:
-        Map 1 
-            Map Operator Tree:
-                TableScan
-                  alias: a
-                  Statistics: Num rows: 3 Data size: 26 Basic stats: COMPLETE 
Column stats: NONE
-                  Reduce Output Operator
-                    key expressions: key (type: int), value (type: int)
-                    sort order: ++
-                    Map-reduce partition columns: key (type: int), value 
(type: int)
-                    Statistics: Num rows: 3 Data size: 26 Basic stats: 
COMPLETE Column stats: NONE
-        Map 3 
-            Map Operator Tree:
-                TableScan
-                  alias: b
-                  Statistics: Num rows: 3 Data size: 26 Basic stats: COMPLETE 
Column stats: NONE
-                  Reduce Output Operator
-                    key expressions: value (type: int), key (type: int)
-                    sort order: ++
-                    Map-reduce partition columns: value (type: int), key 
(type: int)
-                    Statistics: Num rows: 3 Data size: 26 Basic stats: 
COMPLETE Column stats: NONE
-        Map 4 
-            Map Operator Tree:
-                TableScan
-                  alias: c
-                  Statistics: Num rows: 3 Data size: 26 Basic stats: COMPLETE 
Column stats: NONE
-                  Reduce Output Operator
-                    key expressions: key (type: int), value (type: int)
-                    sort order: ++
-                    Map-reduce partition columns: key (type: int), value 
(type: int)
-                    Statistics: Num rows: 3 Data size: 26 Basic stats: 
COMPLETE Column stats: NONE
-        Reducer 2 
-            Reduce Operator Tree:
-              Merge Join Operator
-                condition map:
-                     Inner Join 0 to 1
-                     Inner Join 0 to 2
-                keys:
-                  0 key (type: int), value (type: int)
-                  1 value (type: int), key (type: int)
-                  2 key (type: int), value (type: int)
-                nullSafes: [true, true]
-                outputColumnNames: _col0, _col1, _col5, _col6, _col10, _col11
-                Statistics: Num rows: 6 Data size: 57 Basic stats: COMPLETE 
Column stats: NONE
-                Select Operator
-                  expressions: _col0 (type: int), _col1 (type: int), _col5 
(type: int), _col6 (type: int), _col10 (type: int), _col11 (type: int)
-                  outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
-                  Statistics: Num rows: 6 Data size: 57 Basic stats: COMPLETE 
Column stats: NONE
-                  File Output Operator
-                    compressed: false
-                    Statistics: Num rows: 6 Data size: 57 Basic stats: 
COMPLETE Column stats: NONE
-                    table:
-                        input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
-                        output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                        serde: 
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-
-  Stage: Stage-0
-    Fetch Operator
-      limit: -1
-      Processor Tree:
-        ListSink
-
-PREHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value 
AND a.value<=>b.key join myinput1 c on a.key<=>c.key AND a.value<=>c.value
-PREHOOK: type: QUERY
-PREHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-POSTHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value 
AND a.value<=>b.key join myinput1 c on a.key<=>c.key AND a.value<=>c.value
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-10     NULL    NULL    10      10      NULL
-100    100     100     100     100     100
-NULL   10      10      NULL    NULL    10
-NULL   NULL    NULL    NULL    NULL    NULL
-PREHOOK: query: -- outer joins
-SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key<=>b.value
-PREHOOK: type: QUERY
-PREHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-POSTHOOK: query: -- outer joins
-SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key<=>b.value
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-10     NULL    NULL    10
-100    100     100     100
-48     NULL    NULL    NULL
-NULL   10      10      NULL
-NULL   10      48      NULL
-NULL   10      NULL    NULL
-NULL   35      10      NULL
-NULL   35      48      NULL
-NULL   35      NULL    NULL
-NULL   NULL    10      NULL
-NULL   NULL    48      NULL
-NULL   NULL    NULL    NULL
-PREHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON 
a.key<=>b.value
-PREHOOK: type: QUERY
-PREHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON 
a.key<=>b.value
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-10     NULL    NULL    10
-100    100     100     100
-NULL   10      10      NULL
-NULL   10      48      NULL
-NULL   10      NULL    NULL
-NULL   35      10      NULL
-NULL   35      48      NULL
-NULL   35      NULL    NULL
-NULL   NULL    10      NULL
-NULL   NULL    48      NULL
-NULL   NULL    NULL    35
-NULL   NULL    NULL    NULL
-PREHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON 
a.key<=>b.value
-PREHOOK: type: QUERY
-PREHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON 
a.key<=>b.value
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-10     NULL    NULL    10
-100    100     100     100
-48     NULL    NULL    NULL
-NULL   10      10      NULL
-NULL   10      48      NULL
-NULL   10      NULL    NULL
-NULL   35      10      NULL
-NULL   35      48      NULL
-NULL   35      NULL    NULL
-NULL   NULL    10      NULL
-NULL   NULL    48      NULL
-NULL   NULL    NULL    35
-NULL   NULL    NULL    NULL
-PREHOOK: query: -- map joins
-SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ON a.key<=>b.value
-PREHOOK: type: QUERY
-PREHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-POSTHOOK: query: -- map joins
-SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ON a.key<=>b.value
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-10     NULL    NULL    10
-100    100     100     100
-NULL   10      10      NULL
-NULL   10      48      NULL
-NULL   10      NULL    NULL
-NULL   35      10      NULL
-NULL   35      48      NULL
-NULL   35      NULL    NULL
-NULL   NULL    10      NULL
-NULL   NULL    48      NULL
-NULL   NULL    NULL    NULL
-PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON 
a.key<=>b.value
-PREHOOK: type: QUERY
-PREHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON 
a.key<=>b.value
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-10     NULL    NULL    10
-100    100     100     100
-NULL   10      10      NULL
-NULL   10      48      NULL
-NULL   10      NULL    NULL
-NULL   35      10      NULL
-NULL   35      48      NULL
-NULL   35      NULL    NULL
-NULL   NULL    10      NULL
-NULL   NULL    48      NULL
-NULL   NULL    NULL    NULL
-PREHOOK: query: CREATE TABLE smb_input(key int, value int)
-PREHOOK: type: CREATETABLE
-PREHOOK: Output: database:default
-PREHOOK: Output: default@smb_input
-POSTHOOK: query: CREATE TABLE smb_input(key int, value int)
-POSTHOOK: type: CREATETABLE
-POSTHOOK: Output: database:default
-POSTHOOK: Output: default@smb_input
-PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in4.txt' into table 
smb_input
-PREHOOK: type: LOAD
-#### A masked pattern was here ####
-PREHOOK: Output: default@smb_input
-POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in4.txt' into table 
smb_input
-POSTHOOK: type: LOAD
-#### A masked pattern was here ####
-POSTHOOK: Output: default@smb_input
-PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in5.txt' into table 
smb_input
-PREHOOK: type: LOAD
-#### A masked pattern was here ####
-PREHOOK: Output: default@smb_input
-POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in5.txt' into table 
smb_input
-POSTHOOK: type: LOAD
-#### A masked pattern was here ####
-POSTHOOK: Output: default@smb_input
-PREHOOK: query: -- smbs
-CREATE TABLE smb_input1(key int, value int) CLUSTERED BY (key) SORTED BY (key) 
INTO 2 BUCKETS
-PREHOOK: type: CREATETABLE
-PREHOOK: Output: database:default
-PREHOOK: Output: default@smb_input1
-POSTHOOK: query: -- smbs
-CREATE TABLE smb_input1(key int, value int) CLUSTERED BY (key) SORTED BY (key) 
INTO 2 BUCKETS
-POSTHOOK: type: CREATETABLE
-POSTHOOK: Output: database:default
-POSTHOOK: Output: default@smb_input1
-PREHOOK: query: CREATE TABLE smb_input2(key int, value int) CLUSTERED BY 
(value) SORTED BY (value) INTO 2 BUCKETS
-PREHOOK: type: CREATETABLE
-PREHOOK: Output: database:default
-PREHOOK: Output: default@smb_input2
-POSTHOOK: query: CREATE TABLE smb_input2(key int, value int) CLUSTERED BY 
(value) SORTED BY (value) INTO 2 BUCKETS
-POSTHOOK: type: CREATETABLE
-POSTHOOK: Output: database:default
-POSTHOOK: Output: default@smb_input2
-PREHOOK: query: from smb_input
-insert overwrite table smb_input1 select *
-insert overwrite table smb_input2 select *
-PREHOOK: type: QUERY
-PREHOOK: Input: default@smb_input
-PREHOOK: Output: default@smb_input1
-PREHOOK: Output: default@smb_input2
-POSTHOOK: query: from smb_input
-insert overwrite table smb_input1 select *
-insert overwrite table smb_input2 select *
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@smb_input
-POSTHOOK: Output: default@smb_input1
-POSTHOOK: Output: default@smb_input2
-POSTHOOK: Lineage: smb_input1.key SIMPLE 
[(smb_input)smb_input.FieldSchema(name:key, type:int, comment:null), ]
-POSTHOOK: Lineage: smb_input1.value SIMPLE 
[(smb_input)smb_input.FieldSchema(name:value, type:int, comment:null), ]
-POSTHOOK: Lineage: smb_input2.key SIMPLE 
[(smb_input)smb_input.FieldSchema(name:key, type:int, comment:null), ]
-POSTHOOK: Lineage: smb_input2.value SIMPLE 
[(smb_input)smb_input.FieldSchema(name:value, type:int, comment:null), ]
-PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 b 
ON a.key <=> b.key
-PREHOOK: type: QUERY
-PREHOOK: Input: default@smb_input1
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 
b ON a.key <=> b.key
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@smb_input1
-#### A masked pattern was here ####
-10     100     10      100
-10     100     10      100
-10     100     10      100
-10     100     10      100
-10     100     10      1000
-10     100     10      1000
-10     1000    10      100
-10     1000    10      100
-10     1000    10      1000
-100    100     100     100
-12     100     12      100
-12     100     12      NULL
-12     NULL    12      100
-12     NULL    12      NULL
-15     10015   15      10015
-20     10020   20      10020
-25     10025   25      10025
-30     10030   30      10030
-35     10035   35      10035
-40     10040   40      10040
-40     10040   40      10040
-40     10040   40      10040
-40     10040   40      10040
-5      10005   5       10005
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-60     10040   60      10040
-60     10040   60      10040
-60     10040   60      10040
-60     10040   60      10040
-70     10040   70      10040
-70     10040   70      10040
-70     10040   70      10040
-70     10040   70      10040
-80     10040   80      10040
-80     10040   80      10040
-80     10040   80      10040
-80     10040   80      10040
-NULL   10050   NULL    10050
-NULL   10050   NULL    35
-NULL   10050   NULL    NULL
-NULL   35      NULL    10050
-NULL   35      NULL    35
-NULL   35      NULL    NULL
-NULL   NULL    NULL    10050
-NULL   NULL    NULL    35
-NULL   NULL    NULL    NULL
-PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 b 
ON a.key <=> b.key AND a.value <=> b.value
-PREHOOK: type: QUERY
-PREHOOK: Input: default@smb_input1
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input1 
b ON a.key <=> b.key AND a.value <=> b.value
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@smb_input1
-#### A masked pattern was here ####
-10     100     10      100
-10     100     10      100
-10     100     10      100
-10     100     10      100
-10     1000    10      1000
-100    100     100     100
-12     100     12      100
-12     NULL    12      NULL
-15     10015   15      10015
-20     10020   20      10020
-25     10025   25      10025
-30     10030   30      10030
-35     10035   35      10035
-40     10040   40      10040
-40     10040   40      10040
-40     10040   40      10040
-40     10040   40      10040
-5      10005   5       10005
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-60     10040   60      10040
-60     10040   60      10040
-60     10040   60      10040
-60     10040   60      10040
-70     10040   70      10040
-70     10040   70      10040
-70     10040   70      10040
-70     10040   70      10040
-80     10040   80      10040
-80     10040   80      10040
-80     10040   80      10040
-80     10040   80      10040
-NULL   10050   NULL    10050
-NULL   35      NULL    35
-NULL   NULL    NULL    NULL
-PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN 
smb_input1 b ON a.key <=> b.key
-PREHOOK: type: QUERY
-PREHOOK: Input: default@smb_input1
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN 
smb_input1 b ON a.key <=> b.key
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@smb_input1
-#### A masked pattern was here ####
-10     100     10      100
-10     100     10      100
-10     100     10      100
-10     100     10      100
-10     100     10      1000
-10     100     10      1000
-10     1000    10      100
-10     1000    10      100
-10     1000    10      1000
-100    100     100     100
-12     100     12      100
-12     100     12      NULL
-12     NULL    12      100
-12     NULL    12      NULL
-15     10015   15      10015
-20     10020   20      10020
-25     10025   25      10025
-30     10030   30      10030
-35     10035   35      10035
-40     10040   40      10040
-40     10040   40      10040
-40     10040   40      10040
-40     10040   40      10040
-5      10005   5       10005
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-60     10040   60      10040
-60     10040   60      10040
-60     10040   60      10040
-60     10040   60      10040
-70     10040   70      10040
-70     10040   70      10040
-70     10040   70      10040
-70     10040   70      10040
-80     10040   80      10040
-80     10040   80      10040
-80     10040   80      10040
-80     10040   80      10040
-NULL   10050   NULL    10050
-NULL   10050   NULL    35
-NULL   10050   NULL    NULL
-NULL   35      NULL    10050
-NULL   35      NULL    35
-NULL   35      NULL    NULL
-NULL   NULL    NULL    10050
-NULL   NULL    NULL    35
-NULL   NULL    NULL    NULL
-PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a JOIN smb_input1 b 
ON a.key <=> b.key
-PREHOOK: type: QUERY
-PREHOOK: Input: default@smb_input1
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a JOIN smb_input1 
b ON a.key <=> b.key
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@smb_input1
-#### A masked pattern was here ####
-10     100     10      100
-10     100     10      100
-10     100     10      100
-10     100     10      100
-10     100     10      1000
-10     100     10      1000
-10     1000    10      100
-10     1000    10      100
-10     1000    10      1000
-100    100     100     100
-12     100     12      100
-12     100     12      NULL
-12     NULL    12      100
-12     NULL    12      NULL
-15     10015   15      10015
-20     10020   20      10020
-25     10025   25      10025
-30     10030   30      10030
-35     10035   35      10035
-40     10040   40      10040
-40     10040   40      10040
-40     10040   40      10040
-40     10040   40      10040
-5      10005   5       10005
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-60     10040   60      10040
-60     10040   60      10040
-60     10040   60      10040
-60     10040   60      10040
-70     10040   70      10040
-70     10040   70      10040
-70     10040   70      10040
-70     10040   70      10040
-80     10040   80      10040
-80     10040   80      10040
-80     10040   80      10040
-80     10040   80      10040
-NULL   10050   NULL    10050
-NULL   10050   NULL    35
-NULL   10050   NULL    NULL
-NULL   35      NULL    10050
-NULL   35      NULL    35
-NULL   35      NULL    NULL
-NULL   NULL    NULL    10050
-NULL   NULL    NULL    35
-NULL   NULL    NULL    NULL
-PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT OUTER JOIN 
smb_input1 b ON a.key <=> b.key
-PREHOOK: type: QUERY
-PREHOOK: Input: default@smb_input1
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT OUTER JOIN 
smb_input1 b ON a.key <=> b.key
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@smb_input1
-#### A masked pattern was here ####
-10     100     10      100
-10     100     10      100
-10     100     10      100
-10     100     10      100
-10     100     10      1000
-10     100     10      1000
-10     1000    10      100
-10     1000    10      100
-10     1000    10      1000
-100    100     100     100
-12     100     12      100
-12     100     12      NULL
-12     NULL    12      100
-12     NULL    12      NULL
-15     10015   15      10015
-20     10020   20      10020
-25     10025   25      10025
-30     10030   30      10030
-35     10035   35      10035
-40     10040   40      10040
-40     10040   40      10040
-40     10040   40      10040
-40     10040   40      10040
-5      10005   5       10005
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-60     10040   60      10040
-60     10040   60      10040
-60     10040   60      10040
-60     10040   60      10040
-70     10040   70      10040
-70     10040   70      10040
-70     10040   70      10040
-70     10040   70      10040
-80     10040   80      10040
-80     10040   80      10040
-80     10040   80      10040
-80     10040   80      10040
-NULL   10050   NULL    10050
-NULL   10050   NULL    35
-NULL   10050   NULL    NULL
-NULL   35      NULL    10050
-NULL   35      NULL    35
-NULL   35      NULL    NULL
-NULL   NULL    NULL    10050
-NULL   NULL    NULL    35
-NULL   NULL    NULL    NULL
-PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input2 b 
ON a.key <=> b.value
-PREHOOK: type: QUERY
-PREHOOK: Input: default@smb_input1
-PREHOOK: Input: default@smb_input2
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a JOIN smb_input2 
b ON a.key <=> b.value
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@smb_input1
-POSTHOOK: Input: default@smb_input2
-#### A masked pattern was here ####
-100    100     10      100
-100    100     10      100
-100    100     100     100
-100    100     12      100
-35     10035   NULL    35
-NULL   10050   12      NULL
-NULL   10050   NULL    NULL
-NULL   35      12      NULL
-NULL   35      NULL    NULL
-NULL   NULL    12      NULL
-NULL   NULL    NULL    NULL
-PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a JOIN smb_input2 b 
ON a.key <=> b.value
-PREHOOK: type: QUERY
-PREHOOK: Input: default@smb_input1
-PREHOOK: Input: default@smb_input2
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a JOIN smb_input2 
b ON a.key <=> b.value
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@smb_input1
-POSTHOOK: Input: default@smb_input2
-#### A masked pattern was here ####
-100    100     10      100
-100    100     10      100
-100    100     100     100
-100    100     12      100
-35     10035   NULL    35
-NULL   10050   12      NULL
-NULL   10050   NULL    NULL
-NULL   35      12      NULL
-NULL   35      NULL    NULL
-NULL   NULL    12      NULL
-NULL   NULL    NULL    NULL
-PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT OUTER JOIN 
smb_input2 b ON a.key <=> b.value
-PREHOOK: type: QUERY
-PREHOOK: Input: default@smb_input1
-PREHOOK: Input: default@smb_input2
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input1 a LEFT OUTER JOIN 
smb_input2 b ON a.key <=> b.value
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@smb_input1
-POSTHOOK: Input: default@smb_input2
-#### A masked pattern was here ####
-10     100     NULL    NULL
-10     100     NULL    NULL
-10     1000    NULL    NULL
-100    100     10      100
-100    100     10      100
-100    100     100     100
-100    100     12      100
-12     100     NULL    NULL
-12     NULL    NULL    NULL
-15     10015   NULL    NULL
-20     10020   NULL    NULL
-25     10025   NULL    NULL
-30     10030   NULL    NULL
-35     10035   NULL    35
-40     10040   NULL    NULL
-40     10040   NULL    NULL
-5      10005   NULL    NULL
-50     10050   NULL    NULL
-50     10050   NULL    NULL
-50     10050   NULL    NULL
-60     10040   NULL    NULL
-60     10040   NULL    NULL
-70     10040   NULL    NULL
-70     10040   NULL    NULL
-80     10040   NULL    NULL
-80     10040   NULL    NULL
-NULL   10050   12      NULL
-NULL   10050   NULL    NULL
-NULL   35      12      NULL
-NULL   35      NULL    NULL
-NULL   NULL    12      NULL
-NULL   NULL    NULL    NULL
-PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN 
smb_input2 b ON a.key <=> b.value
-PREHOOK: type: QUERY
-PREHOOK: Input: default@smb_input1
-PREHOOK: Input: default@smb_input2
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input1 a RIGHT OUTER JOIN 
smb_input2 b ON a.key <=> b.value
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@smb_input1
-POSTHOOK: Input: default@smb_input2
-#### A masked pattern was here ####
-100    100     10      100
-100    100     10      100
-100    100     100     100
-100    100     12      100
-35     10035   NULL    35
-NULL   10050   12      NULL
-NULL   10050   NULL    NULL
-NULL   35      12      NULL
-NULL   35      NULL    NULL
-NULL   NULL    10      1000
-NULL   NULL    12      NULL
-NULL   NULL    15      10015
-NULL   NULL    20      10020
-NULL   NULL    25      10025
-NULL   NULL    30      10030
-NULL   NULL    35      10035
-NULL   NULL    40      10040
-NULL   NULL    40      10040
-NULL   NULL    5       10005
-NULL   NULL    50      10050
-NULL   NULL    50      10050
-NULL   NULL    50      10050
-NULL   NULL    60      10040
-NULL   NULL    60      10040
-NULL   NULL    70      10040
-NULL   NULL    70      10040
-NULL   NULL    80      10040
-NULL   NULL    80      10040
-NULL   NULL    NULL    10050
-NULL   NULL    NULL    NULL
-PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a JOIN smb_input2 b 
ON a.value <=> b.value
-PREHOOK: type: QUERY
-PREHOOK: Input: default@smb_input2
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a JOIN smb_input2 
b ON a.value <=> b.value
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@smb_input2
-#### A masked pattern was here ####
-10     100     10      100
-10     100     10      100
-10     100     10      100
-10     100     10      100
-10     100     100     100
-10     100     100     100
-10     100     12      100
-10     100     12      100
-10     1000    10      1000
-100    100     10      100
-100    100     10      100
-100    100     100     100
-100    100     12      100
-12     100     10      100
-12     100     10      100
-12     100     100     100
-12     100     12      100
-12     NULL    12      NULL
-12     NULL    NULL    NULL
-15     10015   15      10015
-20     10020   20      10020
-25     10025   25      10025
-30     10030   30      10030
-35     10035   35      10035
-40     10040   40      10040
-40     10040   40      10040
-40     10040   40      10040
-40     10040   40      10040
-40     10040   60      10040
-40     10040   60      10040
-40     10040   60      10040
-40     10040   60      10040
-40     10040   70      10040
-40     10040   70      10040
-40     10040   70      10040
-40     10040   70      10040
-40     10040   80      10040
-40     10040   80      10040
-40     10040   80      10040
-40     10040   80      10040
-5      10005   5       10005
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   NULL    10050
-50     10050   NULL    10050
-50     10050   NULL    10050
-60     10040   40      10040
-60     10040   40      10040
-60     10040   40      10040
-60     10040   40      10040
-60     10040   60      10040
-60     10040   60      10040
-60     10040   60      10040
-60     10040   60      10040
-60     10040   70      10040
-60     10040   70      10040
-60     10040   70      10040
-60     10040   70      10040
-60     10040   80      10040
-60     10040   80      10040
-60     10040   80      10040
-60     10040   80      10040
-70     10040   40      10040
-70     10040   40      10040
-70     10040   40      10040
-70     10040   40      10040
-70     10040   60      10040
-70     10040   60      10040
-70     10040   60      10040
-70     10040   60      10040
-70     10040   70      10040
-70     10040   70      10040
-70     10040   70      10040
-70     10040   70      10040
-70     10040   80      10040
-70     10040   80      10040
-70     10040   80      10040
-70     10040   80      10040
-80     10040   40      10040
-80     10040   40      10040
-80     10040   40      10040
-80     10040   40      10040
-80     10040   60      10040
-80     10040   60      10040
-80     10040   60      10040
-80     10040   60      10040
-80     10040   70      10040
-80     10040   70      10040
-80     10040   70      10040
-80     10040   70      10040
-80     10040   80      10040
-80     10040   80      10040
-80     10040   80      10040
-80     10040   80      10040
-NULL   10050   50      10050
-NULL   10050   50      10050
-NULL   10050   50      10050
-NULL   10050   NULL    10050
-NULL   35      NULL    35
-NULL   NULL    12      NULL
-NULL   NULL    NULL    NULL
-PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a RIGHT OUTER JOIN 
smb_input2 b ON a.value <=> b.value
-PREHOOK: type: QUERY
-PREHOOK: Input: default@smb_input2
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM smb_input2 a RIGHT OUTER JOIN 
smb_input2 b ON a.value <=> b.value
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@smb_input2
-#### A masked pattern was here ####
-10     100     10      100
-10     100     10      100
-10     100     10      100
-10     100     10      100
-10     100     100     100
-10     100     100     100
-10     100     12      100
-10     100     12      100
-10     1000    10      1000
-100    100     10      100
-100    100     10      100
-100    100     100     100
-100    100     12      100
-12     100     10      100
-12     100     10      100
-12     100     100     100
-12     100     12      100
-12     NULL    12      NULL
-12     NULL    NULL    NULL
-15     10015   15      10015
-20     10020   20      10020
-25     10025   25      10025
-30     10030   30      10030
-35     10035   35      10035
-40     10040   40      10040
-40     10040   40      10040
-40     10040   40      10040
-40     10040   40      10040
-40     10040   60      10040
-40     10040   60      10040
-40     10040   60      10040
-40     10040   60      10040
-40     10040   70      10040
-40     10040   70      10040
-40     10040   70      10040
-40     10040   70      10040
-40     10040   80      10040
-40     10040   80      10040
-40     10040   80      10040
-40     10040   80      10040
-5      10005   5       10005
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   NULL    10050
-50     10050   NULL    10050
-50     10050   NULL    10050
-60     10040   40      10040
-60     10040   40      10040
-60     10040   40      10040
-60     10040   40      10040
-60     10040   60      10040
-60     10040   60      10040
-60     10040   60      10040
-60     10040   60      10040
-60     10040   70      10040
-60     10040   70      10040
-60     10040   70      10040
-60     10040   70      10040
-60     10040   80      10040
-60     10040   80      10040
-60     10040   80      10040
-60     10040   80      10040
-70     10040   40      10040
-70     10040   40      10040
-70     10040   40      10040
-70     10040   40      10040
-70     10040   60      10040
-70     10040   60      10040
-70     10040   60      10040
-70     10040   60      10040
-70     10040   70      10040
-70     10040   70      10040
-70     10040   70      10040
-70     10040   70      10040
-70     10040   80      10040
-70     10040   80      10040
-70     10040   80      10040
-70     10040   80      10040
-80     10040   40      10040
-80     10040   40      10040
-80     10040   40      10040
-80     10040   40      10040
-80     10040   60      10040
-80     10040   60      10040
-80     10040   60      10040
-80     10040   60      10040
-80     10040   70      10040
-80     10040   70      10040
-80     10040   70      10040
-80     10040   70      10040
-80     10040   80      10040
-80     10040   80      10040
-80     10040   80      10040
-80     10040   80      10040
-NULL   10050   50      10050
-NULL   10050   50      10050
-NULL   10050   50      10050
-NULL   10050   NULL    10050
-NULL   35      NULL    35
-NULL   NULL    12      NULL
-NULL   NULL    NULL    NULL
-PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a JOIN smb_input2 b 
ON a.value <=> b.value
-PREHOOK: type: QUERY
-PREHOOK: Input: default@smb_input2
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a JOIN smb_input2 
b ON a.value <=> b.value
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@smb_input2
-#### A masked pattern was here ####
-10     100     10      100
-10     100     10      100
-10     100     10      100
-10     100     10      100
-10     100     100     100
-10     100     100     100
-10     100     12      100
-10     100     12      100
-10     1000    10      1000
-100    100     10      100
-100    100     10      100
-100    100     100     100
-100    100     12      100
-12     100     10      100
-12     100     10      100
-12     100     100     100
-12     100     12      100
-12     NULL    12      NULL
-12     NULL    NULL    NULL
-15     10015   15      10015
-20     10020   20      10020
-25     10025   25      10025
-30     10030   30      10030
-35     10035   35      10035
-40     10040   40      10040
-40     10040   40      10040
-40     10040   40      10040
-40     10040   40      10040
-40     10040   60      10040
-40     10040   60      10040
-40     10040   60      10040
-40     10040   60      10040
-40     10040   70      10040
-40     10040   70      10040
-40     10040   70      10040
-40     10040   70      10040
-40     10040   80      10040
-40     10040   80      10040
-40     10040   80      10040
-40     10040   80      10040
-5      10005   5       10005
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   NULL    10050
-50     10050   NULL    10050
-50     10050   NULL    10050
-60     10040   40      10040
-60     10040   40      10040
-60     10040   40      10040
-60     10040   40      10040
-60     10040   60      10040
-60     10040   60      10040
-60     10040   60      10040
-60     10040   60      10040
-60     10040   70      10040
-60     10040   70      10040
-60     10040   70      10040
-60     10040   70      10040
-60     10040   80      10040
-60     10040   80      10040
-60     10040   80      10040
-60     10040   80      10040
-70     10040   40      10040
-70     10040   40      10040
-70     10040   40      10040
-70     10040   40      10040
-70     10040   60      10040
-70     10040   60      10040
-70     10040   60      10040
-70     10040   60      10040
-70     10040   70      10040
-70     10040   70      10040
-70     10040   70      10040
-70     10040   70      10040
-70     10040   80      10040
-70     10040   80      10040
-70     10040   80      10040
-70     10040   80      10040
-80     10040   40      10040
-80     10040   40      10040
-80     10040   40      10040
-80     10040   40      10040
-80     10040   60      10040
-80     10040   60      10040
-80     10040   60      10040
-80     10040   60      10040
-80     10040   70      10040
-80     10040   70      10040
-80     10040   70      10040
-80     10040   70      10040
-80     10040   80      10040
-80     10040   80      10040
-80     10040   80      10040
-80     10040   80      10040
-NULL   10050   50      10050
-NULL   10050   50      10050
-NULL   10050   50      10050
-NULL   10050   NULL    10050
-NULL   35      NULL    35
-NULL   NULL    12      NULL
-NULL   NULL    NULL    NULL
-PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a LEFT OUTER JOIN 
smb_input2 b ON a.value <=> b.value
-PREHOOK: type: QUERY
-PREHOOK: Input: default@smb_input2
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM smb_input2 a LEFT OUTER JOIN 
smb_input2 b ON a.value <=> b.value
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@smb_input2
-#### A masked pattern was here ####
-10     100     10      100
-10     100     10      100
-10     100     10      100
-10     100     10      100
-10     100     100     100
-10     100     100     100
-10     100     12      100
-10     100     12      100
-10     1000    10      1000
-100    100     10      100
-100    100     10      100
-100    100     100     100
-100    100     12      100
-12     100     10      100
-12     100     10      100
-12     100     100     100
-12     100     12      100
-12     NULL    12      NULL
-12     NULL    NULL    NULL
-15     10015   15      10015
-20     10020   20      10020
-25     10025   25      10025
-30     10030   30      10030
-35     10035   35      10035
-40     10040   40      10040
-40     10040   40      10040
-40     10040   40      10040
-40     10040   40      10040
-40     10040   60      10040
-40     10040   60      10040
-40     10040   60      10040
-40     10040   60      10040
-40     10040   70      10040
-40     10040   70      10040
-40     10040   70      10040
-40     10040   70      10040
-40     10040   80      10040
-40     10040   80      10040
-40     10040   80      10040
-40     10040   80      10040
-5      10005   5       10005
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   50      10050
-50     10050   NULL    10050
-50     10050   NULL    10050
-50     10050   NULL    10050
-60     10040   40      10040
-60     10040   40      10040
-60     10040   40      10040
-60     10040   40      10040
-60     10040   60      10040
-60     10040   60      10040
-60     10040   60      10040
-60     10040   60      10040
-60     10040   70      10040
-60     10040   70      10040
-60     10040   70      10040
-60     10040   70      10040
-60     10040   80      10040
-60     10040   80      10040
-60     10040   80      10040
-60     10040   80      10040
-70     10040   40      10040
-70     10040   40      10040
-70     10040   40      10040
-70     10040   40      10040
-70     10040   60      10040
-70     10040   60      10040
-70     10040   60      10040
-70     10040   60      10040
-70     10040   70      10040
-70     10040   70      10040
-70     10040   70      10040
-70     10040   70      10040
-70     10040   80      10040
-70     10040   80      10040
-70     10040   80      10040
-70     10040   80      10040
-80     10040   40      10040
-80     10040   40      10040
-80     10040   40      10040
-80     10040   40      10040
-80     10040   60      10040
-80     10040   60      10040
-80     10040   60      10040
-80     10040   60      10040
-80     10040   70      10040
-80     10040   70      10040
-80     10040   70      10040
-80     10040   70      10040
-80     10040   80      10040
-80     10040   80      10040
-80     10040   80      10040
-80     10040   80      10040
-NULL   10050   50      10050
-NULL   10050   50      10050
-NULL   10050   50      10050
-NULL   10050   NULL    10050
-NULL   35      NULL    35
-NULL   NULL    12      NULL
-NULL   NULL    NULL    NULL
-PREHOOK: query: --HIVE-3315 join predicate transitive
-explain select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.key 
is NULL
-PREHOOK: type: QUERY
-POSTHOOK: query: --HIVE-3315 join predicate transitive
-explain select * from myinput1 a join myinput1 b on a.key<=>b.value AND a.key 
is NULL
-POSTHOOK: type: QUERY
-STAGE DEPENDENCIES:
-  Stage-1 is a root stage
-  Stage-0 depends on stages: Stage-1
-
-STAGE PLANS:
-  Stage: Stage-1
-    Tez
-#### A masked pattern was here ####
-      Edges:
-        Reducer 2 <- Map 1 (SIMPLE_EDGE), Map 3 (SIMPLE_EDGE)
-#### A masked pattern was here ####
-      Vertices:
-        Map 1 
-            Map Operator Tree:
-                TableScan
-                  alias: a
-                  Statistics: Num rows: 3 Data size: 26 Basic stats: COMPLETE 
Column stats: NONE
-                  Filter Operator
-                    predicate: key is null (type: boolean)
-                    Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE 
Column stats: NONE
-                    Reduce Output Operator
-                      key expressions: null (type: int)
-                      sort order: +
-                      Map-reduce partition columns: null (type: int)
-                      Statistics: Num rows: 1 Data size: 8 Basic stats: 
COMPLETE Column stats: NONE
-                      value expressions: value (type: int)
-        Map 3 
-            Map Operator Tree:
-                TableScan
-                  alias: b
-                  Statistics: Num rows: 3 Data size: 26 Basic stats: COMPLETE 
Column stats: NONE
-                  Filter Operator
-                    predicate: value is null (type: boolean)
-                    Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE 
Column stats: NONE
-                    Reduce Output Operator
-                      key expressions: null (type: int)
-                      sort order: +
-                      Map-reduce partition columns: null (type: int)
-                      Statistics: Num rows: 1 Data size: 8 Basic stats: 
COMPLETE Column stats: NONE
-                      value expressions: key (type: int)
-        Reducer 2 
-            Reduce Operator Tree:
-              Merge Join Operator
-                condition map:
-                     Inner Join 0 to 1
-                keys:
-                  0 null (type: int)
-                  1 null (type: int)
-                nullSafes: [true]
-                outputColumnNames: _col1, _col5
-                Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE 
Column stats: NONE
-                Select Operator
-                  expressions: null (type: int), _col1 (type: int), _col5 
(type: int), null (type: int)
-                  outputColumnNames: _col0, _col1, _col2, _col3
-                  Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE 
Column stats: NONE
-                  File Output Operator
-                    compressed: false
-                    Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE 
Column stats: NONE
-                    table:
-                        input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
-                        output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                        serde: 
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
-
-  Stage: Stage-0
-    Fetch Operator
-      limit: -1
-      Processor Tree:
-        ListSink
-
-PREHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value 
AND a.key is NULL
-PREHOOK: type: QUERY
-PREHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-POSTHOOK: query: select * from myinput1 a join myinput1 b on a.key<=>b.value 
AND a.key is NULL
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-NULL   10      10      NULL
-NULL   10      48      NULL
-NULL   10      NULL    NULL
-NULL   35      10      NULL
-NULL   35      48      NULL
-NULL   35      NULL    NULL
-NULL   NULL    10      NULL
-NULL   NULL    48      NULL
-NULL   NULL    NULL    NULL

http://git-wip-us.apache.org/repos/asf/hive/blob/975a49b6/ql/src/test/results/clientpositive/tez/leftsemijoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/tez/leftsemijoin.q.out 
b/ql/src/test/results/clientpositive/tez/leftsemijoin.q.out
deleted file mode 100644
index 11f0bb0..0000000
--- a/ql/src/test/results/clientpositive/tez/leftsemijoin.q.out
+++ /dev/null
@@ -1,114 +0,0 @@
-PREHOOK: query: -- SORT_QUERY_RESULTS
-
-drop table sales
-PREHOOK: type: DROPTABLE
-POSTHOOK: query: -- SORT_QUERY_RESULTS
-
-drop table sales
-POSTHOOK: type: DROPTABLE
-PREHOOK: query: drop table things
-PREHOOK: type: DROPTABLE
-POSTHOOK: query: drop table things
-POSTHOOK: type: DROPTABLE
-PREHOOK: query: CREATE TABLE sales (name STRING, id INT)
-ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
-PREHOOK: type: CREATETABLE
-PREHOOK: Output: database:default
-PREHOOK: Output: default@sales
-POSTHOOK: query: CREATE TABLE sales (name STRING, id INT)
-ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
-POSTHOOK: type: CREATETABLE
-POSTHOOK: Output: database:default
-POSTHOOK: Output: default@sales
-PREHOOK: query: CREATE TABLE things (id INT, name STRING) partitioned by (ds 
string)
-ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
-PREHOOK: type: CREATETABLE
-PREHOOK: Output: database:default
-PREHOOK: Output: default@things
-POSTHOOK: query: CREATE TABLE things (id INT, name STRING) partitioned by (ds 
string)
-ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
-POSTHOOK: type: CREATETABLE
-POSTHOOK: Output: database:default
-POSTHOOK: Output: default@things
-PREHOOK: query: load data local inpath '../../data/files/sales.txt' INTO TABLE 
sales
-PREHOOK: type: LOAD
-#### A masked pattern was here ####
-PREHOOK: Output: default@sales
-POSTHOOK: query: load data local inpath '../../data/files/sales.txt' INTO 
TABLE sales
-POSTHOOK: type: LOAD
-#### A masked pattern was here ####
-POSTHOOK: Output: default@sales
-PREHOOK: query: load data local inpath '../../data/files/things.txt' INTO 
TABLE things partition(ds='2011-10-23')
-PREHOOK: type: LOAD
-#### A masked pattern was here ####
-PREHOOK: Output: default@things
-POSTHOOK: query: load data local inpath '../../data/files/things.txt' INTO 
TABLE things partition(ds='2011-10-23')
-POSTHOOK: type: LOAD
-#### A masked pattern was here ####
-POSTHOOK: Output: default@things
-POSTHOOK: Output: default@things@ds=2011-10-23
-PREHOOK: query: load data local inpath '../../data/files/things2.txt' INTO 
TABLE things partition(ds='2011-10-24')
-PREHOOK: type: LOAD
-#### A masked pattern was here ####
-PREHOOK: Output: default@things
-POSTHOOK: query: load data local inpath '../../data/files/things2.txt' INTO 
TABLE things partition(ds='2011-10-24')
-POSTHOOK: type: LOAD
-#### A masked pattern was here ####
-POSTHOOK: Output: default@things
-POSTHOOK: Output: default@things@ds=2011-10-24
-PREHOOK: query: SELECT name,id FROM sales
-PREHOOK: type: QUERY
-PREHOOK: Input: default@sales
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT name,id FROM sales
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@sales
-#### A masked pattern was here ####
-Hank   2
-Joe    2
-PREHOOK: query: SELECT id,name FROM things
-PREHOOK: type: QUERY
-PREHOOK: Input: default@things
-PREHOOK: Input: default@things@ds=2011-10-23
-PREHOOK: Input: default@things@ds=2011-10-24
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT id,name FROM things
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@things
-POSTHOOK: Input: default@things@ds=2011-10-23
-POSTHOOK: Input: default@things@ds=2011-10-24
-#### A masked pattern was here ####
-2      Tie
-2      Tie
-PREHOOK: query: SELECT name,id FROM sales LEFT SEMI JOIN things ON (sales.id = 
things.id)
-PREHOOK: type: QUERY
-PREHOOK: Input: default@sales
-PREHOOK: Input: default@things
-PREHOOK: Input: default@things@ds=2011-10-23
-PREHOOK: Input: default@things@ds=2011-10-24
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT name,id FROM sales LEFT SEMI JOIN things ON (sales.id 
= things.id)
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@sales
-POSTHOOK: Input: default@things
-POSTHOOK: Input: default@things@ds=2011-10-23
-POSTHOOK: Input: default@things@ds=2011-10-24
-#### A masked pattern was here ####
-Hank   2
-Joe    2
-PREHOOK: query: drop table sales
-PREHOOK: type: DROPTABLE
-PREHOOK: Input: default@sales
-PREHOOK: Output: default@sales
-POSTHOOK: query: drop table sales
-POSTHOOK: type: DROPTABLE
-POSTHOOK: Input: default@sales
-POSTHOOK: Output: default@sales
-PREHOOK: query: drop table things
-PREHOOK: type: DROPTABLE
-PREHOOK: Input: default@things
-PREHOOK: Output: default@things
-POSTHOOK: query: drop table things
-POSTHOOK: type: DROPTABLE
-POSTHOOK: Input: default@things
-POSTHOOK: Output: default@things

Reply via email to