Skip to content

chore(deps): Bump DataFusion to 54.0.0#2648

Open
xanderbailey wants to merge 4 commits into
apache:mainfrom
xanderbailey:xb/datafusion_54
Open

chore(deps): Bump DataFusion to 54.0.0#2648
xanderbailey wants to merge 4 commits into
apache:mainfrom
xanderbailey:xb/datafusion_54

Conversation

@xanderbailey

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

DataFusion to 54.0.0 was recently released, we should try and track latests releases.

  • Closes #.

What changes are included in this PR?

ExecutionPlan TableProvider, SchemaProvider, CatalogProvider, CatalogProviderList and PhysicalExpr have all had their as_any removed from the trait. That's really the only change needed here. Upgrade guide documents this

Are these changes tested?

@xanderbailey xanderbailey marked this pull request as draft June 14, 2026 21:26
@xanderbailey xanderbailey force-pushed the xb/datafusion_54 branch 3 times, most recently from 38323e6 to a59888d Compare June 15, 2026 07:36
@xanderbailey xanderbailey marked this pull request as ready for review June 15, 2026 08:06

@CTTY CTTY left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall LGTM. we can wait until the 0.10 release is done

}

fn as_any(&self) -> &dyn Any {
self

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great to see this gone!

}
Expr::Cast(c) => {
if c.data_type == DataType::Date32 || c.data_type == DataType::Date64 {
if *c.field.data_type() == DataType::Date32 || *c.field.data_type() == DataType::Date64

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mbutrovich mbutrovich left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @xanderbailey! Took a pass with the 54.0 upgrade guide open. The as_any removal looks complete and correct across all the trait impls and the downcast call sites, and I confirmed the other guide items don't apply here: partition_statistics isn't implemented (so no Arc<Statistics> change), the to_iceberg_predicate match is non-exhaustive so the new Expr variants (Lambda / HigherOrderFunction / LambdaVariable) are safely ignored, and there's no PruningStatistics / datafusion-proto / comparison_coercion usage in the integration.

One outstanding item, which is the same thing @CTTY flagged: DF54 also renamed logical Expr::Cast's data_type field to field: FieldRef. This PR adapts expr_to_predicate.rs:143 but there's a second site at expr_to_predicate.rs:265 in resolve_nan_preserving_reference (added in #2592, after this branch) that still uses cast.data_type. On current main this won't compile until that one also becomes cast.field.data_type(). So I think this just needs a rebase on main + that one-line fix.

…Fusion 54

DataFusion 54 removed as_any() from several traits including CatalogProviderList.
The datafusion integration crate was updated but the playground crate was missed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants