diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/FunctionCallExpr.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/FunctionCallExpr.java index 568d6e32de05e5..41a91b244af5b5 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/FunctionCallExpr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/FunctionCallExpr.java @@ -548,12 +548,7 @@ private String paramsToSql() { || fnName.getFunction().equalsIgnoreCase("json_object")) { len = len - 1; } - if (fnName.getFunction().equalsIgnoreCase("aes_decrypt") - || fnName.getFunction().equalsIgnoreCase("aes_encrypt") - || fnName.getFunction().equalsIgnoreCase("sm4_decrypt") - || fnName.getFunction().equalsIgnoreCase("sm4_encrypt")) { - len = len - 1; - } + for (int i = 0; i < len; ++i) { if (i != 0) { if (fnName.getFunction().equalsIgnoreCase("group_concat") @@ -563,11 +558,13 @@ private String paramsToSql() { sb.append(", "); } } - if (i == 1 && (fnName.getFunction().equalsIgnoreCase("aes_decrypt") + if (ConnectContext.get() != null && ConnectContext.get().getState().isQuery() && i == 1 + && (fnName.getFunction().equalsIgnoreCase("aes_decrypt") || fnName.getFunction().equalsIgnoreCase("aes_encrypt") || fnName.getFunction().equalsIgnoreCase("sm4_decrypt") || fnName.getFunction().equalsIgnoreCase("sm4_encrypt"))) { sb.append("\'***\'"); + continue; } else if (orderByElements.size() > 0 && i == len - orderByElements.size()) { sb.append("ORDER BY"); } diff --git a/fe/fe-core/src/test/java/org/apache/doris/utframe/DorisAssert.java b/fe/fe-core/src/test/java/org/apache/doris/utframe/DorisAssert.java index 2b518dcb39fd45..45221263ebc572 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/utframe/DorisAssert.java +++ b/fe/fe-core/src/test/java/org/apache/doris/utframe/DorisAssert.java @@ -169,6 +169,7 @@ public class QueryAssert { public QueryAssert(ConnectContext connectContext, String sql) { this.connectContext = connectContext; + this.connectContext.getState().setIsQuery(true); this.sql = sql; }