alamb opened a new issue, #24535: URL: https://github.com/apache/datafusion/issues/24535
### Is your feature request related to a problem or challenge? The [API health policy deprecation guidelines] say deprecated APIs remain for > 6 major versions or 6 months, whichever is longer `main` is at `55.0.0`, so the next release is `56.0.0` and anything deprecated in `50.0.0` or earlier now clears both sides of the policy. Four such methods remain in [`datafusion/expr/src/udf.rs`]: | Item | Deprecated in | Replacement | | --- | --- | --- | | [`ScalarUDFImpl::is_nullable`](https://github.com/apache/datafusion/blob/main/datafusion/expr/src/udf.rs#L705) | 45.0.0 | `return_field_from_args` | | [`ScalarUDF::display_name`](https://github.com/apache/datafusion/blob/main/datafusion/expr/src/udf.rs#L193) | 50.0.0 | none, method is unused | | [`ScalarUDF::is_nullable`](https://github.com/apache/datafusion/blob/main/datafusion/expr/src/udf.rs#L259) | 50.0.0 | `return_field_from_args` | | [`ScalarUDFImpl::display_name`](https://github.com/apache/datafusion/blob/main/datafusion/expr/src/udf.rs#L564) | 50.0.0 | none, method is unused | [API health policy deprecation guidelines]: https://datafusion.apache.org/contributor-guide/api-health.html#deprecation-guidelines [`datafusion/expr/src/udf.rs`]: https://github.com/apache/datafusion/blob/main/datafusion/expr/src/udf.rs ### Describe the solution you'd like Remove all four methods, along with the internal forwarding that exists only to call them: the `#[expect(deprecated)]` blocks at [L194](https://github.com/apache/datafusion/blob/main/datafusion/expr/src/udf.rs#L194) and [L260](https://github.com/apache/datafusion/blob/main/datafusion/expr/src/udf.rs#L260), and the `AliasedScalarUDFImpl` delegates at [L1114](https://github.com/apache/datafusion/blob/main/datafusion/expr/src/udf.rs#L1114) and [L1135](https://github.com/apache/datafusion/blob/main/datafusion/expr/src/udf.rs#L1135). This is self-contained: no other crate in the repository calls or overrides these methods. Since this is a breaking Rust API change, the PR should carry the `api change` label and add a note to the `56.0.0` [upgrade guide], per [what to do when making breaking API changes]. [upgrade guide]: https://github.com/apache/datafusion/tree/main/docs/source/library-user-guide/upgrading [what to do when making breaking API changes]: https://datafusion.apache.org/contributor-guide/api-health.html#what-to-do-when-making-breaking-api-changes ### Describe alternatives you've considered Keeping the methods longer. `ScalarUDFImpl::is_nullable` has been deprecated for 10 major versions and roughly 18 months, well past what the policy asks for. ### Additional context Follow on to #23080, which did the same sweep at the `49.0.0` cutoff. Several other APIs are now past the policy as well (Substrait variation constants from 41.0.0 to 43.0.0, `OptimizerRule::supports_rewrite`, `ScalarValue::raw_data`, and others). Those will be filed as separate issues so each can be reviewed and merged independently. -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
