manner opened a new pull request, #29103:
URL: https://github.com/apache/flink/pull/29103

   ## What is the purpose of the change
   
   Adds UUID (primitive type code 20) as a supported VARIANT primitive in 
`BinaryVariant`. 
   
   The 16-byte layout follows the open variant spec, which stores UUID 
big-endian. UUID is the only variant primitive that is not little-endian, so it 
uses dedicated big-endian read/write helpers. 
   ## Brief change log
   
     - Add the UUID primitive (code 20) to `BinaryVariantUtil`: type mapping in 
`getType`, a `case UUID` in `valueSize`, and the `getUUID` reader
     - Add big-endian long helpers `writeLongBigEndian` / `readLongBigEndian`; 
a UUID is stored as its two 64-bit halves in 16 big-endian bytes
     - Add `appendUUID` to `BinaryVariantInternalBuilder` and `of(UUID)` to 
`BinaryVariantBuilder`
     - Add `getUUID()` and `Type.UUID` to the `Variant` interface and 
`of(UUID)` to `VariantBuilder`, and wire UUID into `get()` and `toJson()`
   
   ## Verifying this change
   
   This change added tests and can be verified as follows:
   
     - Added scalar round-trip and `toJson` assertions for UUID variants
     - Added `testUuidDecodeFromSpecBytes`, which decodes the exact byte 
sequence from Iceberg's `TestSerializedPrimitives#testUUID` to confirm the wire 
format is compatible across implementations of the spec
    
   ## Does this pull request potentially affect one of the following parts:
   
     - Dependencies (does it add or upgrade a dependency): **no**
     - The public API, i.e., is any changed class annotated with 
`@Public(Evolving)`: **yes** (`Variant` and `VariantBuilder` are 
`@PublicEvolving`, this adds new enum constants and new interface methods)
     - The serializers: **no**
     - The runtime per-record code paths (performance sensitive): **no**
     - Anything that affects deployment or recovery: JobManager (and its 
components), Checkpointing, Kubernetes/Yarn, ZooKeeper: **no**
     - The S3 file system connector: **no**
   
   ## Documentation
   
     - Does this pull request introduce a new feature? **yes** 
     - If yes, how is the feature documented? **not documented** (documentation 
is tracked separately in 
[FLINK-40494](https://issues.apache.org/jira/browse/FLINK-40494))
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [X] Yes (please specify the tool below)
   
   Generated-by: Claude Code (Claude Opus 4.8)
   


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

Reply via email to