Skip to content

chore: remove as_any from aggregate and window functions#21209

Open
timsaucer wants to merge 5 commits intoapache:mainfrom
timsaucer:feat/remove-as-any-agg-window
Open

chore: remove as_any from aggregate and window functions#21209
timsaucer wants to merge 5 commits intoapache:mainfrom
timsaucer:feat/remove-as-any-agg-window

Conversation

@timsaucer
Copy link
Copy Markdown
Member

Which issue does this PR close?

This is a follow on to #20812 but treats aggregate and window functions.

Rationale for this change

This PR reduces the amount of boilerplate code that users need to write for aggregate and window functions.

What changes are included in this PR?

Now that we have trait upcasting since rust 1.86, we no longer need every implementation of these functions to have the as_any function that returns &self. This PR makes Any an supertrait and makes the appropriate casts when necessary.

Are these changes tested?

Existing unit tests.

Are there any user-facing changes?

Yes, the users simply need to remove the as_any function. The upgrade guide is updated.

@timsaucer timsaucer self-assigned this Mar 27, 2026
@timsaucer timsaucer added the api change Changes the API exposed to users of the crate label Mar 27, 2026
@github-actions github-actions bot added documentation Improvements or additions to documentation logical-expr Logical plan and expressions optimizer Optimizer rules core Core DataFusion crate proto Related to proto crate functions Changes to functions implementation ffi Changes to the ffi crate spark labels Mar 27, 2026
@github-actions github-actions bot added the physical-expr Changes to the physical-expr crates label Mar 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api change Changes the API exposed to users of the crate core Core DataFusion crate documentation Improvements or additions to documentation ffi Changes to the ffi crate functions Changes to functions implementation logical-expr Logical plan and expressions optimizer Optimizer rules physical-expr Changes to the physical-expr crates proto Related to proto crate spark

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant