Revanth14 opened a new issue, #18352:
URL: https://github.com/apache/iceberg/issues/18352

   ### Feature Request / Improvement
   
   
   The table spec and the OpenAPI spec disagree on how `binary` and `fixed` 
values are written as hex strings:
   
   - `format/spec.md`, Appendix D (JSON single-value serialization): "Stored as 
a hexadecimal string", with the example `"000102ff"` (lowercase), and no case 
rule.
   - `rest-catalog-open-api.yaml`, `BinaryTypeValue` / `FixedTypeValue`: 
"serialized as an uppercase hexadecimal string".
   
   Implementations differ:
   - Java's `SingleValueParser` writes uppercase (Guava `base16()`) and reads 
case-insensitively, upper-casing the input before decoding.
   - iceberg-go writes lowercase for binary/fixed defaults in table metadata 
(`initial-default` / `write-default`), and uppercase for expression literals.
   
   So both cases can already appear in table metadata.
   
   **Proposal:**
   - 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 add the 
reader rule to the OpenAPI descriptions.
   
   Happy to open a PR once there's agreement.
   
   
   ### Query engine
   
   None
   
   ### Willingness to contribute
   
   - [x] I can contribute this improvement/feature independently
   - [ ] I would be willing to contribute this improvement/feature with 
guidance from the Iceberg community
   - [ ] I cannot contribute this improvement/feature at this time


-- 
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]

Reply via email to