Skip to content

Upgrade to arrow 59 - #1

Closed
adriangb wants to merge 1 commit into
mainfrom
claude/arrow-59-upgrade-vg9o8j
Closed

Upgrade to arrow 59#1
adriangb wants to merge 1 commit into
mainfrom
claude/arrow-59-upgrade-vg9o8j

Conversation

@adriangb

Copy link
Copy Markdown
Member

Summary

Upgrades datafusion-variant to arrow 59.

  • Bumps arrow, arrow-schema, arrow-cast and the parquet-variant* crates to 59.0.0.
  • DataFusion does not yet have a crates.io release built against arrow 59 (54 pins arrow ^58.3), so a [patch.crates-io] section points the datafusion* crates at apache/datafusion#22744 (alamb/update_arrow_59), which updates DataFusion to arrow/parquet 59.0.0. This keeps the whole dependency graph on a single arrow 59 major — without the patch the resolver pulls in both arrow 58.3 (via DataFusion) and arrow 59 (our direct deps), which fails to compile at the DataFusion ↔ parquet-variant boundary.
  • Drop the patch once a DataFusion release ships arrow 59.

Behavior change in parquet-variant 59

parquet-variant 59 changed variant_get(.., as_type) to coerce mismatched primitives (matching SQL CAST semantics) instead of returning NULL:

  • numeric → boolean coerces nonzero to true
  • float → integer truncates toward zero (e.g. 10.510)

The affected unit tests and sqllogictests are updated to assert the new coercion behavior, which is closer to the Spark/Databricks parity goal.

Notes

https://claude.ai/code/session_01H3jbXkVZam7VH5DpiXczBR


Generated by Claude Code

@adriangb
adriangb force-pushed the claude/arrow-59-upgrade-vg9o8j branch from bc7fdc0 to a9acb0a Compare June 10, 2026 08:58
Bump arrow, arrow-schema, arrow-cast and the parquet-variant crates to
59.0.0. DataFusion does not yet have a crates.io release built against
arrow 59, so a [patch.crates-io] section points the datafusion* crates at
apache/datafusion PR #22744 (alamb/update_arrow_59), which updates
DataFusion to arrow/parquet 59.0.0. This keeps the whole dependency graph
on a single arrow 59 major; drop the patch once a DataFusion release ships
arrow 59.

parquet-variant 59 changed `variant_get(..., as_type)` to coerce mismatched
primitives (matching SQL cast semantics) instead of returning NULL:
- numeric -> boolean coerces nonzero to true
- float -> integer truncates toward zero

Update the affected unit tests and sqllogictests accordingly.

https://claude.ai/code/session_01H3jbXkVZam7VH5DpiXczBR
@adriangb
adriangb force-pushed the claude/arrow-59-upgrade-vg9o8j branch from a9acb0a to 2adeba4 Compare June 10, 2026 09:16

Copy link
Copy Markdown
Member Author

Closing this in favor of opening the arrow 59 upgrade against upstream (datafusion-contrib/datafusion-variant) instead of the fork.

The branch is unchanged and already pushed; the upstream PR can be opened here:
https://github.com/datafusion-contrib/datafusion-variant/compare/main...pydantic:datafusion-variant:claude/arrow-59-upgrade-vg9o8j?expand=1


Generated by Claude Code

@adriangb adriangb closed this Jun 10, 2026
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.

2 participants