Skip to content

Spec, OpenAPI: Define hex case for binary and fixed values (#18352) - #18433

Open
zhang-arvin wants to merge 1 commit into
apache:mainfrom
zhang-arvin:define-hex-case-for-binary-fixed
Open

zhang-arvin wants to merge 1 commit into
apache:mainfrom
zhang-arvin:define-hex-case-for-binary-fixed

Conversation

@zhang-arvin

Copy link
Copy Markdown

Fixes #18352

The table spec and the OpenAPI spec disagreed on how binary and fixed values are written as hex strings. format/spec.md Appendix D said "Stored as a hexadecimal string" with the lowercase example "000102ff" and no case rule, while rest-catalog-open-api.yaml (BinaryTypeValue / FixedTypeValue) said "serialized as an uppercase hexadecimal string". Implementations already differ, and both cases can appear in existing table metadata.

This change makes the rule explicit and consistent:

  • Readers must accept either case (lowercase values can already be written by existing implementations, so a stricter rule would break existing tables).
  • Writers should emit uppercase, matching the OpenAPI schema and the reference implementation.
  • Update the Appendix D example to uppercase ("000102FF") and record the reader/writer rule in the description.
  • Add the same rule to the BinaryTypeValue / FixedTypeValue descriptions in the OpenAPI spec, and regenerate rest-catalog-open-api.py.

@github-actions github-actions Bot added Specification Issues that may introduce spec changes. OPENAPI labels Oct 9, 2026

This branch has not been deployed

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

Labels

OPENAPI Specification Issues that may introduce spec changes.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Spec, OpenAPI: Define hex case for binary and fixed values

1 participant