Index: ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcFactory.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcFactory.java (revision 1650214) +++ ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcFactory.java (working copy) @@ -893,16 +893,11 @@ ArrayList newPartExprs = new ArrayList(); for (ExprNodeDesc desc : rsDesc.getPartitionCols()) { ExprNodeDesc expr = foldExpr(desc, constants, cppCtx, op, 0, false); - if (expr instanceof ExprNodeConstantDesc || expr instanceof ExprNodeNullDesc) { - continue; + if (expr != desc && desc instanceof ExprNodeColumnDesc && expr instanceof ExprNodeColumnDesc) { + ((ExprNodeConstantDesc)expr).setFoldedFromCol(((ExprNodeColumnDesc)desc).getColumn()); } newPartExprs.add(expr); } - if (newPartExprs.isEmpty()) { - // If all partition columns are removed because of constant, insert an extra column to avoid - // random partitioning. - newPartExprs.add(new ExprNodeConstantDesc("")); - } rsDesc.setPartitionCols(newPartExprs); } @@ -929,7 +924,8 @@ if (tag == i + 1) return false; return true; - } else if (conds[i].getType() == JoinDesc.LEFT_OUTER_JOIN) { + } else if (conds[i].getType() == JoinDesc.LEFT_OUTER_JOIN + || conds[i].getType() == JoinDesc.LEFT_SEMI_JOIN) { if (tag == i + 1) return true; } Index: ql/src/test/queries/clientpositive/constprog_partitioner.q =================================================================== --- ql/src/test/queries/clientpositive/constprog_partitioner.q (revision 1650214) +++ ql/src/test/queries/clientpositive/constprog_partitioner.q (working copy) @@ -9,3 +9,16 @@ SELECT src1.key, src1.key + 1, src2.value FROM src src1 join src src2 ON src1.key = src2.key AND src1.key = 100; + +EXPLAIN +SELECT l_partkey, l_suppkey +FROM lineitem li +WHERE li.l_linenumber = 1 AND + li.l_orderkey IN (SELECT l_orderkey FROM lineitem WHERE l_shipmode = 'AIR' AND l_linenumber = li.l_linenumber) +; + +SELECT l_partkey, l_suppkey +FROM lineitem li +WHERE li.l_linenumber = 1 AND + li.l_orderkey IN (SELECT l_orderkey FROM lineitem WHERE l_shipmode = 'AIR' AND l_linenumber = li.l_linenumber) +; Index: ql/src/test/results/clientpositive/cluster.q.out =================================================================== --- ql/src/test/results/clientpositive/cluster.q.out (revision 1650214) +++ ql/src/test/results/clientpositive/cluster.q.out (working copy) @@ -25,7 +25,7 @@ Reduce Output Operator key expressions: '10' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '10' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: string) Reduce Operator Tree: @@ -83,7 +83,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '20' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: string) Reduce Operator Tree: @@ -141,7 +141,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '20' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: string) Reduce Operator Tree: @@ -199,7 +199,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '20' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: string) Reduce Operator Tree: @@ -257,7 +257,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '20' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: string) Reduce Operator Tree: @@ -315,7 +315,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '20' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: string) Reduce Operator Tree: @@ -430,7 +430,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '20' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: string) Reduce Operator Tree: @@ -485,7 +485,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '20' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: value (type: string) TableScan @@ -497,7 +497,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '20' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE Reduce Operator Tree: Join Operator @@ -576,7 +576,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '20' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: value (type: string) TableScan @@ -588,7 +588,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '20' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: value (type: string) Reduce Operator Tree: @@ -673,7 +673,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '20' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: value (type: string) TableScan @@ -685,7 +685,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '20' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: value (type: string) Reduce Operator Tree: @@ -715,7 +715,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '20' (type: string) Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: string), _col3 (type: string) Reduce Operator Tree: @@ -770,7 +770,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '20' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: value (type: string) TableScan @@ -782,7 +782,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '20' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE Reduce Operator Tree: Join Operator @@ -811,7 +811,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '20' (type: string) Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: string), _col2 (type: string) Reduce Operator Tree: Index: ql/src/test/results/clientpositive/constprog2.q.out =================================================================== --- ql/src/test/results/clientpositive/constprog2.q.out (revision 1650214) +++ ql/src/test/results/clientpositive/constprog2.q.out (working copy) @@ -27,7 +27,7 @@ Reduce Output Operator key expressions: '86' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '86' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: string) TableScan @@ -41,7 +41,7 @@ Reduce Output Operator key expressions: '86' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '86' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE Reduce Operator Tree: Join Operator @@ -110,7 +110,7 @@ Reduce Output Operator key expressions: '86' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '86' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: string) TableScan @@ -124,7 +124,7 @@ Reduce Output Operator key expressions: '86' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '86' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE Reduce Operator Tree: Join Operator Index: ql/src/test/results/clientpositive/constprog_partitioner.q.out =================================================================== --- ql/src/test/results/clientpositive/constprog_partitioner.q.out (revision 1650214) +++ ql/src/test/results/clientpositive/constprog_partitioner.q.out (working copy) @@ -84,3 +84,100 @@ 100 101.0 val_100 100 101.0 val_100 100 101.0 val_100 +PREHOOK: query: EXPLAIN +SELECT l_partkey, l_suppkey +FROM lineitem li +WHERE li.l_linenumber = 1 AND + li.l_orderkey IN (SELECT l_orderkey FROM lineitem WHERE l_shipmode = 'AIR' AND l_linenumber = li.l_linenumber) +PREHOOK: type: QUERY +POSTHOOK: query: EXPLAIN +SELECT l_partkey, l_suppkey +FROM lineitem li +WHERE li.l_linenumber = 1 AND + li.l_orderkey IN (SELECT l_orderkey FROM lineitem WHERE l_shipmode = 'AIR' AND l_linenumber = li.l_linenumber) +POSTHOOK: type: QUERY +STAGE DEPENDENCIES: + Stage-1 is a root stage + Stage-0 depends on stages: Stage-1 + +STAGE PLANS: + Stage: Stage-1 + Map Reduce + Map Operator Tree: + TableScan + alias: li + Statistics: Num rows: 100 Data size: 11999 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: ((l_linenumber = 1) and l_orderkey is not null) (type: boolean) + Statistics: Num rows: 25 Data size: 2999 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: l_orderkey (type: int), l_partkey (type: int), l_suppkey (type: int) + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 25 Data size: 2999 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: int), 1 (type: int) + sort order: ++ + Map-reduce partition columns: _col0 (type: int) + Statistics: Num rows: 25 Data size: 2999 Basic stats: COMPLETE Column stats: NONE + value expressions: _col1 (type: int), _col2 (type: int) + TableScan + alias: li + Statistics: Num rows: 100 Data size: 11999 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (((l_shipmode = 'AIR') and l_orderkey is not null) and l_linenumber is not null) (type: boolean) + Statistics: Num rows: 13 Data size: 1559 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: l_orderkey (type: int), l_linenumber (type: int) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 13 Data size: 1559 Basic stats: COMPLETE Column stats: NONE + Group By Operator + keys: _col0 (type: int), _col1 (type: int) + mode: hash + outputColumnNames: _col0, _col1 + Statistics: Num rows: 13 Data size: 1559 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: _col0 (type: int), _col1 (type: int) + sort order: ++ + Map-reduce partition columns: _col0 (type: int), _col1 (type: int) + Statistics: Num rows: 13 Data size: 1559 Basic stats: COMPLETE Column stats: NONE + Reduce Operator Tree: + Join Operator + condition map: + Left Semi Join 0 to 1 + keys: + 0 _col0 (type: int), _col3 (type: int) + 1 _col0 (type: int), _col1 (type: int) + outputColumnNames: _col1, _col2 + Statistics: Num rows: 27 Data size: 3298 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: _col1 (type: int), _col2 (type: int) + outputColumnNames: _col0, _col1 + Statistics: Num rows: 27 Data size: 3298 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 27 Data size: 3298 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.mapred.TextInputFormat + output format: org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat + serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe + + Stage: Stage-0 + Fetch Operator + limit: -1 + Processor Tree: + ListSink + +PREHOOK: query: SELECT l_partkey, l_suppkey +FROM lineitem li +WHERE li.l_linenumber = 1 AND + li.l_orderkey IN (SELECT l_orderkey FROM lineitem WHERE l_shipmode = 'AIR' AND l_linenumber = li.l_linenumber) +PREHOOK: type: QUERY +PREHOOK: Input: default@lineitem +#### A masked pattern was here #### +POSTHOOK: query: SELECT l_partkey, l_suppkey +FROM lineitem li +WHERE li.l_linenumber = 1 AND + li.l_orderkey IN (SELECT l_orderkey FROM lineitem WHERE l_shipmode = 'AIR' AND l_linenumber = li.l_linenumber) +POSTHOOK: type: QUERY +POSTHOOK: Input: default@lineitem +#### A masked pattern was here #### Index: ql/src/test/results/clientpositive/identity_project_remove_skip.q.out =================================================================== --- ql/src/test/results/clientpositive/identity_project_remove_skip.q.out (revision 1650214) +++ ql/src/test/results/clientpositive/identity_project_remove_skip.q.out (working copy) @@ -135,13 +135,13 @@ Reduce Output Operator key expressions: '105' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '105' (type: string) Statistics: Num rows: 62 Data size: 658 Basic stats: COMPLETE Column stats: NONE TableScan Reduce Output Operator key expressions: '105' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '105' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE Reduce Operator Tree: Join Operator Index: ql/src/test/results/clientpositive/join_nullsafe.q.out =================================================================== --- ql/src/test/results/clientpositive/join_nullsafe.q.out (revision 1650214) +++ ql/src/test/results/clientpositive/join_nullsafe.q.out (working copy) @@ -1525,7 +1525,7 @@ Reduce Output Operator key expressions: null (type: void) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: null (type: void) Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE value expressions: value (type: int) TableScan @@ -1537,7 +1537,7 @@ Reduce Output Operator key expressions: null (type: void) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: null (type: void) Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE value expressions: key (type: int) Reduce Operator Tree: Index: ql/src/test/results/clientpositive/ppd2.q.out =================================================================== --- ql/src/test/results/clientpositive/ppd2.q.out (revision 1650214) +++ ql/src/test/results/clientpositive/ppd2.q.out (working copy) @@ -347,7 +347,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '20' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: value (type: string) TableScan @@ -359,7 +359,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '20' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE Reduce Operator Tree: Join Operator Index: ql/src/test/results/clientpositive/ppd_clusterby.q.out =================================================================== --- ql/src/test/results/clientpositive/ppd_clusterby.q.out (revision 1650214) +++ ql/src/test/results/clientpositive/ppd_clusterby.q.out (working copy) @@ -25,7 +25,7 @@ Reduce Output Operator key expressions: '10' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '10' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: string) Reduce Operator Tree: @@ -80,7 +80,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '20' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: value (type: string) TableScan @@ -92,7 +92,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '20' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE Reduce Operator Tree: Join Operator @@ -174,7 +174,7 @@ Reduce Output Operator key expressions: '10' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '10' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: string) Reduce Operator Tree: @@ -229,7 +229,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '20' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: value (type: string) TableScan @@ -241,7 +241,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '20' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE Reduce Operator Tree: Join Operator Index: ql/src/test/results/clientpositive/ppd_join4.q.out =================================================================== --- ql/src/test/results/clientpositive/ppd_join4.q.out (revision 1650214) +++ ql/src/test/results/clientpositive/ppd_join4.q.out (working copy) @@ -82,7 +82,7 @@ Reduce Output Operator key expressions: 'a' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: 'a' (type: string) Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE TableScan alias: t3 @@ -93,7 +93,7 @@ Reduce Output Operator key expressions: 'a' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: 'a' (type: string) Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE Reduce Operator Tree: Join Operator Index: ql/src/test/results/clientpositive/ppd_outer_join5.q.out =================================================================== --- ql/src/test/results/clientpositive/ppd_outer_join5.q.out (revision 1650214) +++ ql/src/test/results/clientpositive/ppd_outer_join5.q.out (working copy) @@ -75,7 +75,7 @@ Reduce Output Operator key expressions: 20 (type: int) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: 20 (type: int) Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE value expressions: key (type: string), value (type: string) Reduce Operator Tree: @@ -128,7 +128,7 @@ Reduce Output Operator key expressions: 20 (type: int) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: 20 (type: int) Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE value expressions: key (type: string), value (type: string) TableScan @@ -140,7 +140,7 @@ Reduce Output Operator key expressions: 20 (type: int) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: 20 (type: int) Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE value expressions: key (type: string), value (type: string) TableScan @@ -205,7 +205,7 @@ Reduce Output Operator key expressions: 20 (type: int) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: 20 (type: int) Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE value expressions: key (type: string), value (type: string) TableScan @@ -217,7 +217,7 @@ Reduce Output Operator key expressions: 20 (type: int) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: 20 (type: int) Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE value expressions: key (type: string), value (type: string) TableScan Index: ql/src/test/results/clientpositive/ppd_union_view.q.out =================================================================== --- ql/src/test/results/clientpositive/ppd_union_view.q.out (revision 1650214) +++ ql/src/test/results/clientpositive/ppd_union_view.q.out (working copy) @@ -179,7 +179,7 @@ Reduce Output Operator key expressions: keymap (type: string), '2011-10-13' (type: string) sort order: ++ - Map-reduce partition columns: keymap (type: string) + Map-reduce partition columns: keymap (type: string), '2011-10-13' (type: string) Statistics: Num rows: 1 Data size: 14 Basic stats: COMPLETE Column stats: NONE tag: 0 value expressions: value (type: string) @@ -195,7 +195,7 @@ Reduce Output Operator key expressions: keymap (type: string), '2011-10-13' (type: string) sort order: ++ - Map-reduce partition columns: keymap (type: string) + Map-reduce partition columns: keymap (type: string), '2011-10-13' (type: string) Statistics: Num rows: 1 Data size: 12 Basic stats: COMPLETE Column stats: NONE tag: 1 value expressions: key (type: string) Index: ql/src/test/results/clientpositive/regex_col.q.out =================================================================== --- ql/src/test/results/clientpositive/regex_col.q.out (revision 1650214) +++ ql/src/test/results/clientpositive/regex_col.q.out (working copy) @@ -174,7 +174,7 @@ Reduce Output Operator key expressions: '103' (type: string), _col2 (type: string), _col1 (type: string) sort order: +++ - Map-reduce partition columns: _col2 (type: string), _col1 (type: string) + Map-reduce partition columns: '103' (type: string), _col2 (type: string), _col1 (type: string) Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE TableScan alias: a @@ -189,7 +189,7 @@ Reduce Output Operator key expressions: '103' (type: string), _col2 (type: string), _col1 (type: string) sort order: +++ - Map-reduce partition columns: _col2 (type: string), _col1 (type: string) + Map-reduce partition columns: '103' (type: string), _col2 (type: string), _col1 (type: string) Statistics: Num rows: 1000 Data size: 10624 Basic stats: COMPLETE Column stats: NONE Reduce Operator Tree: Join Operator Index: ql/src/test/results/clientpositive/smb_mapjoin_25.q.out =================================================================== --- ql/src/test/results/clientpositive/smb_mapjoin_25.q.out (revision 1650214) +++ ql/src/test/results/clientpositive/smb_mapjoin_25.q.out (working copy) @@ -71,7 +71,7 @@ Reduce Output Operator key expressions: 5 (type: int) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: 5 (type: int) Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: NONE TableScan alias: b @@ -82,7 +82,7 @@ Reduce Output Operator key expressions: 5 (type: int) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: 5 (type: int) Statistics: Num rows: 25 Data size: 100 Basic stats: COMPLETE Column stats: NONE Reduce Operator Tree: Join Operator @@ -154,7 +154,7 @@ Reduce Output Operator key expressions: 5 (type: int) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: 5 (type: int) Statistics: Num rows: 25 Data size: 100 Basic stats: COMPLETE Column stats: NONE TableScan alias: d @@ -165,7 +165,7 @@ Reduce Output Operator key expressions: 5 (type: int) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: 5 (type: int) Statistics: Num rows: 27 Data size: 108 Basic stats: COMPLETE Column stats: NONE Reduce Operator Tree: Join Operator Index: ql/src/test/results/clientpositive/union27.q.out =================================================================== --- ql/src/test/results/clientpositive/union27.q.out (revision 1650214) +++ ql/src/test/results/clientpositive/union27.q.out (working copy) @@ -57,7 +57,7 @@ Reduce Output Operator key expressions: '97' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '97' (type: string) Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: string) TableScan @@ -75,7 +75,7 @@ Reduce Output Operator key expressions: '97' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '97' (type: string) Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: string) TableScan @@ -87,7 +87,7 @@ Reduce Output Operator key expressions: '97' (type: string) sort order: + - Map-reduce partition columns: '' (type: string) + Map-reduce partition columns: '97' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE Reduce Operator Tree: Join Operator