From 917f687484135acbf84434758de8dceb9b4b8774 Mon Sep 17 00:00:00 2001 From: "Mateusz \"Serafin\" Gajewski" Date: Thu, 2 Jan 2025 14:09:05 +0100 Subject: [PATCH] Improve SetDigest serialization --- .../src/main/java/io/trino/client/ClientStandardTypes.java | 1 + .../src/main/java/io/trino/client/JsonDecodingUtils.java | 2 ++ .../src/main/java/io/trino/type/setdigest/SetDigestType.java | 3 ++- .../src/main/java/io/trino/spi/type/StandardTypes.java | 1 + 4 files changed, 6 insertions(+), 1 deletion(-) diff --git a/client/trino-client/src/main/java/io/trino/client/ClientStandardTypes.java b/client/trino-client/src/main/java/io/trino/client/ClientStandardTypes.java index 4528d0fb1123..bd8fdccc2703 100644 --- a/client/trino-client/src/main/java/io/trino/client/ClientStandardTypes.java +++ b/client/trino-client/src/main/java/io/trino/client/ClientStandardTypes.java @@ -28,6 +28,7 @@ public final class ClientStandardTypes public static final String HYPER_LOG_LOG = "HyperLogLog"; public static final String QDIGEST = "qdigest"; public static final String TDIGEST = "tdigest"; + public static final String SET_DIGEST = "SetDigest"; public static final String P4_HYPER_LOG_LOG = "P4HyperLogLog"; public static final String INTERVAL_DAY_TO_SECOND = "interval day to second"; public static final String INTERVAL_YEAR_TO_MONTH = "interval year to month"; diff --git a/client/trino-client/src/main/java/io/trino/client/JsonDecodingUtils.java b/client/trino-client/src/main/java/io/trino/client/JsonDecodingUtils.java index 0c49a120c699..275b146593e5 100644 --- a/client/trino-client/src/main/java/io/trino/client/JsonDecodingUtils.java +++ b/client/trino-client/src/main/java/io/trino/client/JsonDecodingUtils.java @@ -51,6 +51,7 @@ import static io.trino.client.ClientStandardTypes.QDIGEST; import static io.trino.client.ClientStandardTypes.REAL; import static io.trino.client.ClientStandardTypes.ROW; +import static io.trino.client.ClientStandardTypes.SET_DIGEST; import static io.trino.client.ClientStandardTypes.SMALLINT; import static io.trino.client.ClientStandardTypes.SPHERICAL_GEOGRAPHY; import static io.trino.client.ClientStandardTypes.TIME; @@ -142,6 +143,7 @@ private static TypeDecoder createTypeDecoder(ClientTypeSignature signature) case QDIGEST: case P4_HYPER_LOG_LOG: case HYPER_LOG_LOG: + case SET_DIGEST: case VARBINARY: default: return BASE_64_DECODER; diff --git a/core/trino-main/src/main/java/io/trino/type/setdigest/SetDigestType.java b/core/trino-main/src/main/java/io/trino/type/setdigest/SetDigestType.java index 7d3195992756..d8d294b9e3b6 100644 --- a/core/trino-main/src/main/java/io/trino/type/setdigest/SetDigestType.java +++ b/core/trino-main/src/main/java/io/trino/type/setdigest/SetDigestType.java @@ -22,6 +22,7 @@ import io.trino.spi.connector.ConnectorSession; import io.trino.spi.type.AbstractVariableWidthType; import io.trino.spi.type.SqlVarbinary; +import io.trino.spi.type.StandardTypes; import io.trino.spi.type.TypeSignature; // Layout is :, where @@ -31,7 +32,7 @@ public class SetDigestType extends AbstractVariableWidthType { public static final SetDigestType SET_DIGEST = new SetDigestType(); - public static final String NAME = "SetDigest"; + public static final String NAME = StandardTypes.SET_DIGEST; private SetDigestType() { diff --git a/core/trino-spi/src/main/java/io/trino/spi/type/StandardTypes.java b/core/trino-spi/src/main/java/io/trino/spi/type/StandardTypes.java index 67b49e6be545..ceabc7316363 100644 --- a/core/trino-spi/src/main/java/io/trino/spi/type/StandardTypes.java +++ b/core/trino-spi/src/main/java/io/trino/spi/type/StandardTypes.java @@ -28,6 +28,7 @@ public final class StandardTypes public static final String HYPER_LOG_LOG = "HyperLogLog"; public static final String QDIGEST = "qdigest"; public static final String TDIGEST = "tdigest"; + public static final String SET_DIGEST = "SetDigest"; public static final String P4_HYPER_LOG_LOG = "P4HyperLogLog"; public static final String INTERVAL_DAY_TO_SECOND = "interval day to second"; public static final String INTERVAL_YEAR_TO_MONTH = "interval year to month";