From 155cf22841fb93688a3d10abe1b14a0c3d984f98 Mon Sep 17 00:00:00 2001 From: lexluo09 <39718951+lexluo09@users.noreply.github.com> Date: Wed, 27 Sep 2023 21:03:40 +0800 Subject: [PATCH] (improvement)(chat) remove tableCorrector and add replaceFieldNameByValue test (#162) --- .../chat/corrector/TableCorrector.java | 20 ------------------- .../jsqlparser/SqlParserUpdateHelperTest.java | 18 +++++++++++++++++ 2 files changed, 18 insertions(+), 20 deletions(-) delete mode 100644 chat/core/src/main/java/com/tencent/supersonic/chat/corrector/TableCorrector.java 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