This is an automated email from the ASF dual-hosted git repository.
fhueske pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git
The following commit(s) were added to refs/heads/master by this push:
new ae249005499 [FLINK-40792][core] Render UTC offset as `Z` in
`Variant.toJson()` for `TIMESTAMP_LTZ`
ae249005499 is described below
commit ae2490054997092f11f6ee1ed3bfe7c530c3042b
Author: Ramin Gharib <[email protected]>
AuthorDate: Thu Sep 24 14:09:16 2026 +0200
[FLINK-40792][core] Render UTC offset as `Z` in `Variant.toJson()` for
`TIMESTAMP_LTZ`
Variant.toJson() printed the zero offset of TIMESTAMP_LTZ and
TIMESTAMP_LTZ_NS values as `+00:00`. Emit `Z` instead, which is the canonical
UTC marker in RFC 3339 and ISO 8601 and matches Instant.toString(),
ISO_OFFSET_DATE_TIME and JSON_STRING on a TIMESTAMP_LTZ column.
Generated-by: Claude Opus 5.5
---
.../main/java/org/apache/flink/types/variant/BinaryVariantUtil.java | 2 +-
.../test/java/org/apache/flink/types/variant/BinaryVariantTest.java | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git
a/flink-core/src/main/java/org/apache/flink/types/variant/BinaryVariantUtil.java
b/flink-core/src/main/java/org/apache/flink/types/variant/BinaryVariantUtil.java
index 575f54f2550..30959f728c7 100644
---
a/flink-core/src/main/java/org/apache/flink/types/variant/BinaryVariantUtil.java
+++
b/flink-core/src/main/java/org/apache/flink/types/variant/BinaryVariantUtil.java
@@ -235,7 +235,7 @@ public class BinaryVariantUtil {
public static final DateTimeFormatter TIMESTAMP_LTZ_FORMATTER =
new DateTimeFormatterBuilder()
.append(TIMESTAMP_FORMATTER)
- .appendOffset("+HH:MM", "+00:00")
+ .appendOffset("+HH:MM", "Z")
.toFormatter(Locale.US);
public static final DateTimeFormatter TIME_FORMATTER =
diff --git
a/flink-core/src/test/java/org/apache/flink/types/variant/BinaryVariantTest.java
b/flink-core/src/test/java/org/apache/flink/types/variant/BinaryVariantTest.java
index d0d383604a5..5379d34cd86 100644
---
a/flink-core/src/test/java/org/apache/flink/types/variant/BinaryVariantTest.java
+++
b/flink-core/src/test/java/org/apache/flink/types/variant/BinaryVariantTest.java
@@ -305,12 +305,12 @@ class BinaryVariantTest {
assertThat(builder.of(10.0f).toJson()).isEqualTo("10.0");
assertThat(builder.of(10.0d).toJson()).isEqualTo("10.0");
assertThat(builder.of(BigDecimal.valueOf(100)).toJson()).isEqualTo("100");
-
assertThat(builder.of(instant).toJson()).isEqualTo("\"1970-01-01T00:00:00+00:00\"");
+
assertThat(builder.of(instant).toJson()).isEqualTo("\"1970-01-01T00:00:00Z\"");
assertThat(builder.of(localDateTime).toJson()).isEqualTo("\"2000-01-01T00:00:00\"");
assertThat(builder.of(localDate).toJson()).isEqualTo("\"2000-01-01\"");
assertThat(builder.of(localTime).toJson()).isEqualTo("\"13:45:30.123456\"");
assertThat(builder.of(nanoInstant).toJson())
- .isEqualTo("\"1970-01-01T00:00:00.123456789+00:00\"");
+ .isEqualTo("\"1970-01-01T00:00:00.123456789Z\"");
assertThat(builder.of(nanoLocalDateTime).toJson())
.isEqualTo("\"2000-01-01T00:00:00.123456789\"");
assertThat(builder.of("hello".getBytes()).toJson()).isEqualTo("\"aGVsbG8=\"");