[
https://issues.apache.org/jira/browse/HIVE-26817?focusedWorklogId=832045&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-832045
]
ASF GitHub Bot logged work on HIVE-26817:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 08/Dec/22 13:12
Start Date: 08/Dec/22 13:12
Worklog Time Spent: 10m
Work Description: kasakrisz commented on code in PR #3843:
URL: https://github.com/apache/hive/pull/3843#discussion_r1043338477
##########
ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/PlanModifierForASTConv.java:
##########
@@ -71,7 +73,10 @@ public class PlanModifierForASTConv {
public static RelNode convertOpTree(RelNode rel, List<FieldSchema>
resultSchema, boolean alignColumns)
throws CalciteSemanticException {
if (rel instanceof HiveValues) {
- return rel;
+ RelDataTypeFactory typeFactory = rel.getCluster().getTypeFactory();
+ List<String> fieldNames =
resultSchema.stream().map(FieldSchema::getName).collect(Collectors.toList());
+ fieldNames = SqlValidatorUtil.uniquify(fieldNames,
typeFactory.getTypeSystem().isSchemaCaseSensitive());
Review Comment:
The new column names are the same as a non empty query's result which top
operator is not `HiveValues`. Example:
```
select * from (select a, b from t1) s
left join t2 on s.a = t2.c;
```
```
select * from (select a, b from t1 where 0 = 1) s
left join t2 on s.a = t2.c;
```
both produces column names:
```
s.a s.b t2.c t2.d
```
Issue Time Tracking
-------------------
Worklog Id: (was: 832045)
Time Spent: 40m (was: 0.5h)
> Set column names in result schema when plan has Values root
> -----------------------------------------------------------
>
> Key: HIVE-26817
> URL: https://issues.apache.org/jira/browse/HIVE-26817
> Project: Hive
> Issue Type: Improvement
> Components: CBO
> Reporter: Krisztian Kasa
> Assignee: Krisztian Kasa
> Priority: Major
> Labels: pull-request-available
> Time Spent: 40m
> Remaining Estimate: 0h
>
> The query
> {code}
> select b1, count(a1) count1 from (select a1, b1 from t1) s where 1=0 group by
> b1;
> {code}
> should have a result with column names
> {code}
> b1 count1
> {code}
> but it is
> {code}
> $f0 $f1
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)