You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2018/06/25 16:04:47 UTC

[44/51] [partial] hive git commit: HIVE-12342 : Set default value of hive.optimize.index.filter to true (Igor Kryvenko via Ashutosh Chauhan)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join6.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join6.q.out b/ql/src/test/results/clientpositive/join6.q.out
index 2d73af2..055eee2 100644
--- a/ql/src/test/results/clientpositive/join6.q.out
+++ b/ql/src/test/results/clientpositive/join6.q.out
@@ -48,6 +48,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: ((UDFToDouble(key) > 10.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 10.0D)) (type: boolean)
@@ -64,6 +65,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src2
+            filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 25.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 25.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join7.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join7.q.out b/ql/src/test/results/clientpositive/join7.q.out
index 490ab1b..0339c90 100644
--- a/ql/src/test/results/clientpositive/join7.q.out
+++ b/ql/src/test/results/clientpositive/join7.q.out
@@ -58,6 +58,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: ((UDFToDouble(key) > 10.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 10.0D)) (type: boolean)
@@ -74,6 +75,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src2
+            filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 25.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 25.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)
@@ -90,6 +92,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src3
+            filterExpr: ((UDFToDouble(key) > 20.0D) and (UDFToDouble(key) < 25.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 25.0D) and (UDFToDouble(key) > 20.0D)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join8.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join8.q.out b/ql/src/test/results/clientpositive/join8.q.out
index d27098e..c9c8833 100644
--- a/ql/src/test/results/clientpositive/join8.q.out
+++ b/ql/src/test/results/clientpositive/join8.q.out
@@ -48,6 +48,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: ((UDFToDouble(key) > 10.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 10.0D)) (type: boolean)
@@ -64,6 +65,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src2
+            filterExpr: ((UDFToDouble(key) > 15.0D) and (UDFToDouble(key) < 20.0D)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((UDFToDouble(key) < 20.0D) and (UDFToDouble(key) > 15.0D)) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join9.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join9.q.out b/ql/src/test/results/clientpositive/join9.q.out
index 343df28..291b072 100644
--- a/ql/src/test/results/clientpositive/join9.q.out
+++ b/ql/src/test/results/clientpositive/join9.q.out
@@ -26,6 +26,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: ((ds = '2008-04-08') and (hr = '12') and key is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -46,6 +47,7 @@ STAGE PLANS:
                   auto parallelism: false
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_alt_syntax.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_alt_syntax.q.out b/ql/src/test/results/clientpositive/join_alt_syntax.q.out
index 5f9a7ce..57a9109 100644
--- a/ql/src/test/results/clientpositive/join_alt_syntax.q.out
+++ b/ql/src/test/results/clientpositive/join_alt_syntax.q.out
@@ -76,6 +76,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p1
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -91,6 +92,7 @@ STAGE PLANS:
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: p2
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -106,6 +108,7 @@ STAGE PLANS:
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -162,6 +165,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p1
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -177,6 +181,7 @@ STAGE PLANS:
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: part
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -192,6 +197,7 @@ STAGE PLANS:
                   Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -250,6 +256,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -266,6 +273,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int)
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -366,6 +374,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p1
+            filterExpr: (p_name is not null and p_partkey is not null) (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (p_name is not null and p_partkey is not null) (type: boolean)
@@ -382,6 +391,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: p4
+            filterExpr: p_partkey is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_partkey is not null (type: boolean)
@@ -455,6 +465,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: (p_name is not null and p_partkey is not null) (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (p_name is not null and p_partkey is not null) (type: boolean)
@@ -471,6 +482,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int)
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -528,6 +540,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p1
+            filterExpr: (p_name is not null and p_partkey is not null) (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (p_name is not null and p_partkey is not null) (type: boolean)
@@ -544,6 +557,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: p4
+            filterExpr: p_partkey is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_partkey is not null (type: boolean)
@@ -617,6 +631,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: (p_name is not null and p_partkey is not null) (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (p_name is not null and p_partkey is not null) (type: boolean)
@@ -633,6 +648,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int)
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_cond_pushdown_1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_cond_pushdown_1.q.out b/ql/src/test/results/clientpositive/join_cond_pushdown_1.q.out
index 831d84f..dc2de9f 100644
--- a/ql/src/test/results/clientpositive/join_cond_pushdown_1.q.out
+++ b/ql/src/test/results/clientpositive/join_cond_pushdown_1.q.out
@@ -14,6 +14,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p1
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -30,6 +31,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p2
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -46,6 +48,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -101,6 +104,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p1
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -117,6 +121,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p2
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -133,6 +138,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -190,6 +196,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -206,6 +213,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -303,6 +311,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -319,6 +328,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p2
+            filterExpr: ((p_partkey = 1) and p_name is not null) (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((p_partkey = 1) and p_name is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_cond_pushdown_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_cond_pushdown_2.q.out b/ql/src/test/results/clientpositive/join_cond_pushdown_2.q.out
index 374aefb..741b11f 100644
--- a/ql/src/test/results/clientpositive/join_cond_pushdown_2.q.out
+++ b/ql/src/test/results/clientpositive/join_cond_pushdown_2.q.out
@@ -15,6 +15,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p1
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -31,6 +32,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p4
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -66,6 +68,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -82,6 +85,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p2
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -152,6 +156,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -168,6 +173,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p2
+            filterExpr: (p_name is not null and p_partkey is not null) (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (p_name is not null and p_partkey is not null) (type: boolean)
@@ -241,6 +247,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p1
+            filterExpr: (p_name is not null and p_partkey is not null) (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (p_name is not null and p_partkey is not null) (type: boolean)
@@ -257,6 +264,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p4
+            filterExpr: p_partkey is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_partkey is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_cond_pushdown_3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_cond_pushdown_3.q.out b/ql/src/test/results/clientpositive/join_cond_pushdown_3.q.out
index 560b8e0..c157212 100644
--- a/ql/src/test/results/clientpositive/join_cond_pushdown_3.q.out
+++ b/ql/src/test/results/clientpositive/join_cond_pushdown_3.q.out
@@ -16,6 +16,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p1
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -32,6 +33,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p2
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -48,6 +50,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -105,6 +108,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p1
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -121,6 +125,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p2
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -137,6 +142,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -196,6 +202,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -212,6 +219,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -311,6 +319,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -327,6 +336,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p2
+            filterExpr: ((p_partkey = 1) and p_name is not null) (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((p_partkey = 1) and p_name is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_cond_pushdown_4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_cond_pushdown_4.q.out b/ql/src/test/results/clientpositive/join_cond_pushdown_4.q.out
index 0270744..f35d397 100644
--- a/ql/src/test/results/clientpositive/join_cond_pushdown_4.q.out
+++ b/ql/src/test/results/clientpositive/join_cond_pushdown_4.q.out
@@ -17,6 +17,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p1
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -33,6 +34,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p4
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -68,6 +70,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -84,6 +87,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p2
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -156,6 +160,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p3
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -172,6 +177,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p2
+            filterExpr: (p_name is not null and p_partkey is not null) (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (p_name is not null and p_partkey is not null) (type: boolean)
@@ -245,6 +251,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p1
+            filterExpr: (p_name is not null and p_partkey is not null) (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (p_name is not null and p_partkey is not null) (type: boolean)
@@ -261,6 +268,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p4
+            filterExpr: p_partkey is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_partkey is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_cond_pushdown_unqual1.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_cond_pushdown_unqual1.q.out b/ql/src/test/results/clientpositive/join_cond_pushdown_unqual1.q.out
index 9f273dc..5c2dee3 100644
--- a/ql/src/test/results/clientpositive/join_cond_pushdown_unqual1.q.out
+++ b/ql/src/test/results/clientpositive/join_cond_pushdown_unqual1.q.out
@@ -70,6 +70,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: p2_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p2_name is not null (type: boolean)
@@ -86,6 +87,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p3_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p3_name is not null (type: boolean)
@@ -102,6 +104,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p1
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -161,6 +164,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: p2_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p2_name is not null (type: boolean)
@@ -177,6 +181,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p3_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p3_name is not null (type: boolean)
@@ -193,6 +198,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p1
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -254,6 +260,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: p2_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p2_name is not null (type: boolean)
@@ -270,6 +277,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p3_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p3_name is not null (type: boolean)
@@ -367,6 +375,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p3
+            filterExpr: p3_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p3_name is not null (type: boolean)
@@ -383,6 +392,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p2
+            filterExpr: ((p2_partkey = 1) and p2_name is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: ((p2_partkey = 1) and p2_name is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_cond_pushdown_unqual2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_cond_pushdown_unqual2.q.out b/ql/src/test/results/clientpositive/join_cond_pushdown_unqual2.q.out
index bd37fc7..3d6af2d 100644
--- a/ql/src/test/results/clientpositive/join_cond_pushdown_unqual2.q.out
+++ b/ql/src/test/results/clientpositive/join_cond_pushdown_unqual2.q.out
@@ -70,6 +70,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: p2_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p2_name is not null (type: boolean)
@@ -86,6 +87,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p3_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p3_name is not null (type: boolean)
@@ -102,6 +104,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p1
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -118,6 +121,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p4
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -183,6 +187,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: (p2_name is not null and p2_partkey is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (p2_name is not null and p2_partkey is not null) (type: boolean)
@@ -199,6 +204,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p3_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p3_name is not null (type: boolean)
@@ -241,6 +247,7 @@ STAGE PLANS:
               value expressions: _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col9 (type: int), _col10 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string)
           TableScan
             alias: p1
+            filterExpr: (p_name is not null and p_partkey is not null) (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (p_name is not null and p_partkey is not null) (type: boolean)
@@ -283,6 +290,7 @@ STAGE PLANS:
               value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col9 (type: int), _col10 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string), _col19 (type: string), _col20 (type: string), _col21 (type: string), _col22 (type: string), _col23 (type: int), _col24 (type: string), _col25 (type: double), _col26 (type: string)
           TableScan
             alias: p4
+            filterExpr: p_partkey is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_partkey is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_cond_pushdown_unqual3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_cond_pushdown_unqual3.q.out b/ql/src/test/results/clientpositive/join_cond_pushdown_unqual3.q.out
index 1e27c28..0ce23ae 100644
--- a/ql/src/test/results/clientpositive/join_cond_pushdown_unqual3.q.out
+++ b/ql/src/test/results/clientpositive/join_cond_pushdown_unqual3.q.out
@@ -72,6 +72,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: p2_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p2_name is not null (type: boolean)
@@ -88,6 +89,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p3_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p3_name is not null (type: boolean)
@@ -104,6 +106,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p1
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -165,6 +168,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: p2_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p2_name is not null (type: boolean)
@@ -181,6 +185,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p3_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p3_name is not null (type: boolean)
@@ -197,6 +202,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p1
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -260,6 +266,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: p2_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p2_name is not null (type: boolean)
@@ -276,6 +283,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p3_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p3_name is not null (type: boolean)
@@ -375,6 +383,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p3
+            filterExpr: p3_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p3_name is not null (type: boolean)
@@ -391,6 +400,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p2
+            filterExpr: ((p2_partkey = 1) and p2_name is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: ((p2_partkey = 1) and p2_name is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_cond_pushdown_unqual4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_cond_pushdown_unqual4.q.out b/ql/src/test/results/clientpositive/join_cond_pushdown_unqual4.q.out
index 68c6b81..a7dfc2c 100644
--- a/ql/src/test/results/clientpositive/join_cond_pushdown_unqual4.q.out
+++ b/ql/src/test/results/clientpositive/join_cond_pushdown_unqual4.q.out
@@ -72,6 +72,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: p2_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p2_name is not null (type: boolean)
@@ -88,6 +89,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p3_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p3_name is not null (type: boolean)
@@ -104,6 +106,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p1
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -120,6 +123,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p4
+            filterExpr: p_name is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_name is not null (type: boolean)
@@ -187,6 +191,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p2
+            filterExpr: (p2_name is not null and p2_partkey is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (p2_name is not null and p2_partkey is not null) (type: boolean)
@@ -203,6 +208,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string)
           TableScan
             alias: p3
+            filterExpr: p3_name is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: p3_name is not null (type: boolean)
@@ -245,6 +251,7 @@ STAGE PLANS:
               value expressions: _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col9 (type: int), _col10 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string)
           TableScan
             alias: p1
+            filterExpr: (p_name is not null and p_partkey is not null) (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (p_name is not null and p_partkey is not null) (type: boolean)
@@ -287,6 +294,7 @@ STAGE PLANS:
               value expressions: _col0 (type: int), _col1 (type: string), _col2 (type: string), _col3 (type: string), _col4 (type: string), _col5 (type: int), _col6 (type: string), _col7 (type: double), _col8 (type: string), _col9 (type: int), _col10 (type: string), _col11 (type: string), _col12 (type: string), _col13 (type: string), _col14 (type: int), _col15 (type: string), _col16 (type: double), _col17 (type: string), _col19 (type: string), _col20 (type: string), _col21 (type: string), _col22 (type: string), _col23 (type: int), _col24 (type: string), _col25 (type: double), _col26 (type: string)
           TableScan
             alias: p4
+            filterExpr: p_partkey is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_partkey is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_filters_overlap.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_filters_overlap.q.out b/ql/src/test/results/clientpositive/join_filters_overlap.q.out
index cc34704..bc70a84 100644
--- a/ql/src/test/results/clientpositive/join_filters_overlap.q.out
+++ b/ql/src/test/results/clientpositive/join_filters_overlap.q.out
@@ -41,6 +41,7 @@ STAGE PLANS:
                 auto parallelism: false
           TableScan
             alias: b
+            filterExpr: (value = 50) (type: boolean)
             Statistics: Num rows: 3 Data size: 18 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -62,6 +63,7 @@ STAGE PLANS:
                   auto parallelism: false
           TableScan
             alias: c
+            filterExpr: (value = 60) (type: boolean)
             Statistics: Num rows: 3 Data size: 18 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -217,6 +219,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a_n4
+            filterExpr: (value = 50) (type: boolean)
             Statistics: Num rows: 3 Data size: 18 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -255,6 +258,7 @@ STAGE PLANS:
                 auto parallelism: false
           TableScan
             alias: c
+            filterExpr: (value = 60) (type: boolean)
             Statistics: Num rows: 3 Data size: 18 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -410,6 +414,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a_n4
+            filterExpr: (value = 50) (type: boolean)
             Statistics: Num rows: 3 Data size: 18 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -448,6 +453,7 @@ STAGE PLANS:
                 auto parallelism: false
           TableScan
             alias: c
+            filterExpr: (value = 60) (type: boolean)
             Statistics: Num rows: 3 Data size: 18 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -637,6 +643,7 @@ STAGE PLANS:
                 auto parallelism: false
           TableScan
             alias: c
+            filterExpr: (value = 60) (type: boolean)
             Statistics: Num rows: 3 Data size: 18 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -658,6 +665,7 @@ STAGE PLANS:
                   auto parallelism: false
           TableScan
             alias: d
+            filterExpr: (value = 40) (type: boolean)
             Statistics: Num rows: 3 Data size: 18 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -825,6 +833,7 @@ STAGE PLANS:
                 auto parallelism: false
           TableScan
             alias: b
+            filterExpr: (value = 50) (type: boolean)
             Statistics: Num rows: 3 Data size: 18 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -846,6 +855,7 @@ STAGE PLANS:
                   auto parallelism: false
           TableScan
             alias: c
+            filterExpr: (value = 60) (type: boolean)
             Statistics: Num rows: 3 Data size: 18 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -867,6 +877,7 @@ STAGE PLANS:
                   auto parallelism: false
           TableScan
             alias: d
+            filterExpr: (value = 40) (type: boolean)
             Statistics: Num rows: 3 Data size: 18 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_grp_diff_keys.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_grp_diff_keys.q.out b/ql/src/test/results/clientpositive/join_grp_diff_keys.q.out
index 9242238..0633923 100644
--- a/ql/src/test/results/clientpositive/join_grp_diff_keys.q.out
+++ b/ql/src/test/results/clientpositive/join_grp_diff_keys.q.out
@@ -57,6 +57,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: foo
+            filterExpr: ((orders <> 'blah') and id is not null and line_id is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: ((orders <> 'blah') and id is not null and line_id is not null) (type: boolean)
@@ -72,6 +73,7 @@ STAGE PLANS:
                   Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
           TableScan
             alias: bar
+            filterExpr: (id is not null and line_id is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (id is not null and line_id is not null) (type: boolean)
@@ -87,6 +89,7 @@ STAGE PLANS:
                   Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
           TableScan
             alias: split
+            filterExpr: (id is not null and line_id is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (id is not null and line_id is not null) (type: boolean)
@@ -102,6 +105,7 @@ STAGE PLANS:
                   Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
           TableScan
             alias: forecast
+            filterExpr: (id is not null and line_id is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 0 Basic stats: PARTIAL Column stats: NONE
             Filter Operator
               predicate: (id is not null and line_id is not null) (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_hive_626.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_hive_626.q.out b/ql/src/test/results/clientpositive/join_hive_626.q.out
index 4309be4..81e48bc 100644
--- a/ql/src/test/results/clientpositive/join_hive_626.q.out
+++ b/ql/src/test/results/clientpositive/join_hive_626.q.out
@@ -75,6 +75,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: hive_bar
+            filterExpr: (foo_id is not null and bar_id is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 230 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (bar_id is not null and foo_id is not null) (type: boolean)
@@ -91,6 +92,7 @@ STAGE PLANS:
                   value expressions: _col0 (type: int), _col2 (type: string)
           TableScan
             alias: hive_foo
+            filterExpr: foo_id is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 150 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: foo_id is not null (type: boolean)
@@ -133,6 +135,7 @@ STAGE PLANS:
               value expressions: _col2 (type: string), _col4 (type: string)
           TableScan
             alias: hive_count
+            filterExpr: bar_id is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 50 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: bar_id is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_map_ppr.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_map_ppr.q.out b/ql/src/test/results/clientpositive/join_map_ppr.q.out
index 8712d81..585f6c3 100644
--- a/ql/src/test/results/clientpositive/join_map_ppr.q.out
+++ b/ql/src/test/results/clientpositive/join_map_ppr.q.out
@@ -45,6 +45,7 @@ STAGE PLANS:
         x 
           TableScan
             alias: x
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -60,6 +61,7 @@ STAGE PLANS:
         y 
           TableScan
             alias: y
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -78,6 +80,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: z
+            filterExpr: (key is not null and (ds = '2008-04-08') and (hr = 11)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -683,6 +686,7 @@ STAGE PLANS:
         x 
           TableScan
             alias: x
+            filterExpr: UDFToDouble(key) is not null (type: boolean)
             Statistics: Num rows: 25 Data size: 191 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -698,6 +702,7 @@ STAGE PLANS:
         y 
           TableScan
             alias: y
+            filterExpr: UDFToDouble(key) is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator
@@ -716,6 +721,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: z
+            filterExpr: (UDFToDouble(key) is not null and (ds = '2008-04-08') and (hr = 11)) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             GatherStats: false
             Filter Operator

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_merge_multi_expressions.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_merge_multi_expressions.q.out b/ql/src/test/results/clientpositive/join_merge_multi_expressions.q.out
index fba4083..75cf433 100644
--- a/ql/src/test/results/clientpositive/join_merge_multi_expressions.q.out
+++ b/ql/src/test/results/clientpositive/join_merge_multi_expressions.q.out
@@ -15,6 +15,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (key is not null and hr is not null) (type: boolean)
             Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -30,6 +31,7 @@ STAGE PLANS:
                   Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: b
+            filterExpr: (key is not null and hr is not null) (type: boolean)
             Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -45,6 +47,7 @@ STAGE PLANS:
                   Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: c
+            filterExpr: (hr is not null and key is not null) (type: boolean)
             Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_merging.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_merging.q.out b/ql/src/test/results/clientpositive/join_merging.q.out
index 609cc83..0e46d6c 100644
--- a/ql/src/test/results/clientpositive/join_merging.q.out
+++ b/ql/src/test/results/clientpositive/join_merging.q.out
@@ -18,6 +18,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p1
+            filterExpr: (p_size > 10) (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (p_size > 10) (type: boolean)
@@ -106,6 +107,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: p1
+            filterExpr: ((p_size > 10) and p_partkey is not null) (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((p_size > 10) and p_partkey is not null) (type: boolean)
@@ -122,6 +124,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: int)
           TableScan
             alias: p2
+            filterExpr: p_partkey is not null (type: boolean)
             Statistics: Num rows: 26 Data size: 3147 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: p_partkey is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_on_varchar.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_on_varchar.q.out b/ql/src/test/results/clientpositive/join_on_varchar.q.out
index fb207a0..becd16a 100644
--- a/ql/src/test/results/clientpositive/join_on_varchar.q.out
+++ b/ql/src/test/results/clientpositive/join_on_varchar.q.out
@@ -74,6 +74,7 @@ STAGE PLANS:
         $hdt$_1:tbl2_n2 
           TableScan
             alias: tbl2_n2
+            filterExpr: c2 is not null (type: boolean)
             Statistics: Num rows: 2 Data size: 23 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: c2 is not null (type: boolean)
@@ -92,6 +93,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: tbl1_n3
+            filterExpr: c1 is not null (type: boolean)
             Statistics: Num rows: 2 Data size: 26 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: c1 is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_parse.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_parse.q.out b/ql/src/test/results/clientpositive/join_parse.q.out
index 37d0220..77ae41d 100644
--- a/ql/src/test/results/clientpositive/join_parse.q.out
+++ b/ql/src/test/results/clientpositive/join_parse.q.out
@@ -19,6 +19,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key is not null and value is not null) (type: boolean)
@@ -35,6 +36,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -76,6 +78,7 @@ STAGE PLANS:
               value expressions: _col0 (type: string)
           TableScan
             alias: src1
+            filterExpr: value is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: value is not null (type: boolean)
@@ -137,6 +140,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key is not null and value is not null) (type: boolean)
@@ -153,6 +157,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -194,6 +199,7 @@ STAGE PLANS:
               value expressions: _col0 (type: string)
           TableScan
             alias: src1
+            filterExpr: value is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: value is not null (type: boolean)
@@ -255,6 +261,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key is not null and value is not null) (type: boolean)
@@ -271,6 +278,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -312,6 +320,7 @@ STAGE PLANS:
               value expressions: _col0 (type: string)
           TableScan
             alias: src1
+            filterExpr: value is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: value is not null (type: boolean)
@@ -376,6 +385,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: srcpart
+            filterExpr: (key is not null and value is not null) (type: boolean)
             Statistics: Num rows: 2000 Data size: 21248 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key is not null and value is not null) (type: boolean)
@@ -392,6 +402,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -463,6 +474,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: src1
+            filterExpr: (value is not null and key is not null) (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key is not null and value is not null) (type: boolean)
@@ -479,6 +491,7 @@ STAGE PLANS:
                   value expressions: _col1 (type: string)
           TableScan
             alias: src2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_rc.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_rc.q.out b/ql/src/test/results/clientpositive/join_rc.q.out
index a15231b..84644df 100644
--- a/ql/src/test/results/clientpositive/join_rc.q.out
+++ b/ql/src/test/results/clientpositive/join_rc.q.out
@@ -52,6 +52,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: join_rc1
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 4812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -67,6 +68,7 @@ STAGE PLANS:
                   Statistics: Num rows: 500 Data size: 4812 Basic stats: COMPLETE Column stats: NONE
           TableScan
             alias: join_rc2
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 4812 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_reorder.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_reorder.q.out b/ql/src/test/results/clientpositive/join_reorder.q.out
index e7e82fd..95cbe87 100644
--- a/ql/src/test/results/clientpositive/join_reorder.q.out
+++ b/ql/src/test/results/clientpositive/join_reorder.q.out
@@ -62,6 +62,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: UDFToDouble(key) is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: UDFToDouble(key) is not null (type: boolean)
@@ -74,6 +75,7 @@ STAGE PLANS:
                 value expressions: key (type: string), val (type: string)
           TableScan
             alias: c
+            filterExpr: (key + 1) is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key + 1) is not null (type: boolean)
@@ -127,6 +129,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: UDFToDouble(key) is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: UDFToDouble(key) is not null (type: boolean)
@@ -139,6 +142,7 @@ STAGE PLANS:
                 value expressions: key (type: string), val (type: string)
           TableScan
             alias: c
+            filterExpr: (key + 1) is not null (type: boolean)
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key + 1) is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_reorder2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_reorder2.q.out b/ql/src/test/results/clientpositive/join_reorder2.q.out
index d76d7fc..34b5f55 100644
--- a/ql/src/test/results/clientpositive/join_reorder2.q.out
+++ b/ql/src/test/results/clientpositive/join_reorder2.q.out
@@ -84,6 +84,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -96,6 +97,7 @@ STAGE PLANS:
                 value expressions: val (type: string)
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -108,6 +110,7 @@ STAGE PLANS:
                 value expressions: val (type: string)
           TableScan
             alias: c
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -120,6 +123,7 @@ STAGE PLANS:
                 value expressions: val (type: string)
           TableScan
             alias: d
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -206,6 +210,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (key is not null and val is not null and (key + 1) is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key + 1) is not null and key is not null and val is not null) (type: boolean)
@@ -218,6 +223,7 @@ STAGE PLANS:
                 value expressions: val (type: string)
           TableScan
             alias: b
+            filterExpr: (key is not null and (key + 1) is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key + 1) is not null and key is not null) (type: boolean)
@@ -256,6 +262,7 @@ STAGE PLANS:
               value expressions: _col0 (type: string), _col5 (type: string), _col6 (type: string)
           TableScan
             alias: c
+            filterExpr: val is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: val is not null (type: boolean)
@@ -294,6 +301,7 @@ STAGE PLANS:
               value expressions: _col0 (type: string), _col1 (type: string), _col5 (type: string), _col6 (type: string), _col10 (type: string), _col11 (type: string)
           TableScan
             alias: d
+            filterExpr: (key + 1) is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key + 1) is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_reorder3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_reorder3.q.out b/ql/src/test/results/clientpositive/join_reorder3.q.out
index c7e2668..e1c1068 100644
--- a/ql/src/test/results/clientpositive/join_reorder3.q.out
+++ b/ql/src/test/results/clientpositive/join_reorder3.q.out
@@ -84,6 +84,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -96,6 +97,7 @@ STAGE PLANS:
                 value expressions: val (type: string)
           TableScan
             alias: b
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -108,6 +110,7 @@ STAGE PLANS:
                 value expressions: val (type: string)
           TableScan
             alias: c
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -120,6 +123,7 @@ STAGE PLANS:
                 value expressions: val (type: string)
           TableScan
             alias: d
+            filterExpr: key is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key is not null (type: boolean)
@@ -206,6 +210,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: (key is not null and val is not null and (key + 1) is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key + 1) is not null and key is not null and val is not null) (type: boolean)
@@ -218,6 +223,7 @@ STAGE PLANS:
                 value expressions: val (type: string)
           TableScan
             alias: b
+            filterExpr: (key is not null and (key + 1) is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: ((key + 1) is not null and key is not null) (type: boolean)
@@ -256,6 +262,7 @@ STAGE PLANS:
               value expressions: _col0 (type: string), _col5 (type: string), _col6 (type: string)
           TableScan
             alias: c
+            filterExpr: val is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: val is not null (type: boolean)
@@ -294,6 +301,7 @@ STAGE PLANS:
               value expressions: _col0 (type: string), _col1 (type: string), _col5 (type: string), _col6 (type: string), _col10 (type: string), _col11 (type: string)
           TableScan
             alias: d
+            filterExpr: (key + 1) is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (key + 1) is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_reorder4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_reorder4.q.out b/ql/src/test/results/clientpositive/join_reorder4.q.out
index a3923d6..963f4f0 100644
--- a/ql/src/test/results/clientpositive/join_reorder4.q.out
+++ b/ql/src/test/results/clientpositive/join_reorder4.q.out
@@ -60,6 +60,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key1 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key1 is not null (type: boolean)
@@ -72,6 +73,7 @@ STAGE PLANS:
                 value expressions: val1 (type: string)
           TableScan
             alias: b
+            filterExpr: key2 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key2 is not null (type: boolean)
@@ -84,6 +86,7 @@ STAGE PLANS:
                 value expressions: val2 (type: string)
           TableScan
             alias: c
+            filterExpr: key3 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key3 is not null (type: boolean)
@@ -150,6 +153,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key1 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key1 is not null (type: boolean)
@@ -162,6 +166,7 @@ STAGE PLANS:
                 value expressions: val1 (type: string)
           TableScan
             alias: b
+            filterExpr: key2 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key2 is not null (type: boolean)
@@ -174,6 +179,7 @@ STAGE PLANS:
                 value expressions: val2 (type: string)
           TableScan
             alias: c
+            filterExpr: key3 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key3 is not null (type: boolean)
@@ -240,6 +246,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: a
+            filterExpr: key1 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key1 is not null (type: boolean)
@@ -252,6 +259,7 @@ STAGE PLANS:
                 value expressions: val1 (type: string)
           TableScan
             alias: b
+            filterExpr: key2 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 300 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key2 is not null (type: boolean)
@@ -264,6 +272,7 @@ STAGE PLANS:
                 value expressions: val2 (type: string)
           TableScan
             alias: c
+            filterExpr: key3 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 200 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: key3 is not null (type: boolean)

http://git-wip-us.apache.org/repos/asf/hive/blob/f2c4f319/ql/src/test/results/clientpositive/join_star.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/join_star.q.out b/ql/src/test/results/clientpositive/join_star.q.out
index e3640a3..df97d43 100644
--- a/ql/src/test/results/clientpositive/join_star.q.out
+++ b/ql/src/test/results/clientpositive/join_star.q.out
@@ -146,6 +146,7 @@ STAGE PLANS:
         $hdt$_1:dim1 
           TableScan
             alias: dim1
+            filterExpr: f1 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 160 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: f1 is not null (type: boolean)
@@ -164,6 +165,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: fact
+            filterExpr: d1 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 980 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: d1 is not null (type: boolean)
@@ -244,6 +246,7 @@ STAGE PLANS:
         $hdt$_1:dim1 
           TableScan
             alias: dim1
+            filterExpr: f1 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 160 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: f1 is not null (type: boolean)
@@ -259,6 +262,7 @@ STAGE PLANS:
         $hdt$_2:dim2 
           TableScan
             alias: dim2
+            filterExpr: f3 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 160 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: f3 is not null (type: boolean)
@@ -277,6 +281,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: fact
+            filterExpr: (d1 is not null and d2 is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 980 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (d1 is not null and d2 is not null) (type: boolean)
@@ -367,6 +372,7 @@ STAGE PLANS:
         $hdt$_0:dim1 
           TableScan
             alias: dim1
+            filterExpr: (f1 is not null and f2 is not null) (type: boolean)
             Statistics: Num rows: 1 Data size: 160 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: (f1 is not null and f2 is not null) (type: boolean)
@@ -382,6 +388,7 @@ STAGE PLANS:
         $hdt$_2:fact 
           TableScan
             alias: fact
+            filterExpr: d1 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 980 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: d1 is not null (type: boolean)
@@ -400,6 +407,7 @@ STAGE PLANS:
       Map Operator Tree:
           TableScan
             alias: dim2
+            filterExpr: f3 is not null (type: boolean)
             Statistics: Num rows: 1 Data size: 160 Basic stats: COMPLETE Column stats: NONE
             Filter Operator
               predicate: f3 is not null (type: boolean)