Roman created DRILL-4963:
----------------------------

             Summary: Issues when overloading Drill native functions with 
dynamic UDFs
                 Key: DRILL-4963
                 URL: https://issues.apache.org/jira/browse/DRILL-4963
             Project: Apache Drill
          Issue Type: Bug
          Components: Functions - Drill
    Affects Versions: 1.9.0
            Reporter: Roman


I created jar file which overloads 3 DRILL native functions 
(LOG(VARCHAR-REQUIRED), CURRENT_DATE(VARCHAR-REQUIRED) and 
ABS(VARCHAR-REQUIRED,VARCHAR-REQUIRED)) and registered it as dynamic UDF.

If I try to use my functions I will get errors:

{code:xml}
SELECT CURRENT_DATE('test') FROM (VALUES(1));
{code}
Error: FUNCTION ERROR: CURRENT_DATE does not support operand types (CHAR)
SQL Query null

{code:xml}
SELECT ABS('test','test') FROM (VALUES(1));
{code}

Error: FUNCTION ERROR: ABS does not support operand types (CHAR,CHAR)
SQL Query null

{code:xml}
SELECT LOG('test') FROM (VALUES(1));
{code}
Error: SYSTEM ERROR: DrillRuntimeException: Failure while materializing 
expression in constant expression evaluator LOG('test').  Errors: 
Error in expression at index -1.  Error: Missing function implementation: 
castTINYINT(VARCHAR-REQUIRED).  Full expression: UNKNOWN EXPRESSION.

But if I rerun all this queries after "DrillRuntimeException", they will run 
correctly. It seems that Drill have not updated the function signature before 
that error. Also if I add jar as usual UDF (copy jar to 
/drill_home/jars/3rdparty and restart drillbits), all queries will run 
correctly without errors.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to