[
https://issues.apache.org/jira/browse/FLINK-30452?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17649196#comment-17649196
]
luoyuxia edited comment on FLINK-30452 at 12/19/22 7:53 AM:
------------------------------------------------------------
I don't think when we do the type inference, void type should be considered as
string type.
In the other code, we just consider void type as [null type |#L451]]or
[unsupported type |#L154]]
was (Author: luoyuxia):
I don't think when we do the type inference, void type should be considered as
string type.
In the other code, we just consider void type as [null type
|[https://github.com/apache/flink/blob/df0bc117341a4017a1aea0234cb1d63202562be3/flink-connectors/flink-connector-hive/src/main/java/org/apache/flink/table/planner/delegation/hive/HiveParserRexNodeConverter.java#L451]]
or [unsupported type
|[https://github.com/apache/flink/blob/2e5cac1f31aa571276df20e24889994672692a89/flink-connectors/flink-connector-hive/src/main/java/org/apache/flink/table/catalog/hive/util/HiveTypeUtil.java#L154]]
> Wrong argument type is used when call Hive's function
> -----------------------------------------------------
>
> Key: FLINK-30452
> URL: https://issues.apache.org/jira/browse/FLINK-30452
> Project: Flink
> Issue Type: Sub-task
> Components: Connectors / Hive
> Reporter: luoyuxia
> Priority: Major
>
> While calling Hive function, if the argument is void type, it will be
> [considered as string type|#L553]], which may bring wrong type inference and
> thus may well cause other problems.
>
> For example,
> {code:java}
> timestamp(if(a = null, null, a)
> {code}
> the argument for function `if` is `null` and `a`, null is void type, `a` is
> bigint type, so the inferred return type should be bigint for the `if`
> function will ignore void type and just consider the other argument type.
> But we consider the void type as string type, the return type inferred will
> be string according to the `if` function inference logic.
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)