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]

Reply via email to