Skip to content

fix(spec): support variant type metadata - #10

Merged
sundy-li merged 1 commit into
devfrom
fix/metadata-variant-type
Jul 6, 2026
Merged

sundy-li merged 1 commit into
devfrom
fix/metadata-variant-type

Conversation

@sundy-li

@sundy-li sundy-li commented Jul 6, 2026 •

Copy link
Copy Markdown
Member

Summary

  • add PrimitiveType::Variant serde/display support for Iceberg v3 metadata
  • cover variant fields in primitive type and V3 table metadata serde tests
  • allow Arrow schema conversion for Variant metadata using a binary placeholder so tables with Variant columns can load schema
  • keep Avro/value conversions for Variant explicitly unsupported, so actual Variant value read/write support is not implied

Behavior

This PR only makes Iceberg metadata/schema containing "variant" parseable. It does not implement Iceberg Variant value decoding. Consumers should return a clear unsupported error when a query tries to read Variant values.

Validation

  • cargo fmt --all --check
  • path-crate validation with the Avia metadata sample: serde_json::from_str::iceberg::spec::TableMetadata returns ok
  • path-crate validation with the Avia metadata sample: schema_to_arrow_schema(metadata.current_schema()) returns ok with 40 fields

Note: workspace cargo test is still blocked in this environment by crates.io/mockito resolution timeouts, same as the previous validation run.

@sundy-li
sundy-li force-pushed the fix/metadata-variant-type branch 3 times, most recently from 0a237bc to c2d76b1 Compare July 6, 2026 07:22
@sundy-li
sundy-li force-pushed the fix/metadata-variant-type branch from c2d76b1 to 95df0fc Compare July 6, 2026 07:44
@sundy-li
sundy-li merged commit 3af673b into dev Jul 6, 2026
16 checks passed
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.

1 participant