diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/AggregateFunction.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/AggregateFunction.java index 0729b0aa03..07996451d3 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/AggregateFunction.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/AggregateFunction.java @@ -559,23 +559,32 @@ public class AggregateFunction extends Function { sb.append(" INTERMEDIATE " + getIntermediateType()); } - sb.append(" PROPERTIES (") - .append("\n \"INIT_FN\"=\"" + getInitFnSymbol() + "\"") - .append(",\n \"UPDATE_FN\"=\"" + getUpdateFnSymbol() + "\"") - .append(",\n \"MERGE_FN\"=\"" + getMergeFnSymbol() + "\""); - if (getSerializeFnSymbol() != null) { - sb.append(",\n \"SERIALIZE_FN\"=\"" + getSerializeFnSymbol() + "\""); - } - if (getFinalizeFnSymbol() != null) { - sb.append(",\n \"FINALIZE_FN\"=\"" + getFinalizeFnSymbol() + "\""); + sb.append(" PROPERTIES ("); + if (getBinaryType() != TFunctionBinaryType.JAVA_UDF) { + sb.append("\n \"INIT_FN\"=\"" + getInitFnSymbol() + "\",") + .append("\n \"UPDATE_FN\"=\"" + getUpdateFnSymbol() + "\",") + .append("\n \"MERGE_FN\"=\"" + getMergeFnSymbol() + "\","); + if (getSerializeFnSymbol() != null) { + sb.append("\n \"SERIALIZE_FN\"=\"" + getSerializeFnSymbol() + "\","); + } + if (getFinalizeFnSymbol() != null) { + sb.append("\n \"FINALIZE_FN\"=\"" + getFinalizeFnSymbol() + "\","); + } } if (getSymbolName() != null) { - sb.append(",\n \"SYMBOL\"=\"" + getSymbolName() + "\""); + sb.append("\n \"SYMBOL\"=\"" + getSymbolName() + "\","); } - sb.append(",\n \"OBJECT_FILE\"=") - .append("\"" + (getLocation() == null ? "" : getLocation().toString()) + "\""); - sb.append(",\n \"MD5\"=").append("\"" + getChecksum() + "\""); + if (getBinaryType() == TFunctionBinaryType.JAVA_UDF) { + sb.append("\n \"FILE\"=") + .append("\"" + (getLocation() == null ? "" : getLocation().toString()) + "\","); + boolean isReturnNull = this.getNullableMode() == NullableMode.ALWAYS_NULLABLE; + sb.append("\n \"ALWAYS_NULLABLE\"=").append("\"" + isReturnNull + "\","); + } else { + sb.append("\n \"OBJECT_FILE\"=") + .append("\"" + (getLocation() == null ? "" : getLocation().toString()) + "\","); + } + sb.append("\n \"TYPE\"=").append("\"" + this.getBinaryType() + "\""); sb.append("\n);"); return sb.toString(); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/ScalarFunction.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/ScalarFunction.java index 148faa8ecd..c8e89cae1a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/ScalarFunction.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/ScalarFunction.java @@ -389,9 +389,17 @@ public class ScalarFunction extends Function { if (getCloseFnSymbol() != null) { sb.append(",\n \"CLOSE_FN\"=").append("\"" + getCloseFnSymbol() + "\""); } - sb.append(",\n \"OBJECT_FILE\"=") - .append("\"" + (getLocation() == null ? "" : getLocation().toString()) + "\""); - sb.append(",\n \"MD5\"=").append("\"" + getChecksum() + "\""); + + if (getBinaryType() == TFunctionBinaryType.JAVA_UDF) { + sb.append(",\n \"FILE\"=") + .append("\"" + (getLocation() == null ? "" : getLocation().toString()) + "\""); + boolean isReturnNull = this.getNullableMode() == NullableMode.ALWAYS_NULLABLE; + sb.append(",\n \"ALWAYS_NULLABLE\"=").append("\"" + isReturnNull + "\""); + } else { + sb.append(",\n \"OBJECT_FILE\"=") + .append("\"" + (getLocation() == null ? "" : getLocation().toString()) + "\""); + } + sb.append(",\n \"TYPE\"=").append("\"" + this.getBinaryType() + "\""); sb.append("\n);"); return sb.toString(); }