Skip to content

Spec: clarify Avro encoding for day partition transform in manifests#16446

Draft
laskoviymishka wants to merge 1 commit into
apache:mainfrom
laskoviymishka:spec-day-transform-encoding
Draft

Spec: clarify Avro encoding for day partition transform in manifests#16446
laskoviymishka wants to merge 1 commit into
apache:mainfrom
laskoviymishka:spec-day-transform-encoding

Conversation

@laskoviymishka
Copy link
Copy Markdown

Documents that writers SHOULD encode day partition fields in Avro manifests with logicalType: date and readers MUST accept both plain int and int with logicalType: date. The logical Iceberg result type remains int.

Resolves the ambiguity between the spec's transform result type table (int) and the de facto behavior of Java, PyIceberg, and Rust (logical date), which has caused real interop failures.

Issue: #16414
Discussion: https://lists.apache.org/thread/qqw5oog5swmswxqqmp693vz1rw132xb6

Documents that writers SHOULD encode `day` partition fields in Avro
manifests with `logicalType: date` and readers MUST accept both plain
`int` and `int` with `logicalType: date`. The logical Iceberg result
type remains `int`.

Resolves the ambiguity between the spec's transform result type table
(`int`) and the de facto behavior of Java, PyIceberg, and Rust (logical
`date`), which has caused real interop failures.

Issue: apache#16414
Discussion: https://lists.apache.org/thread/qqw5oog5swmswxqqmp693vz1rw132xb6
@laskoviymishka
Copy link
Copy Markdown
Author

To connect with past generation of this - #10616

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Specification Issues that may introduce spec changes.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants