[
https://issues.apache.org/jira/browse/IMPALA-11549?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Csaba Ringhofer resolved IMPALA-11549.
--------------------------------------
Fix Version/s: Impala 4.3.0
Resolution: Fixed
> Incorrent return type mismatch in Hive generic UDFs
> ---------------------------------------------------
>
> Key: IMPALA-11549
> URL: https://issues.apache.org/jira/browse/IMPALA-11549
> Project: IMPALA
> Issue Type: Bug
> Components: Frontend
> Affects Versions: Impala 4.2.0
> Reporter: Csaba Ringhofer
> Priority: Major
> Fix For: Impala 4.3.0
>
>
> The valid looking function creation returned an error:
> CREATE FUNCTION IF NOT EXISTS st_bin(bigint, binary) returns bigint LOCATION
> ' ...' SYMBOL='org.apache.hadoop.hive.ql.udf.esri.ST_Bin';
> ERROR: CatalogException: Error retrieving class class
> org.apache.hadoop.hive.ql.udf.esri.ST_Bin: Function expected return type
> bigint but was created with BIGINT
> I think that issue is that we use =! to check for mismatch:
> https://github.com/apache/impala/blob/fec7a79c50de9ef5db2c652ece111aaa303d57c7/fe/src/main/java/org/apache/impala/hive/executor/HiveGenericJavaFunction.java#L149
> Comparison of ObjectInspectors should be done in a more complex way, see
> https://github.com/apache/hive/blob/d06957f254e026e719f30027d161264be43386b0/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorUtils.java#L1325
--
This message was sent by Atlassian Jira
(v8.20.10#820010)