[feature][headless]Introduce TranslatorConfig to make result limit configurable via system parameter.
Some checks are pending
supersonic CentOS CI / build (21) (push) Waiting to run
supersonic mac CI / build (21) (push) Waiting to run
supersonic ubuntu CI / build (21) (push) Waiting to run
supersonic windows CI / build (21) (push) Waiting to run

This commit is contained in:
jerryjzhang
2025-02-19 23:25:56 +08:00
parent 87fa778416
commit 08a2e889e7
3 changed files with 31 additions and 2 deletions

View File

@@ -0,0 +1,24 @@
package com.tencent.supersonic.headless.core.translator;
import com.google.common.collect.Lists;
import com.tencent.supersonic.common.config.ParameterConfig;
import com.tencent.supersonic.common.pojo.Parameter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
@Service("HeadlessTranslatorConfig")
@Slf4j
public class TranslatorConfig extends ParameterConfig {
public static final Parameter TRANSLATOR_RESULT_LIMIT =
new Parameter("s2.query-optimizer.resultLimit", "1000", "查询最大返回数据行数",
"为了前端展示性能考虑,请不要设置过大", "number", "语义翻译配置");
@Override
public List<Parameter> getSysParameters() {
return Lists.newArrayList(TRANSLATOR_RESULT_LIMIT);
}
}

View File

@@ -16,6 +16,6 @@ public class ResultLimitOptimizer implements QueryOptimizer {
@Override
public void rewrite(QueryStatement queryStatement) {
queryStatement.setSql(queryStatement.getSql() + " limit " + queryStatement.getLimit());
queryStatement.setSql(queryStatement.getSql() + " LIMIT " + queryStatement.getLimit());
}
}