findepi opened a new pull request, #17081:
URL: https://github.com/apache/datafusion/pull/17081

   Previously, the `WindowUDFImpl` 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.
   
   - fixes https://github.com/apache/datafusion/issues/16870
   - fixes https://github.com/apache/datafusion/issues/16873
   
   Based on
   
   - https://github.com/apache/datafusion/pull/17078
   - https://github.com/apache/datafusion/pull/17080
   
   


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