Skip to content

EPIC: v3 Support Tracking #2411

@nssalian

Description

@nssalian

This tracks the progress on adding full v3 support to iceberg-rust.
Based on the pyiceberg tracking (apache/iceberg-python#1818)
and iceberg-go tracking (apache/iceberg-go#589).

New DataTypes

  • Variant - PR feat: Variant Support #2188 open
    • Non-shredded read/write
    • Shredded read
    • Shredded write
    • Variant statistics (skip min/max on parent, allow on shredded children)
  • Geometry / Geography

Default Values

  • initial-default and write-default support

Row Lineage

  • first-row-id tracking on manifest entries
  • next-row-id monotonicity validation
  • Row lineage assignment on write

Deletion Vectors

  • DV read support (Puffin + Roaring bitmap)
  • DV write support
  • Scanner integration

Multi-arg Transforms

  • Metadata read (partition spec with multi-arg transforms)
  • Eval support (when spec stabilizes)

Misc v3 Spec Items

  • Stop writing distinct_counts on v3 manifests
  • Emit null current-snapshot-id for empty v3 metadata (not -1)
  • Support zstd metadata compression codec
  • Gate v3-only metadata fields when reading v1/v2

Related

Describe the solution you'd like

These would be grouped and owned by one or more contributors.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestepicEpic issue

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions