fallintoplace opened a new pull request, #1327: URL: https://github.com/apache/iceberg-go/pull/1327
Summary - add null checks to the specialized equality-delete encoders for numeric, date, time, and timestamp Arrow columns - keep the fast paths, but make their null encoding match the generic encoder exactly - add focused regression coverage that specialized and generic encoders produce identical bytes for null and non-null rows across the affected types Why The optimized equality-delete encoder paths for numeric, date, time, and timestamp columns wrote a non-null tag and raw value without checking IsNull(row). That could make null delete keys collide with zero or default values, or encode differently from the generic path used elsewhere. This change keeps the optimized encoders but makes their null handling match encodeArrowValue so equality-delete key encoding stays stable and correct. Testing - go test ./table -run 'Test(ReadAllEqualityDeleteFilesRejectsEmptyEqualityFieldIDs|MakeColEncoderMatchesGenericEncodingForNullSpecializedTypes)$' -count=1 - go test ./table -count=1 - go test ./... -run '^$' -count=1 - go run github.com/golangci/golangci-lint/v2/cmd/[email protected] run --timeout=10m ./table/... - git diff --check -- 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]
