mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-12 20:51:48 +00:00
(improvement)(headless) performParsed skip translation (#1222)
This commit is contained in:
@@ -11,6 +11,7 @@ import java.util.List;
|
||||
|
||||
@Data
|
||||
public class QueryStatement {
|
||||
|
||||
private Long dataSetId;
|
||||
private List<Long> modelIds;
|
||||
private String sql = "";
|
||||
@@ -34,12 +35,17 @@ public class QueryStatement {
|
||||
|
||||
private SemanticSchemaResp semanticSchemaResp;
|
||||
private Integer limit = 1000;
|
||||
private Boolean isTranslated = false;
|
||||
|
||||
public boolean isOk() {
|
||||
this.ok = "".equals(errMsg) && !"".equals(sql);
|
||||
return ok;
|
||||
}
|
||||
|
||||
public boolean isTranslated() {
|
||||
return isTranslated != null && isTranslated && isOk();
|
||||
}
|
||||
|
||||
public QueryStatement error(String msg) {
|
||||
this.setErrMsg(msg);
|
||||
return this;
|
||||
|
||||
@@ -61,6 +61,9 @@ public class Configuration {
|
||||
|
||||
static {
|
||||
configProperties.put(CalciteConnectionProperty.CASE_SENSITIVE.camelName(), Boolean.TRUE.toString());
|
||||
configProperties.put(CalciteConnectionProperty.UNQUOTED_CASING.camelName(), Casing.UNCHANGED.toString());
|
||||
configProperties.put(CalciteConnectionProperty.QUOTED_CASING.camelName(), Casing.TO_LOWER.toString());
|
||||
|
||||
}
|
||||
|
||||
public static SqlParser.Config getParserConfig(EngineType engineType) {
|
||||
@@ -77,10 +80,14 @@ public class Configuration {
|
||||
.setIdentifierMaxLength(Integer.MAX_VALUE)
|
||||
.setQuoting(Quoting.BACK_TICK)
|
||||
.setQuoting(Quoting.SINGLE_QUOTE)
|
||||
.setQuotedCasing(Casing.TO_UPPER)
|
||||
.setUnquotedCasing(Casing.TO_UPPER)
|
||||
.setConformance(sqlDialect.getConformance())
|
||||
.setLex(Lex.BIG_QUERY);
|
||||
parserConfig = parserConfig.setQuotedCasing(Casing.TO_LOWER);
|
||||
parserConfig = parserConfig.setUnquotedCasing(Casing.TO_LOWER);
|
||||
if (!EngineType.CLICKHOUSE.equals(engineType)) {
|
||||
parserConfig = parserConfig.setQuotedCasing(Casing.TO_LOWER);
|
||||
parserConfig = parserConfig.setUnquotedCasing(Casing.TO_LOWER);
|
||||
}
|
||||
return parserConfig.build();
|
||||
}
|
||||
|
||||
|
||||
@@ -327,12 +327,12 @@ public class SqlGenerateUtils {
|
||||
|
||||
public String getExpr(Measure measure, AggOption aggOption) {
|
||||
if (AggOperatorEnum.COUNT_DISTINCT.getOperator().equalsIgnoreCase(measure.getAgg())) {
|
||||
return aggOption.equals(AggOption.NATIVE) ? measure.getBizName()
|
||||
return AggOption.NATIVE.equals(aggOption) ? measure.getBizName()
|
||||
: AggOperatorEnum.COUNT.getOperator() + " ( " + AggOperatorEnum.DISTINCT + " "
|
||||
+ measure.getBizName()
|
||||
+ " ) ";
|
||||
}
|
||||
return aggOption.equals(AggOption.NATIVE) ? measure.getBizName()
|
||||
return AggOption.NATIVE.equals(aggOption) ? measure.getBizName()
|
||||
: measure.getAgg() + " ( " + measure.getBizName() + " ) ";
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user