diff --git a/common/src/main/java/com/tencent/supersonic/common/util/jsqlparser/SqlParserRemoveHelper.java b/common/src/main/java/com/tencent/supersonic/common/util/jsqlparser/SqlParserRemoveHelper.java index 5b4f4ca7e..c0f5946b2 100644 --- a/common/src/main/java/com/tencent/supersonic/common/util/jsqlparser/SqlParserRemoveHelper.java +++ b/common/src/main/java/com/tencent/supersonic/common/util/jsqlparser/SqlParserRemoveHelper.java @@ -27,8 +27,6 @@ import net.sf.jsqlparser.statement.select.SelectBody; import net.sf.jsqlparser.statement.select.SelectExpressionItem; import net.sf.jsqlparser.statement.select.SelectItem; import net.sf.jsqlparser.statement.select.SelectVisitorAdapter; -import net.sf.jsqlparser.statement.select.SelectItem; -import net.sf.jsqlparser.statement.select.SelectExpressionItem; import org.springframework.util.CollectionUtils; import java.util.List; @@ -64,6 +62,27 @@ public class SqlParserRemoveHelper { return selectStatement.toString(); } + public static String removeSelect(String sql, Set fields) { + Select selectStatement = SqlParserSelectHelper.getSelect(sql); + if (selectStatement == null) { + return sql; + } + SelectBody selectBody = selectStatement.getSelectBody(); + if (!(selectBody instanceof PlainSelect)) { + return sql; + } + List selectItems = ((PlainSelect) selectBody).getSelectItems(); + selectItems.removeIf(selectItem -> { + if (selectItem instanceof SelectExpressionItem) { + SelectExpressionItem selectExpressionItem = (SelectExpressionItem) selectItem; + String columnName = SqlParserSelectHelper.getColumnName(selectExpressionItem.getExpression()); + return fields.contains(columnName); + } + return false; + }); + return selectStatement.toString(); + } + public static String removeWhereCondition(String sql, Set removeFieldNames) { Select selectStatement = SqlParserSelectHelper.getSelect(sql); SelectBody selectBody = selectStatement.getSelectBody(); @@ -226,28 +245,6 @@ public class SqlParserRemoveHelper { return selectStatement.toString(); } - - public static String removeSelect(String sql, Set fields) { - Select selectStatement = SqlParserSelectHelper.getSelect(sql); - if (selectStatement == null) { - return sql; - } - SelectBody selectBody = selectStatement.getSelectBody(); - if (!(selectBody instanceof PlainSelect)) { - return sql; - } - List selectItems = ((PlainSelect) selectBody).getSelectItems(); - selectItems.removeIf(selectItem -> { - if (selectItem instanceof SelectExpressionItem) { - SelectExpressionItem selectExpressionItem = (SelectExpressionItem) selectItem; - String columnName = SqlParserSelectHelper.getColumnName(selectExpressionItem.getExpression()); - return fields.contains(columnName); - } - return false; - }); - return selectStatement.toString(); - } - public static String removeGroupBy(String sql, Set fields) { Select selectStatement = SqlParserSelectHelper.getSelect(sql); if (selectStatement == null) {