Gopal V created HIVE-12477: ------------------------------ Summary: CBO: Left Semijoins are incompatible with a cross-product Key: HIVE-12477 URL: https://issues.apache.org/jira/browse/HIVE-12477 Project: Hive Issue Type: Bug Components: CBO Affects Versions: 2.0.0 Reporter: Gopal V Assignee: Jesus Camacho Rodriguez
with HIVE-12017 in place, a few queries generate left sem-joins without a key. This is an invalid plan and can be produced by doing. {code} explain logical select count(1) from store_sales where ss_sold_date_sk in (select d_date_sk from date_dim where d_date_sk = 1); LOGICAL PLAN: $hdt$_0:$hdt$_0:$hdt$_0:store_sales TableScan (TS_0) alias: store_sales filterExpr: (ss_sold_date_sk = 1) (type: boolean) Filter Operator (FIL_20) predicate: (ss_sold_date_sk = 1) (type: boolean) Select Operator (SEL_2) Reduce Output Operator (RS_9) sort order: Join Operator (JOIN_11) condition map: Left Semi Join 0 to 1 keys: 0 1 Group By Operator (GBY_14) aggregations: count(1) mode: hash {code} without CBO {code} sq_1:date_dim TableScan (TS_1) alias: date_dim filterExpr: ((1) IN (RS[6]) and (d_date_sk = 1)) (type: boolean) Filter Operator (FIL_21) predicate: ((1) IN (RS[6]) and (d_date_sk = 1)) (type: boolean) Select Operator (SEL_3) expressions: 1 (type: int) outputColumnNames: _col0 Group By Operator (GBY_5) keys: _col0 (type: int) mode: hash outputColumnNames: _col0 Reduce Output Operator (RS_8) key expressions: _col0 (type: int) sort order: + Map-reduce partition columns: _col0 (type: int) Join Operator (JOIN_9) condition map: Left Semi Join 0 to 1 keys: 0 ss_sold_date_sk (type: int) 1 _col0 (type: int) Group By Operator (GBY_12) aggregations: count(1) mode: hash {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)