(improvement)(headless)Remove unnecessary sourceId from TranslateResp.

This commit is contained in:
jerryjzhang
2024-07-09 10:35:08 +08:00
parent c9c049a20f
commit 7a376bd9a3
9 changed files with 21 additions and 49 deletions

View File

@@ -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();

View File

@@ -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() {

View File

@@ -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;
}

View File

@@ -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