[
https://issues.apache.org/jira/browse/CALCITE-5847?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
LakeShen updated CALCITE-5847:
------------------------------
Description:
The Sql is :
{code:java}
SELECT val FROM (SELECT DISTINCT vals FROM (values (array[2])) t(vals) WHERE
false) tmp CROSS JOIN unnest(tmp.vals) tt(val) {code}
Before the RelDecorrelator.decorrelateQuery method,the sql plan above is:
{code:java}
LogicalProject(val=[$1])
LogicalCorrelate(correlation=[$cor0], joinType=[inner], requiredColumns=[{0}])
LogicalProject(vals=[$0])
LogicalFilter(condition=[false])
LogicalProject(vals=[ARRAY(2)])
LogicalValues(tuples=[[{ 0 }]])
LogicalProject(val=[$0])
Uncollect
LogicalProject(vals=[$cor0.vals])
LogicalValues(tuples=[[{ 0 }]]) {code}
After the RelDecorrelator.decorrelateQuery method,the sql plan above is:
{code:java}
LogicalProject(val=[$1])
LogicalCorrelate(correlation=[$cor0], joinType=[inner], requiredColumns=[{0}])
LogicalProject(vals=[$0])
LogicalProject(vals=[ARRAY(2)])
LogicalFilter(condition=[false])
LogicalValues(tuples=[[{ 0 }]])
LogicalProject(val=[$0])
Uncollect
LogicalProject(vals=[$cor0.vals])
LogicalValues(tuples=[[{ 0 }]]){code}
LogicalCorrelate has not been eliminated
was:
The Sql is :
{code:java}
SELECT val FROM (SELECT DISTINCT vals FROM (values (array[2])) t(vals) WHERE
false) tmp CROSS JOIN unnest(tmp.vals) tt(val) {code}
Before the
> The sql which has Values and CROSS JOIN unnest,after the
> RelDecorrelator.decorrelateQuery method,LogicalCorrelate still exist
> -----------------------------------------------------------------------------------------------------------------------------
>
> Key: CALCITE-5847
> URL: https://issues.apache.org/jira/browse/CALCITE-5847
> Project: Calcite
> Issue Type: Bug
> Components: core
> Affects Versions: 1.34.0
> Reporter: LakeShen
> Priority: Major
>
> The Sql is :
> {code:java}
> SELECT val FROM (SELECT DISTINCT vals FROM (values (array[2])) t(vals) WHERE
> false) tmp CROSS JOIN unnest(tmp.vals) tt(val) {code}
> Before the RelDecorrelator.decorrelateQuery method,the sql plan above is:
> {code:java}
> LogicalProject(val=[$1])
> LogicalCorrelate(correlation=[$cor0], joinType=[inner],
> requiredColumns=[{0}])
> LogicalProject(vals=[$0])
> LogicalFilter(condition=[false])
> LogicalProject(vals=[ARRAY(2)])
> LogicalValues(tuples=[[{ 0 }]])
> LogicalProject(val=[$0])
> Uncollect
> LogicalProject(vals=[$cor0.vals])
> LogicalValues(tuples=[[{ 0 }]]) {code}
> After the RelDecorrelator.decorrelateQuery method,the sql plan above is:
> {code:java}
> LogicalProject(val=[$1])
> LogicalCorrelate(correlation=[$cor0], joinType=[inner],
> requiredColumns=[{0}])
> LogicalProject(vals=[$0])
> LogicalProject(vals=[ARRAY(2)])
> LogicalFilter(condition=[false])
> LogicalValues(tuples=[[{ 0 }]])
> LogicalProject(val=[$0])
> Uncollect
> LogicalProject(vals=[$cor0.vals])
> LogicalValues(tuples=[[{ 0 }]]){code}
> LogicalCorrelate has not been eliminated
>
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)