scarlin-cloudera commented on code in PR #4442: URL: https://github.com/apache/hive/pull/4442#discussion_r1320422129
########## ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/ASTConverter.java: ########## @@ -383,8 +386,16 @@ private ASTNode convert() throws CalciteSemanticException { ASTBuilder sel = ASTBuilder.construct(HiveParser.TOK_SELEXPR, "TOK_SELEXPR"); ASTNode function = buildUDTFAST(call.getOperator().getName(), children); sel.add(function); - for (String alias : udtf.getRowType().getFieldNames()) { - sel.add(HiveParser.Identifier, alias); + + // When we are treating a UDTF as a 'select', it is not a lateral view. + // In this case, it means that only the fields from the UDTF are selected + // out of the RelNode and placed into the SELEXPR. So we want to ignore + // any field in the inputRef mapping. + List<String> fields = udtf.getRowType().getFieldNames(); + for (int i = 0; i < udtf.getRowType().getFieldCount(); ++i) { + if (!udtf.containsInputRefMapping(i)) { Review Comment: Removed ########## ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/ASTConverter.java: ########## @@ -577,6 +588,18 @@ private QueryBlockInfo convertSource(RelNode r) throws CalciteSemanticException ast = ASTBuilder.subQuery(left, sqAlias); s = new Schema((Union) r, sqAlias); } + } else if (r instanceof HiveTableFunctionScan && Review Comment: Done -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For additional commands, e-mail: gitbox-h...@hive.apache.org