Index: ql/src/java/org/apache/hadoop/hive/ql/plan/selectDesc.java =================================================================== --- ql/src/java/org/apache/hadoop/hive/ql/plan/selectDesc.java (revision 4486) +++ ql/src/java/org/apache/hadoop/hive/ql/plan/selectDesc.java (working copy) @@ -69,6 +69,15 @@ this.outputColumnNames = outputColumnNames; } + @explain(displayName="SELECT * ") + public String explainNoCompute() { + if(isSelStarNoCompute()) { + return "(no compute)"; + } else { + return null; + } + } + /** * @return the selectStar */ Index: ql/src/test/results/clientpositive/lateral_view.q.out =================================================================== --- ql/src/test/results/clientpositive/lateral_view.q.out (revision 4486) +++ ql/src/test/results/clientpositive/lateral_view.q.out (working copy) @@ -18,6 +18,7 @@ TableScan alias: src Select Operator + SELECT * : (no compute) Lateral View Join Operator outputColumnNames: _col0, _col1, _col2 Select Operator @@ -90,7 +91,7 @@ Stage: Stage-2 Map Reduce Alias -> Map Operator Tree: - file:/data/users/pyang/udtf/trunk/VENDOR.hive/trunk/build/ql/tmp/2145728567/10002 + file:/data/users/pyang/task/trunk/VENDOR.hive/trunk/build/ql/tmp/119895400/10002 Reduce Output Operator key expressions: expr: _col0 @@ -140,6 +141,7 @@ TableScan alias: src Select Operator + SELECT * : (no compute) Lateral View Join Operator outputColumnNames: _col0, _col1, _col2 Select Operator @@ -200,9 +202,11 @@ TableScan alias: src Select Operator + SELECT * : (no compute) Lateral View Join Operator outputColumnNames: _col0, _col1, _col2 Select Operator + SELECT * : (no compute) Lateral View Join Operator outputColumnNames: _col0, _col1, _col2, _col3 Select Operator @@ -252,6 +256,7 @@ Lateral View Join Operator outputColumnNames: _col0, _col1, _col2 Select Operator + SELECT * : (no compute) Lateral View Join Operator outputColumnNames: _col0, _col1, _col2, _col3 Select Operator @@ -316,9 +321,11 @@ TableScan alias: src Select Operator + SELECT * : (no compute) Lateral View Join Operator outputColumnNames: _col0, _col1, _col2 Select Operator + SELECT * : (no compute) Lateral View Join Operator outputColumnNames: _col0, _col1, _col2, _col3 Select Operator @@ -364,6 +371,7 @@ Lateral View Join Operator outputColumnNames: _col0, _col1, _col2 Select Operator + SELECT * : (no compute) Lateral View Join Operator outputColumnNames: _col0, _col1, _col2, _col3 Select Operator @@ -409,23 +417,23 @@ SELECT * FROM src LATERAL VIEW explode(array(1,2,3)) myTable AS myCol SORT BY key ASC, myCol ASC LIMIT 1 PREHOOK: type: QUERY PREHOOK: Input: default@src -PREHOOK: Output: file:/data/users/pyang/udtf/trunk/VENDOR.hive/trunk/build/ql/tmp/1897099215/10000 +PREHOOK: Output: file:/data/users/pyang/task/trunk/VENDOR.hive/trunk/build/ql/tmp/1455708722/10000 POSTHOOK: query: -- Verify that * selects columns from both tables SELECT * FROM src LATERAL VIEW explode(array(1,2,3)) myTable AS myCol SORT BY key ASC, myCol ASC LIMIT 1 POSTHOOK: type: QUERY POSTHOOK: Input: default@src -POSTHOOK: Output: file:/data/users/pyang/udtf/trunk/VENDOR.hive/trunk/build/ql/tmp/1897099215/10000 +POSTHOOK: Output: file:/data/users/pyang/task/trunk/VENDOR.hive/trunk/build/ql/tmp/1455708722/10000 0 val_0 1 PREHOOK: query: -- TABLE.* should be supported SELECT myTable.* FROM src LATERAL VIEW explode(array(1,2,3)) myTable AS myCol LIMIT 3 PREHOOK: type: QUERY PREHOOK: Input: default@src -PREHOOK: Output: file:/data/users/pyang/udtf/trunk/VENDOR.hive/trunk/build/ql/tmp/1497728011/10000 +PREHOOK: Output: file:/data/users/pyang/task/trunk/VENDOR.hive/trunk/build/ql/tmp/1119696855/10000 POSTHOOK: query: -- TABLE.* should be supported SELECT myTable.* FROM src LATERAL VIEW explode(array(1,2,3)) myTable AS myCol LIMIT 3 POSTHOOK: type: QUERY POSTHOOK: Input: default@src -POSTHOOK: Output: file:/data/users/pyang/udtf/trunk/VENDOR.hive/trunk/build/ql/tmp/1497728011/10000 +POSTHOOK: Output: file:/data/users/pyang/task/trunk/VENDOR.hive/trunk/build/ql/tmp/1119696855/10000 1 2 3 @@ -433,12 +441,12 @@ SELECT myTable.myCol, myTable2.myCol2 FROM src LATERAL VIEW explode(array(1,2,3)) myTable AS myCol LATERAL VIEW explode(array('a', 'b', 'c')) myTable2 AS myCol2 LIMIT 9 PREHOOK: type: QUERY PREHOOK: Input: default@src -PREHOOK: Output: file:/data/users/pyang/udtf/trunk/VENDOR.hive/trunk/build/ql/tmp/19607938/10000 +PREHOOK: Output: file:/data/users/pyang/task/trunk/VENDOR.hive/trunk/build/ql/tmp/391873070/10000 POSTHOOK: query: -- Multiple lateral views should result in a Cartesian product SELECT myTable.myCol, myTable2.myCol2 FROM src LATERAL VIEW explode(array(1,2,3)) myTable AS myCol LATERAL VIEW explode(array('a', 'b', 'c')) myTable2 AS myCol2 LIMIT 9 POSTHOOK: type: QUERY POSTHOOK: Input: default@src -POSTHOOK: Output: file:/data/users/pyang/udtf/trunk/VENDOR.hive/trunk/build/ql/tmp/19607938/10000 +POSTHOOK: Output: file:/data/users/pyang/task/trunk/VENDOR.hive/trunk/build/ql/tmp/391873070/10000 1 a 1 b 1 c @@ -452,12 +460,12 @@ SELECT myTable2.* FROM src LATERAL VIEW explode(array(array(1,2,3))) myTable AS myCol LATERAL VIEW explode(myTable.myCol) myTable2 AS myCol2 LIMIT 3 PREHOOK: type: QUERY PREHOOK: Input: default@src -PREHOOK: Output: file:/data/users/pyang/udtf/trunk/VENDOR.hive/trunk/build/ql/tmp/1678611050/10000 +PREHOOK: Output: file:/data/users/pyang/task/trunk/VENDOR.hive/trunk/build/ql/tmp/1057041862/10000 POSTHOOK: query: -- Should be able to reference tables generated earlier SELECT myTable2.* FROM src LATERAL VIEW explode(array(array(1,2,3))) myTable AS myCol LATERAL VIEW explode(myTable.myCol) myTable2 AS myCol2 LIMIT 3 POSTHOOK: type: QUERY POSTHOOK: Input: default@src -POSTHOOK: Output: file:/data/users/pyang/udtf/trunk/VENDOR.hive/trunk/build/ql/tmp/1678611050/10000 +POSTHOOK: Output: file:/data/users/pyang/task/trunk/VENDOR.hive/trunk/build/ql/tmp/1057041862/10000 1 2 3