This is an automated email from the ASF dual-hosted git repository. Xiao-zhen-Liu pushed a commit to branch xiaozhen-caching-prototype in repository https://gitbox.apache.org/repos/asf/texera.git
commit 2af6073aacebfa414abada4a7a0180ab419ddf6b Author: Xiaozhen Liu <[email protected]> AuthorDate: Mon Jan 19 14:37:29 2026 -0800 feat(cache): fix compiling service join type 400 bug. --- .../texera/amber/operator/hashJoin/JoinType.java | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/hashJoin/JoinType.java b/common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/hashJoin/JoinType.java index 5ac03b3b87..4b1e4fa210 100644 --- a/common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/hashJoin/JoinType.java +++ b/common/workflow-operator/src/main/scala/org/apache/texera/amber/operator/hashJoin/JoinType.java @@ -20,6 +20,7 @@ package org.apache.texera.amber.operator.hashJoin; import com.fasterxml.jackson.annotation.JsonValue; +import com.fasterxml.jackson.annotation.JsonCreator; public enum JoinType { INNER("inner"), @@ -38,4 +39,24 @@ public enum JoinType { return this.value; } + /** + * Parses a JSON join type string into the matching enum value. + * Accepts the serialized values (e.g., "full outer") case-insensitively. + * + * @param value join type string from JSON + * @return matching JoinType enum + */ + @JsonCreator + public static JoinType fromString(String value) { + if (value == null) { + return null; + } + for (JoinType type : JoinType.values()) { + if (type.value.equalsIgnoreCase(value)) { + return type; + } + } + throw new IllegalArgumentException("Unknown join type: " + value); + } + }
