edmondop opened a new issue, #11618:
URL: https://github.com/apache/datafusion/issues/11618

   ### Is your feature request related to a problem or challenge?
   
   When writing a new UDF, a developer needs to decide how to perform error 
management in functions that return `Result`, such as `return_type` and 
`invoke`. Looking at the existing codebase it is not obvious what are the error 
management best practice
   
   # Errors in return type
   - Regexp like uses an `plan_err` data types of args do not match the 
expected types 
https://github.com/apache/datafusion/blob/77311a5896272c7ed252d8cd53d48ec6ea7c0ccf/datafusion/functions/src/regex/regexplike.rs#L74
 . Is this check redundant? 
   
   - Except expects two arguments but doesn't check the length, just the type 
https://github.com/apache/datafusion/blob/77311a5896272c7ed252d8cd53d48ec6ea7c0ccf/datafusion/functions-array/src/except.rs#L55.
 
   
   # Errors in invoke
   
   In the resize function, there is a check on argument lengths in invoke which 
is not present in the `return_type` function
   
https://github.com/apache/datafusion/blob/77311a5896272c7ed252d8cd53d48ec6ea7c0ccf/datafusion/functions-array/src/resize.rs#L27
   
   The same function also returns `exec_err`, and `internal_datafusion_err`
   
   
   
   ### Describe the solution you'd like
   
   As a developers of custom UDF I would like to know:
   - what errors I need to check for and what are already checked by the 
planner (number of arguments?)
   - what type of errors need to be raised in which conditions
   
   ### Describe alternatives you've considered
   
   _No response_
   
   ### Additional context
   
   _No response_


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: github-unsubscr...@datafusion.apache.org
For additional commands, e-mail: github-h...@datafusion.apache.org

Reply via email to