[
https://issues.apache.org/jira/browse/KYLIN-5875?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17865931#comment-17865931
]
pengfei.zhan commented on KYLIN-5875:
-------------------------------------
h1. 5th
For the following SQL, it comes from the test All Queries in CI
{code:sql}
select * from
(
select sum({fn CONVERT(ITEM_COUNT, SQL_BIGINT)}) bigint0
from test_kylin_fact
where CAL_DT = date'2014-01-01'
group by CAL_DT
)
cross join
(
select sum({fn CONVERT(ITEM_COUNT, SQL_INTEGER)}) int0
from test_kylin_fact
where CAL_DT = date'2014-01-01'
group by CAL_DT
)
cross join
(
select round(sum({fn CONVERT(PRICE, SQL_DOUBLE)}), 2) double0
from test_kylin_fact
where CAL_DT = date'2014-01-01'
group by CAL_DT
)
{code}
The OlapProjectMergeRule#onMatch method may result in infinite cast recursion
and an OOM problem. The problem is that the new project expression obtained by
merging may have cast nesting, which will cause the expression to increment
every time it is executed, so I wrote a simplifyCast method to avoid this
infinite recursion. I wrote a simplifyCast method to avoid this infinite
recursion. I referenced the drill implementation, but the drill implementation
was buggy, so I reimplemented it. This rule sometimes leads to a lot of time in
the execution plan, but after fixing it, the execution time of the
testAllQueries method has dropped significantly.
> Enhance the simplification method of filter condition for segment pruning
> -------------------------------------------------------------------------
>
> Key: KYLIN-5875
> URL: https://issues.apache.org/jira/browse/KYLIN-5875
> Project: Kylin
> Issue Type: Improvement
> Components: Query Engine
> Affects Versions: 5.0-alpha
> Reporter: pengfei.zhan
> Assignee: pengfei.zhan
> Priority: Major
> Fix For: 5.0.0
>
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)