Added: 
hive/branches/spark/ql/src/test/results/clientpositive/spark/join_hive_626.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/join_hive_626.q.out?rev=1634671&view=auto
==============================================================================
--- 
hive/branches/spark/ql/src/test/results/clientpositive/spark/join_hive_626.q.out
 (added)
+++ 
hive/branches/spark/ql/src/test/results/clientpositive/spark/join_hive_626.q.out
 Mon Oct 27 19:56:58 2014
@@ -0,0 +1,179 @@
+PREHOOK: query: create table hive_foo (foo_id int, foo_name string, foo_a 
string, foo_b string, 
+foo_c string, foo_d string) row format delimited fields terminated by ','
+stored as textfile
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@hive_foo
+POSTHOOK: query: create table hive_foo (foo_id int, foo_name string, foo_a 
string, foo_b string, 
+foo_c string, foo_d string) row format delimited fields terminated by ','
+stored as textfile
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@hive_foo
+PREHOOK: query: create table hive_bar (bar_id int, bar_0 int, foo_id int, 
bar_1 int, bar_name
+string, bar_a string, bar_b string, bar_c string, bar_d string) row format 
+delimited fields terminated by ',' stored as textfile
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@hive_bar
+POSTHOOK: query: create table hive_bar (bar_id int, bar_0 int, foo_id int, 
bar_1 int, bar_name
+string, bar_a string, bar_b string, bar_c string, bar_d string) row format 
+delimited fields terminated by ',' stored as textfile
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@hive_bar
+PREHOOK: query: create table hive_count (bar_id int, n int) row format 
delimited fields 
+terminated by ',' stored as textfile
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@hive_count
+POSTHOOK: query: create table hive_count (bar_id int, n int) row format 
delimited fields 
+terminated by ',' stored as textfile
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@hive_count
+PREHOOK: query: load data local inpath '../../data/files/hive_626_foo.txt' 
overwrite into table hive_foo
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@hive_foo
+POSTHOOK: query: load data local inpath '../../data/files/hive_626_foo.txt' 
overwrite into table hive_foo
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@hive_foo
+PREHOOK: query: load data local inpath '../../data/files/hive_626_bar.txt' 
overwrite into table hive_bar
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@hive_bar
+POSTHOOK: query: load data local inpath '../../data/files/hive_626_bar.txt' 
overwrite into table hive_bar
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@hive_bar
+PREHOOK: query: load data local inpath '../../data/files/hive_626_count.txt' 
overwrite into table hive_count
+PREHOOK: type: LOAD
+#### A masked pattern was here ####
+PREHOOK: Output: default@hive_count
+POSTHOOK: query: load data local inpath '../../data/files/hive_626_count.txt' 
overwrite into table hive_count
+POSTHOOK: type: LOAD
+#### A masked pattern was here ####
+POSTHOOK: Output: default@hive_count
+PREHOOK: query: explain
+select hive_foo.foo_name, hive_bar.bar_name, n from hive_foo join hive_bar on 
hive_foo.foo_id =
+hive_bar.foo_id join hive_count on hive_count.bar_id = hive_bar.bar_id
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+select hive_foo.foo_name, hive_bar.bar_name, n from hive_foo join hive_bar on 
hive_foo.foo_id =
+hive_bar.foo_id join hive_count on hive_count.bar_id = hive_bar.bar_id
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Spark
+      Edges:
+        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 5 (GROUP 
PARTITION-LEVEL SORT, 1)
+        Reducer 3 <- Map 4 (GROUP PARTITION-LEVEL SORT, 1), Reducer 2 (GROUP 
PARTITION-LEVEL SORT, 1)
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: hive_foo
+                  Statistics: Num rows: 0 Data size: 15 Basic stats: PARTIAL 
Column stats: NONE
+                  Filter Operator
+                    predicate: foo_id is not null (type: boolean)
+                    Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+                    Reduce Output Operator
+                      key expressions: foo_id (type: int)
+                      sort order: +
+                      Map-reduce partition columns: foo_id (type: int)
+                      Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+                      value expressions: foo_name (type: string)
+        Map 4 
+            Map Operator Tree:
+                TableScan
+                  alias: hive_count
+                  Statistics: Num rows: 0 Data size: 5 Basic stats: PARTIAL 
Column stats: NONE
+                  Filter Operator
+                    predicate: bar_id is not null (type: boolean)
+                    Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+                    Reduce Output Operator
+                      key expressions: bar_id (type: int)
+                      sort order: +
+                      Map-reduce partition columns: bar_id (type: int)
+                      Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+                      value expressions: n (type: int)
+        Map 5 
+            Map Operator Tree:
+                TableScan
+                  alias: hive_bar
+                  Statistics: Num rows: 0 Data size: 23 Basic stats: PARTIAL 
Column stats: NONE
+                  Filter Operator
+                    predicate: (foo_id is not null and bar_id is not null) 
(type: boolean)
+                    Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+                    Reduce Output Operator
+                      key expressions: foo_id (type: int)
+                      sort order: +
+                      Map-reduce partition columns: foo_id (type: int)
+                      Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+                      value expressions: bar_id (type: int), bar_name (type: 
string)
+        Reducer 2 
+            Reduce Operator Tree:
+              Join Operator
+                condition map:
+                     Inner Join 0 to 1
+                condition expressions:
+                  0 {VALUE._col0}
+                  1 {VALUE._col0} {VALUE._col3}
+                outputColumnNames: _col1, _col9, _col13
+                Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
+                Reduce Output Operator
+                  key expressions: _col9 (type: int)
+                  sort order: +
+                  Map-reduce partition columns: _col9 (type: int)
+                  Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+                  value expressions: _col1 (type: string), _col13 (type: 
string)
+        Reducer 3 
+            Reduce Operator Tree:
+              Join Operator
+                condition map:
+                     Inner Join 0 to 1
+                condition expressions:
+                  0 {VALUE._col1} {VALUE._col12}
+                  1 {VALUE._col0}
+                outputColumnNames: _col1, _col13, _col22
+                Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
+                Select Operator
+                  expressions: _col1 (type: string), _col13 (type: string), 
_col22 (type: int)
+                  outputColumnNames: _col0, _col1, _col2
+                  Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+                  File Output Operator
+                    compressed: false
+                    Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+                    table:
+                        input format: org.apache.hadoop.mapred.TextInputFormat
+                        output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                        serde: 
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: select hive_foo.foo_name, hive_bar.bar_name, n from hive_foo 
join hive_bar on hive_foo.foo_id =
+hive_bar.foo_id join hive_count on hive_count.bar_id = hive_bar.bar_id
+PREHOOK: type: QUERY
+PREHOOK: Input: default@hive_bar
+PREHOOK: Input: default@hive_count
+PREHOOK: Input: default@hive_foo
+#### A masked pattern was here ####
+POSTHOOK: query: select hive_foo.foo_name, hive_bar.bar_name, n from hive_foo 
join hive_bar on hive_foo.foo_id =
+hive_bar.foo_id join hive_count on hive_count.bar_id = hive_bar.bar_id
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@hive_bar
+POSTHOOK: Input: default@hive_count
+POSTHOOK: Input: default@hive_foo
+#### A masked pattern was here ####
+foo1   bar10   2

Added: 
hive/branches/spark/ql/src/test/results/clientpositive/spark/join_literals.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/join_literals.q.out?rev=1634671&view=auto
==============================================================================
--- 
hive/branches/spark/ql/src/test/results/clientpositive/spark/join_literals.q.out
 (added)
+++ 
hive/branches/spark/ql/src/test/results/clientpositive/spark/join_literals.q.out
 Mon Oct 27 19:56:58 2014
@@ -0,0 +1,41 @@
+WARNING: Comparing a bigint and a string may result in a loss of precision.
+PREHOOK: query: -- Test Joins with a variety of literals in the on clause
+
+SELECT COUNT(*) FROM src a JOIN src b ON a.key = b.key AND a.key = 0L
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: -- Test Joins with a variety of literals in the on clause
+
+SELECT COUNT(*) FROM src a JOIN src b ON a.key = b.key AND a.key = 0L
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+9
+PREHOOK: query: SELECT COUNT(*) FROM src a JOIN src b ON a.key = b.key AND 
a.key = 0S
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT COUNT(*) FROM src a JOIN src b ON a.key = b.key AND 
a.key = 0S
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+9
+PREHOOK: query: SELECT COUNT(*) FROM src a JOIN src b ON a.key = b.key AND 
a.key = 0Y
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT COUNT(*) FROM src a JOIN src b ON a.key = b.key AND 
a.key = 0Y
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+9
+PREHOOK: query: SELECT COUNT(*) FROM src a JOIN src b ON a.key = b.key AND 
a.key = 0BD
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: SELECT COUNT(*) FROM src a JOIN src b ON a.key = b.key AND 
a.key = 0BD
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+9

Added: 
hive/branches/spark/ql/src/test/results/clientpositive/spark/join_map_ppr.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/join_map_ppr.q.out?rev=1634671&view=auto
==============================================================================
Files 
hive/branches/spark/ql/src/test/results/clientpositive/spark/join_map_ppr.q.out 
(added) and 
hive/branches/spark/ql/src/test/results/clientpositive/spark/join_map_ppr.q.out 
Mon Oct 27 19:56:58 2014 differ

Added: 
hive/branches/spark/ql/src/test/results/clientpositive/spark/join_merge_multi_expressions.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/join_merge_multi_expressions.q.out?rev=1634671&view=auto
==============================================================================
--- 
hive/branches/spark/ql/src/test/results/clientpositive/spark/join_merge_multi_expressions.q.out
 (added)
+++ 
hive/branches/spark/ql/src/test/results/clientpositive/spark/join_merge_multi_expressions.q.out
 Mon Oct 27 19:56:58 2014
@@ -0,0 +1,121 @@
+PREHOOK: query: explain
+select count(*) from srcpart a join srcpart b on a.key = b.key and a.hr = b.hr 
join srcpart c on a.hr = c.hr and a.key = c.key
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+select count(*) from srcpart a join srcpart b on a.key = b.key and a.hr = b.hr 
join srcpart c on a.hr = c.hr and 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
+    Spark
+      Edges:
+        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 4 (GROUP 
PARTITION-LEVEL SORT, 1), Map 5 (GROUP PARTITION-LEVEL SORT, 1)
+        Reducer 3 <- Reducer 2 (GROUP, 1)
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: b
+                  Statistics: Num rows: 2000 Data size: 21248 Basic stats: 
COMPLETE Column stats: NONE
+                  Filter Operator
+                    predicate: key is not null (type: boolean)
+                    Statistics: Num rows: 1000 Data size: 10624 Basic stats: 
COMPLETE Column stats: NONE
+                    Reduce Output Operator
+                      key expressions: key (type: string), hr (type: string)
+                      sort order: ++
+                      Map-reduce partition columns: key (type: string), hr 
(type: string)
+                      Statistics: Num rows: 1000 Data size: 10624 Basic stats: 
COMPLETE Column stats: NONE
+        Map 4 
+            Map Operator Tree:
+                TableScan
+                  alias: c
+                  Statistics: Num rows: 2000 Data size: 21248 Basic stats: 
COMPLETE Column stats: NONE
+                  Filter Operator
+                    predicate: key is not null (type: boolean)
+                    Statistics: Num rows: 1000 Data size: 10624 Basic stats: 
COMPLETE Column stats: NONE
+                    Reduce Output Operator
+                      key expressions: key (type: string), hr (type: string)
+                      sort order: ++
+                      Map-reduce partition columns: key (type: string), hr 
(type: string)
+                      Statistics: Num rows: 1000 Data size: 10624 Basic stats: 
COMPLETE Column stats: NONE
+        Map 5 
+            Map Operator Tree:
+                TableScan
+                  alias: a
+                  Statistics: Num rows: 2000 Data size: 21248 Basic stats: 
COMPLETE Column stats: NONE
+                  Filter Operator
+                    predicate: key is not null (type: boolean)
+                    Statistics: Num rows: 1000 Data size: 10624 Basic stats: 
COMPLETE Column stats: NONE
+                    Reduce Output Operator
+                      key expressions: key (type: string), hr (type: string)
+                      sort order: ++
+                      Map-reduce partition columns: key (type: string), hr 
(type: string)
+                      Statistics: Num rows: 1000 Data size: 10624 Basic stats: 
COMPLETE Column stats: NONE
+        Reducer 2 
+            Reduce Operator Tree:
+              Join Operator
+                condition map:
+                     Inner Join 0 to 1
+                     Inner Join 0 to 2
+                condition expressions:
+                  0 
+                  1 
+                  2 
+                Statistics: Num rows: 2200 Data size: 23372 Basic stats: 
COMPLETE Column stats: NONE
+                Select Operator
+                  Statistics: Num rows: 2200 Data size: 23372 Basic stats: 
COMPLETE Column stats: NONE
+                  Group By Operator
+                    aggregations: count()
+                    mode: hash
+                    outputColumnNames: _col0
+                    Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE 
Column stats: NONE
+                    Reduce Output Operator
+                      sort order: 
+                      Statistics: Num rows: 1 Data size: 8 Basic stats: 
COMPLETE Column stats: NONE
+                      value expressions: _col0 (type: bigint)
+        Reducer 3 
+            Reduce Operator Tree:
+              Group By Operator
+                aggregations: count(VALUE._col0)
+                mode: mergepartial
+                outputColumnNames: _col0
+                Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE 
Column stats: NONE
+                Select Operator
+                  expressions: _col0 (type: bigint)
+                  outputColumnNames: _col0
+                  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.TextInputFormat
+                        output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                        serde: 
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: select count(*) from srcpart a join srcpart b on a.key = b.key 
and a.hr = b.hr join srcpart c on a.hr = c.hr and a.key = c.key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@srcpart
+PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=11
+PREHOOK: Input: default@srcpart@ds=2008-04-08/hr=12
+PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=11
+PREHOOK: Input: default@srcpart@ds=2008-04-09/hr=12
+#### A masked pattern was here ####
+POSTHOOK: query: select count(*) from srcpart a join srcpart b on a.key = 
b.key and a.hr = b.hr join srcpart c on a.hr = c.hr and a.key = c.key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@srcpart
+POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=11
+POSTHOOK: Input: default@srcpart@ds=2008-04-08/hr=12
+POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=11
+POSTHOOK: Input: default@srcpart@ds=2008-04-09/hr=12
+#### A masked pattern was here ####
+42464

Added: 
hive/branches/spark/ql/src/test/results/clientpositive/spark/join_merging.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/join_merging.q.out?rev=1634671&view=auto
==============================================================================
--- 
hive/branches/spark/ql/src/test/results/clientpositive/spark/join_merging.q.out 
(added)
+++ 
hive/branches/spark/ql/src/test/results/clientpositive/spark/join_merging.q.out 
Mon Oct 27 19:56:58 2014
@@ -0,0 +1,203 @@
+PREHOOK: query: CREATE TABLE part( 
+    p_partkey INT,
+    p_name STRING,
+    p_mfgr STRING,
+    p_brand STRING,
+    p_type STRING,
+    p_size INT,
+    p_container STRING,
+    p_retailprice DOUBLE,
+    p_comment STRING
+)
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@part
+POSTHOOK: query: CREATE TABLE part( 
+    p_partkey INT,
+    p_name STRING,
+    p_mfgr STRING,
+    p_brand STRING,
+    p_type STRING,
+    p_size INT,
+    p_container STRING,
+    p_retailprice DOUBLE,
+    p_comment STRING
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@part
+PREHOOK: query: explain select p1.p_size, p2.p_size 
+from part p1 left outer join part p2 on p1.p_partkey = p2.p_partkey 
+  right outer join part p3 on p2.p_partkey = p3.p_partkey and 
+              p1.p_size > 10
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select p1.p_size, p2.p_size 
+from part p1 left outer join part p2 on p1.p_partkey = p2.p_partkey 
+  right outer join part p3 on p2.p_partkey = p3.p_partkey and 
+              p1.p_size > 10
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Spark
+      Edges:
+        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 3 (GROUP 
PARTITION-LEVEL SORT, 1), Map 4 (GROUP PARTITION-LEVEL SORT, 1)
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: p3
+                  Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+                  Reduce Output Operator
+                    key expressions: p_partkey (type: int)
+                    sort order: +
+                    Map-reduce partition columns: p_partkey (type: int)
+                    Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+        Map 3 
+            Map Operator Tree:
+                TableScan
+                  alias: p2
+                  Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+                  Reduce Output Operator
+                    key expressions: p_partkey (type: int)
+                    sort order: +
+                    Map-reduce partition columns: p_partkey (type: int)
+                    Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+                    value expressions: p_size (type: int)
+        Map 4 
+            Map Operator Tree:
+                TableScan
+                  alias: p1
+                  Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+                  Filter Operator
+                    predicate: (p_size > 10) (type: boolean)
+                    Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+                    Reduce Output Operator
+                      key expressions: p_partkey (type: int)
+                      sort order: +
+                      Map-reduce partition columns: p_partkey (type: int)
+                      Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+                      value expressions: p_size (type: int)
+        Reducer 2 
+            Reduce Operator Tree:
+              Join Operator
+                condition map:
+                     Left Outer Join0 to 1
+                     Right Outer Join1 to 2
+                condition expressions:
+                  0 {VALUE._col4}
+                  1 {VALUE._col4}
+                  2 
+                outputColumnNames: _col5, _col17
+                Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
+                Select Operator
+                  expressions: _col5 (type: int), _col17 (type: int)
+                  outputColumnNames: _col0, _col1
+                  Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+                  File Output Operator
+                    compressed: false
+                    Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+                    table:
+                        input format: org.apache.hadoop.mapred.TextInputFormat
+                        output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                        serde: 
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: explain select p1.p_size, p2.p_size 
+from part p1 left outer join part p2 on p1.p_partkey = p2.p_partkey 
+  right outer join part p3 on p2.p_partkey = p3.p_partkey and 
+              p1.p_size > 10 and p1.p_size > p2.p_size + 10
+PREHOOK: type: QUERY
+POSTHOOK: query: explain select p1.p_size, p2.p_size 
+from part p1 left outer join part p2 on p1.p_partkey = p2.p_partkey 
+  right outer join part p3 on p2.p_partkey = p3.p_partkey and 
+              p1.p_size > 10 and p1.p_size > p2.p_size + 10
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Spark
+      Edges:
+        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 3 (GROUP 
PARTITION-LEVEL SORT, 1), Map 4 (GROUP PARTITION-LEVEL SORT, 1)
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: p3
+                  Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+                  Reduce Output Operator
+                    key expressions: p_partkey (type: int)
+                    sort order: +
+                    Map-reduce partition columns: p_partkey (type: int)
+                    Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+        Map 3 
+            Map Operator Tree:
+                TableScan
+                  alias: p2
+                  Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+                  Reduce Output Operator
+                    key expressions: p_partkey (type: int)
+                    sort order: +
+                    Map-reduce partition columns: p_partkey (type: int)
+                    Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+                    value expressions: p_size (type: int)
+        Map 4 
+            Map Operator Tree:
+                TableScan
+                  alias: p1
+                  Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+                  Filter Operator
+                    predicate: (p_size > 10) (type: boolean)
+                    Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+                    Reduce Output Operator
+                      key expressions: p_partkey (type: int)
+                      sort order: +
+                      Map-reduce partition columns: p_partkey (type: int)
+                      Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+                      value expressions: p_size (type: int)
+        Reducer 2 
+            Reduce Operator Tree:
+              Join Operator
+                condition map:
+                     Left Outer Join0 to 1
+                     Right Outer Join1 to 2
+                condition expressions:
+                  0 {VALUE._col4}
+                  1 {VALUE._col4}
+                  2 
+                outputColumnNames: _col5, _col17
+                Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column 
stats: NONE
+                Filter Operator
+                  predicate: (_col5 > (_col17 + 10)) (type: boolean)
+                  Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+                  Select Operator
+                    expressions: _col5 (type: int), _col17 (type: int)
+                    outputColumnNames: _col0, _col1
+                    Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+                    File Output Operator
+                      compressed: false
+                      Statistics: Num rows: 0 Data size: 0 Basic stats: NONE 
Column stats: NONE
+                      table:
+                          input format: 
org.apache.hadoop.mapred.TextInputFormat
+                          output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                          serde: 
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+

Added: 
hive/branches/spark/ql/src/test/results/clientpositive/spark/join_nulls.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/join_nulls.q.out?rev=1634671&view=auto
==============================================================================
--- 
hive/branches/spark/ql/src/test/results/clientpositive/spark/join_nulls.q.out 
(added)
+++ 
hive/branches/spark/ql/src/test/results/clientpositive/spark/join_nulls.q.out 
Mon Oct 27 19:56:58 2014
@@ -0,0 +1,648 @@
+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
+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
+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
+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
+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

Added: 
hive/branches/spark/ql/src/test/results/clientpositive/spark/join_rc.q.out
URL: 
http://svn.apache.org/viewvc/hive/branches/spark/ql/src/test/results/clientpositive/spark/join_rc.q.out?rev=1634671&view=auto
==============================================================================
--- hive/branches/spark/ql/src/test/results/clientpositive/spark/join_rc.q.out 
(added)
+++ hive/branches/spark/ql/src/test/results/clientpositive/spark/join_rc.q.out 
Mon Oct 27 19:56:58 2014
@@ -0,0 +1,1152 @@
+PREHOOK: query: create table join_rc1(key string, value string) stored as 
RCFile
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@join_rc1
+POSTHOOK: query: create table join_rc1(key string, value string) stored as 
RCFile
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@join_rc1
+PREHOOK: query: create table join_rc2(key string, value string) stored as 
RCFile
+PREHOOK: type: CREATETABLE
+PREHOOK: Output: database:default
+PREHOOK: Output: default@join_rc2
+POSTHOOK: query: create table join_rc2(key string, value string) stored as 
RCFile
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: database:default
+POSTHOOK: Output: default@join_rc2
+PREHOOK: query: insert overwrite table join_rc1 select * from src
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@join_rc1
+[Error 30017]: Skipping stats aggregation by error 
org.apache.hadoop.hive.ql.metadata.HiveException: [Error 30015]: Stats 
aggregator of type counter cannot be connected to
+POSTHOOK: query: insert overwrite table join_rc1 select * from src
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@join_rc1
+POSTHOOK: Lineage: join_rc1.key SIMPLE [(src)src.FieldSchema(name:key, 
type:string, comment:default), ]
+POSTHOOK: Lineage: join_rc1.value SIMPLE [(src)src.FieldSchema(name:value, 
type:string, comment:default), ]
+PREHOOK: query: insert overwrite table join_rc2 select * from src
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@join_rc2
+[Error 30017]: Skipping stats aggregation by error 
org.apache.hadoop.hive.ql.metadata.HiveException: [Error 30015]: Stats 
aggregator of type counter cannot be connected to
+POSTHOOK: query: insert overwrite table join_rc2 select * from src
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@join_rc2
+POSTHOOK: Lineage: join_rc2.key SIMPLE [(src)src.FieldSchema(name:key, 
type:string, comment:default), ]
+POSTHOOK: Lineage: join_rc2.value SIMPLE [(src)src.FieldSchema(name:value, 
type:string, comment:default), ]
+PREHOOK: query: explain
+select join_rc1.key, join_rc2.value
+FROM join_rc1 JOIN join_rc2 ON join_rc1.key = join_rc2.key
+PREHOOK: type: QUERY
+POSTHOOK: query: explain
+select join_rc1.key, join_rc2.value
+FROM join_rc1 JOIN join_rc2 ON join_rc1.key = join_rc2.key
+POSTHOOK: type: QUERY
+STAGE DEPENDENCIES:
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
+
+STAGE PLANS:
+  Stage: Stage-1
+    Spark
+      Edges:
+        Reducer 2 <- Map 1 (GROUP PARTITION-LEVEL SORT, 1), Map 3 (GROUP 
PARTITION-LEVEL SORT, 1)
+#### A masked pattern was here ####
+      Vertices:
+        Map 1 
+            Map Operator Tree:
+                TableScan
+                  alias: join_rc2
+                  Statistics: Num rows: 26 Data size: 5293 Basic stats: 
COMPLETE Column stats: NONE
+                  Filter Operator
+                    predicate: key is not null (type: boolean)
+                    Statistics: Num rows: 13 Data size: 2646 Basic stats: 
COMPLETE Column stats: NONE
+                    Reduce Output Operator
+                      key expressions: key (type: string)
+                      sort order: +
+                      Map-reduce partition columns: key (type: string)
+                      Statistics: Num rows: 13 Data size: 2646 Basic stats: 
COMPLETE Column stats: NONE
+                      value expressions: value (type: string)
+        Map 3 
+            Map Operator Tree:
+                TableScan
+                  alias: join_rc1
+                  Statistics: Num rows: 52 Data size: 5293 Basic stats: 
COMPLETE Column stats: NONE
+                  Filter Operator
+                    predicate: key is not null (type: boolean)
+                    Statistics: Num rows: 26 Data size: 2646 Basic stats: 
COMPLETE Column stats: NONE
+                    Reduce Output Operator
+                      key expressions: key (type: string)
+                      sort order: +
+                      Map-reduce partition columns: key (type: string)
+                      Statistics: Num rows: 26 Data size: 2646 Basic stats: 
COMPLETE Column stats: NONE
+        Reducer 2 
+            Reduce Operator Tree:
+              Join Operator
+                condition map:
+                     Inner Join 0 to 1
+                condition expressions:
+                  0 {KEY.reducesinkkey0}
+                  1 {VALUE._col0}
+                outputColumnNames: _col0, _col6
+                Statistics: Num rows: 28 Data size: 2910 Basic stats: COMPLETE 
Column stats: NONE
+                Select Operator
+                  expressions: _col0 (type: string), _col6 (type: string)
+                  outputColumnNames: _col0, _col1
+                  Statistics: Num rows: 28 Data size: 2910 Basic stats: 
COMPLETE Column stats: NONE
+                  File Output Operator
+                    compressed: false
+                    Statistics: Num rows: 28 Data size: 2910 Basic stats: 
COMPLETE Column stats: NONE
+                    table:
+                        input format: org.apache.hadoop.mapred.TextInputFormat
+                        output format: 
org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
+                        serde: 
org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
+  Stage: Stage-0
+    Fetch Operator
+      limit: -1
+      Processor Tree:
+        ListSink
+
+PREHOOK: query: select join_rc1.key, join_rc2.value
+FROM join_rc1 JOIN join_rc2 ON join_rc1.key = join_rc2.key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@join_rc1
+PREHOOK: Input: default@join_rc2
+#### A masked pattern was here ####
+POSTHOOK: query: select join_rc1.key, join_rc2.value
+FROM join_rc1 JOIN join_rc2 ON join_rc1.key = join_rc2.key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@join_rc1
+POSTHOOK: Input: default@join_rc2
+#### A masked pattern was here ####
+0      val_0
+0      val_0
+0      val_0
+0      val_0
+0      val_0
+0      val_0
+0      val_0
+0      val_0
+0      val_0
+10     val_10
+100    val_100
+100    val_100
+100    val_100
+100    val_100
+103    val_103
+103    val_103
+103    val_103
+103    val_103
+104    val_104
+104    val_104
+104    val_104
+104    val_104
+105    val_105
+11     val_11
+111    val_111
+113    val_113
+113    val_113
+113    val_113
+113    val_113
+114    val_114
+116    val_116
+118    val_118
+118    val_118
+118    val_118
+118    val_118
+119    val_119
+119    val_119
+119    val_119
+119    val_119
+119    val_119
+119    val_119
+119    val_119
+119    val_119
+119    val_119
+12     val_12
+12     val_12
+12     val_12
+12     val_12
+120    val_120
+120    val_120
+120    val_120
+120    val_120
+125    val_125
+125    val_125
+125    val_125
+125    val_125
+126    val_126
+128    val_128
+128    val_128
+128    val_128
+128    val_128
+128    val_128
+128    val_128
+128    val_128
+128    val_128
+128    val_128
+129    val_129
+129    val_129
+129    val_129
+129    val_129
+131    val_131
+133    val_133
+134    val_134
+134    val_134
+134    val_134
+134    val_134
+136    val_136
+137    val_137
+137    val_137
+137    val_137
+137    val_137
+138    val_138
+138    val_138
+138    val_138
+138    val_138
+138    val_138
+138    val_138
+138    val_138
+138    val_138
+138    val_138
+138    val_138
+138    val_138
+138    val_138
+138    val_138
+138    val_138
+138    val_138
+138    val_138
+143    val_143
+145    val_145
+146    val_146
+146    val_146
+146    val_146
+146    val_146
+149    val_149
+149    val_149
+149    val_149
+149    val_149
+15     val_15
+15     val_15
+15     val_15
+15     val_15
+150    val_150
+152    val_152
+152    val_152
+152    val_152
+152    val_152
+153    val_153
+155    val_155
+156    val_156
+157    val_157
+158    val_158
+160    val_160
+162    val_162
+163    val_163
+164    val_164
+164    val_164
+164    val_164
+164    val_164
+165    val_165
+165    val_165
+165    val_165
+165    val_165
+166    val_166
+167    val_167
+167    val_167
+167    val_167
+167    val_167
+167    val_167
+167    val_167
+167    val_167
+167    val_167
+167    val_167
+168    val_168
+169    val_169
+169    val_169
+169    val_169
+169    val_169
+169    val_169
+169    val_169
+169    val_169
+169    val_169
+169    val_169
+169    val_169
+169    val_169
+169    val_169
+169    val_169
+169    val_169
+169    val_169
+169    val_169
+17     val_17
+170    val_170
+172    val_172
+172    val_172
+172    val_172
+172    val_172
+174    val_174
+174    val_174
+174    val_174
+174    val_174
+175    val_175
+175    val_175
+175    val_175
+175    val_175
+176    val_176
+176    val_176
+176    val_176
+176    val_176
+177    val_177
+178    val_178
+179    val_179
+179    val_179
+179    val_179
+179    val_179
+18     val_18
+18     val_18
+18     val_18
+18     val_18
+180    val_180
+181    val_181
+183    val_183
+186    val_186
+187    val_187
+187    val_187
+187    val_187
+187    val_187
+187    val_187
+187    val_187
+187    val_187
+187    val_187
+187    val_187
+189    val_189
+19     val_19
+190    val_190
+191    val_191
+191    val_191
+191    val_191
+191    val_191
+192    val_192
+193    val_193
+193    val_193
+193    val_193
+193    val_193
+193    val_193
+193    val_193
+193    val_193
+193    val_193
+193    val_193
+194    val_194
+195    val_195
+195    val_195
+195    val_195
+195    val_195
+196    val_196
+197    val_197
+197    val_197
+197    val_197
+197    val_197
+199    val_199
+199    val_199
+199    val_199
+199    val_199
+199    val_199
+199    val_199
+199    val_199
+199    val_199
+199    val_199
+2      val_2
+20     val_20
+200    val_200
+200    val_200
+200    val_200
+200    val_200
+201    val_201
+202    val_202
+203    val_203
+203    val_203
+203    val_203
+203    val_203
+205    val_205
+205    val_205
+205    val_205
+205    val_205
+207    val_207
+207    val_207
+207    val_207
+207    val_207
+208    val_208
+208    val_208
+208    val_208
+208    val_208
+208    val_208
+208    val_208
+208    val_208
+208    val_208
+208    val_208
+209    val_209
+209    val_209
+209    val_209
+209    val_209
+213    val_213
+213    val_213
+213    val_213
+213    val_213
+214    val_214
+216    val_216
+216    val_216
+216    val_216
+216    val_216
+217    val_217
+217    val_217
+217    val_217
+217    val_217
+218    val_218
+219    val_219
+219    val_219
+219    val_219
+219    val_219
+221    val_221
+221    val_221
+221    val_221
+221    val_221
+222    val_222
+223    val_223
+223    val_223
+223    val_223
+223    val_223
+224    val_224
+224    val_224
+224    val_224
+224    val_224
+226    val_226
+228    val_228
+229    val_229
+229    val_229
+229    val_229
+229    val_229
+230    val_230
+230    val_230
+230    val_230
+230    val_230
+230    val_230
+230    val_230
+230    val_230
+230    val_230
+230    val_230
+230    val_230
+230    val_230
+230    val_230
+230    val_230
+230    val_230
+230    val_230
+230    val_230
+230    val_230
+230    val_230
+230    val_230
+230    val_230
+230    val_230
+230    val_230
+230    val_230
+230    val_230
+230    val_230
+233    val_233
+233    val_233
+233    val_233
+233    val_233
+235    val_235
+237    val_237
+237    val_237
+237    val_237
+237    val_237
+238    val_238
+238    val_238
+238    val_238
+238    val_238
+239    val_239
+239    val_239
+239    val_239
+239    val_239
+24     val_24
+24     val_24
+24     val_24
+24     val_24
+241    val_241
+242    val_242
+242    val_242
+242    val_242
+242    val_242
+244    val_244
+247    val_247
+248    val_248
+249    val_249
+252    val_252
+255    val_255
+255    val_255
+255    val_255
+255    val_255
+256    val_256
+256    val_256
+256    val_256
+256    val_256
+257    val_257
+258    val_258
+26     val_26
+26     val_26
+26     val_26
+26     val_26
+260    val_260
+262    val_262
+263    val_263
+265    val_265
+265    val_265
+265    val_265
+265    val_265
+266    val_266
+27     val_27
+272    val_272
+272    val_272
+272    val_272
+272    val_272
+273    val_273
+273    val_273
+273    val_273
+273    val_273
+273    val_273
+273    val_273
+273    val_273
+273    val_273
+273    val_273
+274    val_274
+275    val_275
+277    val_277
+277    val_277
+277    val_277
+277    val_277
+277    val_277
+277    val_277
+277    val_277
+277    val_277
+277    val_277
+277    val_277
+277    val_277
+277    val_277
+277    val_277
+277    val_277
+277    val_277
+277    val_277
+278    val_278
+278    val_278
+278    val_278
+278    val_278
+28     val_28
+280    val_280
+280    val_280
+280    val_280
+280    val_280
+281    val_281
+281    val_281
+281    val_281
+281    val_281
+282    val_282
+282    val_282
+282    val_282
+282    val_282
+283    val_283
+284    val_284
+285    val_285
+286    val_286
+287    val_287
+288    val_288
+288    val_288
+288    val_288
+288    val_288
+289    val_289
+291    val_291
+292    val_292
+296    val_296
+298    val_298
+298    val_298
+298    val_298
+298    val_298
+298    val_298
+298    val_298
+298    val_298
+298    val_298
+298    val_298
+30     val_30
+302    val_302
+305    val_305
+306    val_306
+307    val_307
+307    val_307
+307    val_307
+307    val_307
+308    val_308
+309    val_309
+309    val_309
+309    val_309
+309    val_309
+310    val_310
+311    val_311
+311    val_311
+311    val_311
+311    val_311
+311    val_311
+311    val_311
+311    val_311
+311    val_311
+311    val_311
+315    val_315
+316    val_316
+316    val_316
+316    val_316
+316    val_316
+316    val_316
+316    val_316
+316    val_316
+316    val_316
+316    val_316
+317    val_317
+317    val_317
+317    val_317
+317    val_317
+318    val_318
+318    val_318
+318    val_318
+318    val_318
+318    val_318
+318    val_318
+318    val_318
+318    val_318
+318    val_318
+321    val_321
+321    val_321
+321    val_321
+321    val_321
+322    val_322
+322    val_322
+322    val_322
+322    val_322
+323    val_323
+325    val_325
+325    val_325
+325    val_325
+325    val_325
+327    val_327
+327    val_327
+327    val_327
+327    val_327
+327    val_327
+327    val_327
+327    val_327
+327    val_327
+327    val_327
+33     val_33
+331    val_331
+331    val_331
+331    val_331
+331    val_331
+332    val_332
+333    val_333
+333    val_333
+333    val_333
+333    val_333
+335    val_335
+336    val_336
+338    val_338
+339    val_339
+34     val_34
+341    val_341
+342    val_342
+342    val_342
+342    val_342
+342    val_342
+344    val_344
+344    val_344
+344    val_344
+344    val_344
+345    val_345
+348    val_348
+348    val_348
+348    val_348
+348    val_348
+348    val_348
+348    val_348
+348    val_348
+348    val_348
+348    val_348
+348    val_348
+348    val_348
+348    val_348
+348    val_348
+348    val_348
+348    val_348
+348    val_348
+348    val_348
+348    val_348
+348    val_348
+348    val_348
+348    val_348
+348    val_348
+348    val_348
+348    val_348
+348    val_348
+35     val_35
+35     val_35
+35     val_35
+35     val_35
+35     val_35
+35     val_35
+35     val_35
+35     val_35
+35     val_35
+351    val_351
+353    val_353
+353    val_353
+353    val_353
+353    val_353
+356    val_356
+360    val_360
+362    val_362
+364    val_364
+365    val_365
+366    val_366
+367    val_367
+367    val_367
+367    val_367
+367    val_367
+368    val_368
+369    val_369
+369    val_369
+369    val_369
+369    val_369
+369    val_369
+369    val_369
+369    val_369
+369    val_369
+369    val_369
+37     val_37
+37     val_37
+37     val_37
+37     val_37
+373    val_373
+374    val_374
+375    val_375
+377    val_377
+378    val_378
+379    val_379
+382    val_382
+382    val_382
+382    val_382
+382    val_382
+384    val_384
+384    val_384
+384    val_384
+384    val_384
+384    val_384
+384    val_384
+384    val_384
+384    val_384
+384    val_384
+386    val_386
+389    val_389
+392    val_392
+393    val_393
+394    val_394
+395    val_395
+395    val_395
+395    val_395
+395    val_395
+396    val_396
+396    val_396
+396    val_396
+396    val_396
+396    val_396
+396    val_396
+396    val_396
+396    val_396
+396    val_396
+397    val_397
+397    val_397
+397    val_397
+397    val_397
+399    val_399
+399    val_399
+399    val_399
+399    val_399
+4      val_4
+400    val_400
+401    val_401
+401    val_401
+401    val_401
+401    val_401
+401    val_401
+401    val_401
+401    val_401
+401    val_401
+401    val_401
+401    val_401
+401    val_401
+401    val_401
+401    val_401
+401    val_401
+401    val_401
+401    val_401
+401    val_401
+401    val_401
+401    val_401
+401    val_401
+401    val_401
+401    val_401
+401    val_401
+401    val_401
+401    val_401
+402    val_402
+403    val_403
+403    val_403
+403    val_403
+403    val_403
+403    val_403
+403    val_403
+403    val_403
+403    val_403
+403    val_403
+404    val_404
+404    val_404
+404    val_404
+404    val_404
+406    val_406
+406    val_406
+406    val_406
+406    val_406
+406    val_406
+406    val_406
+406    val_406
+406    val_406
+406    val_406
+406    val_406
+406    val_406
+406    val_406
+406    val_406
+406    val_406
+406    val_406
+406    val_406
+407    val_407
+409    val_409
+409    val_409
+409    val_409
+409    val_409
+409    val_409
+409    val_409
+409    val_409
+409    val_409
+409    val_409
+41     val_41
+411    val_411
+413    val_413
+413    val_413
+413    val_413
+413    val_413
+414    val_414
+414    val_414
+414    val_414
+414    val_414
+417    val_417
+417    val_417
+417    val_417
+417    val_417
+417    val_417
+417    val_417
+417    val_417
+417    val_417
+417    val_417
+418    val_418
+419    val_419
+42     val_42
+42     val_42
+42     val_42
+42     val_42
+421    val_421
+424    val_424
+424    val_424
+424    val_424
+424    val_424
+427    val_427
+429    val_429
+429    val_429
+429    val_429
+429    val_429
+43     val_43
+430    val_430
+430    val_430
+430    val_430
+430    val_430
+430    val_430
+430    val_430
+430    val_430
+430    val_430
+430    val_430
+431    val_431
+431    val_431
+431    val_431
+431    val_431
+431    val_431
+431    val_431
+431    val_431
+431    val_431
+431    val_431
+432    val_432
+435    val_435
+436    val_436
+437    val_437
+438    val_438
+438    val_438
+438    val_438
+438    val_438
+438    val_438
+438    val_438
+438    val_438
+438    val_438
+438    val_438
+439    val_439
+439    val_439
+439    val_439
+439    val_439
+44     val_44
+443    val_443
+444    val_444
+446    val_446
+448    val_448
+449    val_449
+452    val_452
+453    val_453
+454    val_454
+454    val_454
+454    val_454
+454    val_454
+454    val_454
+454    val_454
+454    val_454
+454    val_454
+454    val_454
+455    val_455
+457    val_457
+458    val_458
+458    val_458
+458    val_458
+458    val_458
+459    val_459
+459    val_459
+459    val_459
+459    val_459
+460    val_460
+462    val_462
+462    val_462
+462    val_462
+462    val_462
+463    val_463
+463    val_463
+463    val_463
+463    val_463
+466    val_466
+466    val_466
+466    val_466
+466    val_466
+466    val_466
+466    val_466
+466    val_466
+466    val_466
+466    val_466
+467    val_467
+468    val_468
+468    val_468
+468    val_468
+468    val_468
+468    val_468
+468    val_468
+468    val_468
+468    val_468
+468    val_468
+468    val_468
+468    val_468
+468    val_468
+468    val_468
+468    val_468
+468    val_468
+468    val_468
+469    val_469
+469    val_469
+469    val_469
+469    val_469
+469    val_469
+469    val_469
+469    val_469
+469    val_469
+469    val_469
+469    val_469
+469    val_469
+469    val_469
+469    val_469
+469    val_469
+469    val_469
+469    val_469
+469    val_469
+469    val_469
+469    val_469
+469    val_469
+469    val_469
+469    val_469
+469    val_469
+469    val_469
+469    val_469
+47     val_47
+470    val_470
+472    val_472
+475    val_475
+477    val_477
+478    val_478
+478    val_478
+478    val_478
+478    val_478
+479    val_479
+480    val_480
+480    val_480
+480    val_480
+480    val_480
+480    val_480
+480    val_480
+480    val_480
+480    val_480
+480    val_480
+481    val_481
+482    val_482
+483    val_483
+484    val_484
+485    val_485
+487    val_487
+489    val_489
+489    val_489
+489    val_489
+489    val_489
+489    val_489
+489    val_489
+489    val_489
+489    val_489
+489    val_489
+489    val_489
+489    val_489
+489    val_489
+489    val_489
+489    val_489
+489    val_489
+489    val_489
+490    val_490
+491    val_491
+492    val_492
+492    val_492
+492    val_492
+492    val_492
+493    val_493
+494    val_494
+495    val_495
+496    val_496
+497    val_497
+498    val_498
+498    val_498
+498    val_498
+498    val_498
+498    val_498
+498    val_498
+498    val_498
+498    val_498
+498    val_498
+5      val_5
+5      val_5
+5      val_5
+5      val_5
+5      val_5
+5      val_5
+5      val_5
+5      val_5
+5      val_5
+51     val_51
+51     val_51
+51     val_51
+51     val_51
+53     val_53
+54     val_54
+57     val_57
+58     val_58
+58     val_58
+58     val_58
+58     val_58
+64     val_64
+65     val_65
+66     val_66
+67     val_67
+67     val_67
+67     val_67
+67     val_67
+69     val_69
+70     val_70
+70     val_70
+70     val_70
+70     val_70
+70     val_70
+70     val_70
+70     val_70
+70     val_70
+70     val_70
+72     val_72
+72     val_72
+72     val_72
+72     val_72
+74     val_74
+76     val_76
+76     val_76
+76     val_76
+76     val_76
+77     val_77
+78     val_78
+8      val_8
+80     val_80
+82     val_82
+83     val_83
+83     val_83
+83     val_83
+83     val_83
+84     val_84
+84     val_84
+84     val_84
+84     val_84
+85     val_85
+86     val_86
+87     val_87
+9      val_9
+90     val_90
+90     val_90
+90     val_90
+90     val_90
+90     val_90
+90     val_90
+90     val_90
+90     val_90
+90     val_90
+92     val_92
+95     val_95
+95     val_95
+95     val_95
+95     val_95
+96     val_96
+97     val_97
+97     val_97
+97     val_97
+97     val_97
+98     val_98
+98     val_98
+98     val_98
+98     val_98


Reply via email to