diff --git a/headless/core/src/main/java/com/tencent/supersonic/headless/core/parser/QueryParser.java b/headless/core/src/main/java/com/tencent/supersonic/headless/core/parser/QueryParser.java index c7b742d9e..197f9a677 100644 --- a/headless/core/src/main/java/com/tencent/supersonic/headless/core/parser/QueryParser.java +++ b/headless/core/src/main/java/com/tencent/supersonic/headless/core/parser/QueryParser.java @@ -117,8 +117,7 @@ public class QueryParser { return queryStatement; } try { - queryStatement = ComponentFactory.getSqlParser().explain(queryStatement, isAgg); - return queryStatement; + return ComponentFactory.getSqlParser().explain(queryStatement, isAgg); } catch (Exception e) { queryStatement.setErrMsg(e.getMessage()); log.error("parser error metricQueryReq[{}] error [{}]", metricQueryReq, e); diff --git a/headless/server/src/main/java/com/tencent/supersonic/headless/server/service/impl/QueryServiceImpl.java b/headless/server/src/main/java/com/tencent/supersonic/headless/server/service/impl/QueryServiceImpl.java index 2696ef64d..4777cef77 100644 --- a/headless/server/src/main/java/com/tencent/supersonic/headless/server/service/impl/QueryServiceImpl.java +++ b/headless/server/src/main/java/com/tencent/supersonic/headless/server/service/impl/QueryServiceImpl.java @@ -316,6 +316,7 @@ public class QueryServiceImpl implements QueryService { if (QueryType.SQL.equals(queryTypeEnum) && queryReq instanceof QuerySqlReq) { QueryStatement queryStatement = convertToQueryStatement((QuerySqlReq) queryReq, user); + queryStatement = plan(queryStatement); return getExplainResp(queryStatement); } if (QueryType.STRUCT.equals(queryTypeEnum) && queryReq instanceof QueryStructReq) { @@ -326,6 +327,7 @@ public class QueryServiceImpl implements QueryService { if (QueryType.STRUCT.equals(queryTypeEnum) && queryReq instanceof QueryMultiStructReq) { QueryMultiStructReq queryMultiStructReq = (QueryMultiStructReq) queryReq; QueryStatement queryStatement = buildQueryStatement(queryMultiStructReq); + queryStatement = plan(queryStatement); return getExplainResp(queryStatement); } @@ -453,11 +455,6 @@ public class QueryServiceImpl implements QueryService { return querySQLReq; } - private String getKeyByModelIds(List modelIds) { - return String.join(",", modelIds.stream() - .map(Object::toString).collect(Collectors.toList())); - } - private QueryStatement plan(QueryStatement queryStatement) throws Exception { queryStatement = queryParser.parse(queryStatement); log.info("queryStatement:{}", queryStatement);