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

Reply via email to