Csaba Ringhofer created IMPALA-11549:
----------------------------------------

             Summary: 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.1.0
            Reporter: Csaba Ringhofer


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)

Reply via email to