hive-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jcama...@apache.org
Subject [4/6] hive git commit: HIVE-20835: Interaction between constraints and MV rewriting may create loop in Calcite planner (Jesus Camacho Rodriguez, reviewed by Ashutosh Chauhan)
Date Tue, 06 Nov 2018 15:28:09 GMT
http://git-wip-us.apache.org/repos/asf/hive/blob/f4a48fdb/ql/src/test/results/clientpositive/perf/tez/constraints/query31.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query31.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query31.q.out
index a01919e..8e0de0f 100644
--- a/ql/src/test/results/clientpositive/perf/tez/constraints/query31.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query31.q.out
@@ -157,88 +157,86 @@ Stage-0
       File Output Operator [FS_139]
         Select Operator [SEL_138] (rows=110 width=550)
           Output:["_col0","_col1","_col2","_col3","_col4","_col5"]
-          Filter Operator [FIL_136] (rows=110 width=786)
-            predicate:(CASE WHEN (_col2) THEN (CASE WHEN (_col15) THEN (((_col12 / _col14) > (_col7 / _col1))) ELSE ((null > (_col7 / _col1))) END) ELSE (CASE WHEN (_col15) THEN (((_col12 / _col14) > null)) ELSE (null) END) END and CASE WHEN (_col5) THEN (CASE WHEN (_col10) THEN (((_col14 / _col9) > (_col1 / _col4))) ELSE ((null > (_col1 / _col4))) END) ELSE (CASE WHEN (_col10) THEN (((_col14 / _col9) > null)) ELSE (null) END) END)
-            Merge Join Operator [MERGEJOIN_450] (rows=440 width=786)
-              Conds:RS_133._col0=RS_134._col0(Inner),Output:["_col0","_col1","_col2","_col4","_col5","_col7","_col9","_col10","_col12","_col14","_col15"]
+          Filter Operator [FIL_136] (rows=110 width=778)
+            predicate:(CASE WHEN ((_col11 > 0)) THEN (CASE WHEN (_col2) THEN (((_col6 / _col1) > (_col9 / _col11))) ELSE ((null > (_col9 / _col11))) END) ELSE (CASE WHEN (_col2) THEN (((_col6 / _col1) > null)) ELSE (null) END) END and CASE WHEN ((_col9 > 0)) THEN (CASE WHEN (_col7) THEN (((_col4 / _col6) > (_col13 / _col9))) ELSE ((null > (_col13 / _col9))) END) ELSE (CASE WHEN (_col7) THEN (((_col4 / _col6) > null)) ELSE (null) END) END)
+            Merge Join Operator [MERGEJOIN_450] (rows=440 width=778)
+              Conds:RS_133._col0=RS_134._col0(Inner),Output:["_col1","_col2","_col4","_col6","_col7","_col8","_col9","_col11","_col13"]
             <-Reducer 22 [ONE_TO_ONE_EDGE]
               FORWARD [RS_134]
                 PartitionCols:_col0
-                Merge Join Operator [MERGEJOIN_449] (rows=440 width=442)
-                  Conds:RS_123._col0=RS_540._col0(Inner),Output:["_col0","_col1","_col2","_col4","_col6","_col7"]
+                Merge Join Operator [MERGEJOIN_448] (rows=1605 width=434)
+                  Conds:RS_123._col0=RS_538._col0(Inner),Output:["_col0","_col1","_col3","_col5"]
                 <-Reducer 21 [ONE_TO_ONE_EDGE]
                   FORWARD [RS_123]
                     PartitionCols:_col0
-                    Merge Join Operator [MERGEJOIN_448] (rows=440 width=326)
-                      Conds:RS_525._col0=RS_532._col0(Inner),Output:["_col0","_col1","_col2","_col4"]
+                    Merge Join Operator [MERGEJOIN_447] (rows=1605 width=322)
+                      Conds:RS_524._col0=RS_531._col0(Inner),Output:["_col0","_col1","_col3"]
                     <-Reducer 20 [ONE_TO_ONE_EDGE] vectorized
-                      FORWARD [RS_525]
+                      FORWARD [RS_524]
                         PartitionCols:_col0
-                        Select Operator [SEL_524] (rows=440 width=214)
-                          Output:["_col0","_col1","_col2"]
-                          Group By Operator [GBY_523] (rows=440 width=210)
-                            Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
-                          <-Reducer 19 [SIMPLE_EDGE]
-                            SHUFFLE [RS_77]
-                              PartitionCols:_col0
-                              Group By Operator [GBY_76] (rows=3960 width=210)
-                                Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col5
-                                Merge Join Operator [MERGEJOIN_441] (rows=10246882 width=209)
-                                  Conds:RS_72._col1=RS_497._col0(Inner),Output:["_col2","_col5"]
-                                <-Map 32 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_497]
-                                    PartitionCols:_col0
-                                    Select Operator [SEL_493] (rows=40000000 width=102)
-                                      Output:["_col0","_col1"]
-                                      Filter Operator [FIL_492] (rows=40000000 width=102)
-                                        predicate:ca_county is not null
-                                        TableScan [TS_6] (rows=40000000 width=102)
-                                          default@customer_address,customer_address,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_county"]
-                                <-Reducer 18 [SIMPLE_EDGE]
-                                  SHUFFLE [RS_72]
-                                    PartitionCols:_col1
-                                    Merge Join Operator [MERGEJOIN_440] (rows=10246882 width=115)
-                                      Conds:RS_522._col0=RS_469._col0(Inner),Output:["_col1","_col2"]
-                                    <-Map 8 [SIMPLE_EDGE] vectorized
-                                      PARTITION_ONLY_SHUFFLE [RS_469]
-                                        PartitionCols:_col0
-                                        Select Operator [SEL_460] (rows=130 width=4)
-                                          Output:["_col0"]
-                                          Filter Operator [FIL_454] (rows=130 width=12)
-                                            predicate:((d_qoy = 1) and (d_year = 2000))
-                                            TableScan [TS_3] (rows=73049 width=12)
-                                              default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_qoy"]
-                                    <-Map 35 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_522]
-                                        PartitionCols:_col0
-                                        Select Operator [SEL_521] (rows=143931246 width=119)
-                                          Output:["_col0","_col1","_col2"]
-                                          Filter Operator [FIL_520] (rows=143931246 width=119)
-                                            predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_70_date_dim_d_date_sk_min) AND DynamicValue(RS_70_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_70_date_dim_d_date_sk_bloom_filter))) and ws_bill_addr_sk is not null and ws_sold_date_sk is not null)
-                                            TableScan [TS_60] (rows=144002668 width=119)
-                                              default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_bill_addr_sk","ws_ext_sales_price"]
-                                            <-Reducer 23 [BROADCAST_EDGE] vectorized
-                                              BROADCAST [RS_519]
-                                                Group By Operator [GBY_518] (rows=1 width=12)
-                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                  PARTITION_ONLY_SHUFFLE [RS_484]
-                                                    Group By Operator [GBY_478] (rows=1 width=12)
-                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                      Select Operator [SEL_470] (rows=130 width=4)
-                                                        Output:["_col0"]
-                                                         Please refer to the previous Select Operator [SEL_460]
+                        Group By Operator [GBY_523] (rows=1605 width=210)
+                          Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
+                        <-Reducer 19 [SIMPLE_EDGE]
+                          SHUFFLE [RS_77]
+                            PartitionCols:_col0
+                            Group By Operator [GBY_76] (rows=33705 width=210)
+                              Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col5
+                              Merge Join Operator [MERGEJOIN_441] (rows=37399561 width=139)
+                                Conds:RS_72._col1=RS_497._col0(Inner),Output:["_col2","_col5"]
+                              <-Map 32 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_497]
+                                  PartitionCols:_col0
+                                  Select Operator [SEL_493] (rows=40000000 width=102)
+                                    Output:["_col0","_col1"]
+                                    Filter Operator [FIL_492] (rows=40000000 width=102)
+                                      predicate:ca_county is not null
+                                      TableScan [TS_6] (rows=40000000 width=102)
+                                        default@customer_address,customer_address,Tbl:COMPLETE,Col:COMPLETE,Output:["ca_address_sk","ca_county"]
+                              <-Reducer 18 [SIMPLE_EDGE]
+                                SHUFFLE [RS_72]
+                                  PartitionCols:_col1
+                                  Merge Join Operator [MERGEJOIN_440] (rows=37399561 width=42)
+                                    Conds:RS_522._col0=RS_469._col0(Inner),Output:["_col1","_col2"]
+                                  <-Map 8 [SIMPLE_EDGE] vectorized
+                                    PARTITION_ONLY_SHUFFLE [RS_469]
+                                      PartitionCols:_col0
+                                      Select Operator [SEL_460] (rows=130 width=4)
+                                        Output:["_col0"]
+                                        Filter Operator [FIL_454] (rows=130 width=12)
+                                          predicate:((d_qoy = 2) and (d_year = 2000))
+                                          TableScan [TS_3] (rows=73049 width=12)
+                                            default@date_dim,date_dim,Tbl:COMPLETE,Col:COMPLETE,Output:["d_date_sk","d_year","d_qoy"]
+                                  <-Map 35 [SIMPLE_EDGE] vectorized
+                                    SHUFFLE [RS_522]
+                                      PartitionCols:_col0
+                                      Select Operator [SEL_521] (rows=525327191 width=114)
+                                        Output:["_col0","_col1","_col2"]
+                                        Filter Operator [FIL_520] (rows=525327191 width=114)
+                                          predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_70_date_dim_d_date_sk_min) AND DynamicValue(RS_70_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_70_date_dim_d_date_sk_bloom_filter))) and ss_addr_sk is not null and ss_sold_date_sk is not null)
+                                          TableScan [TS_60] (rows=575995635 width=114)
+                                            default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_addr_sk","ss_ext_sales_price"]
+                                          <-Reducer 23 [BROADCAST_EDGE] vectorized
+                                            BROADCAST [RS_519]
+                                              Group By Operator [GBY_518] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                              <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                PARTITION_ONLY_SHUFFLE [RS_484]
+                                                  Group By Operator [GBY_478] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                    Select Operator [SEL_470] (rows=130 width=4)
+                                                      Output:["_col0"]
+                                                       Please refer to the previous Select Operator [SEL_460]
                     <-Reducer 26 [ONE_TO_ONE_EDGE] vectorized
-                      FORWARD [RS_532]
+                      FORWARD [RS_531]
                         PartitionCols:_col0
-                        Group By Operator [GBY_531] (rows=440 width=210)
+                        Group By Operator [GBY_530] (rows=1605 width=210)
                           Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
                         <-Reducer 25 [SIMPLE_EDGE]
                           SHUFFLE [RS_97]
                             PartitionCols:_col0
-                            Group By Operator [GBY_96] (rows=3960 width=210)
+                            Group By Operator [GBY_96] (rows=33705 width=210)
                               Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col5
-                              Merge Join Operator [MERGEJOIN_443] (rows=10246882 width=209)
+                              Merge Join Operator [MERGEJOIN_443] (rows=37399561 width=139)
                                 Conds:RS_92._col1=RS_498._col0(Inner),Output:["_col2","_col5"]
                               <-Map 32 [SIMPLE_EDGE] vectorized
                                 SHUFFLE [RS_498]
@@ -247,28 +245,28 @@ Stage-0
                               <-Reducer 24 [SIMPLE_EDGE]
                                 SHUFFLE [RS_92]
                                   PartitionCols:_col1
-                                  Merge Join Operator [MERGEJOIN_442] (rows=10246882 width=115)
-                                    Conds:RS_530._col0=RS_471._col0(Inner),Output:["_col1","_col2"]
+                                  Merge Join Operator [MERGEJOIN_442] (rows=37399561 width=42)
+                                    Conds:RS_529._col0=RS_471._col0(Inner),Output:["_col1","_col2"]
                                   <-Map 8 [SIMPLE_EDGE] vectorized
                                     PARTITION_ONLY_SHUFFLE [RS_471]
                                       PartitionCols:_col0
                                       Select Operator [SEL_461] (rows=130 width=4)
                                         Output:["_col0"]
                                         Filter Operator [FIL_455] (rows=130 width=12)
-                                          predicate:((d_qoy = 3) and (d_year = 2000))
+                                          predicate:((d_qoy = 1) and (d_year = 2000))
                                            Please refer to the previous TableScan [TS_3]
                                   <-Map 36 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_530]
+                                    SHUFFLE [RS_529]
                                       PartitionCols:_col0
-                                      Select Operator [SEL_529] (rows=143931246 width=119)
+                                      Select Operator [SEL_528] (rows=525327191 width=114)
                                         Output:["_col0","_col1","_col2"]
-                                        Filter Operator [FIL_528] (rows=143931246 width=119)
-                                          predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_90_date_dim_d_date_sk_min) AND DynamicValue(RS_90_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_90_date_dim_d_date_sk_bloom_filter))) and ws_bill_addr_sk is not null and ws_sold_date_sk is not null)
-                                          TableScan [TS_80] (rows=144002668 width=119)
-                                            default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_bill_addr_sk","ws_ext_sales_price"]
+                                        Filter Operator [FIL_527] (rows=525327191 width=114)
+                                          predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_90_date_dim_d_date_sk_min) AND DynamicValue(RS_90_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_90_date_dim_d_date_sk_bloom_filter))) and ss_addr_sk is not null and ss_sold_date_sk is not null)
+                                          TableScan [TS_80] (rows=575995635 width=114)
+                                            default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_addr_sk","ss_ext_sales_price"]
                                           <-Reducer 27 [BROADCAST_EDGE] vectorized
-                                            BROADCAST [RS_527]
-                                              Group By Operator [GBY_526] (rows=1 width=12)
+                                            BROADCAST [RS_526]
+                                              Group By Operator [GBY_525] (rows=1 width=12)
                                                 Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
                                               <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
                                                 PARTITION_ONLY_SHUFFLE [RS_485]
@@ -278,179 +276,177 @@ Stage-0
                                                       Output:["_col0"]
                                                        Please refer to the previous Select Operator [SEL_461]
                 <-Reducer 30 [ONE_TO_ONE_EDGE] vectorized
-                  FORWARD [RS_540]
+                  FORWARD [RS_538]
+                    PartitionCols:_col0
+                    Group By Operator [GBY_537] (rows=1605 width=210)
+                      Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
+                    <-Reducer 29 [SIMPLE_EDGE]
+                      SHUFFLE [RS_117]
+                        PartitionCols:_col0
+                        Group By Operator [GBY_116] (rows=33705 width=210)
+                          Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col5
+                          Merge Join Operator [MERGEJOIN_445] (rows=37399561 width=139)
+                            Conds:RS_112._col1=RS_499._col0(Inner),Output:["_col2","_col5"]
+                          <-Map 32 [SIMPLE_EDGE] vectorized
+                            SHUFFLE [RS_499]
+                              PartitionCols:_col0
+                               Please refer to the previous Select Operator [SEL_493]
+                          <-Reducer 28 [SIMPLE_EDGE]
+                            SHUFFLE [RS_112]
+                              PartitionCols:_col1
+                              Merge Join Operator [MERGEJOIN_444] (rows=37399561 width=42)
+                                Conds:RS_536._col0=RS_473._col0(Inner),Output:["_col1","_col2"]
+                              <-Map 8 [SIMPLE_EDGE] vectorized
+                                PARTITION_ONLY_SHUFFLE [RS_473]
+                                  PartitionCols:_col0
+                                  Select Operator [SEL_462] (rows=130 width=4)
+                                    Output:["_col0"]
+                                    Filter Operator [FIL_456] (rows=130 width=12)
+                                      predicate:((d_qoy = 3) and (d_year = 2000))
+                                       Please refer to the previous TableScan [TS_3]
+                              <-Map 37 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_536]
+                                  PartitionCols:_col0
+                                  Select Operator [SEL_535] (rows=525327191 width=114)
+                                    Output:["_col0","_col1","_col2"]
+                                    Filter Operator [FIL_534] (rows=525327191 width=114)
+                                      predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_110_date_dim_d_date_sk_min) AND DynamicValue(RS_110_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_110_date_dim_d_date_sk_bloom_filter))) and ss_addr_sk is not null and ss_sold_date_sk is not null)
+                                      TableScan [TS_100] (rows=575995635 width=114)
+                                        default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_addr_sk","ss_ext_sales_price"]
+                                      <-Reducer 31 [BROADCAST_EDGE] vectorized
+                                        BROADCAST [RS_533]
+                                          Group By Operator [GBY_532] (rows=1 width=12)
+                                            Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                          <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
+                                            PARTITION_ONLY_SHUFFLE [RS_486]
+                                              Group By Operator [GBY_480] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                Select Operator [SEL_474] (rows=130 width=4)
+                                                  Output:["_col0"]
+                                                   Please refer to the previous Select Operator [SEL_462]
+            <-Reducer 6 [ONE_TO_ONE_EDGE]
+              FORWARD [RS_133]
+                PartitionCols:_col0
+                Merge Join Operator [MERGEJOIN_449] (rows=440 width=442)
+                  Conds:RS_130._col0=RS_517._col0(Inner),Output:["_col0","_col1","_col2","_col4","_col6","_col7"]
+                <-Reducer 16 [ONE_TO_ONE_EDGE] vectorized
+                  FORWARD [RS_517]
                     PartitionCols:_col0
-                    Select Operator [SEL_539] (rows=440 width=214)
+                    Select Operator [SEL_516] (rows=440 width=214)
                       Output:["_col0","_col1","_col2"]
-                      Group By Operator [GBY_538] (rows=440 width=210)
+                      Group By Operator [GBY_515] (rows=440 width=210)
                         Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
-                      <-Reducer 29 [SIMPLE_EDGE]
-                        SHUFFLE [RS_117]
+                      <-Reducer 15 [SIMPLE_EDGE]
+                        SHUFFLE [RS_57]
                           PartitionCols:_col0
-                          Group By Operator [GBY_116] (rows=3960 width=210)
+                          Group By Operator [GBY_56] (rows=3960 width=210)
                             Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col5
-                            Merge Join Operator [MERGEJOIN_445] (rows=10246882 width=209)
-                              Conds:RS_112._col1=RS_499._col0(Inner),Output:["_col2","_col5"]
+                            Merge Join Operator [MERGEJOIN_439] (rows=10246882 width=209)
+                              Conds:RS_52._col1=RS_496._col0(Inner),Output:["_col2","_col5"]
                             <-Map 32 [SIMPLE_EDGE] vectorized
-                              SHUFFLE [RS_499]
+                              SHUFFLE [RS_496]
                                 PartitionCols:_col0
                                  Please refer to the previous Select Operator [SEL_493]
-                            <-Reducer 28 [SIMPLE_EDGE]
-                              SHUFFLE [RS_112]
+                            <-Reducer 14 [SIMPLE_EDGE]
+                              SHUFFLE [RS_52]
                                 PartitionCols:_col1
-                                Merge Join Operator [MERGEJOIN_444] (rows=10246882 width=115)
-                                  Conds:RS_537._col0=RS_473._col0(Inner),Output:["_col1","_col2"]
+                                Merge Join Operator [MERGEJOIN_438] (rows=10246882 width=115)
+                                  Conds:RS_514._col0=RS_467._col0(Inner),Output:["_col1","_col2"]
                                 <-Map 8 [SIMPLE_EDGE] vectorized
-                                  PARTITION_ONLY_SHUFFLE [RS_473]
+                                  PARTITION_ONLY_SHUFFLE [RS_467]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_462] (rows=130 width=4)
+                                    Select Operator [SEL_459] (rows=130 width=4)
                                       Output:["_col0"]
-                                      Filter Operator [FIL_456] (rows=130 width=12)
+                                      Filter Operator [FIL_453] (rows=130 width=12)
                                         predicate:((d_qoy = 2) and (d_year = 2000))
                                          Please refer to the previous TableScan [TS_3]
-                                <-Map 37 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_537]
+                                <-Map 34 [SIMPLE_EDGE] vectorized
+                                  SHUFFLE [RS_514]
                                     PartitionCols:_col0
-                                    Select Operator [SEL_536] (rows=143931246 width=119)
+                                    Select Operator [SEL_513] (rows=143931246 width=119)
                                       Output:["_col0","_col1","_col2"]
-                                      Filter Operator [FIL_535] (rows=143931246 width=119)
-                                        predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_110_date_dim_d_date_sk_min) AND DynamicValue(RS_110_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_110_date_dim_d_date_sk_bloom_filter))) and ws_bill_addr_sk is not null and ws_sold_date_sk is not null)
-                                        TableScan [TS_100] (rows=144002668 width=119)
+                                      Filter Operator [FIL_512] (rows=143931246 width=119)
+                                        predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_50_date_dim_d_date_sk_min) AND DynamicValue(RS_50_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_50_date_dim_d_date_sk_bloom_filter))) and ws_bill_addr_sk is not null and ws_sold_date_sk is not null)
+                                        TableScan [TS_40] (rows=144002668 width=119)
                                           default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_bill_addr_sk","ws_ext_sales_price"]
-                                        <-Reducer 31 [BROADCAST_EDGE] vectorized
-                                          BROADCAST [RS_534]
-                                            Group By Operator [GBY_533] (rows=1 width=12)
+                                        <-Reducer 17 [BROADCAST_EDGE] vectorized
+                                          BROADCAST [RS_511]
+                                            Group By Operator [GBY_510] (rows=1 width=12)
                                               Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
                                             <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
-                                              PARTITION_ONLY_SHUFFLE [RS_486]
-                                                Group By Operator [GBY_480] (rows=1 width=12)
+                                              PARTITION_ONLY_SHUFFLE [RS_483]
+                                                Group By Operator [GBY_477] (rows=1 width=12)
                                                   Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                  Select Operator [SEL_474] (rows=130 width=4)
+                                                  Select Operator [SEL_468] (rows=130 width=4)
                                                     Output:["_col0"]
-                                                     Please refer to the previous Select Operator [SEL_462]
-            <-Reducer 6 [ONE_TO_ONE_EDGE]
-              FORWARD [RS_133]
-                PartitionCols:_col0
-                Merge Join Operator [MERGEJOIN_447] (rows=1605 width=442)
-                  Conds:RS_130._col0=RS_517._col0(Inner),Output:["_col0","_col1","_col2","_col4","_col5","_col7"]
-                <-Reducer 16 [ONE_TO_ONE_EDGE] vectorized
-                  FORWARD [RS_517]
-                    PartitionCols:_col0
-                    Group By Operator [GBY_516] (rows=1605 width=210)
-                      Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
-                    <-Reducer 15 [SIMPLE_EDGE]
-                      SHUFFLE [RS_57]
-                        PartitionCols:_col0
-                        Group By Operator [GBY_56] (rows=33705 width=210)
-                          Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col5
-                          Merge Join Operator [MERGEJOIN_439] (rows=37399561 width=139)
-                            Conds:RS_52._col1=RS_496._col0(Inner),Output:["_col2","_col5"]
-                          <-Map 32 [SIMPLE_EDGE] vectorized
-                            SHUFFLE [RS_496]
-                              PartitionCols:_col0
-                               Please refer to the previous Select Operator [SEL_493]
-                          <-Reducer 14 [SIMPLE_EDGE]
-                            SHUFFLE [RS_52]
-                              PartitionCols:_col1
-                              Merge Join Operator [MERGEJOIN_438] (rows=37399561 width=42)
-                                Conds:RS_515._col0=RS_467._col0(Inner),Output:["_col1","_col2"]
-                              <-Map 8 [SIMPLE_EDGE] vectorized
-                                PARTITION_ONLY_SHUFFLE [RS_467]
-                                  PartitionCols:_col0
-                                  Select Operator [SEL_459] (rows=130 width=4)
-                                    Output:["_col0"]
-                                    Filter Operator [FIL_453] (rows=130 width=12)
-                                      predicate:((d_qoy = 3) and (d_year = 2000))
-                                       Please refer to the previous TableScan [TS_3]
-                              <-Map 34 [SIMPLE_EDGE] vectorized
-                                SHUFFLE [RS_515]
-                                  PartitionCols:_col0
-                                  Select Operator [SEL_514] (rows=525327191 width=114)
-                                    Output:["_col0","_col1","_col2"]
-                                    Filter Operator [FIL_513] (rows=525327191 width=114)
-                                      predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_50_date_dim_d_date_sk_min) AND DynamicValue(RS_50_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_50_date_dim_d_date_sk_bloom_filter))) and ss_addr_sk is not null and ss_sold_date_sk is not null)
-                                      TableScan [TS_40] (rows=575995635 width=114)
-                                        default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_addr_sk","ss_ext_sales_price"]
-                                      <-Reducer 17 [BROADCAST_EDGE] vectorized
-                                        BROADCAST [RS_512]
-                                          Group By Operator [GBY_511] (rows=1 width=12)
-                                            Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                          <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
-                                            PARTITION_ONLY_SHUFFLE [RS_483]
-                                              Group By Operator [GBY_477] (rows=1 width=12)
-                                                Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                Select Operator [SEL_468] (rows=130 width=4)
-                                                  Output:["_col0"]
-                                                   Please refer to the previous Select Operator [SEL_459]
+                                                     Please refer to the previous Select Operator [SEL_459]
                 <-Reducer 5 [ONE_TO_ONE_EDGE]
                   FORWARD [RS_130]
                     PartitionCols:_col0
-                    Merge Join Operator [MERGEJOIN_446] (rows=1605 width=330)
-                      Conds:RS_502._col0=RS_510._col0(Inner),Output:["_col0","_col1","_col2","_col4","_col5"]
+                    Merge Join Operator [MERGEJOIN_446] (rows=440 width=326)
+                      Conds:RS_502._col0=RS_509._col0(Inner),Output:["_col0","_col1","_col2","_col4"]
                     <-Reducer 12 [ONE_TO_ONE_EDGE] vectorized
-                      FORWARD [RS_510]
+                      FORWARD [RS_509]
                         PartitionCols:_col0
-                        Select Operator [SEL_509] (rows=1605 width=214)
-                          Output:["_col0","_col1","_col2"]
-                          Group By Operator [GBY_508] (rows=1605 width=210)
-                            Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
-                          <-Reducer 11 [SIMPLE_EDGE]
-                            SHUFFLE [RS_37]
-                              PartitionCols:_col0
-                              Group By Operator [GBY_36] (rows=33705 width=210)
-                                Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col5
-                                Merge Join Operator [MERGEJOIN_437] (rows=37399561 width=139)
-                                  Conds:RS_32._col1=RS_495._col0(Inner),Output:["_col2","_col5"]
-                                <-Map 32 [SIMPLE_EDGE] vectorized
-                                  SHUFFLE [RS_495]
-                                    PartitionCols:_col0
-                                     Please refer to the previous Select Operator [SEL_493]
-                                <-Reducer 10 [SIMPLE_EDGE]
-                                  SHUFFLE [RS_32]
-                                    PartitionCols:_col1
-                                    Merge Join Operator [MERGEJOIN_436] (rows=37399561 width=42)
-                                      Conds:RS_507._col0=RS_465._col0(Inner),Output:["_col1","_col2"]
-                                    <-Map 8 [SIMPLE_EDGE] vectorized
-                                      PARTITION_ONLY_SHUFFLE [RS_465]
-                                        PartitionCols:_col0
-                                        Select Operator [SEL_458] (rows=130 width=4)
-                                          Output:["_col0"]
-                                          Filter Operator [FIL_452] (rows=130 width=12)
-                                            predicate:((d_qoy = 1) and (d_year = 2000))
-                                             Please refer to the previous TableScan [TS_3]
-                                    <-Map 33 [SIMPLE_EDGE] vectorized
-                                      SHUFFLE [RS_507]
-                                        PartitionCols:_col0
-                                        Select Operator [SEL_506] (rows=525327191 width=114)
-                                          Output:["_col0","_col1","_col2"]
-                                          Filter Operator [FIL_505] (rows=525327191 width=114)
-                                            predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_30_date_dim_d_date_sk_min) AND DynamicValue(RS_30_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_30_date_dim_d_date_sk_bloom_filter))) and ss_addr_sk is not null and ss_sold_date_sk is not null)
-                                            TableScan [TS_20] (rows=575995635 width=114)
-                                              default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_addr_sk","ss_ext_sales_price"]
-                                            <-Reducer 13 [BROADCAST_EDGE] vectorized
-                                              BROADCAST [RS_504]
-                                                Group By Operator [GBY_503] (rows=1 width=12)
-                                                  Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
-                                                  PARTITION_ONLY_SHUFFLE [RS_482]
-                                                    Group By Operator [GBY_476] (rows=1 width=12)
-                                                      Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                      Select Operator [SEL_466] (rows=130 width=4)
-                                                        Output:["_col0"]
-                                                         Please refer to the previous Select Operator [SEL_458]
+                        Group By Operator [GBY_508] (rows=440 width=210)
+                          Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
+                        <-Reducer 11 [SIMPLE_EDGE]
+                          SHUFFLE [RS_37]
+                            PartitionCols:_col0
+                            Group By Operator [GBY_36] (rows=3960 width=210)
+                              Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col5
+                              Merge Join Operator [MERGEJOIN_437] (rows=10246882 width=209)
+                                Conds:RS_32._col1=RS_495._col0(Inner),Output:["_col2","_col5"]
+                              <-Map 32 [SIMPLE_EDGE] vectorized
+                                SHUFFLE [RS_495]
+                                  PartitionCols:_col0
+                                   Please refer to the previous Select Operator [SEL_493]
+                              <-Reducer 10 [SIMPLE_EDGE]
+                                SHUFFLE [RS_32]
+                                  PartitionCols:_col1
+                                  Merge Join Operator [MERGEJOIN_436] (rows=10246882 width=115)
+                                    Conds:RS_507._col0=RS_465._col0(Inner),Output:["_col1","_col2"]
+                                  <-Map 8 [SIMPLE_EDGE] vectorized
+                                    PARTITION_ONLY_SHUFFLE [RS_465]
+                                      PartitionCols:_col0
+                                      Select Operator [SEL_458] (rows=130 width=4)
+                                        Output:["_col0"]
+                                        Filter Operator [FIL_452] (rows=130 width=12)
+                                          predicate:((d_qoy = 3) and (d_year = 2000))
+                                           Please refer to the previous TableScan [TS_3]
+                                  <-Map 33 [SIMPLE_EDGE] vectorized
+                                    SHUFFLE [RS_507]
+                                      PartitionCols:_col0
+                                      Select Operator [SEL_506] (rows=143931246 width=119)
+                                        Output:["_col0","_col1","_col2"]
+                                        Filter Operator [FIL_505] (rows=143931246 width=119)
+                                          predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_30_date_dim_d_date_sk_min) AND DynamicValue(RS_30_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_30_date_dim_d_date_sk_bloom_filter))) and ws_bill_addr_sk is not null and ws_sold_date_sk is not null)
+                                          TableScan [TS_20] (rows=144002668 width=119)
+                                            default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_bill_addr_sk","ws_ext_sales_price"]
+                                          <-Reducer 13 [BROADCAST_EDGE] vectorized
+                                            BROADCAST [RS_504]
+                                              Group By Operator [GBY_503] (rows=1 width=12)
+                                                Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                              <-Map 8 [CUSTOM_SIMPLE_EDGE] vectorized
+                                                PARTITION_ONLY_SHUFFLE [RS_482]
+                                                  Group By Operator [GBY_476] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                    Select Operator [SEL_466] (rows=130 width=4)
+                                                      Output:["_col0"]
+                                                       Please refer to the previous Select Operator [SEL_458]
                     <-Reducer 4 [ONE_TO_ONE_EDGE] vectorized
                       FORWARD [RS_502]
                         PartitionCols:_col0
-                        Select Operator [SEL_501] (rows=1605 width=214)
+                        Select Operator [SEL_501] (rows=440 width=214)
                           Output:["_col0","_col1","_col2"]
-                          Group By Operator [GBY_500] (rows=1605 width=210)
+                          Group By Operator [GBY_500] (rows=440 width=210)
                             Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
                           <-Reducer 3 [SIMPLE_EDGE]
                             SHUFFLE [RS_17]
                               PartitionCols:_col0
-                              Group By Operator [GBY_16] (rows=33705 width=210)
+                              Group By Operator [GBY_16] (rows=3960 width=210)
                                 Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col5
-                                Merge Join Operator [MERGEJOIN_435] (rows=37399561 width=139)
+                                Merge Join Operator [MERGEJOIN_435] (rows=10246882 width=209)
                                   Conds:RS_12._col1=RS_494._col0(Inner),Output:["_col2","_col5"]
                                 <-Map 32 [SIMPLE_EDGE] vectorized
                                   SHUFFLE [RS_494]
@@ -459,7 +455,7 @@ Stage-0
                                 <-Reducer 2 [SIMPLE_EDGE]
                                   SHUFFLE [RS_12]
                                     PartitionCols:_col1
-                                    Merge Join Operator [MERGEJOIN_434] (rows=37399561 width=42)
+                                    Merge Join Operator [MERGEJOIN_434] (rows=10246882 width=115)
                                       Conds:RS_491._col0=RS_463._col0(Inner),Output:["_col1","_col2"]
                                     <-Map 8 [SIMPLE_EDGE] vectorized
                                       PARTITION_ONLY_SHUFFLE [RS_463]
@@ -467,17 +463,17 @@ Stage-0
                                         Select Operator [SEL_457] (rows=130 width=4)
                                           Output:["_col0"]
                                           Filter Operator [FIL_451] (rows=130 width=12)
-                                            predicate:((d_qoy = 2) and (d_year = 2000))
+                                            predicate:((d_qoy = 1) and (d_year = 2000))
                                              Please refer to the previous TableScan [TS_3]
                                     <-Map 1 [SIMPLE_EDGE] vectorized
                                       SHUFFLE [RS_491]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_490] (rows=525327191 width=114)
+                                        Select Operator [SEL_490] (rows=143931246 width=119)
                                           Output:["_col0","_col1","_col2"]
-                                          Filter Operator [FIL_489] (rows=525327191 width=114)
-                                            predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_10_date_dim_d_date_sk_min) AND DynamicValue(RS_10_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_10_date_dim_d_date_sk_bloom_filter))) and ss_addr_sk is not null and ss_sold_date_sk is not null)
-                                            TableScan [TS_0] (rows=575995635 width=114)
-                                              default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_addr_sk","ss_ext_sales_price"]
+                                          Filter Operator [FIL_489] (rows=143931246 width=119)
+                                            predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_10_date_dim_d_date_sk_min) AND DynamicValue(RS_10_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_10_date_dim_d_date_sk_bloom_filter))) and ws_bill_addr_sk is not null and ws_sold_date_sk is not null)
+                                            TableScan [TS_0] (rows=144002668 width=119)
+                                              default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_bill_addr_sk","ws_ext_sales_price"]
                                             <-Reducer 9 [BROADCAST_EDGE] vectorized
                                               BROADCAST [RS_488]
                                                 Group By Operator [GBY_487] (rows=1 width=12)

http://git-wip-us.apache.org/repos/asf/hive/blob/f4a48fdb/ql/src/test/results/clientpositive/perf/tez/constraints/query4.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query4.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query4.q.out
index 7291c14..2f8ab17 100644
--- a/ql/src/test/results/clientpositive/perf/tez/constraints/query4.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query4.q.out
@@ -280,10 +280,10 @@ Stage-0
             SHUFFLE [RS_135]
               Select Operator [SEL_134] (rows=7323197 width=85)
                 Output:["_col0"]
-                Filter Operator [FIL_133] (rows=7323197 width=541)
-                  predicate:CASE WHEN (_col4) THEN (CASE WHEN (_col10) THEN (((_col12 / _col9) > (_col15 / _col3))) ELSE ((null > (_col15 / _col3))) END) ELSE (CASE WHEN (_col10) THEN (((_col12 / _col9) > null)) ELSE (null) END) END
-                  Merge Join Operator [MERGEJOIN_466] (rows=14646395 width=541)
-                    Conds:RS_130._col2=RS_547._col0(Inner),Output:["_col3","_col4","_col9","_col10","_col12","_col14","_col15"]
+                Filter Operator [FIL_133] (rows=7323197 width=537)
+                  predicate:CASE WHEN (_col3 is not null) THEN (CASE WHEN (_col9) THEN (((_col11 / _col8) > (_col14 / _col3))) ELSE ((null > (_col14 / _col3))) END) ELSE (CASE WHEN (_col9) THEN (((_col11 / _col8) > null)) ELSE (null) END) END
+                  Merge Join Operator [MERGEJOIN_466] (rows=14646395 width=537)
+                    Conds:RS_130._col2=RS_547._col0(Inner),Output:["_col3","_col8","_col9","_col11","_col13","_col14"]
                   <-Reducer 30 [SIMPLE_EDGE] vectorized
                     SHUFFLE [RS_547]
                       PartitionCols:_col0
@@ -342,10 +342,10 @@ Stage-0
                   <-Reducer 8 [ONE_TO_ONE_EDGE]
                     FORWARD [RS_130]
                       PartitionCols:_col2
-                      Filter Operator [FIL_129] (rows=12248093 width=672)
-                        predicate:CASE WHEN (_col7) THEN (CASE WHEN (_col10) THEN (((_col12 / _col9) > (_col1 / _col6))) ELSE ((null > (_col1 / _col6))) END) ELSE (CASE WHEN (_col10) THEN (((_col12 / _col9) > null)) ELSE (null) END) END
-                        Merge Join Operator [MERGEJOIN_465] (rows=24496186 width=672)
-                          Conds:RS_126._col2=RS_541._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col6","_col7","_col9","_col10","_col12"]
+                      Filter Operator [FIL_129] (rows=12248093 width=668)
+                        predicate:CASE WHEN (_col6) THEN (CASE WHEN (_col9) THEN (((_col11 / _col8) > (_col1 / _col5))) ELSE ((null > (_col1 / _col5))) END) ELSE (CASE WHEN (_col9) THEN (((_col11 / _col8) > null)) ELSE (null) END) END
+                        Merge Join Operator [MERGEJOIN_465] (rows=24496186 width=668)
+                          Conds:RS_126._col2=RS_541._col0(Inner),Output:["_col1","_col2","_col3","_col5","_col6","_col8","_col9","_col11"]
                         <-Reducer 26 [SIMPLE_EDGE] vectorized
                           SHUFFLE [RS_541]
                             PartitionCols:_col0
@@ -396,8 +396,8 @@ Stage-0
                         <-Reducer 7 [ONE_TO_ONE_EDGE]
                           FORWARD [RS_126]
                             PartitionCols:_col2
-                            Merge Join Operator [MERGEJOIN_464] (rows=20485011 width=560)
-                              Conds:RS_123._col2=RS_535._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col6","_col7","_col9","_col10"]
+                            Merge Join Operator [MERGEJOIN_464] (rows=20485011 width=556)
+                              Conds:RS_123._col2=RS_535._col0(Inner),Output:["_col1","_col2","_col3","_col5","_col6","_col8","_col9"]
                             <-Reducer 22 [SIMPLE_EDGE] vectorized
                               SHUFFLE [RS_535]
                                 PartitionCols:_col0
@@ -456,8 +456,8 @@ Stage-0
                             <-Reducer 6 [ONE_TO_ONE_EDGE]
                               FORWARD [RS_123]
                                 PartitionCols:_col2
-                                Merge Join Operator [MERGEJOIN_463] (rows=20485011 width=444)
-                                  Conds:RS_120._col2=RS_527._col0(Inner),Output:["_col1","_col2","_col3","_col4","_col6","_col7"]
+                                Merge Join Operator [MERGEJOIN_463] (rows=20485011 width=440)
+                                  Conds:RS_120._col2=RS_527._col0(Inner),Output:["_col1","_col2","_col3","_col5","_col6"]
                                 <-Reducer 18 [SIMPLE_EDGE] vectorized
                                   SHUFFLE [RS_527]
                                     PartitionCols:_col0
@@ -516,13 +516,13 @@ Stage-0
                                 <-Reducer 5 [ONE_TO_ONE_EDGE]
                                   FORWARD [RS_120]
                                     PartitionCols:_col2
-                                    Merge Join Operator [MERGEJOIN_462] (rows=31888273 width=328)
-                                      Conds:RS_511._col0=RS_519._col0(Inner),Output:["_col1","_col2","_col3","_col4"]
+                                    Merge Join Operator [MERGEJOIN_462] (rows=31888273 width=324)
+                                      Conds:RS_511._col0=RS_519._col0(Inner),Output:["_col1","_col2","_col3"]
                                     <-Reducer 14 [SIMPLE_EDGE] vectorized
                                       SHUFFLE [RS_519]
                                         PartitionCols:_col0
-                                        Select Operator [SEL_518] (rows=26666666 width=216)
-                                          Output:["_col0","_col1","_col2"]
+                                        Select Operator [SEL_518] (rows=26666666 width=212)
+                                          Output:["_col0","_col1"]
                                           Filter Operator [FIL_517] (rows=26666666 width=212)
                                             predicate:(_col7 > 0)
                                             Select Operator [SEL_516] (rows=80000000 width=212)

http://git-wip-us.apache.org/repos/asf/hive/blob/f4a48fdb/ql/src/test/results/clientpositive/perf/tez/constraints/query44.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query44.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query44.q.out
index 13b0936..3fd361a 100644
--- a/ql/src/test/results/clientpositive/perf/tez/constraints/query44.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query44.q.out
@@ -129,7 +129,7 @@ Stage-0
                                 SHUFFLE [RS_21]
                                   PartitionCols:0
                                   Filter Operator [FIL_20] (rows=20854 width=228)
-                                    predicate:(_col1 > _col2)
+                                    predicate:(_col1 > (0.9 * _col2))
                                     Merge Join Operator [MERGEJOIN_101] (rows=62562 width=228)
                                       Conds:(Inner),Output:["_col0","_col1","_col2"]
                                     <-Reducer 12 [CUSTOM_SIMPLE_EDGE] vectorized

http://git-wip-us.apache.org/repos/asf/hive/blob/f4a48fdb/ql/src/test/results/clientpositive/perf/tez/constraints/query58.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query58.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query58.q.out
index ac9e412..61342fa 100644
--- a/ql/src/test/results/clientpositive/perf/tez/constraints/query58.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query58.q.out
@@ -171,25 +171,25 @@ Stage-0
     limit:100
     Stage-1
       Reducer 7 vectorized
-      File Output Operator [FS_466]
-        Limit [LIM_465] (rows=1 width=884)
+      File Output Operator [FS_464]
+        Limit [LIM_463] (rows=1 width=884)
           Number of rows:100
-          Select Operator [SEL_464] (rows=1 width=884)
+          Select Operator [SEL_462] (rows=1 width=884)
             Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
           <-Reducer 6 [SIMPLE_EDGE]
             SHUFFLE [RS_160]
               Select Operator [SEL_159] (rows=1 width=884)
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
-                Filter Operator [FIL_155] (rows=1 width=1108)
-                  predicate:(_col1 BETWEEN _col10 AND _col11 and _col5 BETWEEN _col10 AND _col11 and _col9 BETWEEN _col2 AND _col3 and _col9 BETWEEN _col6 AND _col7)
-                  Merge Join Operator [MERGEJOIN_416] (rows=1 width=1108)
-                    Conds:RS_152._col0=RS_463._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col5","_col6","_col7","_col9","_col10","_col11"]
+                Filter Operator [FIL_155] (rows=1 width=660)
+                  predicate:(_col1 BETWEEN _col6 AND _col7 and _col3 BETWEEN _col6 AND _col7 and _col5 BETWEEN (0.9 * _col1) AND (1.1 * _col1) and _col5 BETWEEN (0.9 * _col3) AND (1.1 * _col3))
+                  Merge Join Operator [MERGEJOIN_416] (rows=1 width=660)
+                    Conds:RS_152._col0=RS_461._col0(Inner),Output:["_col0","_col1","_col3","_col5","_col6","_col7"]
                   <-Reducer 14 [ONE_TO_ONE_EDGE] vectorized
-                    FORWARD [RS_463]
+                    FORWARD [RS_461]
                       PartitionCols:_col0
-                      Select Operator [SEL_462] (rows=69 width=436)
+                      Select Operator [SEL_460] (rows=69 width=436)
                         Output:["_col0","_col1","_col2","_col3"]
-                        Group By Operator [GBY_461] (rows=69 width=212)
+                        Group By Operator [GBY_459] (rows=69 width=212)
                           Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
                         <-Reducer 13 [SIMPLE_EDGE]
                           SHUFFLE [RS_144]
@@ -265,7 +265,7 @@ Stage-0
                                 SHUFFLE [RS_139]
                                   PartitionCols:_col0
                                   Merge Join Operator [MERGEJOIN_408] (rows=143966864 width=215)
-                                    Conds:RS_460._col1=RS_444._col0(Inner),Output:["_col0","_col2","_col4"]
+                                    Conds:RS_458._col1=RS_444._col0(Inner),Output:["_col0","_col2","_col4"]
                                   <-Map 8 [SIMPLE_EDGE] vectorized
                                     SHUFFLE [RS_444]
                                       PartitionCols:_col0
@@ -274,17 +274,17 @@ Stage-0
                                         TableScan [TS_3] (rows=462000 width=104)
                                           default@item,item,Tbl:COMPLETE,Col:COMPLETE,Output:["i_item_sk","i_item_id"]
                                   <-Map 27 [SIMPLE_EDGE] vectorized
-                                    SHUFFLE [RS_460]
+                                    SHUFFLE [RS_458]
                                       PartitionCols:_col1
-                                      Select Operator [SEL_459] (rows=143966864 width=119)
+                                      Select Operator [SEL_457] (rows=143966864 width=119)
                                         Output:["_col0","_col1","_col2"]
-                                        Filter Operator [FIL_458] (rows=143966864 width=119)
+                                        Filter Operator [FIL_456] (rows=143966864 width=119)
                                           predicate:((ws_sold_date_sk BETWEEN DynamicValue(RS_140_date_dim_d_date_sk_min) AND DynamicValue(RS_140_date_dim_d_date_sk_max) and in_bloom_filter(ws_sold_date_sk, DynamicValue(RS_140_date_dim_d_date_sk_bloom_filter))) and ws_sold_date_sk is not null)
                                           TableScan [TS_98] (rows=144002668 width=119)
                                             default@web_sales,web_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ws_sold_date_sk","ws_item_sk","ws_ext_sales_price"]
                                           <-Reducer 19 [BROADCAST_EDGE] vectorized
-                                            BROADCAST [RS_457]
-                                              Group By Operator [GBY_456] (rows=1 width=12)
+                                            BROADCAST [RS_455]
+                                              Group By Operator [GBY_454] (rows=1 width=12)
                                                 Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
                                               <-Reducer 16 [CUSTOM_SIMPLE_EDGE]
                                                 SHUFFLE [RS_360]
@@ -296,102 +296,98 @@ Stage-0
                   <-Reducer 5 [ONE_TO_ONE_EDGE]
                     FORWARD [RS_152]
                       PartitionCols:_col0
-                      Filter Operator [FIL_150] (rows=1 width=772)
-                        predicate:(_col1 BETWEEN _col6 AND _col7 and _col5 BETWEEN _col2 AND _col3)
-                        Merge Join Operator [MERGEJOIN_415] (rows=68 width=772)
-                          Conds:RS_447._col0=RS_455._col0(Inner),Output:["_col0","_col1","_col2","_col3","_col5","_col6","_col7"]
+                      Filter Operator [FIL_150] (rows=1 width=324)
+                        predicate:(_col1 BETWEEN (0.9 * _col3) AND (1.1 * _col3) and _col3 BETWEEN (0.9 * _col1) AND (1.1 * _col1))
+                        Merge Join Operator [MERGEJOIN_415] (rows=68 width=324)
+                          Conds:RS_446._col0=RS_453._col0(Inner),Output:["_col0","_col1","_col3"]
                         <-Reducer 11 [ONE_TO_ONE_EDGE] vectorized
-                          FORWARD [RS_455]
+                          FORWARD [RS_453]
                             PartitionCols:_col0
-                            Select Operator [SEL_454] (rows=69 width=436)
-                              Output:["_col0","_col1","_col2","_col3"]
-                              Group By Operator [GBY_453] (rows=69 width=212)
-                                Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
-                              <-Reducer 10 [SIMPLE_EDGE]
-                                SHUFFLE [RS_95]
-                                  PartitionCols:_col0
-                                  Group By Operator [GBY_94] (rows=69 width=212)
-                                    Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col4
-                                    Merge Join Operator [MERGEJOIN_413] (rows=120498 width=100)
-                                      Conds:RS_90._col0=RS_91._col0(Inner),Output:["_col2","_col4"]
-                                    <-Reducer 16 [SIMPLE_EDGE]
-                                      SHUFFLE [RS_91]
-                                        PartitionCols:_col0
-                                         Please refer to the previous Merge Join Operator [MERGEJOIN_403]
-                                    <-Reducer 9 [SIMPLE_EDGE]
-                                      SHUFFLE [RS_90]
-                                        PartitionCols:_col0
-                                        Merge Join Operator [MERGEJOIN_404] (rows=550076554 width=210)
-                                          Conds:RS_452._col1=RS_443._col0(Inner),Output:["_col0","_col2","_col4"]
-                                        <-Map 8 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_443]
-                                            PartitionCols:_col0
-                                             Please refer to the previous Select Operator [SEL_441]
-                                        <-Map 26 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_452]
-                                            PartitionCols:_col1
-                                            Select Operator [SEL_451] (rows=550076554 width=114)
-                                              Output:["_col0","_col1","_col2"]
-                                              Filter Operator [FIL_450] (rows=550076554 width=114)
-                                                predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_91_date_dim_d_date_sk_min) AND DynamicValue(RS_91_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_91_date_dim_d_date_sk_bloom_filter))) and ss_sold_date_sk is not null)
-                                                TableScan [TS_49] (rows=575995635 width=114)
-                                                  default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk","ss_ext_sales_price"]
-                                                <-Reducer 18 [BROADCAST_EDGE] vectorized
-                                                  BROADCAST [RS_449]
-                                                    Group By Operator [GBY_448] (rows=1 width=12)
-                                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                    <-Reducer 16 [CUSTOM_SIMPLE_EDGE]
-                                                      SHUFFLE [RS_314]
-                                                        Group By Operator [GBY_313] (rows=1 width=12)
-                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                          Select Operator [SEL_312] (rows=2 width=4)
-                                                            Output:["_col0"]
-                                                             Please refer to the previous Merge Join Operator [MERGEJOIN_403]
+                            Group By Operator [GBY_452] (rows=69 width=212)
+                              Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
+                            <-Reducer 10 [SIMPLE_EDGE]
+                              SHUFFLE [RS_95]
+                                PartitionCols:_col0
+                                Group By Operator [GBY_94] (rows=69 width=212)
+                                  Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col4
+                                  Merge Join Operator [MERGEJOIN_413] (rows=120498 width=100)
+                                    Conds:RS_90._col0=RS_91._col0(Inner),Output:["_col2","_col4"]
+                                  <-Reducer 16 [SIMPLE_EDGE]
+                                    SHUFFLE [RS_91]
+                                      PartitionCols:_col0
+                                       Please refer to the previous Merge Join Operator [MERGEJOIN_403]
+                                  <-Reducer 9 [SIMPLE_EDGE]
+                                    SHUFFLE [RS_90]
+                                      PartitionCols:_col0
+                                      Merge Join Operator [MERGEJOIN_404] (rows=550076554 width=210)
+                                        Conds:RS_451._col1=RS_443._col0(Inner),Output:["_col0","_col2","_col4"]
+                                      <-Map 8 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_443]
+                                          PartitionCols:_col0
+                                           Please refer to the previous Select Operator [SEL_441]
+                                      <-Map 26 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_451]
+                                          PartitionCols:_col1
+                                          Select Operator [SEL_450] (rows=550076554 width=114)
+                                            Output:["_col0","_col1","_col2"]
+                                            Filter Operator [FIL_449] (rows=550076554 width=114)
+                                              predicate:((ss_sold_date_sk BETWEEN DynamicValue(RS_91_date_dim_d_date_sk_min) AND DynamicValue(RS_91_date_dim_d_date_sk_max) and in_bloom_filter(ss_sold_date_sk, DynamicValue(RS_91_date_dim_d_date_sk_bloom_filter))) and ss_sold_date_sk is not null)
+                                              TableScan [TS_49] (rows=575995635 width=114)
+                                                default@store_sales,store_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["ss_sold_date_sk","ss_item_sk","ss_ext_sales_price"]
+                                              <-Reducer 18 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_448]
+                                                  Group By Operator [GBY_447] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Reducer 16 [CUSTOM_SIMPLE_EDGE]
+                                                    SHUFFLE [RS_314]
+                                                      Group By Operator [GBY_313] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_312] (rows=2 width=4)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Merge Join Operator [MERGEJOIN_403]
                         <-Reducer 4 [ONE_TO_ONE_EDGE] vectorized
-                          FORWARD [RS_447]
+                          FORWARD [RS_446]
                             PartitionCols:_col0
-                            Select Operator [SEL_446] (rows=68 width=436)
-                              Output:["_col0","_col1","_col2","_col3"]
-                              Group By Operator [GBY_445] (rows=68 width=212)
-                                Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
-                              <-Reducer 3 [SIMPLE_EDGE]
-                                SHUFFLE [RS_46]
-                                  PartitionCols:_col0
-                                  Group By Operator [GBY_45] (rows=68 width=212)
-                                    Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col4
-                                    Merge Join Operator [MERGEJOIN_412] (rows=62327 width=100)
-                                      Conds:RS_41._col0=RS_42._col0(Inner),Output:["_col2","_col4"]
-                                    <-Reducer 16 [SIMPLE_EDGE]
-                                      SHUFFLE [RS_42]
-                                        PartitionCols:_col0
-                                         Please refer to the previous Merge Join Operator [MERGEJOIN_403]
-                                    <-Reducer 2 [SIMPLE_EDGE]
-                                      SHUFFLE [RS_41]
-                                        PartitionCols:_col0
-                                        Merge Join Operator [MERGEJOIN_400] (rows=286549727 width=215)
-                                          Conds:RS_440._col1=RS_442._col0(Inner),Output:["_col0","_col2","_col4"]
-                                        <-Map 8 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_442]
-                                            PartitionCols:_col0
-                                             Please refer to the previous Select Operator [SEL_441]
-                                        <-Map 1 [SIMPLE_EDGE] vectorized
-                                          SHUFFLE [RS_440]
-                                            PartitionCols:_col1
-                                            Select Operator [SEL_439] (rows=286549727 width=119)
-                                              Output:["_col0","_col1","_col2"]
-                                              Filter Operator [FIL_438] (rows=286549727 width=119)
-                                                predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_42_date_dim_d_date_sk_min) AND DynamicValue(RS_42_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_42_date_dim_d_date_sk_bloom_filter))) and cs_sold_date_sk is not null)
-                                                TableScan [TS_0] (rows=287989836 width=119)
-                                                  default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_item_sk","cs_ext_sales_price"]
-                                                <-Reducer 17 [BROADCAST_EDGE] vectorized
-                                                  BROADCAST [RS_437]
-                                                    Group By Operator [GBY_436] (rows=1 width=12)
-                                                      Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
-                                                    <-Reducer 16 [CUSTOM_SIMPLE_EDGE]
-                                                      SHUFFLE [RS_264]
-                                                        Group By Operator [GBY_263] (rows=1 width=12)
-                                                          Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
-                                                          Select Operator [SEL_262] (rows=2 width=4)
-                                                            Output:["_col0"]
-                                                             Please refer to the previous Merge Join Operator [MERGEJOIN_403]
+                            Group By Operator [GBY_445] (rows=68 width=212)
+                              Output:["_col0","_col1"],aggregations:["sum(VALUE._col0)"],keys:KEY._col0
+                            <-Reducer 3 [SIMPLE_EDGE]
+                              SHUFFLE [RS_46]
+                                PartitionCols:_col0
+                                Group By Operator [GBY_45] (rows=68 width=212)
+                                  Output:["_col0","_col1"],aggregations:["sum(_col2)"],keys:_col4
+                                  Merge Join Operator [MERGEJOIN_412] (rows=62327 width=100)
+                                    Conds:RS_41._col0=RS_42._col0(Inner),Output:["_col2","_col4"]
+                                  <-Reducer 16 [SIMPLE_EDGE]
+                                    SHUFFLE [RS_42]
+                                      PartitionCols:_col0
+                                       Please refer to the previous Merge Join Operator [MERGEJOIN_403]
+                                  <-Reducer 2 [SIMPLE_EDGE]
+                                    SHUFFLE [RS_41]
+                                      PartitionCols:_col0
+                                      Merge Join Operator [MERGEJOIN_400] (rows=286549727 width=215)
+                                        Conds:RS_440._col1=RS_442._col0(Inner),Output:["_col0","_col2","_col4"]
+                                      <-Map 8 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_442]
+                                          PartitionCols:_col0
+                                           Please refer to the previous Select Operator [SEL_441]
+                                      <-Map 1 [SIMPLE_EDGE] vectorized
+                                        SHUFFLE [RS_440]
+                                          PartitionCols:_col1
+                                          Select Operator [SEL_439] (rows=286549727 width=119)
+                                            Output:["_col0","_col1","_col2"]
+                                            Filter Operator [FIL_438] (rows=286549727 width=119)
+                                              predicate:((cs_sold_date_sk BETWEEN DynamicValue(RS_42_date_dim_d_date_sk_min) AND DynamicValue(RS_42_date_dim_d_date_sk_max) and in_bloom_filter(cs_sold_date_sk, DynamicValue(RS_42_date_dim_d_date_sk_bloom_filter))) and cs_sold_date_sk is not null)
+                                              TableScan [TS_0] (rows=287989836 width=119)
+                                                default@catalog_sales,catalog_sales,Tbl:COMPLETE,Col:COMPLETE,Output:["cs_sold_date_sk","cs_item_sk","cs_ext_sales_price"]
+                                              <-Reducer 17 [BROADCAST_EDGE] vectorized
+                                                BROADCAST [RS_437]
+                                                  Group By Operator [GBY_436] (rows=1 width=12)
+                                                    Output:["_col0","_col1","_col2"],aggregations:["min(VALUE._col0)","max(VALUE._col1)","bloom_filter(VALUE._col2, expectedEntries=1000000)"]
+                                                  <-Reducer 16 [CUSTOM_SIMPLE_EDGE]
+                                                    SHUFFLE [RS_264]
+                                                      Group By Operator [GBY_263] (rows=1 width=12)
+                                                        Output:["_col0","_col1","_col2"],aggregations:["min(_col0)","max(_col0)","bloom_filter(_col0, expectedEntries=1000000)"]
+                                                        Select Operator [SEL_262] (rows=2 width=4)
+                                                          Output:["_col0"]
+                                                           Please refer to the previous Merge Join Operator [MERGEJOIN_403]
 

http://git-wip-us.apache.org/repos/asf/hive/blob/f4a48fdb/ql/src/test/results/clientpositive/perf/tez/constraints/query59.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/perf/tez/constraints/query59.q.out b/ql/src/test/results/clientpositive/perf/tez/constraints/query59.q.out
index 4e7c921..805fce4 100644
--- a/ql/src/test/results/clientpositive/perf/tez/constraints/query59.q.out
+++ b/ql/src/test/results/clientpositive/perf/tez/constraints/query59.q.out
@@ -121,10 +121,10 @@ Stage-0
               Select Operator [SEL_56] (rows=1012347 width=976)
                 Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col9"]
                 Merge Join Operator [MERGEJOIN_181] (rows=1012347 width=1648)
-                  Conds:RS_53._col11, _col0=RS_54._col0, _col7(Inner),Output:["_col0","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col11","_col12","_col14","_col15","_col16","_col17","_col18","_col19"]
+                  Conds:RS_53._col11, _col0=RS_54._col1, (_col0 - 52)(Inner),Output:["_col0","_col2","_col3","_col4","_col5","_col6","_col7","_col8","_col11","_col12","_col15","_col16","_col17","_col18","_col19","_col20"]
                 <-Reducer 11 [SIMPLE_EDGE]
                   SHUFFLE [RS_54]
-                    PartitionCols:_col0, _col7
+                    PartitionCols:_col1, (_col0 - 52)
                     Select Operator [SEL_46] (rows=28847 width=776)
                       Output:["_col0","_col1","_col2","_col3","_col4","_col5","_col6","_col7"]
                       Merge Join Operator [MERGEJOIN_180] (rows=28847 width=776)


Mime
View raw message