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