findepi opened a new pull request, #17130: URL: https://github.com/apache/datafusion/pull/17130
Follows similar change for `WindowUDFImpl`, i.e. the 8494a3967a413ef263a50b87ce8b5924eb1aa948 commit. Previously, the `AggregateUDFImpl` trait contained `equals` and `hash_value` methods with contracts following the `Eq` and `Hash` traits. However, the existence of default implementations of these methods made it error-prone, with many functions (scalar, aggregate, window) missing to customize the equals even though they ought to. There is no fix to this that's not an API breaking change, so a breaking change is warranted. Removing the default implementations would be enough of a solution, but at the cost of a lot of boilerplate needed in implementations. Instead, this removes the methods from the trait, and reuses `DynEq`, `DynHash` traits used previously only for physical expressions. This allows for functions to provide their implementations using no more than `#[derive(PartialEq, Eq, Hash)]` in a typical case. - follows https://github.com/apache/datafusion/pull/17081 - fixes https://github.com/apache/datafusion/issues/16869 - fixes https://github.com/apache/datafusion/issues/16872 - part of https://github.com/apache/datafusion/issues/16677 -- 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