mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-14 22:25:19 +00:00
(improvement)(headless)Remove unnecessary sourceId from TranslateResp.
This commit is contained in:
@@ -34,10 +34,6 @@ public class JdbcExecutor implements QueryExecutor {
|
||||
}
|
||||
|
||||
SqlUtils sqlUtils = ContextUtils.getBean(SqlUtils.class);
|
||||
if (StringUtils.isEmpty(queryStatement.getSourceId())) {
|
||||
log.warn("data base id is empty");
|
||||
return null;
|
||||
}
|
||||
log.info("executing SQL: {}", StringUtils.normalizeSpace(queryStatement.getSql()));
|
||||
Database database = queryStatement.getSemanticModel().getDatabase();
|
||||
SemanticQueryResp queryResultWithColumns = new SemanticQueryResp();
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.tencent.supersonic.headless.api.pojo.QueryParam;
|
||||
import com.tencent.supersonic.headless.api.pojo.response.SemanticSchemaResp;
|
||||
import com.tencent.supersonic.headless.core.translator.calcite.s2sql.SemanticModel;
|
||||
import lombok.Data;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.tuple.ImmutablePair;
|
||||
import org.apache.commons.lang3.tuple.Triple;
|
||||
|
||||
@@ -14,10 +15,8 @@ public class QueryStatement {
|
||||
|
||||
private Long dataSetId;
|
||||
private List<Long> modelIds;
|
||||
private String sql = "";
|
||||
private String sourceId = "";
|
||||
private String errMsg = "";
|
||||
private Boolean ok;
|
||||
private String sql;
|
||||
private String errMsg;
|
||||
private QueryParam queryParam;
|
||||
private MetricQueryParam metricQueryParam;
|
||||
private DataSetQueryParam dataSetQueryParam;
|
||||
@@ -26,20 +25,17 @@ public class QueryStatement {
|
||||
private List<ImmutablePair<String, String>> timeRanges;
|
||||
private Boolean enableOptimize = true;
|
||||
private Triple<String, String, String> minMaxTime;
|
||||
private String dataSetSql = "";
|
||||
private String dataSetAlias = "";
|
||||
private String dataSetSimplifySql = "";
|
||||
private String dataSetSql;
|
||||
private String dataSetAlias;
|
||||
private String dataSetSimplifySql;
|
||||
private Boolean enableLimitWrapper = false;
|
||||
|
||||
private SemanticModel semanticModel;
|
||||
|
||||
private SemanticSchemaResp semanticSchemaResp;
|
||||
private Integer limit = 1000;
|
||||
private Boolean isTranslated = false;
|
||||
|
||||
public boolean isOk() {
|
||||
this.ok = "".equals(errMsg) && !"".equals(sql);
|
||||
return ok;
|
||||
return StringUtils.isBlank(errMsg) && StringUtils.isNotBlank(sql);
|
||||
}
|
||||
|
||||
public boolean isTranslated() {
|
||||
|
||||
@@ -28,9 +28,8 @@ public class DefaultSemanticTranslator implements SemanticTranslator {
|
||||
try {
|
||||
parse(queryStatement);
|
||||
optimize(queryStatement);
|
||||
queryStatement.setOk(true);
|
||||
} catch (Exception e) {
|
||||
queryStatement.setOk(false);
|
||||
queryStatement.setErrMsg(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,8 +62,7 @@ public class DefaultSemanticTranslator implements SemanticTranslator {
|
||||
queryStatement.getMetricQueryParam().setNativeQuery(queryParam.getQueryType().isNativeAggQuery());
|
||||
doParse(queryStatement);
|
||||
}
|
||||
if (StringUtils.isEmpty(queryStatement.getSql())
|
||||
|| StringUtils.isEmpty(queryStatement.getSourceId())) {
|
||||
if (StringUtils.isEmpty(queryStatement.getSql())) {
|
||||
throw new RuntimeException("parse Exception: " + queryStatement.getErrMsg());
|
||||
}
|
||||
if (StringUtils.isNotBlank(queryStatement.getSql())
|
||||
@@ -156,7 +154,6 @@ public class DefaultSemanticTranslator implements SemanticTranslator {
|
||||
throw new Exception(String.format("parser table [%s] error [%s]", metricTable.getAlias(),
|
||||
tableSql.getErrMsg()));
|
||||
}
|
||||
queryStatement.setSourceId(tableSql.getSourceId());
|
||||
return tableSql;
|
||||
}
|
||||
|
||||
|
||||
@@ -35,7 +35,6 @@ public class CalciteQueryParser implements QueryParser {
|
||||
aggBuilder.explain(queryStatement, isAgg);
|
||||
EngineType engineType = EngineType.fromString(semanticSchema.getSemanticModel().getDatabase().getType());
|
||||
queryStatement.setSql(aggBuilder.getSql(engineType));
|
||||
queryStatement.setSourceId(aggBuilder.getSourceId());
|
||||
if (Objects.nonNull(queryStatement.getEnableOptimize()) && queryStatement.getEnableOptimize()
|
||||
&& Objects.nonNull(queryStatement.getDataSetAlias()) && !queryStatement.getDataSetAlias().isEmpty()) {
|
||||
// simplify model sql with query sql
|
||||
|
||||
Reference in New Issue
Block a user