This is an automated email from the ASF dual-hosted git repository. liyang pushed a commit to branch kylin5 in repository https://gitbox.apache.org/repos/asf/kylin.git
commit 572d78a45b6e0cabb248b6772a9b434221d9f323 Author: Zhiting Guo <35057824+fre...@users.noreply.github.com> AuthorDate: Thu Jun 29 18:00:09 2023 +0800 KYLIN-5756 Concat string and number with + gives unexpected result KYLIN-5747 duplicated Co-authored-by: Zhiting Guo <zhiting....@kyligence.io> --- pom.xml | 2 +- .../org/apache/kylin/rest/KylinPrepareEnvListener.java | 14 ++++++++++---- .../main/java/org/apache/kylin/common/KylinConfigBase.java | 12 ++++++++++++ 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/pom.xml b/pom.xml index 83adcd3e33..8bfc1dd630 100644 --- a/pom.xml +++ b/pom.xml @@ -135,7 +135,7 @@ <scala-retry>0.3.0</scala-retry> <!-- Calcite Version --> - <calcite.version>1.116.0-kylin-4.x-r031</calcite.version> + <calcite.version>1.116.0-kylin-4.x-r033</calcite.version> <avatica.version>4.x_1.10-r01</avatica.version> <!-- Hadoop Common deps, keep compatible with hadoop2.version --> diff --git a/src/common-service/src/main/java/org/apache/kylin/rest/KylinPrepareEnvListener.java b/src/common-service/src/main/java/org/apache/kylin/rest/KylinPrepareEnvListener.java index e700fb0801..a49c67e33b 100644 --- a/src/common-service/src/main/java/org/apache/kylin/rest/KylinPrepareEnvListener.java +++ b/src/common-service/src/main/java/org/apache/kylin/rest/KylinPrepareEnvListener.java @@ -24,6 +24,7 @@ import java.sql.SQLException; import org.apache.commons.lang3.StringUtils; import org.apache.kylin.common.KylinConfig; +import org.apache.kylin.common.KylinConfigBase; import org.apache.kylin.common.util.ClassUtil; import org.apache.kylin.common.util.TempMetadataBuilder; import org.apache.kylin.common.util.TimeZoneUtils; @@ -75,14 +76,19 @@ public class KylinPrepareEnvListener implements EnvironmentPostProcessor, Ordere Unsafe.setProperty("needCheckCC", "true"); val config = KylinConfig.getInstanceFromEnv(); if (config.isCalciteInClauseEnabled()) { - Unsafe.setProperty("calcite.keep-in-clause", "true"); + Unsafe.setProperty("calcite.keep-in-clause", KylinConfigBase.TRUE); } else { - Unsafe.setProperty("calcite.keep-in-clause", "false"); + Unsafe.setProperty("calcite.keep-in-clause", KylinConfigBase.FALSE); } if (config.isCalciteConvertMultipleColumnsIntoOrEnabled()) { - Unsafe.setProperty("calcite.convert-multiple-columns-in-to-or", "true"); + Unsafe.setProperty("calcite.convert-multiple-columns-in-to-or", KylinConfigBase.TRUE); } else { - Unsafe.setProperty("calcite.convert-multiple-columns-in-to-or", "false"); + Unsafe.setProperty("calcite.convert-multiple-columns-in-to-or", KylinConfigBase.FALSE); + } + if (config.isCalciteCompatibleWithMsSqlPlusEnabled()) { + Unsafe.setProperty("calcite.compatible-with-mssql-plus", KylinConfigBase.TRUE); + } else { + Unsafe.setProperty("calcite.compatible-with-mssql-plus", KylinConfigBase.FALSE); } Unsafe.setProperty("calcite.bindable.cache.maxSize", Integer.toString(config.getCalciteBindableCacheSize())); Unsafe.setProperty("calcite.bindable.cache.concurrencyLevel", 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 2908f05571..03c1c06e89 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 @@ -2533,6 +2533,10 @@ public abstract class KylinConfigBase implements Serializable { return Integer.parseInt(getOptional("kylin.query.calcite.bindable.cache.concurrencyLevel", "5")); } + public boolean isCalciteCompatibleWithMsSqlPlusEnabled() { + return Boolean.parseBoolean(getOptional("kylin.query.calcite.compatible-with-mssql-plus-enabled", FALSE)); + } + public int getEventPollIntervalSecond() { return Integer.parseInt(getOptional("kylin.job.event.poll-interval-second", "60")); } @@ -2823,6 +2827,14 @@ public abstract class KylinConfigBase implements Serializable { return Boolean.parseBoolean(getOptional("kylin.smart.conf.skip-corr-reduce-rule", FALSE)); } + public int getOptimizeTransformerMaxIterations() { + return Integer.parseInt(getOptional("kylin.smart.conf.optimize-transformer-max-iterations", "2")); + } + + public int getOptimizeTransformerConditionCountThreshold() { + return Integer.parseInt(getOptional("kylin.smart.conf.optimize-transformer-condition-count-threshold", "200")); + } + public String getEngineWriteFs() { String engineWriteFs = getOptional("kylin.env.engine-write-fs", ""); return StringHelper.dropSuffix(engineWriteFs, File.separator);