Skip to content

Commit 2d24080

Browse files
committed
HIVE-29250: Display effects of PlanModifierForASTConv in EXPLAIN CBO output
1 parent d46d900 commit 2d24080

File tree

167 files changed

+1206
-1177
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

167 files changed

+1206
-1177
lines changed

ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/ASTConverter.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@
6969
import org.apache.calcite.sql.fun.SqlStdOperatorTable;
7070
import org.apache.calcite.sql.type.SqlTypeName;
7171
import org.apache.calcite.util.ImmutableBitSet;
72-
import org.apache.hadoop.hive.metastore.api.FieldSchema;
7372
import org.apache.hadoop.hive.ql.QueryProperties;
7473
import org.apache.hadoop.hive.ql.metadata.VirtualColumn;
7574
import org.apache.hadoop.hive.ql.optimizer.calcite.CalciteSemanticException;
@@ -91,7 +90,6 @@
9190
import org.apache.hadoop.hive.ql.parse.ParseContext;
9291
import org.apache.hadoop.hive.ql.parse.ParseDriver;
9392
import org.apache.hadoop.hive.ql.parse.ParseException;
94-
import org.apache.hadoop.hive.ql.parse.type.RexNodeExprFactory;
9593
import org.apache.hadoop.hive.ql.plan.mapper.PlanMapper;
9694
import org.apache.hadoop.hive.ql.util.DirectionUtils;
9795
import org.apache.hadoop.hive.ql.util.NullOrdering;
@@ -131,10 +129,9 @@ public class ASTConverter {
131129
this.ctes = ctes;
132130
}
133131

134-
public static ASTNode convert(final RelNode relNode, List<FieldSchema> resultSchema, boolean alignColumns, PlanMapper planMapper)
132+
public static ASTNode convert(final RelNode relNode, PlanMapper planMapper)
135133
throws CalciteSemanticException {
136-
RelNode root = PlanModifierForASTConv.convertOpTree(relNode, resultSchema, alignColumns);
137-
ASTConverter c = new ASTConverter(root, 0, planMapper, new ArrayList<>());
134+
ASTConverter c = new ASTConverter(relNode, 0, planMapper, new ArrayList<>());
138135
ASTNode r = c.convert();
139136
for (ASTNode cte : c.ctes) {
140137
r.insertChild(0, cte);

ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java

Lines changed: 4 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,7 @@
295295
import org.apache.hadoop.hive.ql.optimizer.calcite.stats.HiveRelMetadataQuery;
296296
import org.apache.hadoop.hive.ql.optimizer.calcite.translator.ASTBuilder;
297297
import org.apache.hadoop.hive.ql.optimizer.calcite.translator.ASTConverter;
298+
import org.apache.hadoop.hive.ql.optimizer.calcite.translator.PlanModifierForASTConv;
298299
import org.apache.hadoop.hive.ql.parse.type.FunctionHelper;
299300
import org.apache.hadoop.hive.ql.parse.type.FunctionHelper.AggregateInfo;
300301
import org.apache.hadoop.hive.ql.parse.type.HiveFunctionHelper;
@@ -605,7 +606,9 @@ Operator genOPTree(ASTNode ast, PlannerContext plannerCtx) throws SemanticExcept
605606
}
606607
} else {
607608
// 1. Convert Plan to AST
608-
ASTNode newAST = getOptimizedAST(newPlan);
609+
newPlan = PlanModifierForASTConv.convertOpTree(newPlan, resultSchema,
610+
HiveConf.getBoolVar(conf, HiveConf.ConfVars.HIVE_COLUMN_ALIGNMENT));
611+
ASTNode newAST = ASTConverter.convert(newPlan, ctx.getPlanMapper());
609612

610613
// 1.1. Fix up the query for insert/ctas/materialized views
611614
newAST = fixUpAfterCbo(ast, newAST, cboCtx);
@@ -1384,28 +1387,6 @@ public boolean supportsCharSet() {
13841387
return null;
13851388
}
13861389

1387-
/**
1388-
* Get Optimized AST for the given QB tree in the semAnalyzer.
1389-
*
1390-
* @return Optimized operator tree translated in to Hive AST
1391-
* @throws SemanticException
1392-
*/
1393-
ASTNode getOptimizedAST() throws SemanticException {
1394-
return getOptimizedAST(logicalPlan());
1395-
}
1396-
1397-
/**
1398-
* Get Optimized AST for the given QB tree in the semAnalyzer.
1399-
*
1400-
* @return Optimized operator tree translated in to Hive AST
1401-
* @throws SemanticException
1402-
*/
1403-
ASTNode getOptimizedAST(RelNode optimizedOptiqPlan) throws SemanticException {
1404-
ASTNode optiqOptimizedAST = ASTConverter.convert(optimizedOptiqPlan, resultSchema,
1405-
HiveConf.getBoolVar(conf, HiveConf.ConfVars.HIVE_COLUMN_ALIGNMENT),ctx.getPlanMapper());
1406-
return optiqOptimizedAST;
1407-
}
1408-
14091390
/**
14101391
* Get Optimized Hive Operator DAG for the given QB tree in the semAnalyzer.
14111392
*

ql/src/test/results/clientpositive/llap/cbo_AggregateSortLimitRule.q.out

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ POSTHOOK: Input: default@person
1616
#### A masked pattern was here ####
1717
CBO PLAN:
1818
HiveSortLimit(sort0=[$1], dir0=[ASC-nulls-first], fetch=[5])
19-
HiveProject(country=[$0], $f1=[$1])
19+
HiveProject(country=[$0], _c1=[$1])
2020
HiveAggregate(group=[{1}], agg#0=[count()])
2121
HiveTableScan(table=[[default, person]], table:alias=[person])
2222

@@ -30,7 +30,7 @@ POSTHOOK: Input: default@person
3030
#### A masked pattern was here ####
3131
CBO PLAN:
3232
HiveSortLimit(sort0=[$1], dir0=[ASC], fetch=[5])
33-
HiveProject(country=[$0], $f1=[$1])
33+
HiveProject(country=[$0], _c1=[$1])
3434
HiveAggregate(group=[{1}], agg#0=[count()])
3535
HiveTableScan(table=[[default, person]], table:alias=[person])
3636

ql/src/test/results/clientpositive/llap/cbo_aggregate_reduce_functions_rule.q.out

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ POSTHOOK: type: QUERY
158158
POSTHOOK: Input: default@test
159159
#### A masked pattern was here ####
160160
CBO PLAN:
161-
HiveProject(_o__c0=[CAST(COALESCE($0, 0E0:DOUBLE)):DOUBLE], _o__c1=[CAST(COALESCE($1, 0E0:DOUBLE)):DOUBLE], _o__c2=[CAST(COALESCE($2, 0E0:DOUBLE)):DOUBLE], _o__c3=[CAST(COALESCE($3, 0E0:DOUBLE)):DOUBLE], _o__c4=[CAST(COALESCE($4, 0E0:DOUBLE)):DOUBLE], _o__c5=[CAST(COALESCE($5, 0E0:DOUBLE)):DOUBLE], _o__c6=[/($6, $7)], _o__c7=[/($1, $8)], _o__c8=[/($9, $10)], _o__c9=[/($3, $11)], _o__c10=[/($12, $13)], _o__c11=[/($5, $14)], _o__c12=[POWER(/(-($15, /(*($6, $6), $7)), $7), 0.5:DECIMAL(2, 1))], _o__c13=[POWER(/(GREATEST(0, -($16, /(*($1, $1), $8))), $8), 0.5:DECIMAL(2, 1))], _o__c14=[POWER(/(-($17, /(*($9, $9), $10)), $10), 0.5:DECIMAL(2, 1))], _o__c15=[POWER(/(GREATEST(0, -($18, /(*($3, $3), $11))), $11), 0.5:DECIMAL(2, 1))], _o__c16=[POWER(/(-($19, /(*($12, $12), $13)), $13), 0.5:DECIMAL(2, 1))], _o__c17=[POWER(/(GREATEST(0, -($20, /(*($5, $5), $14))), $14), 0.5:DECIMAL(2, 1))], _o__c18=[POWER(/(-($15, /(*($6, $6), $7)), CASE(=($7, 1), null:BIGINT, -($7, 1))), 0.5:DECIMAL(2, 1))], _o__c19=[POWER(/(GREATEST(0, -($16, /(*($1, $1), $8))), CASE(=($8, 1), null:BIGINT, -($8, 1))), 0.5:DECIMAL(2, 1))], _o__c20=[POWER(/(-($17, /(*($9, $9), $10)), CASE(=($10, 1), null:BIGINT, -($10, 1))), 0.5:DECIMAL(2, 1))], _o__c21=[POWER(/(GREATEST(0, -($18, /(*($3, $3), $11))), CASE(=($11, 1), null:BIGINT, -($11, 1))), 0.5:DECIMAL(2, 1))], _o__c22=[POWER(/(-($19, /(*($12, $12), $13)), CASE(=($13, 1), null:BIGINT, -($13, 1))), 0.5:DECIMAL(2, 1))], _o__c23=[POWER(/(GREATEST(0, -($20, /(*($5, $5), $14))), CASE(=($14, 1), null:BIGINT, -($14, 1))), 0.5:DECIMAL(2, 1))], _o__c24=[/(-($15, /(*($6, $6), $7)), $7)], _o__c25=[/(GREATEST(0, -($16, /(*($1, $1), $8))), $8)], _o__c26=[/(-($17, /(*($9, $9), $10)), $10)], _o__c27=[/(GREATEST(0, -($18, /(*($3, $3), $11))), $11)], _o__c28=[/(-($19, /(*($12, $12), $13)), $13)], _o__c29=[/(GREATEST(0, -($20, /(*($5, $5), $14))), $14)], _o__c30=[/(-($15, /(*($6, $6), $7)), CASE(=($7, 1), null:BIGINT, -($7, 1)))], _o__c31=[/(GREATEST(0, -($16, /(*($1, $1), $8))), CASE(=($8, 1), null:BIGINT, -($8, 1)))], _o__c32=[/(-($17, /(*($9, $9), $10)), CASE(=($10, 1), null:BIGINT, -($10, 1)))], _o__c33=[/(GREATEST(0, -($18, /(*($3, $3), $11))), CASE(=($11, 1), null:BIGINT, -($11, 1)))], _o__c34=[/(-($19, /(*($12, $12), $13)), CASE(=($13, 1), null:BIGINT, -($13, 1)))], _o__c35=[/(GREATEST(0, -($20, /(*($5, $5), $14))), CASE(=($14, 1), null:BIGINT, -($14, 1)))], _o__c36=[$0], _o__c37=[$1], _o__c38=[$2], _o__c39=[$3], _o__c40=[$4], _o__c41=[$5], _o__c42=[$21], _o__c43=[$8], _o__c44=[$22], _o__c45=[$11], _o__c46=[$23], _o__c47=[$14])
161+
HiveProject(_c0=[CAST(COALESCE($0, 0E0:DOUBLE)):DOUBLE], _c1=[CAST(COALESCE($1, 0E0:DOUBLE)):DOUBLE], _c2=[CAST(COALESCE($2, 0E0:DOUBLE)):DOUBLE], _c3=[CAST(COALESCE($3, 0E0:DOUBLE)):DOUBLE], _c4=[CAST(COALESCE($4, 0E0:DOUBLE)):DOUBLE], _c5=[CAST(COALESCE($5, 0E0:DOUBLE)):DOUBLE], _c6=[/($6, $7)], _c7=[/($1, $8)], _c8=[/($9, $10)], _c9=[/($3, $11)], _c10=[/($12, $13)], _c11=[/($5, $14)], _c12=[POWER(/(-($15, /(*($6, $6), $7)), $7), 0.5:DECIMAL(2, 1))], _c13=[POWER(/(GREATEST(0, -($16, /(*($1, $1), $8))), $8), 0.5:DECIMAL(2, 1))], _c14=[POWER(/(-($17, /(*($9, $9), $10)), $10), 0.5:DECIMAL(2, 1))], _c15=[POWER(/(GREATEST(0, -($18, /(*($3, $3), $11))), $11), 0.5:DECIMAL(2, 1))], _c16=[POWER(/(-($19, /(*($12, $12), $13)), $13), 0.5:DECIMAL(2, 1))], _c17=[POWER(/(GREATEST(0, -($20, /(*($5, $5), $14))), $14), 0.5:DECIMAL(2, 1))], _c18=[POWER(/(-($15, /(*($6, $6), $7)), CASE(=($7, 1), null:BIGINT, -($7, 1))), 0.5:DECIMAL(2, 1))], _c19=[POWER(/(GREATEST(0, -($16, /(*($1, $1), $8))), CASE(=($8, 1), null:BIGINT, -($8, 1))), 0.5:DECIMAL(2, 1))], _c20=[POWER(/(-($17, /(*($9, $9), $10)), CASE(=($10, 1), null:BIGINT, -($10, 1))), 0.5:DECIMAL(2, 1))], _c21=[POWER(/(GREATEST(0, -($18, /(*($3, $3), $11))), CASE(=($11, 1), null:BIGINT, -($11, 1))), 0.5:DECIMAL(2, 1))], _c22=[POWER(/(-($19, /(*($12, $12), $13)), CASE(=($13, 1), null:BIGINT, -($13, 1))), 0.5:DECIMAL(2, 1))], _c23=[POWER(/(GREATEST(0, -($20, /(*($5, $5), $14))), CASE(=($14, 1), null:BIGINT, -($14, 1))), 0.5:DECIMAL(2, 1))], _c24=[/(-($15, /(*($6, $6), $7)), $7)], _c25=[/(GREATEST(0, -($16, /(*($1, $1), $8))), $8)], _c26=[/(-($17, /(*($9, $9), $10)), $10)], _c27=[/(GREATEST(0, -($18, /(*($3, $3), $11))), $11)], _c28=[/(-($19, /(*($12, $12), $13)), $13)], _c29=[/(GREATEST(0, -($20, /(*($5, $5), $14))), $14)], _c30=[/(-($15, /(*($6, $6), $7)), CASE(=($7, 1), null:BIGINT, -($7, 1)))], _c31=[/(GREATEST(0, -($16, /(*($1, $1), $8))), CASE(=($8, 1), null:BIGINT, -($8, 1)))], _c32=[/(-($17, /(*($9, $9), $10)), CASE(=($10, 1), null:BIGINT, -($10, 1)))], _c33=[/(GREATEST(0, -($18, /(*($3, $3), $11))), CASE(=($11, 1), null:BIGINT, -($11, 1)))], _c34=[/(-($19, /(*($12, $12), $13)), CASE(=($13, 1), null:BIGINT, -($13, 1)))], _c35=[/(GREATEST(0, -($20, /(*($5, $5), $14))), CASE(=($14, 1), null:BIGINT, -($14, 1)))], _c36=[$0], _c37=[$1], _c38=[$2], _c39=[$3], _c40=[$4], _c41=[$5], _c42=[$21], _c43=[$8], _c44=[$22], _c45=[$11], _c46=[$23], _c47=[$14])
162162
HiveAggregate(group=[{}], agg#0=[sum($0)], agg#1=[sum($1)], agg#2=[sum($2)], agg#3=[sum($3)], agg#4=[sum($4)], agg#5=[sum($5)], agg#6=[sum($6)], agg#7=[count($6)], agg#8=[count($1)], agg#9=[sum($7)], agg#10=[count($7)], agg#11=[count($3)], agg#12=[sum($8)], agg#13=[count($8)], agg#14=[count($5)], agg#15=[sum($9)], agg#16=[sum($10)], agg#17=[sum($11)], agg#18=[sum($12)], agg#19=[sum($13)], agg#20=[sum($14)], agg#21=[count($0)], agg#22=[count($2)], agg#23=[count($4)])
163163
HiveProject($f0=[$0], $f1=[CAST($0):DOUBLE], $f2=[$1], $f3=[CAST($1):DOUBLE], $f4=[$2], $f5=[CAST($2):DOUBLE], $f00=[CAST($0):DOUBLE], $f20=[CAST($1):DOUBLE], $f40=[CAST($2):DOUBLE], $f9=[*(CAST($0):DOUBLE, CAST($0):DOUBLE)], $f10=[*(CAST($0):DOUBLE, CAST($0):DOUBLE)], $f11=[*(CAST($1):DOUBLE, CAST($1):DOUBLE)], $f12=[*(CAST($1):DOUBLE, CAST($1):DOUBLE)], $f13=[*(CAST($2):DOUBLE, CAST($2):DOUBLE)], $f14=[*(CAST($2):DOUBLE, CAST($2):DOUBLE)])
164164
HiveTableScan(table=[[default, test]], table:alias=[test])

ql/src/test/results/clientpositive/llap/cbo_case_when_wrong_type.q.out

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ POSTHOOK: type: QUERY
5555
POSTHOOK: Input: default@t
5656
#### A masked pattern was here ####
5757
CBO PLAN:
58-
HiveProject($f0=[1])
58+
HiveProject(_c0=[1])
5959
HiveFilter(condition=[IN($0, 1:SMALLINT, 2:SMALLINT)])
6060
HiveTableScan(table=[[default, t]], table:alias=[t])
6161

@@ -78,7 +78,7 @@ POSTHOOK: type: QUERY
7878
POSTHOOK: Input: default@t
7979
#### A masked pattern was here ####
8080
CBO PLAN:
81-
HiveProject($f0=[1])
81+
HiveProject(_c0=[1])
8282
HiveFilter(condition=[IN($0, 1:SMALLINT, 2:SMALLINT)])
8383
HiveTableScan(table=[[default, t]], table:alias=[t])
8484

ql/src/test/results/clientpositive/llap/cbo_constantfolding.q.out

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ POSTHOOK: type: QUERY
77
POSTHOOK: Input: _dummy_database@_dummy_table
88
#### A masked pattern was here ####
99
CBO PLAN:
10-
HiveProject(_o__c0=[CAST(2023-01-02:DATE):DATE])
10+
HiveProject(_c0=[CAST(2023-01-02:DATE):DATE])
1111
HiveTableScan(table=[[_dummy_database, _dummy_table]], table:alias=[_dummy_table])
1212

1313
PREHOOK: query: EXPLAIN CBO SELECT DATE_SUB('2023-01-01', 1)
@@ -19,7 +19,7 @@ POSTHOOK: type: QUERY
1919
POSTHOOK: Input: _dummy_database@_dummy_table
2020
#### A masked pattern was here ####
2121
CBO PLAN:
22-
HiveProject(_o__c0=[CAST(2022-12-31:DATE):DATE])
22+
HiveProject(_c0=[CAST(2022-12-31:DATE):DATE])
2323
HiveTableScan(table=[[_dummy_database, _dummy_table]], table:alias=[_dummy_table])
2424

2525
PREHOOK: query: EXPLAIN CBO SELECT FROM_UNIXTIME(1672560000)
@@ -31,7 +31,7 @@ POSTHOOK: type: QUERY
3131
POSTHOOK: Input: _dummy_database@_dummy_table
3232
#### A masked pattern was here ####
3333
CBO PLAN:
34-
HiveProject(_o__c0=[CAST(_UTF-16LE'2023-01-01 00:00:00':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"):VARCHAR(2147483647) CHARACTER SET "UTF-16LE"])
34+
HiveProject(_c0=[CAST(_UTF-16LE'2023-01-01 00:00:00':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"):VARCHAR(2147483647) CHARACTER SET "UTF-16LE"])
3535
HiveTableScan(table=[[_dummy_database, _dummy_table]], table:alias=[_dummy_table])
3636

3737
PREHOOK: query: EXPLAIN CBO SELECT TO_UNIX_TIMESTAMP(DATE '2023-01-01')
@@ -43,7 +43,7 @@ POSTHOOK: type: QUERY
4343
POSTHOOK: Input: _dummy_database@_dummy_table
4444
#### A masked pattern was here ####
4545
CBO PLAN:
46-
HiveProject(_o__c0=[CAST(1672560000:BIGINT):BIGINT])
46+
HiveProject(_c0=[CAST(1672560000:BIGINT):BIGINT])
4747
HiveTableScan(table=[[_dummy_database, _dummy_table]], table:alias=[_dummy_table])
4848

4949
PREHOOK: query: EXPLAIN CBO SELECT UNIX_TIMESTAMP(DATE '2023-01-01')
@@ -55,6 +55,6 @@ POSTHOOK: type: QUERY
5555
POSTHOOK: Input: _dummy_database@_dummy_table
5656
#### A masked pattern was here ####
5757
CBO PLAN:
58-
HiveProject(_o__c0=[CAST(1672560000:BIGINT):BIGINT])
58+
HiveProject(_c0=[CAST(1672560000:BIGINT):BIGINT])
5959
HiveTableScan(table=[[_dummy_database, _dummy_table]], table:alias=[_dummy_table])
6060

ql/src/test/results/clientpositive/llap/cbo_distribute_sort_cluster_by.q.out

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ POSTHOOK: Input: default@t1
1818
#### A masked pattern was here ####
1919
CBO PLAN:
2020
HiveSortExchange(distribution=[hash[0]], collation=[[]])
21-
HiveProject(a=[$0], b=[$1])
21+
HiveProject(t1.a=[$0], t1.b=[$1])
2222
HiveTableScan(table=[[default, t1]], table:alias=[t1])
2323

2424
PREHOOK: query: explain
@@ -93,7 +93,7 @@ POSTHOOK: Input: default@t1
9393
#### A masked pattern was here ####
9494
CBO PLAN:
9595
HiveSortExchange(distribution=[hash[0, 1]], collation=[[0]])
96-
HiveProject(a=[$0], b=[$1])
96+
HiveProject(t1.a=[$0], t1.b=[$1])
9797
HiveTableScan(table=[[default, t1]], table:alias=[t1])
9898

9999
PREHOOK: query: explain
@@ -169,7 +169,7 @@ POSTHOOK: Input: default@t1
169169
#### A masked pattern was here ####
170170
CBO PLAN:
171171
HiveSortExchange(distribution=[hash[0, 1]], collation=[[0 ASC-nulls-first, 1 ASC-nulls-first]])
172-
HiveProject(a=[$0], b=[$1])
172+
HiveProject(t1.a=[$0], t1.b=[$1])
173173
HiveTableScan(table=[[default, t1]], table:alias=[t1])
174174

175175
PREHOOK: query: explain

ql/src/test/results/clientpositive/llap/cbo_distribute_sort_cluster_by_pos.q.out

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ POSTHOOK: Input: default@t1
1818
#### A masked pattern was here ####
1919
CBO PLAN:
2020
HiveSortExchange(distribution=[hash[1]], collation=[[]])
21-
HiveProject(a=[$0], b=[$1], c=[$2])
21+
HiveProject(t1.a=[$0], t1.b=[$1], t1.c=[$2])
2222
HiveTableScan(table=[[default, t1]], table:alias=[t1])
2323

2424
PREHOOK: query: explain
@@ -93,7 +93,7 @@ POSTHOOK: Input: default@t1
9393
#### A masked pattern was here ####
9494
CBO PLAN:
9595
HiveSortExchange(distribution=[hash[0, 1]], collation=[[1]])
96-
HiveProject(a=[$0], b=[$1], c=[$2])
96+
HiveProject(t1.a=[$0], t1.b=[$1], t1.c=[$2])
9797
HiveTableScan(table=[[default, t1]], table:alias=[t1])
9898

9999
PREHOOK: query: explain
@@ -169,7 +169,7 @@ POSTHOOK: Input: default@t1
169169
#### A masked pattern was here ####
170170
CBO PLAN:
171171
HiveSortExchange(distribution=[hash[0, 1]], collation=[[0 ASC-nulls-first, 1 ASC-nulls-first]])
172-
HiveProject(a=[$0], b=[$1], c=[$2])
172+
HiveProject(t1.a=[$0], t1.b=[$1], t1.c=[$2])
173173
HiveTableScan(table=[[default, t1]], table:alias=[t1])
174174

175175
PREHOOK: query: explain

ql/src/test/results/clientpositive/llap/cbo_filter_proj_transpose_noinputref.q.out

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ POSTHOOK: Input: default@test1
4040
POSTHOOK: Input: default@test2
4141
#### A masked pattern was here ####
4242
CBO PLAN:
43-
HiveProject(m=[CAST(_UTF-16LE'2':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"):VARCHAR(2147483647) CHARACTER SET "UTF-16LE"])
43+
HiveProject(c.m=[CAST(_UTF-16LE'2':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"):VARCHAR(2147483647) CHARACTER SET "UTF-16LE"])
4444
HiveJoin(condition=[true], joinType=[inner], algorithm=[none], cost=[not available])
4545
HiveProject(DUMMY=[0])
4646
HiveTableScan(table=[[default, test1]], table:alias=[test1])

ql/src/test/results/clientpositive/llap/cbo_groupby_remove_key.q.out

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,9 @@ POSTHOOK: type: QUERY
3333
POSTHOOK: Input: default@passenger
3434
#### A masked pattern was here ####
3535
CBO PLAN:
36-
HiveAggregate(group=[{0}], agg#0=[count()])
37-
HiveTableScan(table=[[default, passenger]], table:alias=[passenger])
36+
HiveProject(id=[$0], _c1=[$1])
37+
HiveAggregate(group=[{0}], agg#0=[count()])
38+
HiveTableScan(table=[[default, passenger]], table:alias=[passenger])
3839

3940
PREHOOK: query: EXPLAIN CBO SELECT passport, COUNT(1) FROM passenger GROUP BY id, passport
4041
PREHOOK: type: QUERY
@@ -45,8 +46,9 @@ POSTHOOK: type: QUERY
4546
POSTHOOK: Input: default@passenger
4647
#### A masked pattern was here ####
4748
CBO PLAN:
48-
HiveAggregate(group=[{3}], agg#0=[count()])
49-
HiveTableScan(table=[[default, passenger]], table:alias=[passenger])
49+
HiveProject(passport=[$0], _c1=[$1])
50+
HiveAggregate(group=[{3}], agg#0=[count()])
51+
HiveTableScan(table=[[default, passenger]], table:alias=[passenger])
5052

5153
PREHOOK: query: EXPLAIN CBO SELECT id, COUNT(1) FROM passenger GROUP BY id, fname, lname, passport
5254
PREHOOK: type: QUERY
@@ -57,8 +59,9 @@ POSTHOOK: type: QUERY
5759
POSTHOOK: Input: default@passenger
5860
#### A masked pattern was here ####
5961
CBO PLAN:
60-
HiveAggregate(group=[{0}], agg#0=[count()])
61-
HiveTableScan(table=[[default, passenger]], table:alias=[passenger])
62+
HiveProject(id=[$0], _c1=[$1])
63+
HiveAggregate(group=[{0}], agg#0=[count()])
64+
HiveTableScan(table=[[default, passenger]], table:alias=[passenger])
6265

6366
PREHOOK: query: EXPLAIN CBO SELECT passport, COUNT(1) FROM passenger GROUP BY id, fname, lname, passport
6467
PREHOOK: type: QUERY
@@ -69,8 +72,9 @@ POSTHOOK: type: QUERY
6972
POSTHOOK: Input: default@passenger
7073
#### A masked pattern was here ####
7174
CBO PLAN:
72-
HiveAggregate(group=[{3}], agg#0=[count()])
73-
HiveTableScan(table=[[default, passenger]], table:alias=[passenger])
75+
HiveProject(passport=[$0], _c1=[$1])
76+
HiveAggregate(group=[{3}], agg#0=[count()])
77+
HiveTableScan(table=[[default, passenger]], table:alias=[passenger])
7478

7579
PREHOOK: query: EXPLAIN CBO SELECT fname, COUNT(1) FROM passenger GROUP BY id, fname, lname, passport
7680
PREHOOK: type: QUERY
@@ -81,7 +85,7 @@ POSTHOOK: type: QUERY
8185
POSTHOOK: Input: default@passenger
8286
#### A masked pattern was here ####
8387
CBO PLAN:
84-
HiveProject(fname=[$1], _o__c1=[$2])
88+
HiveProject(fname=[$1], _c1=[$2])
8589
HiveAggregate(group=[{0, 1}], agg#0=[count()])
8690
HiveTableScan(table=[[default, passenger]], table:alias=[passenger])
8791

@@ -94,7 +98,7 @@ POSTHOOK: type: QUERY
9498
POSTHOOK: Input: default@passenger
9599
#### A masked pattern was here ####
96100
CBO PLAN:
97-
HiveProject(lname=[$1], _o__c1=[$2])
101+
HiveProject(lname=[$1], _c1=[$2])
98102
HiveAggregate(group=[{0, 2}], agg#0=[count()])
99103
HiveTableScan(table=[[default, passenger]], table:alias=[passenger])
100104

@@ -107,6 +111,7 @@ POSTHOOK: type: QUERY
107111
POSTHOOK: Input: default@passenger
108112
#### A masked pattern was here ####
109113
CBO PLAN:
110-
HiveAggregate(group=[{1, 2}], agg#0=[count()])
111-
HiveTableScan(table=[[default, passenger]], table:alias=[passenger])
114+
HiveProject(fname=[$0], lname=[$1], _c2=[$2])
115+
HiveAggregate(group=[{1, 2}], agg#0=[count()])
116+
HiveTableScan(table=[[default, passenger]], table:alias=[passenger])
112117

0 commit comments

Comments
 (0)