mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-13 13:07:32 +00:00
(improvement)(chat) Fix the SQL fields generated by the large model that contain (#1715)
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
package com.tencent.supersonic.common.jsqlparser;
|
package com.tencent.supersonic.common.jsqlparser;
|
||||||
|
|
||||||
|
import com.tencent.supersonic.common.util.StringUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import net.sf.jsqlparser.schema.Column;
|
import net.sf.jsqlparser.schema.Column;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
@@ -14,7 +15,7 @@ public class ParseVisitorHelper {
|
|||||||
|
|
||||||
public void replaceColumn(
|
public void replaceColumn(
|
||||||
Column column, Map<String, String> fieldNameMap, boolean exactReplace) {
|
Column column, Map<String, String> fieldNameMap, boolean exactReplace) {
|
||||||
String columnName = column.getColumnName();
|
String columnName = StringUtil.replaceBackticks(column.getColumnName());
|
||||||
String replaceColumn = getReplaceValue(columnName, fieldNameMap, exactReplace);
|
String replaceColumn = getReplaceValue(columnName, fieldNameMap, exactReplace);
|
||||||
if (StringUtils.isNotBlank(replaceColumn)) {
|
if (StringUtils.isNotBlank(replaceColumn)) {
|
||||||
column.setColumnName(replaceColumn);
|
column.setColumnName(replaceColumn);
|
||||||
|
|||||||
@@ -46,6 +46,9 @@ public class StringUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static String replaceBackticks(String sql) {
|
public static String replaceBackticks(String sql) {
|
||||||
|
if (StringUtils.isBlank(sql)) {
|
||||||
|
return sql;
|
||||||
|
}
|
||||||
return sql.replaceAll("`", "");
|
return sql.replaceAll("`", "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -66,6 +66,5 @@ public class HavingCorrector extends BaseSemanticCorrector {
|
|||||||
SqlAddHelper.addFunctionToSelect(correctS2SQL, havingExpressionList);
|
SqlAddHelper.addFunctionToSelect(correctS2SQL, havingExpressionList);
|
||||||
semanticParseInfo.getSqlInfo().setCorrectedS2SQL(replaceSql);
|
semanticParseInfo.getSqlInfo().setCorrectedS2SQL(replaceSql);
|
||||||
}
|
}
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user