Index: itests/src/test/resources/testconfiguration.properties =================================================================== --- itests/src/test/resources/testconfiguration.properties (revision 1644497) +++ itests/src/test/resources/testconfiguration.properties (working copy) @@ -8,6 +8,7 @@ bucketizedhiveinputformat.q,\ bucketmapjoin6.q,\ bucketmapjoin7.q,\ + constprog_partitioner.q,\ disable_merge_for_bucketing.q,\ empty_dir_in_table.q,\ external_table_with_space_in_location_path.q,\ Index: ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcFactory.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcFactory.java (revision 1644497) +++ ql/src/java/org/apache/hadoop/hive/ql/optimizer/ConstantPropagateProcFactory.java (working copy) @@ -889,15 +889,22 @@ rsDesc.setKeyCols(newKeyEpxrs); // partition columns - 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 (!rsDesc.getPartitionCols().isEmpty()) { + 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; + } + newPartExprs.add(expr); } - 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); } - rsDesc.setPartitionCols(newPartExprs); // value columns ArrayList newValExprs = new ArrayList(); Index: ql/src/test/queries/clientpositive/constprog_partitioner.q =================================================================== --- ql/src/test/queries/clientpositive/constprog_partitioner.q (revision 0) +++ ql/src/test/queries/clientpositive/constprog_partitioner.q (working copy) @@ -0,0 +1,11 @@ +set hive.fetch.task.conversion=more; +set hive.optimize.constant.propagation=true; + +set mapred.reduce.tasks=4; + +EXPLAIN +SELECT src1.key, src1.key + 1, src2.value + FROM src src1 join src src2 ON src1.key = src2.key AND src1.key = 100; + +SELECT src1.key, src1.key + 1, src2.value + FROM src src1 join src src2 ON src1.key = src2.key AND src1.key = 100; Index: ql/src/test/results/clientpositive/cluster.q.out =================================================================== --- ql/src/test/results/clientpositive/cluster.q.out (revision 1644497) +++ ql/src/test/results/clientpositive/cluster.q.out (working copy) @@ -25,6 +25,7 @@ Reduce Output Operator key expressions: '10' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: string) Reduce Operator Tree: @@ -82,6 +83,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: string) Reduce Operator Tree: @@ -139,6 +141,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: string) Reduce Operator Tree: @@ -196,6 +199,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: string) Reduce Operator Tree: @@ -253,6 +257,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: string) Reduce Operator Tree: @@ -310,6 +315,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: string) Reduce Operator Tree: @@ -424,6 +430,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: string) Reduce Operator Tree: @@ -478,6 +485,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: value (type: string) TableScan @@ -489,6 +497,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE Reduce Operator Tree: Join Operator @@ -567,6 +576,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: value (type: string) TableScan @@ -578,6 +588,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: value (type: string) Reduce Operator Tree: @@ -662,6 +673,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: value (type: string) TableScan @@ -673,6 +685,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: value (type: string) Reduce Operator Tree: @@ -702,6 +715,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + + Map-reduce partition columns: '' (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: @@ -756,6 +770,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: value (type: string) TableScan @@ -767,6 +782,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE Reduce Operator Tree: Join Operator @@ -795,6 +811,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + + Map-reduce partition columns: '' (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 1644497) +++ ql/src/test/results/clientpositive/constprog2.q.out (working copy) @@ -23,6 +23,7 @@ Reduce Output Operator key expressions: '86' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE TableScan alias: src2 @@ -33,6 +34,7 @@ Reduce Output Operator key expressions: '86' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: value (type: string) Reduce Operator Tree: @@ -98,6 +100,7 @@ Reduce Output Operator key expressions: '86' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE TableScan alias: src2 @@ -108,6 +111,7 @@ Reduce Output Operator key expressions: '86' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: value (type: string) Reduce Operator Tree: Index: ql/src/test/results/clientpositive/constprog_partitioner.q.out =================================================================== --- ql/src/test/results/clientpositive/constprog_partitioner.q.out (revision 0) +++ ql/src/test/results/clientpositive/constprog_partitioner.q.out (working copy) @@ -0,0 +1,232 @@ +PREHOOK: query: EXPLAIN +SELECT src1.key, src1.key + 1, src2.value + FROM src src1 join src src2 ON src1.key = src2.key AND src1.key = 100 +PREHOOK: type: QUERY +POSTHOOK: query: EXPLAIN +SELECT src1.key, src1.key + 1, src2.value + FROM src src1 join src src2 ON src1.key = src2.key AND src1.key = 100 +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: src1 + Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (key = 100) (type: boolean) + Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: '100' (type: string) + sort order: + + Map-reduce partition columns: '' (type: string) + Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE + TableScan + alias: src2 + Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE + Filter Operator + predicate: (key = 100) (type: boolean) + Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE + Reduce Output Operator + key expressions: '100' (type: string) + sort order: + + Map-reduce partition columns: '' (type: string) + Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE + value expressions: value (type: string) + Reduce Operator Tree: + Join Operator + condition map: + Inner Join 0 to 1 + condition expressions: + 0 + 1 {VALUE._col0} + outputColumnNames: _col6 + Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE + Select Operator + expressions: '100' (type: string), 101.0 (type: double), _col6 (type: string) + outputColumnNames: _col0, _col1, _col2 + Statistics: Num rows: 275 Data size: 2921 Basic stats: COMPLETE Column stats: NONE + File Output Operator + compressed: false + Statistics: Num rows: 275 Data size: 2921 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 src1.key, src1.key + 1, src2.value + FROM src src1 join src src2 ON src1.key = src2.key AND src1.key = 100 +PREHOOK: type: QUERY +PREHOOK: Input: default@src +#### A masked pattern was here #### +POSTHOOK: query: SELECT src1.key, src1.key + 1, src2.value + FROM src src1 join src src2 ON src1.key = src2.key AND src1.key = 100 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src +#### A masked pattern was here #### +100 101.0 val_100 +100 101.0 val_100 +100 101.0 val_100 +100 101.0 val_100 +PREHOOK: query: DROP TABLE IF EXISTS src +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@src +PREHOOK: Output: default@src +POSTHOOK: query: DROP TABLE IF EXISTS src +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@src +POSTHOOK: Output: default@src +PREHOOK: query: DROP TABLE IF EXISTS src1 +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@src1 +PREHOOK: Output: default@src1 +POSTHOOK: query: DROP TABLE IF EXISTS src1 +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@src1 +POSTHOOK: Output: default@src1 +PREHOOK: query: DROP TABLE IF EXISTS src_json +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@src_json +PREHOOK: Output: default@src_json +POSTHOOK: query: DROP TABLE IF EXISTS src_json +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@src_json +POSTHOOK: Output: default@src_json +PREHOOK: query: DROP TABLE IF EXISTS src_sequencefile +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@src_sequencefile +PREHOOK: Output: default@src_sequencefile +POSTHOOK: query: DROP TABLE IF EXISTS src_sequencefile +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@src_sequencefile +POSTHOOK: Output: default@src_sequencefile +PREHOOK: query: DROP TABLE IF EXISTS src_thrift +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@src_thrift +PREHOOK: Output: default@src_thrift +POSTHOOK: query: DROP TABLE IF EXISTS src_thrift +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@src_thrift +POSTHOOK: Output: default@src_thrift +PREHOOK: query: DROP TABLE IF EXISTS srcbucket +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@srcbucket +PREHOOK: Output: default@srcbucket +POSTHOOK: query: DROP TABLE IF EXISTS srcbucket +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@srcbucket +POSTHOOK: Output: default@srcbucket +PREHOOK: query: DROP TABLE IF EXISTS srcbucket2 +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@srcbucket2 +PREHOOK: Output: default@srcbucket2 +POSTHOOK: query: DROP TABLE IF EXISTS srcbucket2 +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@srcbucket2 +POSTHOOK: Output: default@srcbucket2 +PREHOOK: query: DROP TABLE IF EXISTS srcpart +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@srcpart +PREHOOK: Output: default@srcpart +POSTHOOK: query: DROP TABLE IF EXISTS srcpart +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@srcpart +POSTHOOK: Output: default@srcpart +PREHOOK: query: DROP TABLE IF EXISTS primitives +PREHOOK: type: DROPTABLE +POSTHOOK: query: DROP TABLE IF EXISTS primitives +POSTHOOK: type: DROPTABLE +PREHOOK: query: DROP TABLE IF EXISTS dest1 +PREHOOK: type: DROPTABLE +POSTHOOK: query: DROP TABLE IF EXISTS dest1 +POSTHOOK: type: DROPTABLE +PREHOOK: query: DROP TABLE IF EXISTS dest2 +PREHOOK: type: DROPTABLE +POSTHOOK: query: DROP TABLE IF EXISTS dest2 +POSTHOOK: type: DROPTABLE +PREHOOK: query: DROP TABLE IF EXISTS dest3 +PREHOOK: type: DROPTABLE +POSTHOOK: query: DROP TABLE IF EXISTS dest3 +POSTHOOK: type: DROPTABLE +PREHOOK: query: DROP TABLE IF EXISTS dest4 +PREHOOK: type: DROPTABLE +POSTHOOK: query: DROP TABLE IF EXISTS dest4 +POSTHOOK: type: DROPTABLE +PREHOOK: query: DROP TABLE IF EXISTS dest4_sequencefile +PREHOOK: type: DROPTABLE +POSTHOOK: query: DROP TABLE IF EXISTS dest4_sequencefile +POSTHOOK: type: DROPTABLE +PREHOOK: query: DROP TABLE IF EXISTS dest_j1 +PREHOOK: type: DROPTABLE +POSTHOOK: query: DROP TABLE IF EXISTS dest_j1 +POSTHOOK: type: DROPTABLE +PREHOOK: query: DROP TABLE IF EXISTS dest_g1 +PREHOOK: type: DROPTABLE +POSTHOOK: query: DROP TABLE IF EXISTS dest_g1 +POSTHOOK: type: DROPTABLE +PREHOOK: query: DROP TABLE IF EXISTS dest_g2 +PREHOOK: type: DROPTABLE +POSTHOOK: query: DROP TABLE IF EXISTS dest_g2 +POSTHOOK: type: DROPTABLE +PREHOOK: query: DROP TABLE IF EXISTS fetchtask_ioexception +PREHOOK: type: DROPTABLE +POSTHOOK: query: DROP TABLE IF EXISTS fetchtask_ioexception +POSTHOOK: type: DROPTABLE +PREHOOK: query: DROP TABLE IF EXISTS cbo_t1 +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@cbo_t1 +PREHOOK: Output: default@cbo_t1 +POSTHOOK: query: DROP TABLE IF EXISTS cbo_t1 +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@cbo_t1 +POSTHOOK: Output: default@cbo_t1 +PREHOOK: query: DROP TABLE IF EXISTS cbo_t2 +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@cbo_t2 +PREHOOK: Output: default@cbo_t2 +POSTHOOK: query: DROP TABLE IF EXISTS cbo_t2 +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@cbo_t2 +POSTHOOK: Output: default@cbo_t2 +PREHOOK: query: DROP TABLE IF EXISTS cbo_t3 +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@cbo_t3 +PREHOOK: Output: default@cbo_t3 +POSTHOOK: query: DROP TABLE IF EXISTS cbo_t3 +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@cbo_t3 +POSTHOOK: Output: default@cbo_t3 +PREHOOK: query: DROP TABLE IF EXISTS src_cbo +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@src_cbo +PREHOOK: Output: default@src_cbo +POSTHOOK: query: DROP TABLE IF EXISTS src_cbo +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@src_cbo +POSTHOOK: Output: default@src_cbo +PREHOOK: query: DROP TABLE IF EXISTS part +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@part +PREHOOK: Output: default@part +POSTHOOK: query: DROP TABLE IF EXISTS part +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@part +POSTHOOK: Output: default@part +PREHOOK: query: DROP TABLE IF EXISTS lineitem +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@lineitem +PREHOOK: Output: default@lineitem +POSTHOOK: query: DROP TABLE IF EXISTS lineitem +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@lineitem +POSTHOOK: Output: default@lineitem Property changes on: ql/src/test/results/clientpositive/constprog_partitioner.q.out ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Index: ql/src/test/results/clientpositive/join_nullsafe.q.out =================================================================== --- ql/src/test/results/clientpositive/join_nullsafe.q.out (revision 1644497) +++ ql/src/test/results/clientpositive/join_nullsafe.q.out (working copy) @@ -1525,6 +1525,7 @@ Reduce Output Operator key expressions: null (type: void) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE value expressions: value (type: int) TableScan @@ -1536,6 +1537,7 @@ Reduce Output Operator key expressions: null (type: void) sort order: + + Map-reduce partition columns: '' (type: string) 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 1644497) +++ ql/src/test/results/clientpositive/ppd2.q.out (working copy) @@ -351,6 +351,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: value (type: string) TableScan @@ -362,6 +363,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + + Map-reduce partition columns: '' (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 1644497) +++ ql/src/test/results/clientpositive/ppd_clusterby.q.out (working copy) @@ -25,6 +25,7 @@ Reduce Output Operator key expressions: '10' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: string) Reduce Operator Tree: @@ -79,6 +80,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: value (type: string) TableScan @@ -90,6 +92,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE Reduce Operator Tree: Join Operator @@ -171,6 +174,7 @@ Reduce Output Operator key expressions: '10' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: string) Reduce Operator Tree: @@ -225,6 +229,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE value expressions: value (type: string) TableScan @@ -236,6 +241,7 @@ Reduce Output Operator key expressions: '20' (type: string) sort order: + + Map-reduce partition columns: '' (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 1644497) +++ ql/src/test/results/clientpositive/ppd_join4.q.out (working copy) @@ -69,6 +69,7 @@ Reduce Output Operator key expressions: 'a' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE Stage: Stage-2 @@ -78,6 +79,7 @@ Reduce Output Operator key expressions: 'a' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE TableScan alias: t3 @@ -88,6 +90,7 @@ Reduce Output Operator key expressions: 'a' (type: string) sort order: + + Map-reduce partition columns: '' (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 1644497) +++ ql/src/test/results/clientpositive/ppd_outer_join5.q.out (working copy) @@ -75,6 +75,7 @@ Reduce Output Operator key expressions: 20 (type: int) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE value expressions: key (type: string), value (type: string) Reduce Operator Tree: @@ -127,6 +128,7 @@ Reduce Output Operator key expressions: 20 (type: int) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE value expressions: key (type: string), value (type: string) TableScan @@ -138,6 +140,7 @@ Reduce Output Operator key expressions: 20 (type: int) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE value expressions: key (type: string), value (type: string) TableScan @@ -202,6 +205,7 @@ Reduce Output Operator key expressions: 20 (type: int) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE value expressions: key (type: string), value (type: string) TableScan @@ -213,6 +217,7 @@ Reduce Output Operator key expressions: 20 (type: int) sort order: + + Map-reduce partition columns: '' (type: string) 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/quotedid_basic.q.out =================================================================== --- ql/src/test/results/clientpositive/quotedid_basic.q.out (revision 1644497) +++ ql/src/test/results/clientpositive/quotedid_basic.q.out (working copy) @@ -193,6 +193,7 @@ Reduce Output Operator key expressions: '1' (type: string), _col1 (type: string) sort order: ++ + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE value expressions: _col0 (type: string), _col1 (type: string), '1' (type: string) Reduce Operator Tree: @@ -275,6 +276,7 @@ Reduce Output Operator key expressions: '1' (type: string), _col1 (type: string) sort order: ++ + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE value expressions: _col0 (type: string), _col1 (type: string), '1' (type: string) Reduce Operator Tree: Index: ql/src/test/results/clientpositive/smb_mapjoin_25.q.out =================================================================== --- ql/src/test/results/clientpositive/smb_mapjoin_25.q.out (revision 1644497) +++ ql/src/test/results/clientpositive/smb_mapjoin_25.q.out (working copy) @@ -71,6 +71,7 @@ Reduce Output Operator key expressions: 5 (type: int) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 26 Data size: 104 Basic stats: COMPLETE Column stats: NONE TableScan alias: b @@ -81,6 +82,7 @@ Reduce Output Operator key expressions: 5 (type: int) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 25 Data size: 100 Basic stats: COMPLETE Column stats: NONE Reduce Operator Tree: Join Operator @@ -152,6 +154,7 @@ Reduce Output Operator key expressions: 5 (type: int) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 25 Data size: 100 Basic stats: COMPLETE Column stats: NONE TableScan alias: d @@ -162,6 +165,7 @@ Reduce Output Operator key expressions: 5 (type: int) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 27 Data size: 108 Basic stats: COMPLETE Column stats: NONE Reduce Operator Tree: Join Operator Index: ql/src/test/results/clientpositive/tez/dynamic_partition_pruning.q.out =================================================================== --- ql/src/test/results/clientpositive/tez/dynamic_partition_pruning.q.out (revision 1644497) +++ ql/src/test/results/clientpositive/tez/dynamic_partition_pruning.q.out (working copy) @@ -2572,6 +2572,7 @@ Reduce Output Operator key expressions: '11' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE Select Operator expressions: '11' (type: string) @@ -2600,6 +2601,7 @@ Reduce Output Operator key expressions: '11' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE Reducer 3 Reduce Operator Tree: @@ -2709,6 +2711,7 @@ Reduce Output Operator key expressions: '13' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE Reducer 2 Reduce Operator Tree: @@ -2722,6 +2725,7 @@ Reduce Output Operator key expressions: '13' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE Reducer 3 Reduce Operator Tree: @@ -4702,6 +4706,7 @@ Reduce Output Operator key expressions: '11' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE Select Operator expressions: '11' (type: string) Index: ql/src/test/results/clientpositive/tez/dynamic_partition_pruning_2.q.out =================================================================== --- ql/src/test/results/clientpositive/tez/dynamic_partition_pruning_2.q.out (revision 1644497) +++ ql/src/test/results/clientpositive/tez/dynamic_partition_pruning_2.q.out (working copy) @@ -614,6 +614,7 @@ Reduce Output Operator key expressions: 1 (type: int) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 1 Data size: 5 Basic stats: COMPLETE Column stats: NONE Stage: Stage-0 Index: ql/src/test/results/clientpositive/tez/join_nullsafe.q.out =================================================================== --- ql/src/test/results/clientpositive/tez/join_nullsafe.q.out (revision 1644497) +++ ql/src/test/results/clientpositive/tez/join_nullsafe.q.out (working copy) @@ -1578,6 +1578,7 @@ Reduce Output Operator key expressions: null (type: void) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE value expressions: value (type: int) Map 3 @@ -1591,6 +1592,7 @@ Reduce Output Operator key expressions: null (type: void) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE value expressions: key (type: int) Reducer 2 Index: ql/src/test/results/clientpositive/tez/vector_decimal_mapjoin.q.out =================================================================== --- ql/src/test/results/clientpositive/tez/vector_decimal_mapjoin.q.out (revision 1644497) +++ ql/src/test/results/clientpositive/tez/vector_decimal_mapjoin.q.out (working copy) @@ -85,6 +85,7 @@ Reduce Output Operator key expressions: 6981 (type: int) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 6144 Data size: 1082530 Basic stats: COMPLETE Column stats: NONE value expressions: cdecimal2 (type: decimal(23,14)) Execution mode: vectorized Index: ql/src/test/results/clientpositive/tez/vectorized_dynamic_partition_pruning.q.out =================================================================== --- ql/src/test/results/clientpositive/tez/vectorized_dynamic_partition_pruning.q.out (revision 1644497) +++ ql/src/test/results/clientpositive/tez/vectorized_dynamic_partition_pruning.q.out (working copy) @@ -2603,6 +2603,7 @@ Reduce Output Operator key expressions: '11' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE Select Operator expressions: '11' (type: string) @@ -2631,6 +2632,7 @@ Reduce Output Operator key expressions: '11' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 1100 Data size: 11686 Basic stats: COMPLETE Column stats: NONE Reducer 3 Reduce Operator Tree: @@ -2742,6 +2744,7 @@ Reduce Output Operator key expressions: '13' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 1 Data size: 172 Basic stats: COMPLETE Column stats: NONE Reducer 2 Reduce Operator Tree: @@ -2755,6 +2758,7 @@ Reduce Output Operator key expressions: '13' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE Reducer 3 Reduce Operator Tree: @@ -4757,6 +4761,7 @@ Reduce Output Operator key expressions: '11' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 0 Data size: 0 Basic stats: NONE Column stats: NONE Select Operator expressions: '11' (type: string) Index: ql/src/test/results/clientpositive/union27.q.out =================================================================== --- ql/src/test/results/clientpositive/union27.q.out (revision 1644497) +++ ql/src/test/results/clientpositive/union27.q.out (working copy) @@ -51,6 +51,7 @@ Reduce Output Operator key expressions: '97' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE Column stats: NONE TableScan alias: jackson_sev_add @@ -67,6 +68,7 @@ Reduce Output Operator key expressions: '97' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: string) TableScan @@ -84,6 +86,7 @@ Reduce Output Operator key expressions: '97' (type: string) sort order: + + Map-reduce partition columns: '' (type: string) Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE Column stats: NONE value expressions: _col1 (type: string) Reduce Operator Tree: