You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by gu...@apache.org on 2014/06/23 23:03:31 UTC

svn commit: r1604935 [24/40] - in /hive/trunk: hbase-handler/src/test/results/positive/ ql/src/java/org/apache/hadoop/hive/ql/optimizer/ ql/src/java/org/apache/hadoop/hive/ql/parse/ ql/src/test/results/clientnegative/ ql/src/test/results/clientpositive...

Modified: hive/trunk/ql/src/test/results/clientpositive/multi_join_union.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/multi_join_union.q.out?rev=1604935&r1=1604934&r2=1604935&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/multi_join_union.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/multi_join_union.q.out Mon Jun 23 21:03:24 2014
@@ -59,55 +59,64 @@ STAGE PLANS:
           TableScan
             alias: a
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
-            HashTable Sink Operator
-              condition expressions:
-                0 {value}
-                1 {key} {value}
-              keys:
-                0 key (type: string)
-                1 key (type: string)
+            Filter Operator
+              predicate: key is not null (type: boolean)
+              Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+              HashTable Sink Operator
+                condition expressions:
+                  0 {value}
+                  1 {key} {value}
+                keys:
+                  0 key (type: string)
+                  1 key (type: string)
         c-subquery1:a-subquery1:src13 
           TableScan
             alias: src13
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
-            Select Operator
-              expressions: key (type: string), value (type: string)
-              outputColumnNames: _col0, _col1
-              Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
-              Union
-                Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
-                Select Operator
-                  expressions: _col0 (type: string), _col1 (type: string)
-                  outputColumnNames: _col0, _col1
-                  Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
-                  HashTable Sink Operator
-                    condition expressions:
-                      0 {_col0} {_col1} {_col4} {_col5}
-                      1 {_col0}
-                    keys:
-                      0 _col5 (type: string)
-                      1 _col1 (type: string)
+            Filter Operator
+              predicate: value is not null (type: boolean)
+              Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+              Select Operator
+                expressions: key (type: string), value (type: string)
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+                Union
+                  Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+                  Select Operator
+                    expressions: _col0 (type: string), _col1 (type: string)
+                    outputColumnNames: _col0, _col1
+                    Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+                    HashTable Sink Operator
+                      condition expressions:
+                        0 {_col0} {_col1} {_col4} {_col5}
+                        1 {_col0}
+                      keys:
+                        0 _col5 (type: string)
+                        1 _col1 (type: string)
         c-subquery2:a-subquery2:src14 
           TableScan
             alias: src14
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
-            Select Operator
-              expressions: key (type: string), value (type: string)
-              outputColumnNames: _col0, _col1
-              Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
-              Union
-                Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
-                Select Operator
-                  expressions: _col0 (type: string), _col1 (type: string)
-                  outputColumnNames: _col0, _col1
-                  Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE
-                  HashTable Sink Operator
-                    condition expressions:
-                      0 {_col0} {_col1} {_col4} {_col5}
-                      1 {_col0}
-                    keys:
-                      0 _col5 (type: string)
-                      1 _col1 (type: string)
+            Filter Operator
+              predicate: value is not null (type: boolean)
+              Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+              Select Operator
+                expressions: key (type: string), value (type: string)
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE
+                Union
+                  Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+                  Select Operator
+                    expressions: _col0 (type: string), _col1 (type: string)
+                    outputColumnNames: _col0, _col1
+                    Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
+                    HashTable Sink Operator
+                      condition expressions:
+                        0 {_col0} {_col1} {_col4} {_col5}
+                        1 {_col0}
+                      keys:
+                        0 _col5 (type: string)
+                        1 _col1 (type: string)
 
   Stage: Stage-6
     Map Reduce
@@ -115,39 +124,42 @@ STAGE PLANS:
           TableScan
             alias: b
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
-            Map Join Operator
-              condition map:
-                   Inner Join 0 to 1
-              condition expressions:
-                0 {key} {value}
-                1 {key} {value}
-              keys:
-                0 key (type: string)
-                1 key (type: string)
-              outputColumnNames: _col0, _col1, _col4, _col5
-              Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+            Filter Operator
+              predicate: (key is not null and value is not null) (type: boolean)
+              Statistics: Num rows: 125 Data size: 1328 Basic stats: COMPLETE Column stats: NONE
               Map Join Operator
                 condition map:
                      Inner Join 0 to 1
                 condition expressions:
-                  0 {_col0} {_col1} {_col4} {_col5}
-                  1 {_col0} {_col1}
+                  0 {key} {value}
+                  1 {key} {value}
                 keys:
-                  0 _col5 (type: string)
-                  1 _col1 (type: string)
-                outputColumnNames: _col0, _col1, _col4, _col5, _col8, _col9
-                Statistics: Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
-                Select Operator
-                  expressions: _col0 (type: string), _col1 (type: string), _col4 (type: string), _col5 (type: string), _col8 (type: string), _col9 (type: string)
-                  outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
-                  Statistics: Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE
-                  File Output Operator
-                    compressed: false
-                    Statistics: Num rows: 1100 Data size: 11686 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
+                  0 key (type: string)
+                  1 key (type: string)
+                outputColumnNames: _col0, _col1, _col4, _col5
+                Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE
+                Map Join Operator
+                  condition map:
+                       Inner Join 0 to 1
+                  condition expressions:
+                    0 {_col0} {_col1} {_col4} {_col5}
+                    1 {_col0} {_col1}
+                  keys:
+                    0 _col5 (type: string)
+                    1 _col1 (type: string)
+                  outputColumnNames: _col0, _col1, _col4, _col5, _col8, _col9
+                  Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+                  Select Operator
+                    expressions: _col0 (type: string), _col1 (type: string), _col4 (type: string), _col5 (type: string), _col8 (type: string), _col9 (type: string)
+                    outputColumnNames: _col0, _col1, _col2, _col3, _col4, _col5
+                    Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE Column stats: NONE
+                    File Output Operator
+                      compressed: false
+                      Statistics: Num rows: 550 Data size: 5843 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
       Local Work:
         Map Reduce Local Work
 

Modified: hive/trunk/ql/src/test/results/clientpositive/nonmr_fetch.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/nonmr_fetch.q.out?rev=1604935&r1=1604934&r2=1604935&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/nonmr_fetch.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/nonmr_fetch.q.out Mon Jun 23 21:03:24 2014
@@ -1092,21 +1092,27 @@ STAGE PLANS:
           TableScan
             alias: src2
             Statistics: Num rows: 29 Data size: 5812 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: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
-              value expressions: value (type: string)
+            Filter Operator
+              predicate: key is not null (type: boolean)
+              Statistics: Num rows: 15 Data size: 3006 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: 15 Data size: 3006 Basic stats: COMPLETE Column stats: NONE
+                value expressions: value (type: string)
           TableScan
             alias: src
             Statistics: Num rows: 29 Data size: 5812 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: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
-              value expressions: value (type: string)
+            Filter Operator
+              predicate: key is not null (type: boolean)
+              Statistics: Num rows: 15 Data size: 3006 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: 15 Data size: 3006 Basic stats: COMPLETE Column stats: NONE
+                value expressions: value (type: string)
       Reduce Operator Tree:
         Join Operator
           condition map:
@@ -1115,14 +1121,14 @@ STAGE PLANS:
             0 {KEY.reducesinkkey0} {VALUE._col0}
             1 {KEY.reducesinkkey0} {VALUE._col0}
           outputColumnNames: _col0, _col1, _col4, _col5
-          Statistics: Num rows: 31 Data size: 6393 Basic stats: COMPLETE Column stats: NONE
+          Statistics: Num rows: 16 Data size: 3306 Basic stats: COMPLETE Column stats: NONE
           Select Operator
             expressions: _col0 (type: string), _col1 (type: string), _col4 (type: string), _col5 (type: string)
             outputColumnNames: _col0, _col1, _col2, _col3
-            Statistics: Num rows: 31 Data size: 6393 Basic stats: COMPLETE Column stats: NONE
+            Statistics: Num rows: 16 Data size: 3306 Basic stats: COMPLETE Column stats: NONE
             File Output Operator
               compressed: false
-              Statistics: Num rows: 31 Data size: 6393 Basic stats: COMPLETE Column stats: NONE
+              Statistics: Num rows: 16 Data size: 3306 Basic stats: COMPLETE Column stats: NONE
               table:
                   input format: org.apache.hadoop.mapred.TextInputFormat
                   output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat

Modified: hive/trunk/ql/src/test/results/clientpositive/pcr.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/pcr.q.out?rev=1604935&r1=1604934&r2=1604935&view=diff
==============================================================================
Files hive/trunk/ql/src/test/results/clientpositive/pcr.q.out (original) and hive/trunk/ql/src/test/results/clientpositive/pcr.q.out Mon Jun 23 21:03:24 2014 differ

Modified: hive/trunk/ql/src/test/results/clientpositive/ppd2.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/ppd2.q.out?rev=1604935&r1=1604934&r2=1604935&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/ppd2.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/ppd2.q.out Mon Jun 23 21:03:24 2014
@@ -350,24 +350,24 @@ STAGE PLANS:
             alias: y
             Statistics: Num rows: 58 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (key = 20) (type: boolean)
-              Statistics: Num rows: 29 Data size: 2906 Basic stats: COMPLETE Column stats: NONE
+              predicate: (key is not null and (key = 20)) (type: boolean)
+              Statistics: Num rows: 14 Data size: 1402 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: 29 Data size: 2906 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 14 Data size: 1402 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: x
             Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (key = 20) (type: boolean)
-              Statistics: Num rows: 14 Data size: 2805 Basic stats: COMPLETE Column stats: NONE
+              predicate: (key is not null and (key = 20)) (type: boolean)
+              Statistics: Num rows: 7 Data size: 1402 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: 14 Data size: 2805 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 7 Data size: 1402 Basic stats: COMPLETE Column stats: NONE
                 value expressions: value (type: string)
       Reduce Operator Tree:
         Join Operator
@@ -377,11 +377,11 @@ STAGE PLANS:
             0 {KEY.reducesinkkey0} {VALUE._col0}
             1 {KEY.reducesinkkey0}
           outputColumnNames: _col0, _col1, _col4
-          Statistics: Num rows: 31 Data size: 3196 Basic stats: COMPLETE Column stats: NONE
+          Statistics: Num rows: 15 Data size: 1542 Basic stats: COMPLETE Column stats: NONE
           Select Operator
             expressions: _col0 (type: string), _col1 (type: string), _col4 (type: string)
             outputColumnNames: _col0, _col1, _col2
-            Statistics: Num rows: 31 Data size: 3196 Basic stats: COMPLETE Column stats: NONE
+            Statistics: Num rows: 15 Data size: 1542 Basic stats: COMPLETE Column stats: NONE
             File Output Operator
               compressed: false
               table:
@@ -397,16 +397,16 @@ STAGE PLANS:
               key expressions: _col1 (type: string)
               sort order: +
               Map-reduce partition columns: _col1 (type: string)
-              Statistics: Num rows: 31 Data size: 3196 Basic stats: COMPLETE Column stats: NONE
+              Statistics: Num rows: 15 Data size: 1542 Basic stats: COMPLETE Column stats: NONE
               value expressions: _col0 (type: string), _col2 (type: string)
       Reduce Operator Tree:
         Select Operator
           expressions: VALUE._col0 (type: string), KEY.reducesinkkey0 (type: string), VALUE._col1 (type: string)
           outputColumnNames: _col0, _col1, _col2
-          Statistics: Num rows: 31 Data size: 3196 Basic stats: COMPLETE Column stats: NONE
+          Statistics: Num rows: 15 Data size: 1542 Basic stats: COMPLETE Column stats: NONE
           File Output Operator
             compressed: false
-            Statistics: Num rows: 31 Data size: 3196 Basic stats: COMPLETE Column stats: NONE
+            Statistics: Num rows: 15 Data size: 1542 Basic stats: COMPLETE Column stats: NONE
             table:
                 input format: org.apache.hadoop.mapred.TextInputFormat
                 output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat

Modified: hive/trunk/ql/src/test/results/clientpositive/ppd_clusterby.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/ppd_clusterby.q.out?rev=1604935&r1=1604934&r2=1604935&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/ppd_clusterby.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/ppd_clusterby.q.out Mon Jun 23 21:03:24 2014
@@ -75,24 +75,24 @@ STAGE PLANS:
             alias: y
             Statistics: Num rows: 58 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (key = 20) (type: boolean)
-              Statistics: Num rows: 29 Data size: 2906 Basic stats: COMPLETE Column stats: NONE
+              predicate: (key is not null and (key = 20)) (type: boolean)
+              Statistics: Num rows: 14 Data size: 1402 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: 29 Data size: 2906 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 14 Data size: 1402 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: x
             Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (key = 20) (type: boolean)
-              Statistics: Num rows: 14 Data size: 2805 Basic stats: COMPLETE Column stats: NONE
+              predicate: (key is not null and (key = 20)) (type: boolean)
+              Statistics: Num rows: 7 Data size: 1402 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: 14 Data size: 2805 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 7 Data size: 1402 Basic stats: COMPLETE Column stats: NONE
                 value expressions: value (type: string)
       Reduce Operator Tree:
         Join Operator
@@ -102,14 +102,14 @@ STAGE PLANS:
             0 {KEY.reducesinkkey0} {VALUE._col0}
             1 {KEY.reducesinkkey0}
           outputColumnNames: _col0, _col1, _col4
-          Statistics: Num rows: 31 Data size: 3196 Basic stats: COMPLETE Column stats: NONE
+          Statistics: Num rows: 15 Data size: 1542 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
             predicate: (_col0 = 20) (type: boolean)
-            Statistics: Num rows: 15 Data size: 1546 Basic stats: COMPLETE Column stats: NONE
+            Statistics: Num rows: 7 Data size: 719 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: _col0 (type: string), _col1 (type: string), _col4 (type: string)
               outputColumnNames: _col0, _col1, _col2
-              Statistics: Num rows: 15 Data size: 1546 Basic stats: COMPLETE Column stats: NONE
+              Statistics: Num rows: 7 Data size: 719 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
                 compressed: false
                 table:
@@ -125,16 +125,16 @@ STAGE PLANS:
               key expressions: _col1 (type: string)
               sort order: +
               Map-reduce partition columns: _col1 (type: string)
-              Statistics: Num rows: 15 Data size: 1546 Basic stats: COMPLETE Column stats: NONE
+              Statistics: Num rows: 7 Data size: 719 Basic stats: COMPLETE Column stats: NONE
               value expressions: _col0 (type: string), _col2 (type: string)
       Reduce Operator Tree:
         Select Operator
           expressions: VALUE._col0 (type: string), KEY.reducesinkkey0 (type: string), VALUE._col1 (type: string)
           outputColumnNames: _col0, _col1, _col2
-          Statistics: Num rows: 15 Data size: 1546 Basic stats: COMPLETE Column stats: NONE
+          Statistics: Num rows: 7 Data size: 719 Basic stats: COMPLETE Column stats: NONE
           File Output Operator
             compressed: false
-            Statistics: Num rows: 15 Data size: 1546 Basic stats: COMPLETE Column stats: NONE
+            Statistics: Num rows: 7 Data size: 719 Basic stats: COMPLETE Column stats: NONE
             table:
                 input format: org.apache.hadoop.mapred.TextInputFormat
                 output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
@@ -232,24 +232,24 @@ STAGE PLANS:
             alias: y
             Statistics: Num rows: 58 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (key = 20) (type: boolean)
-              Statistics: Num rows: 29 Data size: 2906 Basic stats: COMPLETE Column stats: NONE
+              predicate: (key is not null and (key = 20)) (type: boolean)
+              Statistics: Num rows: 14 Data size: 1402 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: 29 Data size: 2906 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 14 Data size: 1402 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: x
             Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (key = 20) (type: boolean)
-              Statistics: Num rows: 14 Data size: 2805 Basic stats: COMPLETE Column stats: NONE
+              predicate: (key is not null and (key = 20)) (type: boolean)
+              Statistics: Num rows: 7 Data size: 1402 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: 14 Data size: 2805 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 7 Data size: 1402 Basic stats: COMPLETE Column stats: NONE
                 value expressions: value (type: string)
       Reduce Operator Tree:
         Join Operator
@@ -259,11 +259,11 @@ STAGE PLANS:
             0 {KEY.reducesinkkey0} {VALUE._col0}
             1 {KEY.reducesinkkey0}
           outputColumnNames: _col0, _col1, _col4
-          Statistics: Num rows: 31 Data size: 3196 Basic stats: COMPLETE Column stats: NONE
+          Statistics: Num rows: 15 Data size: 1542 Basic stats: COMPLETE Column stats: NONE
           Select Operator
             expressions: _col0 (type: string), _col1 (type: string), _col4 (type: string)
             outputColumnNames: _col0, _col1, _col2
-            Statistics: Num rows: 31 Data size: 3196 Basic stats: COMPLETE Column stats: NONE
+            Statistics: Num rows: 15 Data size: 1542 Basic stats: COMPLETE Column stats: NONE
             File Output Operator
               compressed: false
               table:
@@ -279,16 +279,16 @@ STAGE PLANS:
               key expressions: _col1 (type: string)
               sort order: +
               Map-reduce partition columns: _col1 (type: string)
-              Statistics: Num rows: 31 Data size: 3196 Basic stats: COMPLETE Column stats: NONE
+              Statistics: Num rows: 15 Data size: 1542 Basic stats: COMPLETE Column stats: NONE
               value expressions: _col0 (type: string), _col2 (type: string)
       Reduce Operator Tree:
         Select Operator
           expressions: VALUE._col0 (type: string), KEY.reducesinkkey0 (type: string), VALUE._col1 (type: string)
           outputColumnNames: _col0, _col1, _col2
-          Statistics: Num rows: 31 Data size: 3196 Basic stats: COMPLETE Column stats: NONE
+          Statistics: Num rows: 15 Data size: 1542 Basic stats: COMPLETE Column stats: NONE
           File Output Operator
             compressed: false
-            Statistics: Num rows: 31 Data size: 3196 Basic stats: COMPLETE Column stats: NONE
+            Statistics: Num rows: 15 Data size: 1542 Basic stats: COMPLETE Column stats: NONE
             table:
                 input format: org.apache.hadoop.mapred.TextInputFormat
                 output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat

Modified: hive/trunk/ql/src/test/results/clientpositive/ppd_gby_join.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/ppd_gby_join.q.out?rev=1604935&r1=1604934&r2=1604935&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/ppd_gby_join.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/ppd_gby_join.q.out Mon Jun 23 21:03:24 2014
@@ -31,32 +31,32 @@ STAGE PLANS:
             alias: src
             Statistics: Num rows: 58 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((((key > '2') and (key < '400')) and (key <> '4')) and (key > '20')) (type: boolean)
-              Statistics: Num rows: 2 Data size: 200 Basic stats: COMPLETE Column stats: NONE
+              predicate: ((((key > '2') and key is not null) and (key <> '4')) and (key > '20')) (type: boolean)
+              Statistics: Num rows: 3 Data size: 300 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string)
                 outputColumnNames: _col0
-                Statistics: Num rows: 2 Data size: 200 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 3 Data size: 300 Basic stats: COMPLETE Column stats: NONE
                 Filter Operator
-                  predicate: (_col0 < '400') (type: boolean)
-                  Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+                  predicate: _col0 is not null (type: boolean)
+                  Statistics: Num rows: 2 Data size: 200 Basic stats: COMPLETE Column stats: NONE
                   Reduce Output Operator
                     key expressions: _col0 (type: string)
                     sort order: +
                     Map-reduce partition columns: _col0 (type: string)
-                    Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+                    Statistics: Num rows: 2 Data size: 200 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src
             Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (((((key > '1') and (key < '400')) and (key > '20')) and ((value < 'val_50') or (key > '2'))) and (key <> '4')) (type: boolean)
+              predicate: ((((((key > '1') and (key < '400')) and key is not null) and (key > '20')) and ((value < 'val_50') or (key > '2'))) and (key <> '4')) (type: boolean)
               Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
                 outputColumnNames: _col0, _col1
                 Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
                 Filter Operator
-                  predicate: (_col0 < '400') (type: boolean)
+                  predicate: (_col0 is not null and (_col0 < '400')) (type: boolean)
                   Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
                   Reduce Output Operator
                     key expressions: _col0 (type: string)
@@ -72,7 +72,7 @@ STAGE PLANS:
             0 {KEY.reducesinkkey0} {VALUE._col0}
             1 {KEY.reducesinkkey0}
           outputColumnNames: _col0, _col1, _col2
-          Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+          Statistics: Num rows: 2 Data size: 220 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
             predicate: ((((_col0 > '20') and ((_col1 < 'val_50') or (_col0 > '2'))) and ((_col2 > '50') or (_col0 < '50'))) and (_col2 <> '4')) (type: boolean)
             Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
@@ -161,22 +161,22 @@ STAGE PLANS:
             alias: src
             Statistics: Num rows: 58 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((((key > '2') and (key < '400')) and (key <> '4')) and (key > '20')) (type: boolean)
-              Statistics: Num rows: 2 Data size: 200 Basic stats: COMPLETE Column stats: NONE
+              predicate: ((((key > '2') and key is not null) and (key <> '4')) and (key > '20')) (type: boolean)
+              Statistics: Num rows: 3 Data size: 300 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string)
                 outputColumnNames: _col0
-                Statistics: Num rows: 2 Data size: 200 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 3 Data size: 300 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
                   key expressions: _col0 (type: string)
                   sort order: +
                   Map-reduce partition columns: _col0 (type: string)
-                  Statistics: Num rows: 2 Data size: 200 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 3 Data size: 300 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: src
             Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (((((key > '1') and (key < '400')) and (key > '20')) and ((value < 'val_50') or (key > '2'))) and (key <> '4')) (type: boolean)
+              predicate: ((((((key > '1') and (key < '400')) and key is not null) and (key > '20')) and ((value < 'val_50') or (key > '2'))) and (key <> '4')) (type: boolean)
               Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
@@ -196,7 +196,7 @@ STAGE PLANS:
             0 {KEY.reducesinkkey0} {VALUE._col0}
             1 {KEY.reducesinkkey0}
           outputColumnNames: _col0, _col1, _col2
-          Statistics: Num rows: 2 Data size: 220 Basic stats: COMPLETE Column stats: NONE
+          Statistics: Num rows: 3 Data size: 330 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
             predicate: ((((_col0 > '20') and ((_col1 < 'val_50') or (_col0 > '2'))) and ((_col2 > '50') or (_col0 < '50'))) and (_col2 <> '4')) (type: boolean)
             Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE

Modified: hive/trunk/ql/src/test/results/clientpositive/ppd_join.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/ppd_join.q.out?rev=1604935&r1=1604934&r2=1604935&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/ppd_join.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/ppd_join.q.out Mon Jun 23 21:03:24 2014
@@ -28,33 +28,33 @@ STAGE PLANS:
             alias: src
             Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((((key > '2') and (key < '400')) and (key <> '4')) and (key > '20')) (type: boolean)
+              predicate: ((((key > '2') and key is not null) and (key <> '4')) and (key > '20')) (type: boolean)
               Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
                 outputColumnNames: _col0, _col1
                 Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: NONE
                 Filter Operator
-                  predicate: (_col0 < '400') (type: boolean)
-                  Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+                  predicate: _col0 is not null (type: boolean)
+                  Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: NONE
                   Reduce Output Operator
                     key expressions: _col0 (type: string)
                     sort order: +
                     Map-reduce partition columns: _col0 (type: string)
-                    Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+                    Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: NONE
                     value expressions: _col1 (type: string)
           TableScan
             alias: src
             Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (((((key > '1') and (key < '400')) and (key > '20')) and ((value < 'val_50') or (key > '2'))) and (key <> '4')) (type: boolean)
+              predicate: ((((((key > '1') and (key < '400')) and key is not null) and (key > '20')) and ((value < 'val_50') or (key > '2'))) and (key <> '4')) (type: boolean)
               Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
                 outputColumnNames: _col0, _col1
                 Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
                 Filter Operator
-                  predicate: (_col0 < '400') (type: boolean)
+                  predicate: (_col0 is not null and (_col0 < '400')) (type: boolean)
                   Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
                   Reduce Output Operator
                     key expressions: _col0 (type: string)
@@ -70,7 +70,7 @@ STAGE PLANS:
             0 {KEY.reducesinkkey0} {VALUE._col0}
             1 {KEY.reducesinkkey0} {VALUE._col0}
           outputColumnNames: _col0, _col1, _col2, _col3
-          Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
+          Statistics: Num rows: 1 Data size: 220 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
             predicate: ((((_col0 > '20') and ((_col1 < 'val_50') or (_col0 > '2'))) and ((_col2 > '50') or (_col0 < '50'))) and (_col2 <> '4')) (type: boolean)
             Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
@@ -560,7 +560,7 @@ STAGE PLANS:
             alias: src
             Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((((key > '2') and (key < '400')) and (key <> '4')) and (key > '20')) (type: boolean)
+              predicate: ((((key > '2') and key is not null) and (key <> '4')) and (key > '20')) (type: boolean)
               Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
@@ -576,7 +576,7 @@ STAGE PLANS:
             alias: src
             Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (((((key > '1') and (key < '400')) and (key > '20')) and ((value < 'val_50') or (key > '2'))) and (key <> '4')) (type: boolean)
+              predicate: ((((((key > '1') and (key < '400')) and key is not null) and (key > '20')) and ((value < 'val_50') or (key > '2'))) and (key <> '4')) (type: boolean)
               Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)

Modified: hive/trunk/ql/src/test/results/clientpositive/ppd_join2.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/ppd_join2.q.out?rev=1604935&r1=1604934&r2=1604935&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/ppd_join2.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/ppd_join2.q.out Mon Jun 23 21:03:24 2014
@@ -33,40 +33,41 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
-            Statistics: Num rows: 58 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
+            Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((((key <> '305') and (key < '400')) and (key <> '14')) and (key <> '311')) (type: boolean)
-              Statistics: Num rows: 19 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+              predicate: ((((key <> '305') and key is not null) and (key <> '14')) and (key <> '311')) (type: boolean)
+              Statistics: Num rows: 15 Data size: 3006 Basic stats: COMPLETE Column stats: NONE
               Select Operator
-                expressions: key (type: string)
-                outputColumnNames: _col0
-                Statistics: Num rows: 19 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+                expressions: key (type: string), value (type: string)
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 15 Data size: 3006 Basic stats: COMPLETE Column stats: NONE
                 Filter Operator
-                  predicate: (_col0 < '400') (type: boolean)
-                  Statistics: Num rows: 6 Data size: 600 Basic stats: COMPLETE Column stats: NONE
+                  predicate: _col0 is not null (type: boolean)
+                  Statistics: Num rows: 8 Data size: 1603 Basic stats: COMPLETE Column stats: NONE
                   Reduce Output Operator
                     key expressions: _col0 (type: string)
                     sort order: +
                     Map-reduce partition columns: _col0 (type: string)
-                    Statistics: Num rows: 6 Data size: 600 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 8 Data size: 1603 Basic stats: COMPLETE Column stats: NONE
+                    value expressions: _col1 (type: string)
           TableScan
             alias: src
             Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (((((key <> '302') and (key < '400')) and (key <> '311')) and ((value <> 'val_50') or (key > '1'))) and (key <> '14')) (type: boolean)
-              Statistics: Num rows: 12 Data size: 2404 Basic stats: COMPLETE Column stats: NONE
+              predicate: (((((((key <> '302') and (key < '400')) and key is not null) and value is not null) and (key <> '311')) and ((value <> 'val_50') or (key > '1'))) and (key <> '14')) (type: boolean)
+              Statistics: Num rows: 4 Data size: 801 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 12 Data size: 2404 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 4 Data size: 801 Basic stats: COMPLETE Column stats: NONE
                 Filter Operator
-                  predicate: (_col0 < '400') (type: boolean)
-                  Statistics: Num rows: 4 Data size: 801 Basic stats: COMPLETE Column stats: NONE
+                  predicate: (_col0 is not null and (_col0 < '400')) (type: boolean)
+                  Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
                   Reduce Output Operator
                     key expressions: _col0 (type: string)
                     sort order: +
                     Map-reduce partition columns: _col0 (type: string)
-                    Statistics: Num rows: 4 Data size: 801 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
                     value expressions: _col1 (type: string)
       Reduce Operator Tree:
         Join Operator
@@ -74,15 +75,18 @@ STAGE PLANS:
                Inner Join 0 to 1
           condition expressions:
             0 {KEY.reducesinkkey0} {VALUE._col0}
-            1 {KEY.reducesinkkey0}
-          outputColumnNames: _col0, _col1, _col2
-          Statistics: Num rows: 6 Data size: 660 Basic stats: COMPLETE Column stats: NONE
-          File Output Operator
-            compressed: false
-            table:
-                input format: org.apache.hadoop.mapred.SequenceFileInputFormat
-                output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
+            1 {KEY.reducesinkkey0} {VALUE._col0}
+          outputColumnNames: _col0, _col1, _col2, _col3
+          Statistics: Num rows: 8 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
+          Filter Operator
+            predicate: _col1 is not null (type: boolean)
+            Statistics: Num rows: 4 Data size: 881 Basic stats: COMPLETE Column stats: NONE
+            File Output Operator
+              compressed: false
+              table:
+                  input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+                  output format: org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                  serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
 
   Stage: Stage-2
     Map Reduce
@@ -92,43 +96,46 @@ STAGE PLANS:
               key expressions: _col1 (type: string)
               sort order: +
               Map-reduce partition columns: _col1 (type: string)
-              Statistics: Num rows: 6 Data size: 660 Basic stats: COMPLETE Column stats: NONE
-              value expressions: _col0 (type: string), _col2 (type: string)
+              Statistics: Num rows: 4 Data size: 881 Basic stats: COMPLETE Column stats: NONE
+              value expressions: _col0 (type: string), _col2 (type: string), _col3 (type: string)
           TableScan
             alias: src
             Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((key <> '306') and (sqrt(key) <> 13)) (type: boolean)
-              Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
+              predicate: (((key <> '306') and value is not null) and (sqrt(key) <> 13)) (type: boolean)
+              Statistics: Num rows: 15 Data size: 3006 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
-                Reduce Output Operator
-                  key expressions: _col1 (type: string)
-                  sort order: +
-                  Map-reduce partition columns: _col1 (type: string)
-                  Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
-                  value expressions: _col0 (type: string)
+                Statistics: Num rows: 15 Data size: 3006 Basic stats: COMPLETE Column stats: NONE
+                Filter Operator
+                  predicate: _col1 is not null (type: boolean)
+                  Statistics: Num rows: 8 Data size: 1603 Basic stats: COMPLETE Column stats: NONE
+                  Reduce Output Operator
+                    key expressions: _col1 (type: string)
+                    sort order: +
+                    Map-reduce partition columns: _col1 (type: string)
+                    Statistics: Num rows: 8 Data size: 1603 Basic stats: COMPLETE Column stats: NONE
+                    value expressions: _col0 (type: string)
       Reduce Operator Tree:
         Join Operator
           condition map:
                Inner Join 0 to 1
           condition expressions:
-            0 {VALUE._col0} {KEY.reducesinkkey0} {VALUE._col1} {KEY.reducesinkkey0}
+            0 {VALUE._col0} {KEY.reducesinkkey0} {VALUE._col1} {VALUE._col2}
             1 {VALUE._col0}
           outputColumnNames: _col0, _col1, _col2, _col3, _col4
-          Statistics: Num rows: 31 Data size: 6393 Basic stats: COMPLETE Column stats: NONE
+          Statistics: Num rows: 8 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
             predicate: (((((_col0 <> '311') and ((_col1 <> 'val_50') or (_col0 > '1'))) and ((_col2 <> '10') or (_col0 <> '10'))) and (_col2 <> '14')) and (sqrt(_col4) <> 13)) (type: boolean)
-            Statistics: Num rows: 31 Data size: 6393 Basic stats: COMPLETE Column stats: NONE
+            Statistics: Num rows: 8 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: _col0 (type: string), _col3 (type: string)
               outputColumnNames: _col0, _col1
-              Statistics: Num rows: 31 Data size: 6393 Basic stats: COMPLETE Column stats: NONE
+              Statistics: Num rows: 8 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
                 compressed: false
-                Statistics: Num rows: 31 Data size: 6393 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 8 Data size: 1763 Basic stats: COMPLETE Column stats: NONE
                 table:
                     input format: org.apache.hadoop.mapred.TextInputFormat
                     output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
@@ -1719,34 +1726,35 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src
-            Statistics: Num rows: 58 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
+            Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((((key <> '305') and (key < '400')) and (key <> '14')) and (key <> '311')) (type: boolean)
-              Statistics: Num rows: 19 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+              predicate: ((((key <> '305') and key is not null) and (key <> '14')) and (key <> '311')) (type: boolean)
+              Statistics: Num rows: 15 Data size: 3006 Basic stats: COMPLETE Column stats: NONE
               Select Operator
-                expressions: key (type: string)
-                outputColumnNames: _col0
-                Statistics: Num rows: 19 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+                expressions: key (type: string), value (type: string)
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 15 Data size: 3006 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
                   key expressions: _col0 (type: string)
                   sort order: +
                   Map-reduce partition columns: _col0 (type: string)
-                  Statistics: Num rows: 19 Data size: 1903 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 15 Data size: 3006 Basic stats: COMPLETE Column stats: NONE
+                  value expressions: _col1 (type: string)
           TableScan
             alias: src
             Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (((((key <> '302') and (key < '400')) and (key <> '311')) and ((value <> 'val_50') or (key > '1'))) and (key <> '14')) (type: boolean)
-              Statistics: Num rows: 12 Data size: 2404 Basic stats: COMPLETE Column stats: NONE
+              predicate: (((((((key <> '302') and (key < '400')) and key is not null) and value is not null) and (key <> '311')) and ((value <> 'val_50') or (key > '1'))) and (key <> '14')) (type: boolean)
+              Statistics: Num rows: 4 Data size: 801 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 12 Data size: 2404 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 4 Data size: 801 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
                   key expressions: _col0 (type: string)
                   sort order: +
                   Map-reduce partition columns: _col0 (type: string)
-                  Statistics: Num rows: 12 Data size: 2404 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 4 Data size: 801 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col1 (type: string)
       Reduce Operator Tree:
         Join Operator
@@ -1754,9 +1762,9 @@ STAGE PLANS:
                Inner Join 0 to 1
           condition expressions:
             0 {KEY.reducesinkkey0} {VALUE._col0}
-            1 {KEY.reducesinkkey0}
-          outputColumnNames: _col0, _col1, _col2
-          Statistics: Num rows: 20 Data size: 2093 Basic stats: COMPLETE Column stats: NONE
+            1 {KEY.reducesinkkey0} {VALUE._col0}
+          outputColumnNames: _col0, _col1, _col2, _col3
+          Statistics: Num rows: 16 Data size: 3306 Basic stats: COMPLETE Column stats: NONE
           File Output Operator
             compressed: false
             table:
@@ -1772,43 +1780,43 @@ STAGE PLANS:
               key expressions: _col1 (type: string)
               sort order: +
               Map-reduce partition columns: _col1 (type: string)
-              Statistics: Num rows: 20 Data size: 2093 Basic stats: COMPLETE Column stats: NONE
-              value expressions: _col0 (type: string), _col2 (type: string)
+              Statistics: Num rows: 16 Data size: 3306 Basic stats: COMPLETE Column stats: NONE
+              value expressions: _col0 (type: string), _col2 (type: string), _col3 (type: string)
           TableScan
             alias: src
             Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((key <> '306') and (sqrt(key) <> 13)) (type: boolean)
-              Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
+              predicate: (((key <> '306') and value is not null) and (sqrt(key) <> 13)) (type: boolean)
+              Statistics: Num rows: 15 Data size: 3006 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 15 Data size: 3006 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
                   key expressions: _col1 (type: string)
                   sort order: +
                   Map-reduce partition columns: _col1 (type: string)
-                  Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 15 Data size: 3006 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col0 (type: string)
       Reduce Operator Tree:
         Join Operator
           condition map:
                Inner Join 0 to 1
           condition expressions:
-            0 {VALUE._col0} {KEY.reducesinkkey0} {VALUE._col1} {KEY.reducesinkkey0}
+            0 {VALUE._col0} {KEY.reducesinkkey0} {VALUE._col1} {VALUE._col2}
             1 {VALUE._col0}
           outputColumnNames: _col0, _col1, _col2, _col3, _col4
-          Statistics: Num rows: 31 Data size: 6393 Basic stats: COMPLETE Column stats: NONE
+          Statistics: Num rows: 17 Data size: 3636 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
             predicate: (((((_col0 <> '311') and ((_col1 <> 'val_50') or (_col0 > '1'))) and ((_col2 <> '10') or (_col0 <> '10'))) and (_col2 <> '14')) and (sqrt(_col4) <> 13)) (type: boolean)
-            Statistics: Num rows: 31 Data size: 6393 Basic stats: COMPLETE Column stats: NONE
+            Statistics: Num rows: 17 Data size: 3636 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: _col0 (type: string), _col3 (type: string)
               outputColumnNames: _col0, _col1
-              Statistics: Num rows: 31 Data size: 6393 Basic stats: COMPLETE Column stats: NONE
+              Statistics: Num rows: 17 Data size: 3636 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
                 compressed: false
-                Statistics: Num rows: 31 Data size: 6393 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 17 Data size: 3636 Basic stats: COMPLETE Column stats: NONE
                 table:
                     input format: org.apache.hadoop.mapred.TextInputFormat
                     output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat

Modified: hive/trunk/ql/src/test/results/clientpositive/ppd_join3.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/ppd_join3.q.out?rev=1604935&r1=1604934&r2=1604935&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/ppd_join3.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/ppd_join3.q.out Mon Jun 23 21:03:24 2014
@@ -34,58 +34,58 @@ STAGE PLANS:
             alias: src
             Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (((((key <> '12') and (key < '400')) and (key <> '4')) and (key > '0')) and (key <> '1')) (type: boolean)
-              Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE
+              predicate: (((((key <> '12') and key is not null) and (key <> '4')) and (key > '0')) and (key <> '1')) (type: boolean)
+              Statistics: Num rows: 5 Data size: 1002 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 5 Data size: 1002 Basic stats: COMPLETE Column stats: NONE
                 Filter Operator
-                  predicate: (_col0 < '400') (type: boolean)
-                  Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: NONE
+                  predicate: _col0 is not null (type: boolean)
+                  Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE
                   Reduce Output Operator
                     key expressions: _col0 (type: string)
                     sort order: +
                     Map-reduce partition columns: _col0 (type: string)
-                    Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE
                     value expressions: _col1 (type: string)
           TableScan
             alias: src
             Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((((((key <> '11') and (key < '400')) and (key > '0')) and ((value <> 'val_500') or (key > '1'))) and (key <> '4')) and (key <> '1')) (type: boolean)
-              Statistics: Num rows: 4 Data size: 801 Basic stats: COMPLETE Column stats: NONE
+              predicate: (((((((key <> '11') and (key < '400')) and key is not null) and (key > '0')) and ((value <> 'val_500') or (key > '1'))) and (key <> '4')) and (key <> '1')) (type: boolean)
+              Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 4 Data size: 801 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: NONE
                 Filter Operator
-                  predicate: (_col0 < '400') (type: boolean)
-                  Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: NONE
+                  predicate: (_col0 is not null and (_col0 < '400')) (type: boolean)
+                  Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
                   Reduce Output Operator
                     key expressions: _col0 (type: string)
                     sort order: +
                     Map-reduce partition columns: _col0 (type: string)
-                    Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
                     value expressions: _col1 (type: string)
           TableScan
             alias: src
             Statistics: Num rows: 58 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (((((key <> '13') and (key < '400')) and (key <> '1')) and (key > '0')) and (key <> '4')) (type: boolean)
-              Statistics: Num rows: 6 Data size: 601 Basic stats: COMPLETE Column stats: NONE
+              predicate: (((((key <> '13') and key is not null) and (key <> '1')) and (key > '0')) and (key <> '4')) (type: boolean)
+              Statistics: Num rows: 9 Data size: 901 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string)
                 outputColumnNames: _col0
-                Statistics: Num rows: 6 Data size: 601 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 9 Data size: 901 Basic stats: COMPLETE Column stats: NONE
                 Filter Operator
-                  predicate: (_col0 < '400') (type: boolean)
-                  Statistics: Num rows: 2 Data size: 200 Basic stats: COMPLETE Column stats: NONE
+                  predicate: _col0 is not null (type: boolean)
+                  Statistics: Num rows: 5 Data size: 500 Basic stats: COMPLETE Column stats: NONE
                   Reduce Output Operator
                     key expressions: _col0 (type: string)
                     sort order: +
                     Map-reduce partition columns: _col0 (type: string)
-                    Statistics: Num rows: 2 Data size: 200 Basic stats: COMPLETE Column stats: NONE
+                    Statistics: Num rows: 5 Data size: 500 Basic stats: COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Join Operator
           condition map:
@@ -96,17 +96,17 @@ STAGE PLANS:
             1 {KEY.reducesinkkey0} {VALUE._col0}
             2 {KEY.reducesinkkey0}
           outputColumnNames: _col0, _col1, _col2, _col3, _col4
-          Statistics: Num rows: 4 Data size: 440 Basic stats: COMPLETE Column stats: NONE
+          Statistics: Num rows: 11 Data size: 1100 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
             predicate: (((((_col0 > '0') and ((_col1 <> 'val_500') or (_col0 > '1'))) and ((_col2 > '10') or (_col0 <> '10'))) and (_col2 <> '4')) and (_col4 <> '1')) (type: boolean)
-            Statistics: Num rows: 1 Data size: 110 Basic stats: COMPLETE Column stats: NONE
+            Statistics: Num rows: 5 Data size: 500 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: _col0 (type: string), _col3 (type: string)
               outputColumnNames: _col0, _col1
-              Statistics: Num rows: 1 Data size: 110 Basic stats: COMPLETE Column stats: NONE
+              Statistics: Num rows: 5 Data size: 500 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
                 compressed: false
-                Statistics: Num rows: 1 Data size: 110 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 5 Data size: 500 Basic stats: COMPLETE Column stats: NONE
                 table:
                     input format: org.apache.hadoop.mapred.TextInputFormat
                     output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
@@ -1755,49 +1755,49 @@ STAGE PLANS:
             alias: src
             Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (((((key <> '12') and (key < '400')) and (key <> '4')) and (key > '0')) and (key <> '1')) (type: boolean)
-              Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE
+              predicate: (((((key <> '12') and key is not null) and (key <> '4')) and (key > '0')) and (key <> '1')) (type: boolean)
+              Statistics: Num rows: 5 Data size: 1002 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 5 Data size: 1002 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
                   key expressions: _col0 (type: string)
                   sort order: +
                   Map-reduce partition columns: _col0 (type: string)
-                  Statistics: Num rows: 3 Data size: 601 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 5 Data size: 1002 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col1 (type: string)
           TableScan
             alias: src
             Statistics: Num rows: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: ((((((key <> '11') and (key < '400')) and (key > '0')) and ((value <> 'val_500') or (key > '1'))) and (key <> '4')) and (key <> '1')) (type: boolean)
-              Statistics: Num rows: 4 Data size: 801 Basic stats: COMPLETE Column stats: NONE
+              predicate: (((((((key <> '11') and (key < '400')) and key is not null) and (key > '0')) and ((value <> 'val_500') or (key > '1'))) and (key <> '4')) and (key <> '1')) (type: boolean)
+              Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string), value (type: string)
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 4 Data size: 801 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
                   key expressions: _col0 (type: string)
                   sort order: +
                   Map-reduce partition columns: _col0 (type: string)
-                  Statistics: Num rows: 4 Data size: 801 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: NONE
                   value expressions: _col1 (type: string)
           TableScan
             alias: src
             Statistics: Num rows: 58 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
-              predicate: (((((key <> '13') and (key < '400')) and (key <> '1')) and (key > '0')) and (key <> '4')) (type: boolean)
-              Statistics: Num rows: 6 Data size: 601 Basic stats: COMPLETE Column stats: NONE
+              predicate: (((((key <> '13') and key is not null) and (key <> '1')) and (key > '0')) and (key <> '4')) (type: boolean)
+              Statistics: Num rows: 9 Data size: 901 Basic stats: COMPLETE Column stats: NONE
               Select Operator
                 expressions: key (type: string)
                 outputColumnNames: _col0
-                Statistics: Num rows: 6 Data size: 601 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 9 Data size: 901 Basic stats: COMPLETE Column stats: NONE
                 Reduce Output Operator
                   key expressions: _col0 (type: string)
                   sort order: +
                   Map-reduce partition columns: _col0 (type: string)
-                  Statistics: Num rows: 6 Data size: 601 Basic stats: COMPLETE Column stats: NONE
+                  Statistics: Num rows: 9 Data size: 901 Basic stats: COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Join Operator
           condition map:
@@ -1808,17 +1808,17 @@ STAGE PLANS:
             1 {KEY.reducesinkkey0} {VALUE._col0}
             2 {KEY.reducesinkkey0}
           outputColumnNames: _col0, _col1, _col2, _col3, _col4
-          Statistics: Num rows: 13 Data size: 1322 Basic stats: COMPLETE Column stats: NONE
+          Statistics: Num rows: 19 Data size: 1982 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
             predicate: (((((_col0 > '0') and ((_col1 <> 'val_500') or (_col0 > '1'))) and ((_col2 > '10') or (_col0 <> '10'))) and (_col2 <> '4')) and (_col4 <> '1')) (type: boolean)
-            Statistics: Num rows: 6 Data size: 610 Basic stats: COMPLETE Column stats: NONE
+            Statistics: Num rows: 10 Data size: 1043 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: _col0 (type: string), _col3 (type: string)
               outputColumnNames: _col0, _col1
-              Statistics: Num rows: 6 Data size: 610 Basic stats: COMPLETE Column stats: NONE
+              Statistics: Num rows: 10 Data size: 1043 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
                 compressed: false
-                Statistics: Num rows: 6 Data size: 610 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 10 Data size: 1043 Basic stats: COMPLETE Column stats: NONE
                 table:
                     input format: org.apache.hadoop.mapred.TextInputFormat
                     output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat

Modified: hive/trunk/ql/src/test/results/clientpositive/ppd_join4.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/ppd_join4.q.out?rev=1604935&r1=1604934&r2=1604935&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/ppd_join4.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/ppd_join4.q.out Mon Jun 23 21:03:24 2014
@@ -55,7 +55,7 @@ STAGE PLANS:
             alias: test_tbl
             Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
             Filter Operator
-              predicate: ((name = 'c') and (id = 'a')) (type: boolean)
+              predicate: ((id is not null and (name = 'c')) and (id = 'a')) (type: boolean)
               Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
               Select Operator
                 expressions: id (type: string), name (type: string)
@@ -85,7 +85,7 @@ STAGE PLANS:
             alias: t3
             Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
             Filter Operator
-              predicate: (id = 'a') (type: boolean)
+              predicate: (id is not null and (id = 'a')) (type: boolean)
               Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE
               Reduce Output Operator
                 key expressions: id (type: string)

Modified: hive/trunk/ql/src/test/results/clientpositive/ppd_join_filter.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/ppd_join_filter.q.out?rev=1604935&r1=1604934&r2=1604935&view=diff
==============================================================================
Files hive/trunk/ql/src/test/results/clientpositive/ppd_join_filter.q.out (original) and hive/trunk/ql/src/test/results/clientpositive/ppd_join_filter.q.out Mon Jun 23 21:03:24 2014 differ

Modified: hive/trunk/ql/src/test/results/clientpositive/ppd_multi_insert.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/ppd_multi_insert.q.out?rev=1604935&r1=1604934&r2=1604935&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/ppd_multi_insert.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/ppd_multi_insert.q.out Mon Jun 23 21:03:24 2014
@@ -50,20 +50,26 @@ STAGE PLANS:
           TableScan
             alias: b
             Statistics: Num rows: 58 Data size: 5812 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: 58 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
+            Filter Operator
+              predicate: key is not null (type: boolean)
+              Statistics: Num rows: 29 Data size: 2906 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: 29 Data size: 2906 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: a
             Statistics: Num rows: 29 Data size: 5812 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: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
-              value expressions: value (type: string)
+            Filter Operator
+              predicate: key is not null (type: boolean)
+              Statistics: Num rows: 15 Data size: 3006 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: 15 Data size: 3006 Basic stats: COMPLETE Column stats: NONE
+                value expressions: value (type: string)
       Reduce Operator Tree:
         Join Operator
           condition map:
@@ -72,17 +78,17 @@ STAGE PLANS:
             0 {KEY.reducesinkkey0} {VALUE._col0}
             1 
           outputColumnNames: _col0, _col1
-          Statistics: Num rows: 63 Data size: 6393 Basic stats: COMPLETE Column stats: NONE
+          Statistics: Num rows: 31 Data size: 3196 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
             predicate: (_col0 < 100) (type: boolean)
-            Statistics: Num rows: 21 Data size: 2131 Basic stats: COMPLETE Column stats: NONE
+            Statistics: Num rows: 10 Data size: 1030 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: UDFToInteger(_col0) (type: int), _col1 (type: string)
               outputColumnNames: _col0, _col1
-              Statistics: Num rows: 21 Data size: 2131 Basic stats: COMPLETE Column stats: NONE
+              Statistics: Num rows: 10 Data size: 1030 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
                 compressed: false
-                Statistics: Num rows: 21 Data size: 2131 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 10 Data size: 1030 Basic stats: COMPLETE Column stats: NONE
                 table:
                     input format: org.apache.hadoop.mapred.TextInputFormat
                     output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
@@ -90,14 +96,14 @@ STAGE PLANS:
                     name: default.mi1
           Filter Operator
             predicate: ((_col0 >= 100) and (_col0 < 200)) (type: boolean)
-            Statistics: Num rows: 7 Data size: 710 Basic stats: COMPLETE Column stats: NONE
+            Statistics: Num rows: 3 Data size: 309 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: UDFToInteger(_col0) (type: int), _col1 (type: string)
               outputColumnNames: _col0, _col1
-              Statistics: Num rows: 7 Data size: 710 Basic stats: COMPLETE Column stats: NONE
+              Statistics: Num rows: 3 Data size: 309 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
                 compressed: false
-                Statistics: Num rows: 7 Data size: 710 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 3 Data size: 309 Basic stats: COMPLETE Column stats: NONE
                 table:
                     input format: org.apache.hadoop.mapred.TextInputFormat
                     output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
@@ -105,14 +111,14 @@ STAGE PLANS:
                     name: default.mi2
           Filter Operator
             predicate: ((_col0 >= 200) and (_col0 < 300)) (type: boolean)
-            Statistics: Num rows: 7 Data size: 710 Basic stats: COMPLETE Column stats: NONE
+            Statistics: Num rows: 3 Data size: 309 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: UDFToInteger(_col0) (type: int)
               outputColumnNames: _col0
-              Statistics: Num rows: 7 Data size: 710 Basic stats: COMPLETE Column stats: NONE
+              Statistics: Num rows: 3 Data size: 309 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
                 compressed: false
-                Statistics: Num rows: 7 Data size: 710 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 3 Data size: 309 Basic stats: COMPLETE Column stats: NONE
                 table:
                     input format: org.apache.hadoop.mapred.TextInputFormat
                     output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
@@ -120,14 +126,14 @@ STAGE PLANS:
                     name: default.mi3
           Filter Operator
             predicate: (_col0 >= 300) (type: boolean)
-            Statistics: Num rows: 21 Data size: 2131 Basic stats: COMPLETE Column stats: NONE
+            Statistics: Num rows: 10 Data size: 1030 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: _col1 (type: string)
               outputColumnNames: _col0
-              Statistics: Num rows: 21 Data size: 2131 Basic stats: COMPLETE Column stats: NONE
+              Statistics: Num rows: 10 Data size: 1030 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
                 compressed: false
-                Statistics: Num rows: 21 Data size: 2131 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 10 Data size: 1030 Basic stats: COMPLETE Column stats: NONE
                 table:
                     input format: org.apache.hadoop.mapred.TextInputFormat
                     output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
@@ -1293,20 +1299,26 @@ STAGE PLANS:
           TableScan
             alias: b
             Statistics: Num rows: 58 Data size: 5812 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: 58 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
+            Filter Operator
+              predicate: key is not null (type: boolean)
+              Statistics: Num rows: 29 Data size: 2906 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: 29 Data size: 2906 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: a
             Statistics: Num rows: 29 Data size: 5812 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: 29 Data size: 5812 Basic stats: COMPLETE Column stats: NONE
-              value expressions: value (type: string)
+            Filter Operator
+              predicate: key is not null (type: boolean)
+              Statistics: Num rows: 15 Data size: 3006 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: 15 Data size: 3006 Basic stats: COMPLETE Column stats: NONE
+                value expressions: value (type: string)
       Reduce Operator Tree:
         Join Operator
           condition map:
@@ -1315,17 +1327,17 @@ STAGE PLANS:
             0 {KEY.reducesinkkey0} {VALUE._col0}
             1 
           outputColumnNames: _col0, _col1
-          Statistics: Num rows: 63 Data size: 6393 Basic stats: COMPLETE Column stats: NONE
+          Statistics: Num rows: 31 Data size: 3196 Basic stats: COMPLETE Column stats: NONE
           Filter Operator
             predicate: (_col0 < 100) (type: boolean)
-            Statistics: Num rows: 21 Data size: 2131 Basic stats: COMPLETE Column stats: NONE
+            Statistics: Num rows: 10 Data size: 1030 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: UDFToInteger(_col0) (type: int), _col1 (type: string)
               outputColumnNames: _col0, _col1
-              Statistics: Num rows: 21 Data size: 2131 Basic stats: COMPLETE Column stats: NONE
+              Statistics: Num rows: 10 Data size: 1030 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
                 compressed: false
-                Statistics: Num rows: 21 Data size: 2131 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 10 Data size: 1030 Basic stats: COMPLETE Column stats: NONE
                 table:
                     input format: org.apache.hadoop.mapred.TextInputFormat
                     output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
@@ -1333,14 +1345,14 @@ STAGE PLANS:
                     name: default.mi1
           Filter Operator
             predicate: ((_col0 >= 100) and (_col0 < 200)) (type: boolean)
-            Statistics: Num rows: 7 Data size: 710 Basic stats: COMPLETE Column stats: NONE
+            Statistics: Num rows: 3 Data size: 309 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: UDFToInteger(_col0) (type: int), _col1 (type: string)
               outputColumnNames: _col0, _col1
-              Statistics: Num rows: 7 Data size: 710 Basic stats: COMPLETE Column stats: NONE
+              Statistics: Num rows: 3 Data size: 309 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
                 compressed: false
-                Statistics: Num rows: 7 Data size: 710 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 3 Data size: 309 Basic stats: COMPLETE Column stats: NONE
                 table:
                     input format: org.apache.hadoop.mapred.TextInputFormat
                     output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
@@ -1348,14 +1360,14 @@ STAGE PLANS:
                     name: default.mi2
           Filter Operator
             predicate: ((_col0 >= 200) and (_col0 < 300)) (type: boolean)
-            Statistics: Num rows: 7 Data size: 710 Basic stats: COMPLETE Column stats: NONE
+            Statistics: Num rows: 3 Data size: 309 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: UDFToInteger(_col0) (type: int)
               outputColumnNames: _col0
-              Statistics: Num rows: 7 Data size: 710 Basic stats: COMPLETE Column stats: NONE
+              Statistics: Num rows: 3 Data size: 309 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
                 compressed: false
-                Statistics: Num rows: 7 Data size: 710 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 3 Data size: 309 Basic stats: COMPLETE Column stats: NONE
                 table:
                     input format: org.apache.hadoop.mapred.TextInputFormat
                     output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat
@@ -1363,14 +1375,14 @@ STAGE PLANS:
                     name: default.mi3
           Filter Operator
             predicate: (_col0 >= 300) (type: boolean)
-            Statistics: Num rows: 21 Data size: 2131 Basic stats: COMPLETE Column stats: NONE
+            Statistics: Num rows: 10 Data size: 1030 Basic stats: COMPLETE Column stats: NONE
             Select Operator
               expressions: _col1 (type: string)
               outputColumnNames: _col0
-              Statistics: Num rows: 21 Data size: 2131 Basic stats: COMPLETE Column stats: NONE
+              Statistics: Num rows: 10 Data size: 1030 Basic stats: COMPLETE Column stats: NONE
               File Output Operator
                 compressed: false
-                Statistics: Num rows: 21 Data size: 2131 Basic stats: COMPLETE Column stats: NONE
+                Statistics: Num rows: 10 Data size: 1030 Basic stats: COMPLETE Column stats: NONE
                 table:
                     input format: org.apache.hadoop.mapred.TextInputFormat
                     output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat