http://git-wip-us.apache.org/repos/asf/hive/blob/6f5c1135/ql/src/test/results/clientpositive/join_nulls.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_nulls.q.out 
b/ql/src/test/results/clientpositive/join_nulls.q.out
deleted file mode 100644
index 2401447..0000000
--- a/ql/src/test/results/clientpositive/join_nulls.q.out
+++ /dev/null
@@ -1,652 +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/in1.txt' INTO TABLE 
myinput1
-PREHOOK: type: LOAD
-#### A masked pattern was here ####
-PREHOOK: Output: default@myinput1
-POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in1.txt' INTO TABLE 
myinput1
-POSTHOOK: type: LOAD
-#### A masked pattern was here ####
-POSTHOOK: Output: default@myinput1
-Warning: Shuffle Join JOIN[6][tables = [$hdt$_0, $hdt$_1]] in Stage 
'Stage-1:MAPRED' is a cross product
-PREHOOK: query: SELECT * FROM myinput1 a JOIN myinput1 b
-PREHOOK: type: QUERY
-PREHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT * FROM myinput1 a JOIN myinput1 b
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-100    100     100     100
-100    100     48      NULL
-100    100     NULL    35
-48     NULL    100     100
-48     NULL    48      NULL
-48     NULL    NULL    35
-NULL   35      100     100
-NULL   35      48      NULL
-NULL   35      NULL    35
-Warning: Shuffle Join JOIN[6][tables = [$hdt$_0, $hdt$_1]] in Stage 
'Stage-1:MAPRED' is a cross product
-PREHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b
-PREHOOK: type: QUERY
-PREHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-100    100     100     100
-100    100     48      NULL
-100    100     NULL    35
-48     NULL    100     100
-48     NULL    48      NULL
-48     NULL    NULL    35
-NULL   35      100     100
-NULL   35      48      NULL
-NULL   35      NULL    35
-Warning: Shuffle Join JOIN[6][tables = [$hdt$_0, $hdt$_1]] in Stage 
'Stage-1:MAPRED' is a cross product
-PREHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b
-PREHOOK: type: QUERY
-PREHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-100    100     100     100
-100    100     48      NULL
-100    100     NULL    35
-48     NULL    100     100
-48     NULL    48      NULL
-48     NULL    NULL    35
-NULL   35      100     100
-NULL   35      48      NULL
-NULL   35      NULL    35
-PREHOOK: query: 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: SELECT * FROM myinput1 a JOIN myinput1 b ON a.key = b.value
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-100    100     100     100
-PREHOOK: query: SELECT * FROM myinput1 a JOIN myinput1 b ON a.key = b.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.key
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-100    100     100     100
-48     NULL    48      NULL
-PREHOOK: query: SELECT * FROM myinput1 a JOIN myinput1 b ON a.value = b.value
-PREHOOK: type: QUERY
-PREHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT * FROM myinput1 a JOIN myinput1 b ON a.value = b.value
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-100    100     100     100
-NULL   35      NULL    35
-PREHOOK: query: SELECT * FROM myinput1 a JOIN myinput1 b ON a.value = b.value 
and a.key=b.key
-PREHOOK: type: QUERY
-PREHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT * FROM myinput1 a JOIN myinput1 b ON a.value = b.value 
and a.key=b.key
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-100    100     100     100
-PREHOOK: query: 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: 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 ####
-100    100     100     100
-48     NULL    NULL    NULL
-NULL   35      NULL    NULL
-PREHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.value 
= b.value
-PREHOOK: type: QUERY
-PREHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON 
a.value = b.value
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-100    100     100     100
-48     NULL    NULL    NULL
-NULL   35      NULL    35
-PREHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = 
b.key
-PREHOOK: type: QUERY
-PREHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key 
= b.key
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-100    100     100     100
-48     NULL    48      NULL
-NULL   35      NULL    NULL
-PREHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key = 
b.key and a.value=b.value
-PREHOOK: type: QUERY
-PREHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b ON a.key 
= b.key and a.value=b.value
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-100    100     100     100
-48     NULL    NULL    NULL
-NULL   35      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 ####
-100    100     100     100
-NULL   NULL    48      NULL
-NULL   NULL    NULL    35
-PREHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON a.key 
= b.key
-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.key
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-100    100     100     100
-48     NULL    48      NULL
-NULL   NULL    NULL    35
-PREHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON 
a.value = 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.value = b.value
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-100    100     100     100
-NULL   35      NULL    35
-NULL   NULL    48      NULL
-PREHOOK: query: SELECT * FROM myinput1 a RIGHT OUTER JOIN myinput1 b ON 
a.key=b.key and a.value = 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.key and a.value = b.value
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-100    100     100     100
-NULL   NULL    48      NULL
-NULL   NULL    NULL    35
-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 ####
-100    100     100     100
-48     NULL    NULL    NULL
-NULL   35      NULL    NULL
-NULL   NULL    48      NULL
-NULL   NULL    NULL    35
-PREHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.key = 
b.key
-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.key
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-100    100     100     100
-48     NULL    48      NULL
-NULL   35      NULL    NULL
-NULL   NULL    NULL    35
-PREHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.value 
= 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.value = b.value
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-100    100     100     100
-48     NULL    NULL    NULL
-NULL   35      NULL    35
-NULL   NULL    48      NULL
-PREHOOK: query: SELECT * FROM myinput1 a FULL OUTER JOIN myinput1 b ON a.value 
= b.value and a.key=b.key
-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.value = b.value and a.key=b.key
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-100    100     100     100
-48     NULL    NULL    NULL
-NULL   35      NULL    NULL
-NULL   NULL    48      NULL
-NULL   NULL    NULL    35
-PREHOOK: query: SELECT * from myinput1 a LEFT OUTER JOIN myinput1 b ON 
(a.value=b.value) RIGHT OUTER JOIN myinput1 c ON (b.value=c.value)
-PREHOOK: type: QUERY
-PREHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT * from myinput1 a LEFT OUTER JOIN myinput1 b ON 
(a.value=b.value) RIGHT OUTER JOIN myinput1 c ON (b.value=c.value)
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-100    100     100     100     100     100
-NULL   35      NULL    35      NULL    35
-NULL   NULL    NULL    NULL    48      NULL
-PREHOOK: query: SELECT * from myinput1 a RIGHT OUTER JOIN myinput1 b ON 
(a.value=b.value) LEFT OUTER JOIN myinput1 c ON (b.value=c.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.value=b.value) LEFT OUTER JOIN myinput1 c ON (b.value=c.value)
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-100    100     100     100     100     100
-NULL   35      NULL    35      NULL    35
-NULL   NULL    48      NULL    NULL    NULL
-PREHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b RIGHT 
OUTER JOIN myinput1 c ON a.value = b.value and b.value = c.value
-PREHOOK: type: QUERY
-PREHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT * FROM myinput1 a LEFT OUTER JOIN myinput1 b RIGHT 
OUTER JOIN myinput1 c ON a.value = b.value and b.value = c.value
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-100    100     100     100     100     100
-NULL   35      NULL    35      NULL    35
-NULL   NULL    NULL    NULL    48      NULL
-Warning: Map Join MAPJOIN[7][bigTable=b] in task 'Stage-1:MAPRED' is a cross 
product
-PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b
-PREHOOK: type: QUERY
-PREHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-100    100     100     100
-100    100     48      NULL
-100    100     NULL    35
-48     NULL    100     100
-48     NULL    48      NULL
-48     NULL    NULL    35
-NULL   35      100     100
-NULL   35      48      NULL
-NULL   35      NULL    35
-PREHOOK: query: 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: 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 ####
-100    100     100     100
-PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ON 
a.key = b.key
-PREHOOK: type: QUERY
-PREHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ON 
a.key = b.key
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-100    100     100     100
-48     NULL    48      NULL
-PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ON 
a.value = b.value
-PREHOOK: type: QUERY
-PREHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a JOIN myinput1 b ON 
a.value = b.value
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-100    100     100     100
-NULL   35      NULL    35
-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 ####
-100    100     100     100
-PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON 
a.key = b.key
-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.key
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-100    100     100     100
-48     NULL    48      NULL
-PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON 
a.value = 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.value = b.value
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-100    100     100     100
-NULL   35      NULL    35
-PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a JOIN myinput1 b ON 
a.value = b.value and a.key = b.key
-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.value = b.value and a.key = b.key
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-100    100     100     100
-PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * 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: SELECT /*+ MAPJOIN(b) */ * 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 ####
-100    100     100     100
-48     NULL    NULL    NULL
-NULL   35      NULL    NULL
-PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT OUTER JOIN 
myinput1 b ON a.key = b.key
-PREHOOK: type: QUERY
-PREHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT OUTER JOIN 
myinput1 b ON a.key = b.key
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-100    100     100     100
-48     NULL    48      NULL
-NULL   35      NULL    NULL
-PREHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT OUTER JOIN 
myinput1 b ON a.value = b.value
-PREHOOK: type: QUERY
-PREHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT /*+ MAPJOIN(b) */ * FROM myinput1 a LEFT OUTER JOIN 
myinput1 b ON a.value = b.value
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-100    100     100     100
-48     NULL    NULL    NULL
-NULL   35      NULL    35
-PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * 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 /*+ MAPJOIN(a) */ * 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 ####
-100    100     100     100
-NULL   NULL    48      NULL
-NULL   NULL    NULL    35
-PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a RIGHT OUTER JOIN 
myinput1 b ON a.key = b.key
-PREHOOK: type: QUERY
-PREHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a RIGHT OUTER JOIN 
myinput1 b ON a.key = b.key
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-100    100     100     100
-48     NULL    48      NULL
-NULL   NULL    NULL    35
-PREHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a RIGHT OUTER JOIN 
myinput1 b ON a.value = b.value
-PREHOOK: type: QUERY
-PREHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-POSTHOOK: query: SELECT /*+ MAPJOIN(a) */ * FROM myinput1 a RIGHT OUTER JOIN 
myinput1 b ON a.value = b.value
-POSTHOOK: type: QUERY
-POSTHOOK: Input: default@myinput1
-#### A masked pattern was here ####
-100    100     100     100
-NULL   35      NULL    35
-NULL   NULL    48      NULL
-PREHOOK: query: 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: 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: LOAD DATA LOCAL INPATH '../../data/files/in1.txt' into table 
smb_input1
-PREHOOK: type: LOAD
-#### A masked pattern was here ####
-PREHOOK: Output: default@smb_input1
-POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in1.txt' into table 
smb_input1
-POSTHOOK: type: LOAD
-#### A masked pattern was here ####
-POSTHOOK: Output: default@smb_input1
-PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in2.txt' into table 
smb_input1
-PREHOOK: type: LOAD
-#### A masked pattern was here ####
-PREHOOK: Output: default@smb_input1
-POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in2.txt' into table 
smb_input1
-POSTHOOK: type: LOAD
-#### A masked pattern was here ####
-POSTHOOK: Output: default@smb_input1
-PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in1.txt' into table 
smb_input2
-PREHOOK: type: LOAD
-#### A masked pattern was here ####
-PREHOOK: Output: default@smb_input2
-POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in1.txt' into table 
smb_input2
-POSTHOOK: type: LOAD
-#### A masked pattern was here ####
-POSTHOOK: Output: default@smb_input2
-PREHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in2.txt' into table 
smb_input2
-PREHOOK: type: LOAD
-#### A masked pattern was here ####
-PREHOOK: Output: default@smb_input2
-POSTHOOK: query: LOAD DATA LOCAL INPATH '../../data/files/in2.txt' into table 
smb_input2
-POSTHOOK: type: LOAD
-#### A masked pattern was here ####
-POSTHOOK: Output: default@smb_input2
-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 ####
-100    100     100     100
-148    NULL    148     NULL
-200    200     200     200
-48     NULL    48      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 ####
-100    100     100     100
-200    200     200     200
-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 ####
-100    100     100     100
-148    NULL    148     NULL
-200    200     200     200
-48     NULL    48      NULL
-NULL   NULL    NULL    135
-NULL   NULL    NULL    35
-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 ####
-100    100     100     100
-148    NULL    148     NULL
-200    200     200     200
-48     NULL    48      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 ####
-100    100     100     100
-148    NULL    148     NULL
-200    200     200     200
-48     NULL    48      NULL
-NULL   135     NULL    NULL
-NULL   35      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     100     100
-200    200     200     200
-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     100     100
-200    200     200     200
-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 ####
-100    100     100     100
-148    NULL    NULL    NULL
-200    200     200     200
-48     NULL    NULL    NULL
-NULL   135     NULL    NULL
-NULL   35      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     100     100
-200    200     200     200
-NULL   NULL    148     NULL
-NULL   NULL    48      NULL
-NULL   NULL    NULL    135
-NULL   NULL    NULL    35
-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 ####
-100    100     100     100
-200    200     200     200
-NULL   135     NULL    135
-NULL   35      NULL    35
-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 ####
-100    100     100     100
-200    200     200     200
-NULL   135     NULL    135
-NULL   35      NULL    35
-NULL   NULL    148     NULL
-NULL   NULL    48      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 ####
-100    100     100     100
-200    200     200     200
-NULL   135     NULL    135
-NULL   35      NULL    35
-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 ####
-100    100     100     100
-148    NULL    NULL    NULL
-200    200     200     200
-48     NULL    NULL    NULL
-NULL   135     NULL    135
-NULL   35      NULL    35

http://git-wip-us.apache.org/repos/asf/hive/blob/6f5c1135/ql/src/test/results/clientpositive/join_nullsafe.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_nullsafe.q.out 
b/ql/src/test/results/clientpositive/join_nullsafe.q.out
deleted file mode 100644
index 575c35b..0000000
--- a/ql/src/test/results/clientpositive/join_nullsafe.q.out
+++ /dev/null
@@ -1,1589 +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
-    Map Reduce
-      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)
-          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)
-      Reduce Operator Tree:
-        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
-    Map Reduce
-      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)
-          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)
-          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)
-      Reduce Operator Tree:
-        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
-    Map Reduce
-      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)
-          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)
-          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)
-      Reduce Operator Tree:
-        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
-    Map Reduce
-      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
-          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
-          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
-      Reduce Operator Tree:
-        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
-    Map Reduce
-      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
-          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
-          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
-      Reduce Operator Tree:
-        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
-    Map Reduce
-      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)
-          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)
-      Reduce Operator Tree:
-        Join Operator
-          condition map:
-               Inner Join 0 to 1
-          keys:
-            0 key (type: int)
-            1 value (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

Reply via email to