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)