You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Miklos Gergely (Jira)" <ji...@apache.org> on 2019/11/06 12:15:00 UTC

[jira] [Comment Edited] (HIVE-22369) Handle HiveTableFunctionScan at return path

    [ https://issues.apache.org/jira/browse/HIVE-22369?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16954652#comment-16954652 ] 

Miklos Gergely edited comment on HIVE-22369 at 11/6/19 12:14 PM:
-----------------------------------------------------------------

[~jcamachorodriguez] one way to handle this issue would be this: HiveCalciteUtil.getTopLevelSelect could accept a HiveTableFunctionScan as top level element as well, then HiveOpConverter could have a visit(HiveTableFunctionScan) method, that generates on Operator. Is this the correct way to do it? Please advise.


was (Author: mgergely):
[~jcamachorodriguez] one way to handle this issue would be this: HiveCalciteUtil.getTopLevelSelect could accept a HiveTableFunctionScan as top level element as well, then HiveConverter could have a visit(HiveTableFunctionScan) method, that generates on Operator. Is this the correct way to do it? Please advise.

> Handle HiveTableFunctionScan at return path
> -------------------------------------------
>
>                 Key: HIVE-22369
>                 URL: https://issues.apache.org/jira/browse/HIVE-22369
>             Project: Hive
>          Issue Type: Sub-task
>          Components: Hive
>            Reporter: Miklos Gergely
>            Assignee: Miklos Gergely
>            Priority: Major
>             Fix For: 4.0.0
>
>
> The [optimizedOptiqPlan|https://github.com/apache/hive/blob/5c91d324f22c2ae47e234e76a9bc5ee1a71e6a70/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java#L1573] at CalcitePlanner.getOptimizedHiveOPDag is ultimately generated by CalcitePlanner.internalGenSelectLogicalPlan, which may either provide a [HiveProject|https://github.com/apache/hive/blob/5c91d324f22c2ae47e234e76a9bc5ee1a71e6a70/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java#L4831] or a [HiveTableFunctionScan|https://github.com/apache/hive/blob/5c91d324f22c2ae47e234e76a9bc5ee1a71e6a70/ql/src/java/org/apache/hadoop/hive/ql/parse/CalcitePlanner.java#L4776]. When HiveCalciteUtil.getTopLevelSelect is invoked on this it is looking for a [HiveProject|https://github.com/apache/hive/blob/5c91d324f22c2ae47e234e76a9bc5ee1a71e6a70/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/HiveCalciteUtil.java#L633] node in the tree, which if won't find in case of a HiveTableFunctionScan was returned. This is why TestNewGetSplitsFormat is failing with return path.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)