[
https://issues.apache.org/jira/browse/CALCITE-7350?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Zhen Chen updated CALCITE-7350:
-------------------------------
Description:
{{The method definition of TopDownGeneralDecorrelator is incorrect. The method}}
{{_public RelNode unnestInternal(RelNode other)_}}
{{should perhaps be}}
{{{}_public RelNode unnestInternal(RelNode other, boolean
allowEmptyOutputFromRewrite)_{}}}.
{code:java}
@Test void testUnnestInternalMissingParameter() {
final String sql = "SELECT empno FROM emp e"
+ " WHERE sal > some(SELECT avg(sal) over (partition by deptno) from
emp_b b"
+ " where b.deptno = e.deptno)";
sql(sql)
.withRule(
CoreRules.FILTER_SUB_QUERY_TO_MARK_CORRELATE,
CoreRules.PROJECT_TO_LOGICAL_PROJECT_AND_WINDOW)
.withLateDecorrelate(true)
.withTopDownGeneralDecorrelate(true)
.check();
} {code}
Running this case will throw following:
Method not found: unnestInternal([interface org.apache.calcite.rel.RelNode,
boolean])
java.lang.IllegalArgumentException: Method not found: unnestInternal([interface
org.apache.calcite.rel
was:
{{The method definition of TopDownGeneralDecorrelator is incorrect. The method}}
{{_public RelNode unnestInternal(RelNode other)_}}
{{should perhaps be}}
{{{}_public RelNode unnestInternal(RelNode other, boolean
allowEmptyOutputFromRewrite)_{}}}.
> Missing allowEmptyOutputFromRewrite parameter in
> TopDownGeneralDecorrelator.unnestInternal
> ------------------------------------------------------------------------------------------
>
> Key: CALCITE-7350
> URL: https://issues.apache.org/jira/browse/CALCITE-7350
> Project: Calcite
> Issue Type: Improvement
> Reporter: Zhen Chen
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.42.0
>
>
> {{The method definition of TopDownGeneralDecorrelator is incorrect. The
> method}}
> {{_public RelNode unnestInternal(RelNode other)_}}
> {{should perhaps be}}
> {{{}_public RelNode unnestInternal(RelNode other, boolean
> allowEmptyOutputFromRewrite)_{}}}.
>
> {code:java}
> @Test void testUnnestInternalMissingParameter() {
> final String sql = "SELECT empno FROM emp e"
> + " WHERE sal > some(SELECT avg(sal) over (partition by deptno) from
> emp_b b"
> + " where b.deptno = e.deptno)";
> sql(sql)
> .withRule(
> CoreRules.FILTER_SUB_QUERY_TO_MARK_CORRELATE,
> CoreRules.PROJECT_TO_LOGICAL_PROJECT_AND_WINDOW)
> .withLateDecorrelate(true)
> .withTopDownGeneralDecorrelate(true)
> .check();
> } {code}
> Running this case will throw following:
> Method not found: unnestInternal([interface org.apache.calcite.rel.RelNode,
> boolean])
> java.lang.IllegalArgumentException: Method not found:
> unnestInternal([interface org.apache.calcite.rel
--
This message was sent by Atlassian Jira
(v8.20.10#820010)