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

Reply via email to