shehabgamin commented on PR #14268:
URL: https://github.com/apache/datafusion/pull/14268#issuecomment-2626728678

   > First of all, we need to have a out of box behavior for each function, and 
at the same time easy to be customizable. The Signature Coercible now becomes 
problematic, if we follows the system contract, it is not usable internally in 
datafusion core, but if we adapt it to function in datafusion core, it becomes 
less flexible and even easy to cause surprised regressions for other projects 
that rely on the old signature logic.
   
   My guess is that it would still be usable internally by some functions in 
datafusion core. This is because coercion behavior can often be unique to a 
specific UDF.
   
   > The idea I have so far is that how about make Signature a method of trait 
at all, each function is able to implement it's own signature check, it not 
only is flexible by default and also any change to it is safely not to impact 
others. To make coercion less repeated and easy to use we provide many small 
and well defined utility functions like string coercion or numeric coercion 
both used internally and public to others.
   
   This would be out of scope for this PR, but I think it aligns pretty well 
with the discussion we were having here:
   https://github.com/apache/datafusion/issues/14296#issuecomment-2614337663
   
   For the purpose of this PR, what are your thoughts about:
   1. Keeping the changes to the coercible behavior. This follows the system 
contract and makes the signature consistent with the documentation.
   2. Using different signatures (or creating new signatures) for the affected 
UDFs in this PR.


-- 
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

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