fallintoplace opened a new pull request, #1731: URL: https://github.com/apache/iceberg-go/pull/1731
## What changed Partition values are used in three places: equality-delete matching, partitioned fanout grouping, and clustered partition tracking. They now share one normalization and equality path. Binary values still compare by bytes. Float values use their bit patterns, canonicalize all NaNs, and keep `-0.0` distinct from `+0.0`. This matches Java Iceberg’s type-aware partition maps. Before this, a NaN partition could fail equality-delete matching, and signed-zero partitions could be grouped together by a Go map. ## Tests - Added coverage for float32 and float64 NaNs, NaN payloads, signed zero, binary values, equality deletes, and writer grouping. - `go test ./table -count=1` - Focused race-detector tests pass. Java uses `PartitionMap` and `StructLikeMap` with the partition type comparator: https://raw.githubusercontent.com/apache/iceberg/main/core/src/main/java/org/apache/iceberg/util/PartitionMap.java https://raw.githubusercontent.com/apache/iceberg/main/core/src/main/java/org/apache/iceberg/util/StructLikeMap.java https://raw.githubusercontent.com/apache/iceberg/main/api/src/main/java/org/apache/iceberg/types/Comparators.java -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
