diff --git a/chat/core/src/main/java/com/tencent/supersonic/chat/corrector/TableCorrector.java b/chat/core/src/main/java/com/tencent/supersonic/chat/corrector/TableCorrector.java deleted file mode 100644 index 16008197e..000000000 --- a/chat/core/src/main/java/com/tencent/supersonic/chat/corrector/TableCorrector.java +++ /dev/null @@ -1,20 +0,0 @@ -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 TableCorrector extends BaseSemanticCorrector { - - public static final String TABLE_PREFIX = "t_"; - - @Override - public void correct(SemanticCorrectInfo semanticCorrectInfo) { - super.correct(semanticCorrectInfo); - Long modelId = semanticCorrectInfo.getParseInfo().getModelId(); - String sql = SqlParserUpdateHelper.replaceTable(semanticCorrectInfo.getSql(), TABLE_PREFIX + modelId); - semanticCorrectInfo.setSql(sql); - } - -} diff --git a/common/src/test/java/com/tencent/supersonic/common/util/jsqlparser/SqlParserUpdateHelperTest.java b/common/src/test/java/com/tencent/supersonic/common/util/jsqlparser/SqlParserUpdateHelperTest.java index 4a20eb7bb..e93f0b61d 100644 --- a/common/src/test/java/com/tencent/supersonic/common/util/jsqlparser/SqlParserUpdateHelperTest.java +++ b/common/src/test/java/com/tencent/supersonic/common/util/jsqlparser/SqlParserUpdateHelperTest.java @@ -46,6 +46,24 @@ class SqlParserUpdateHelperTest { "SELECT 歌曲名 FROM 歌曲库 WHERE datediff('day', 发布日期, '2023-08-09') <= 1 " + "AND 歌手名 LIKE '邓紫棋' AND 数据日期 = '2023-08-09' AND 歌曲发布时 = " + "'2023-08-01' ORDER BY 播放量 DESC LIMIT 11", replaceSql); + + Set fieldNames = new HashSet<>(); + fieldNames.add("歌手名"); + fieldNames.add("歌曲名"); + fieldNames.add("专辑名"); + + fieldValueToFieldNames.put("林俊杰", fieldNames); + replaceSql = "select 歌曲名 from 歌曲库 where datediff('day', 发布日期, '2023-08-09') <= 1 " + + "and 歌手名 = '林俊杰' and 数据日期 = '2023-08-09' and 歌曲发布时 = '2023-08-01'" + + " order by 播放量 desc limit 11"; + + replaceSql = SqlParserUpdateHelper.replaceFieldNameByValue(replaceSql, fieldValueToFieldNames); + + Assert.assertEquals( + "SELECT 歌曲名 FROM 歌曲库 WHERE datediff('day', 发布日期, '2023-08-09') <= 1 " + + "AND 歌手名 = '林俊杰' AND 数据日期 = '2023-08-09' AND 歌曲发布时 = " + + "'2023-08-01' ORDER BY 播放量 DESC LIMIT 11", replaceSql); + } @Test