From 53caf1c78f6d94365c5fa992ed4ab256291ed5a0 Mon Sep 17 00:00:00 2001 From: Piotr Findeisen Date: Tue, 23 Aug 2022 12:03:46 +0200 Subject: [PATCH 1/2] Fix ResolvedFunction equality to include nullability --- .../src/main/java/io/trino/metadata/ResolvedFunction.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/trino-main/src/main/java/io/trino/metadata/ResolvedFunction.java b/core/trino-main/src/main/java/io/trino/metadata/ResolvedFunction.java index dfdcdc1dfc43..f25651edc6bc 100644 --- a/core/trino-main/src/main/java/io/trino/metadata/ResolvedFunction.java +++ b/core/trino-main/src/main/java/io/trino/metadata/ResolvedFunction.java @@ -161,6 +161,7 @@ public boolean equals(Object o) Objects.equals(functionId, that.functionId) && Objects.equals(functionKind, that.functionKind) && deterministic == that.deterministic && + Objects.equals(functionNullability, that.functionNullability) && Objects.equals(typeDependencies, that.typeDependencies) && Objects.equals(functionDependencies, that.functionDependencies); } @@ -168,7 +169,7 @@ public boolean equals(Object o) @Override public int hashCode() { - return Objects.hash(signature, functionId, functionKind, deterministic, typeDependencies, functionDependencies); + return Objects.hash(signature, functionId, functionKind, deterministic, functionNullability, typeDependencies, functionDependencies); } @Override From 89cb1396861a34390270540541ad48ad190a81cc Mon Sep 17 00:00:00 2001 From: Piotr Findeisen Date: Tue, 23 Aug 2022 12:01:41 +0200 Subject: [PATCH 2/2] Simplify equality check on enum --- .../src/main/java/io/trino/metadata/ResolvedFunction.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/trino-main/src/main/java/io/trino/metadata/ResolvedFunction.java b/core/trino-main/src/main/java/io/trino/metadata/ResolvedFunction.java index f25651edc6bc..a3dfd45f67f6 100644 --- a/core/trino-main/src/main/java/io/trino/metadata/ResolvedFunction.java +++ b/core/trino-main/src/main/java/io/trino/metadata/ResolvedFunction.java @@ -159,7 +159,7 @@ public boolean equals(Object o) ResolvedFunction that = (ResolvedFunction) o; return Objects.equals(signature, that.signature) && Objects.equals(functionId, that.functionId) && - Objects.equals(functionKind, that.functionKind) && + functionKind == that.functionKind && deterministic == that.deterministic && Objects.equals(functionNullability, that.functionNullability) && Objects.equals(typeDependencies, that.typeDependencies) &&