diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/corrector/FunctionAliasCorrector.java b/chat/core/src/main/java/com/tencent/supersonic/chat/corrector/FunctionAliasCorrector.java new file mode 100644 index 000000000..7564942c4 --- /dev/null +++ b/chat/core/src/main/java/com/tencent/supersonic/chat/corrector/FunctionAliasCorrector.java @@ -0,0 +1,16 @@ +package com.tencent.supersonic.chat.corrector; + +import com.tencent.supersonic.chat.api.pojo.SemanticCorrectInfo; +import com.tencent.supersonic.common.util.jsqlparser.SqlParserUpdateHelper; +import lombok.extern.slf4j.Slf4j; + +@Slf4j +public class FunctionAliasCorrector extends BaseSemanticCorrector { + + @Override + public void correct(SemanticCorrectInfo semanticCorrectInfo) { + String replaceAlias = SqlParserUpdateHelper.replaceAlias(semanticCorrectInfo.getSql()); + semanticCorrectInfo.setSql(replaceAlias); + } + +} diff --git a/launchers/chat/src/main/resources/META-INF/spring.factories b/launchers/chat/src/main/resources/META-INF/spring.factories index 0e599ccd4..d9821184f 100644 --- a/launchers/chat/src/main/resources/META-INF/spring.factories +++ b/launchers/chat/src/main/resources/META-INF/spring.factories @@ -32,6 +32,7 @@ com.tencent.supersonic.auth.api.authentication.adaptor.UserAdaptor=\ com.tencent.supersonic.chat.api.component.SemanticCorrector=\ com.tencent.supersonic.chat.corrector.DateFieldCorrector, \ + com.tencent.supersonic.chat.corrector.FunctionAliasCorrector, \ com.tencent.supersonic.chat.corrector.FunctionAliasReplaceVisitor, \ com.tencent.supersonic.chat.corrector.FieldNameCorrector, \ com.tencent.supersonic.chat.corrector.FieldCorrector, \ diff --git a/launchers/standalone/src/main/resources/META-INF/spring.factories b/launchers/standalone/src/main/resources/META-INF/spring.factories index 9efea619b..c0adbf1d6 100644 --- a/launchers/standalone/src/main/resources/META-INF/spring.factories +++ b/launchers/standalone/src/main/resources/META-INF/spring.factories @@ -32,7 +32,7 @@ com.tencent.supersonic.auth.api.authentication.adaptor.UserAdaptor=\ com.tencent.supersonic.chat.api.component.SemanticCorrector=\ com.tencent.supersonic.chat.corrector.DateFieldCorrector, \ - com.tencent.supersonic.chat.corrector.FunctionAliasReplaceVisitor, \ + com.tencent.supersonic.chat.corrector.FunctionAliasCorrector, \ com.tencent.supersonic.chat.corrector.FieldNameCorrector, \ com.tencent.supersonic.chat.corrector.FieldCorrector, \ com.tencent.supersonic.chat.corrector.FunctionCorrector, \