[
https://issues.apache.org/jira/browse/KYLIN-4287?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17135645#comment-17135645
]
ASF GitHub Bot commented on KYLIN-4287:
---------------------------------------
RupengWang commented on pull request #984:
URL: https://github.com/apache/kylin/pull/984#issuecomment-644006444
## Design test cases
### Prepare test env
- Using kylin sample cube - kylin_salesa_cube
- build segment[2012-01-01 ~ 2012-02-01] and segment[2012-02-01 ~ 2012-06-01]
### Case-1
```sql
select count(*) from kylin_sales where part_dt = '2012-01-01' OR part_dt =
'2012-08-01'
```
2020-06-15 16:56:42,913 DEBUG [Query
3fe1e44b-4ad9-76a2-9693-1dc6f0233aeb-66] common.SegmentPruner:79 : Pruner
passed on segment kylin_sales_cube[20120101000000_20120201000000]
2020-06-15 16:56:42,914 DEBUG [Query
3fe1e44b-4ad9-76a2-9693-1dc6f0233aeb-66] common.SegmentPruner:75 : Prune
segment kylin_sales_cube[20120201000000_20120601000000] due to given filter
### Case-2
```sql
select count(*) from kylin_sales where part_dt in ('2012-01-01',
'2012-01-02','2012-08-02')
```
2020-06-15 17:10:45,369 DEBUG [Query
c8bdbe0f-2d79-7002-3032-44a86590a97e-68] common.SegmentPruner:79 : Pruner
passed on segment kylin_sales_cube[20120101000000_20120201000000]
2020-06-15 17:10:45,369 DEBUG [Query
c8bdbe0f-2d79-7002-3032-44a86590a97e-68] common.SegmentPruner:75 : Prune
segment kylin_sales_cube[20120201000000_20120601000000] due to given filter
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> SegmentPruner cannot prune segment with "IN" or "OR" CompareTupleFilter
> -----------------------------------------------------------------------
>
> Key: KYLIN-4287
> URL: https://issues.apache.org/jira/browse/KYLIN-4287
> Project: Kylin
> Issue Type: Improvement
> Components: Query Engine
> Reporter: yangzhang
> Assignee: yangzhang
> Priority: Major
> Fix For: v3.1.0, v3.0.1
>
>
> build 2 segs, Segment[2012-01-01 - 2012-01-03] And Segment[2012-01-03 -
> 2012-01-05]
> query: select sum(PRICE) from KYLIN_SALES
> where "KYLIN_SALES"."PART_DT" = DATE '2012-01-01'
> OR "KYLIN_SALES"."PART_DT" = DATE '2020-07-02'
> Expected results:segment[2012-01-03 - 2012-01-05] should not be scaned, it
> should be pruned by SegmentPruner
>
> but i found in method 'org.apache.kylin.cube.common.SegmentPruner#satisfy'
> when filter's operator is "In", satisfy segment[2012-01-03 - 2012-01-05] ,
> the function return true
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)