You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by "hqbhoho (Jira)" <ji...@apache.org> on 2022/11/03 09:27:00 UTC

[jira] [Created] (CALCITE-5365) RelMdExpressionLineage#createAllPossibleExpressions will create many RexCall lead to OOM

hqbhoho created CALCITE-5365:
--------------------------------

             Summary: RelMdExpressionLineage#createAllPossibleExpressions  will create many RexCall lead to OOM 
                 Key: CALCITE-5365
                 URL: https://issues.apache.org/jira/browse/CALCITE-5365
             Project: Calcite
          Issue Type: Bug
          Components: core
    Affects Versions: 1.30.0
            Reporter: hqbhoho


Execute query like:
{code:java}
select
*
from
(
select *
from
(
select * from A1
)
union all
(
select * from A2
)
union all
(
select * from A3
)
) t1
left join
(
select *
from
(
select * from B1
)
union all
(
select * from B2
)
union all
(
select * from B3
)
)t2
on t1.a1 = t2.b1
and t1.a2 = t2.b2
and t1.a3 = t2.b3
and t1.a4 = t2.b4
and t1.a5 = t2.b5
and t1.a6 = t2.b6
and t1.a7 = t2.b7
left join C1 name
on t2.b8=name.c1 {code}
I will get all Predicates via RelMetadataQuery.getAllPredicates(),but will occur oom. 

RelMdExpressionLineage#createAllPossibleExpressions will retrun 3^14 RexCall when t1 join t2 with 7 condition? (t1.a1 will have 3 replacement)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)