This is an automated email from the ASF dual-hosted git repository. jlfsdtc pushed a commit to branch kylin5 in repository https://gitbox.apache.org/repos/asf/kylin.git
The following commit(s) were added to refs/heads/kylin5 by this push: new 3760d94270 KYLIN-6020 Add system-level/project-level configuration to check internal table directly 3760d94270 is described below commit 3760d942708fb2b98c1c5e9f10f38d2af3b810f3 Author: Dazhong Wu <wudazhong1...@163.com> AuthorDate: Fri Nov 8 14:36:13 2024 +0800 KYLIN-6020 Add system-level/project-level configuration to check internal table directly --- .../src/main/java/org/apache/kylin/rest/request/SQLRequest.java | 9 ++++++++- .../src/main/java/org/apache/kylin/common/KylinConfigBase.java | 4 ++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/common-service/src/main/java/org/apache/kylin/rest/request/SQLRequest.java b/src/common-service/src/main/java/org/apache/kylin/rest/request/SQLRequest.java index 93b03d3413..6a7219a70f 100644 --- a/src/common-service/src/main/java/org/apache/kylin/rest/request/SQLRequest.java +++ b/src/common-service/src/main/java/org/apache/kylin/rest/request/SQLRequest.java @@ -26,9 +26,11 @@ import java.util.Objects; import javax.validation.constraints.Size; import org.apache.commons.collections.CollectionUtils; +import org.apache.kylin.common.KylinConfig; import org.apache.kylin.common.msg.MsgPicker; import org.apache.kylin.guava30.shaded.common.collect.Lists; import org.apache.kylin.metadata.insensitive.ProjectInsensitiveRequest; +import org.apache.kylin.metadata.project.NProjectManager; import org.springframework.validation.FieldError; import com.fasterxml.jackson.annotation.JsonProperty; @@ -55,7 +57,7 @@ public class SQLRequest implements Serializable, ProjectInsensitiveRequest, Vali private Integer offset = 0; private Integer limit = 0; private boolean acceptPartial = false; - private boolean forcedToPushDown = false; + private Boolean forcedToPushDown; @JsonProperty("forced_to_index") private boolean forcedToIndex = false; private String stopId; @@ -143,4 +145,9 @@ public class SQLRequest implements Serializable, ProjectInsensitiveRequest, Vali } return ""; } + + public boolean isForcedToPushDown() { + KylinConfig projectConfig = NProjectManager.getProjectConfig(project); + return this.forcedToPushDown != null ? this.forcedToPushDown : projectConfig.isForcedToPushDown(); + } } diff --git a/src/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java b/src/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java index 0ad06127dc..86edbb79fd 100644 --- a/src/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java +++ b/src/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java @@ -4504,4 +4504,8 @@ public abstract class KylinConfigBase implements Serializable { } return Sets.newHashSet(config.split(",")); } + + public boolean isForcedToPushDown() { + return Boolean.parseBoolean(getOptional("kylin.query.pushdown-force", FALSE)); + } }