You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by xx...@apache.org on 2023/05/06 06:59:28 UTC

[kylin] 27/38: KYLIN-5523 [FOLLOW UP] Fix the error caused by using ceil/floor functions in model filtering conditions.

This is an automated email from the ASF dual-hosted git repository.

xxyu pushed a commit to branch kylin5
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit 23bf641c017c2afe9d34eec0e81386e1e544062d
Author: Pengfei.Zhan <pe...@kyligence.io>
AuthorDate: Tue Feb 28 18:28:40 2023 +0800

    KYLIN-5523 [FOLLOW UP] Fix the error caused by using ceil/floor functions in model filtering conditions.
---
 .../src/main/java/org/apache/kylin/query/util/PushDownUtil.java       | 4 ++--
 .../src/test/java/org/apache/kylin/query/util/PushDownUtilTest.java   | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/query-common/src/main/java/org/apache/kylin/query/util/PushDownUtil.java b/src/query-common/src/main/java/org/apache/kylin/query/util/PushDownUtil.java
index b902bfe3f5..2f0558d246 100644
--- a/src/query-common/src/main/java/org/apache/kylin/query/util/PushDownUtil.java
+++ b/src/query-common/src/main/java/org/apache/kylin/query/util/PushDownUtil.java
@@ -250,8 +250,8 @@ public class PushDownUtil {
         sqlBuilder.append("WHERE ").append(sep);
         sqlBuilder.append("1 = 1").append(sep);
         if (StringUtils.isNotEmpty(model.getFilterCondition())) {
-            String filterCondition = massageExpression(model, project, model.getFilterCondition(), null);
-            sqlBuilder.append(" AND (").append(filterCondition).append(") ").append(sep);
+            massageExpression(model, project, model.getFilterCondition(), null);
+            sqlBuilder.append(" AND (").append(model.getFilterCondition()).append(") ").append(sep);
         }
 
         return new EscapeTransformer().transform(sqlBuilder.toString());
diff --git a/src/query/src/test/java/org/apache/kylin/query/util/PushDownUtilTest.java b/src/query/src/test/java/org/apache/kylin/query/util/PushDownUtilTest.java
index fdc7dcf28c..804fd81ab7 100644
--- a/src/query/src/test/java/org/apache/kylin/query/util/PushDownUtilTest.java
+++ b/src/query/src/test/java/org/apache/kylin/query/util/PushDownUtilTest.java
@@ -237,7 +237,7 @@ public class PushDownUtilTest extends NLocalFileMetadataTestCase {
                 + "ON \"TEST_BANK_INCOME\".\"COUNTRY\" = \"TEST_BANK_LOCATION\".\"COUNTRY\"\n" //
                 + "WHERE\n" //
                 + "1 = 1\n" //
-                + " AND (SUBSTRING(`TEST_BANK_INCOME`.`COUNTRY`, 0, 4) = 'china' and (SUBSTRING(`TEST_BANK_INCOME`.`COUNTRY`, 0, 4)) = 'china')";
+                + " AND (SUBSTRING(\"TEST_BANK_INCOME\".\"COUNTRY\", 0, 4) = 'china' and cc1 = 'china')";
         NDataModel updatedModel = modelManager.getDataModelDesc(model.getUuid());
         Assert.assertEquals(expected, PushDownUtil.generateFlatTableSql(updatedModel, project, false));
     }
@@ -270,7 +270,7 @@ public class PushDownUtilTest extends NLocalFileMetadataTestCase {
                 + "ON \"TEST_BANK_INCOME\".\"COUNTRY\" = \"TEST_BANK_LOCATION\".\"COUNTRY\"\n" //
                 + "WHERE\n" //
                 + "1 = 1\n" //
-                + " AND (TIMESTAMPADD(day, 1, current_date) = '2012-01-01' and (SUBSTRING(`TEST_BANK_INCOME`.`COUNTRY`, 0, 4)) = 'china')";
+                + " AND (TIMESTAMPADD(day, 1, current_date) = '2012-01-01' and cc1 = 'china')";
         NDataModel updatedModel = modelManager.getDataModelDesc(model.getUuid());
         Assert.assertEquals(expected, PushDownUtil.generateFlatTableSql(updatedModel, project, false));
     }