[
https://issues.apache.org/jira/browse/FLINK-40491?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ramin Gharib updated FLINK-40491:
---------------------------------
Description:
Add read, write, and JSON rendering for the four new variant primitives in the
BinaryVariant core. Independent of the Flink UUID type (getUuid returns
java.util.UUID).
Scope:
- Variant.Type: TIME, TIMESTAMP_NS, TIMESTAMP_LTZ_NS, UUID
- BinaryVariantUtil.getType()/valueSize()/header writers for codes 17-20
- accessors getTime() -> LocalTime, getUuid() -> java.util.UUID; reuse
getTimestamp()/getInstant() for the nanosecond timestamps
- VariantBuilder.of(LocalTime), of(java.util.UUID), and precision-aware
of(Instant)/of(LocalDateTime): codes 18/19 for sub-microsecond, 12/13
otherwise
- toJson rendering: TIME ISO, ns timestamps ISO with nanos, UUID canonical
Mirrors FLINK-37923, which bundled the BinaryVariant encode/decode/toJson core.
Verifying: round-trip encode/decode per code including Spark/Iceberg-produced
bytes, JSON rendering, and the precision-selection boundary.
was:
Read the four new variant primitives. Independent of the Flink UUID type
(getUuid returns java.util.UUID).
Scope:
- Variant.Type: TIME, TIMESTAMP_NS, TIMESTAMP_LTZ_NS, UUID
- BinaryVariantUtil.getType() and valueSize() for codes 17-20
- accessors getTime() -> LocalTime, getUuid() -> java.util.UUID
- reuse getTimestamp()/getInstant() for the nanosecond timestamps
Verifying: decode tests for each code, incl. bytes produced by Spark/Iceberg.
> Extend BinaryVariant with primitive codes 17-20
> -----------------------------------------------
>
> Key: FLINK-40491
> URL: https://issues.apache.org/jira/browse/FLINK-40491
> Project: Flink
> Issue Type: Sub-task
> Components: Table SQL / API
> Reporter: Ramin Gharib
> Assignee: Ramin Gharib
> Priority: Major
>
> Add read, write, and JSON rendering for the four new variant primitives in the
> BinaryVariant core. Independent of the Flink UUID type (getUuid returns
> java.util.UUID).
> Scope:
> - Variant.Type: TIME, TIMESTAMP_NS, TIMESTAMP_LTZ_NS, UUID
> - BinaryVariantUtil.getType()/valueSize()/header writers for codes 17-20
> - accessors getTime() -> LocalTime, getUuid() -> java.util.UUID; reuse
> getTimestamp()/getInstant() for the nanosecond timestamps
> - VariantBuilder.of(LocalTime), of(java.util.UUID), and precision-aware
> of(Instant)/of(LocalDateTime): codes 18/19 for sub-microsecond, 12/13
> otherwise
> - toJson rendering: TIME ISO, ns timestamps ISO with nanos, UUID canonical
> Mirrors FLINK-37923, which bundled the BinaryVariant encode/decode/toJson
> core.
> Verifying: round-trip encode/decode per code including Spark/Iceberg-produced
> bytes, JSON rendering, and the precision-selection boundary.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)