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 <pengfei.z...@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)); }