This is an automated email from the ASF dual-hosted git repository. xxyu pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/kylin.git
The following commit(s) were added to refs/heads/main by this push: new a56732e [KYLIN-5152] support boolean expression on where clause a56732e is described below commit a56732e8bdc55a45c9bffff015bd6a19f6832196 Author: hujiahua <hujia...@youzan.com> AuthorDate: Mon Jan 10 20:22:18 2022 +0800 [KYLIN-5152] support boolean expression on where clause --- kylin-it/src/test/resources/query/sql/query115.sql | 23 ++++++++++++++++++++++ .../kylin/query/runtime/SparderRexVisitor.scala | 6 +++++- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/kylin-it/src/test/resources/query/sql/query115.sql b/kylin-it/src/test/resources/query/sql/query115.sql new file mode 100644 index 0000000..e6cedee --- /dev/null +++ b/kylin-it/src/test/resources/query/sql/query115.sql @@ -0,0 +1,23 @@ +-- +-- Licensed to the Apache Software Foundation (ASF) under one +-- or more contributor license agreements. See the NOTICE file +-- distributed with this work for additional information +-- regarding copyright ownership. The ASF licenses this file +-- to you under the Apache License, Version 2.0 (the +-- "License"); you may not use this file except in compliance +-- with the License. You may obtain a copy of the License at +-- +-- http://www.apache.org/licenses/LICENSE-2.0 +-- +-- Unless required by applicable law or agreed to in writing, software +-- distributed under the License is distributed on an "AS IS" BASIS, +-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +-- See the License for the specific language governing permissions and +-- limitations under the License. +-- + +select lstg_format_name, sum(price) as GMV + from test_kylin_fact + where lstg_format_name='FP-GTC' and true + group by lstg_format_name +;{"scanRowCount":300,"scanBytes":190822,"scanFiles":1,"cuboidId":14336} \ No newline at end of file diff --git a/kylin-spark-project/kylin-spark-query/src/main/scala/org/apache/kylin/query/runtime/SparderRexVisitor.scala b/kylin-spark-project/kylin-spark-query/src/main/scala/org/apache/kylin/query/runtime/SparderRexVisitor.scala index a690f45..5842c9f 100644 --- a/kylin-spark-project/kylin-spark-query/src/main/scala/org/apache/kylin/query/runtime/SparderRexVisitor.scala +++ b/kylin-spark-project/kylin-spark-query/src/main/scala/org/apache/kylin/query/runtime/SparderRexVisitor.scala @@ -79,7 +79,11 @@ class SparderRexVisitor( } val childFilter = operand.accept(this) - children += childFilter + if (childFilter.isInstanceOf[Boolean]) { + children += lit(childFilter) + }else{ + children += childFilter + } } def getOperands: (Column, Column) = {