This is an automated email from the ASF dual-hosted git repository. rubenql pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/calcite.git
The following commit(s) were added to refs/heads/main by this push: new 5607d6b68f [CALCITE-5471] RelSupplier.SqlRelSupplier#apply should use .project(), not .rel 5607d6b68f is described below commit 5607d6b68f87a0bf61cb54ff59cac48fd63d8c0a Author: Thomas Rebele <thomas.reb...@gmail.com> AuthorDate: Fri Jan 13 11:08:42 2023 +0100 [CALCITE-5471] RelSupplier.SqlRelSupplier#apply should use .project(), not .rel --- .../org/apache/calcite/test/RelOptRulesTest.xml | 83 ++++++++++++---------- .../org/apache/calcite/test/TopDownOptTest.xml | 56 ++++++++------- .../java/org/apache/calcite/test/RelSupplier.java | 2 +- 3 files changed, 79 insertions(+), 62 deletions(-) diff --git a/core/src/test/resources/org/apache/calcite/test/RelOptRulesTest.xml b/core/src/test/resources/org/apache/calcite/test/RelOptRulesTest.xml index 333a84b07d..321eebfb36 100644 --- a/core/src/test/resources/org/apache/calcite/test/RelOptRulesTest.xml +++ b/core/src/test/resources/org/apache/calcite/test/RelOptRulesTest.xml @@ -13011,16 +13011,18 @@ order by cast(d.deptno as integer) offset 1]]> </Resource> <Resource name="planBefore"> <![CDATA[ -LogicalSort(sort0=[$1], dir0=[ASC], offset=[1]) - LogicalProject(DEPTNO=[$0], EXPR$1=[$0]) - LogicalTableScan(table=[[CATALOG, SALES, DEPT]]) +LogicalProject(DEPTNO=[$0]) + LogicalSort(sort0=[$1], dir0=[ASC], offset=[1]) + LogicalProject(DEPTNO=[$0], EXPR$1=[$0]) + LogicalTableScan(table=[[CATALOG, SALES, DEPT]]) ]]> </Resource> <Resource name="planAfter"> <![CDATA[ -LogicalProject(DEPTNO=[$0], EXPR$1=[$0]) - LogicalSort(sort0=[$0], dir0=[ASC], offset=[1]) - LogicalTableScan(table=[[CATALOG, SALES, DEPT]]) +LogicalProject(DEPTNO=[$0]) + LogicalProject(DEPTNO=[$0], EXPR$1=[$0]) + LogicalSort(sort0=[$0], dir0=[ASC], offset=[1]) + LogicalTableScan(table=[[CATALOG, SALES, DEPT]]) ]]> </Resource> </TestCase> @@ -13031,16 +13033,18 @@ order by cast(d.deptno as double) offset 1]]> </Resource> <Resource name="planBefore"> <![CDATA[ -LogicalSort(sort0=[$1], dir0=[ASC], offset=[1]) - LogicalProject(DEPTNO=[$0], EXPR$1=[CAST($0):DOUBLE NOT NULL]) - LogicalTableScan(table=[[CATALOG, SALES, DEPT]]) +LogicalProject(DEPTNO=[$0]) + LogicalSort(sort0=[$1], dir0=[ASC], offset=[1]) + LogicalProject(DEPTNO=[$0], EXPR$1=[CAST($0):DOUBLE NOT NULL]) + LogicalTableScan(table=[[CATALOG, SALES, DEPT]]) ]]> </Resource> <Resource name="planAfter"> <![CDATA[ -LogicalProject(DEPTNO=[$0], EXPR$1=[CAST($0):DOUBLE NOT NULL]) - LogicalSort(sort0=[$0], dir0=[ASC], offset=[1]) - LogicalTableScan(table=[[CATALOG, SALES, DEPT]]) +LogicalProject(DEPTNO=[$0]) + LogicalProject(DEPTNO=[$0], EXPR$1=[CAST($0):DOUBLE NOT NULL]) + LogicalSort(sort0=[$0], dir0=[ASC], offset=[1]) + LogicalTableScan(table=[[CATALOG, SALES, DEPT]]) ]]> </Resource> </TestCase> @@ -13051,9 +13055,10 @@ order by cast(d.deptno as varchar(10)) offset 1]]> </Resource> <Resource name="planBefore"> <![CDATA[ -LogicalSort(sort0=[$1], dir0=[ASC], offset=[1]) - LogicalProject(DEPTNO=[$0], EXPR$1=[CAST($0):VARCHAR(10) NOT NULL]) - LogicalTableScan(table=[[CATALOG, SALES, DEPT]]) +LogicalProject(DEPTNO=[$0]) + LogicalSort(sort0=[$1], dir0=[ASC], offset=[1]) + LogicalProject(DEPTNO=[$0], EXPR$1=[CAST($0):VARCHAR(10) NOT NULL]) + LogicalTableScan(table=[[CATALOG, SALES, DEPT]]) ]]> </Resource> <Resource name="planAfter"> @@ -13074,21 +13079,23 @@ order by deptno desc nulls last]]> </Resource> <Resource name="planBefore"> <![CDATA[ -LogicalSort(sort0=[$1], dir0=[DESC-nulls-last]) +LogicalProject(C=[$0]) + LogicalSort(sort0=[$1], dir0=[DESC-nulls-last]) + LogicalProject(C=[$2], DEPTNO=[$0]) + LogicalAggregate(group=[{0, 1}], C=[COUNT()]) + LogicalProject(DEPTNO=[$7], SAL=[$5]) + LogicalFilter(condition=[=($7, 10)]) + LogicalTableScan(table=[[CATALOG, SALES, EMP]]) +]]> + </Resource> + <Resource name="planAfter"> + <![CDATA[ +LogicalProject(C=[$0]) LogicalProject(C=[$2], DEPTNO=[$0]) LogicalAggregate(group=[{0, 1}], C=[COUNT()]) LogicalProject(DEPTNO=[$7], SAL=[$5]) LogicalFilter(condition=[=($7, 10)]) LogicalTableScan(table=[[CATALOG, SALES, EMP]]) -]]> - </Resource> - <Resource name="planAfter"> - <![CDATA[ -LogicalProject(C=[$2], DEPTNO=[$0]) - LogicalAggregate(group=[{0, 1}], C=[COUNT()]) - LogicalProject(DEPTNO=[$7], SAL=[$5]) - LogicalFilter(condition=[=($7, 10)]) - LogicalTableScan(table=[[CATALOG, SALES, EMP]]) ]]> </Resource> </TestCase> @@ -13102,22 +13109,24 @@ order by deptno, sal desc nulls first]]> </Resource> <Resource name="planBefore"> <![CDATA[ -LogicalSort(sort0=[$1], sort1=[$2], dir0=[ASC], dir1=[DESC]) - LogicalProject(C=[$2], DEPTNO=[$0], SAL=[$1]) - LogicalAggregate(group=[{0, 1}], C=[COUNT()]) - LogicalProject(DEPTNO=[$7], SAL=[$5]) - LogicalFilter(condition=[=($7, 10)]) - LogicalTableScan(table=[[CATALOG, SALES, EMP]]) +LogicalProject(C=[$0]) + LogicalSort(sort0=[$1], sort1=[$2], dir0=[ASC], dir1=[DESC]) + LogicalProject(C=[$2], DEPTNO=[$0], SAL=[$1]) + LogicalAggregate(group=[{0, 1}], C=[COUNT()]) + LogicalProject(DEPTNO=[$7], SAL=[$5]) + LogicalFilter(condition=[=($7, 10)]) + LogicalTableScan(table=[[CATALOG, SALES, EMP]]) ]]> </Resource> <Resource name="planAfter"> <![CDATA[ -LogicalSort(sort0=[$2], dir0=[DESC]) - LogicalProject(C=[$2], DEPTNO=[$0], SAL=[$1]) - LogicalAggregate(group=[{0, 1}], C=[COUNT()]) - LogicalProject(DEPTNO=[$7], SAL=[$5]) - LogicalFilter(condition=[=($7, 10)]) - LogicalTableScan(table=[[CATALOG, SALES, EMP]]) +LogicalProject(C=[$0]) + LogicalSort(sort0=[$2], dir0=[DESC]) + LogicalProject(C=[$2], DEPTNO=[$0], SAL=[$1]) + LogicalAggregate(group=[{0, 1}], C=[COUNT()]) + LogicalProject(DEPTNO=[$7], SAL=[$5]) + LogicalFilter(condition=[=($7, 10)]) + LogicalTableScan(table=[[CATALOG, SALES, EMP]]) ]]> </Resource> </TestCase> diff --git a/core/src/test/resources/org/apache/calcite/test/TopDownOptTest.xml b/core/src/test/resources/org/apache/calcite/test/TopDownOptTest.xml index b84bee83ed..dc58bfac90 100644 --- a/core/src/test/resources/org/apache/calcite/test/TopDownOptTest.xml +++ b/core/src/test/resources/org/apache/calcite/test/TopDownOptTest.xml @@ -933,16 +933,18 @@ EnumerableSort(sort0=[$0], sort1=[$1], sort2=[$2], dir0=[DESC], dir1=[DESC], dir </Resource> <Resource name="planBefore"> <![CDATA[ -LogicalSort(sort0=[$1], dir0=[DESC]) - LogicalProject(EXPR$0=[CAST($7):FLOAT NOT NULL], DEPTNO=[$7]) - LogicalTableScan(table=[[CATALOG, SALES, EMP]]) +LogicalProject(EXPR$0=[$0]) + LogicalSort(sort0=[$1], dir0=[DESC]) + LogicalProject(EXPR$0=[CAST($7):FLOAT NOT NULL], DEPTNO=[$7]) + LogicalTableScan(table=[[CATALOG, SALES, EMP]]) ]]> </Resource> <Resource name="planAfter"> <![CDATA[ -EnumerableSort(sort0=[$1], dir0=[DESC]) - EnumerableCalc(expr#0..8=[{inputs}], expr#9=[CAST($t7):FLOAT NOT NULL], EXPR$0=[$t9], DEPTNO=[$t7]) - EnumerableTableScan(table=[[CATALOG, SALES, EMP]]) +EnumerableCalc(expr#0..1=[{inputs}], EXPR$0=[$t0]) + EnumerableSort(sort0=[$1], dir0=[DESC]) + EnumerableCalc(expr#0..8=[{inputs}], expr#9=[CAST($t7):FLOAT NOT NULL], EXPR$0=[$t9], DEPTNO=[$t7]) + EnumerableTableScan(table=[[CATALOG, SALES, EMP]]) ]]> </Resource> </TestCase> @@ -952,16 +954,18 @@ EnumerableSort(sort0=[$1], dir0=[DESC]) </Resource> <Resource name="planBefore"> <![CDATA[ -LogicalSort(sort0=[$1], dir0=[DESC]) - LogicalProject(DEPTNO=[$7], EXPR$1=[CAST($7):VARCHAR NOT NULL]) - LogicalTableScan(table=[[CATALOG, SALES, EMP]]) +LogicalProject(DEPTNO=[$0]) + LogicalSort(sort0=[$1], dir0=[DESC]) + LogicalProject(DEPTNO=[$7], EXPR$1=[CAST($7):VARCHAR NOT NULL]) + LogicalTableScan(table=[[CATALOG, SALES, EMP]]) ]]> </Resource> <Resource name="planAfter"> <![CDATA[ -EnumerableSort(sort0=[$1], dir0=[DESC]) - EnumerableCalc(expr#0..8=[{inputs}], expr#9=[CAST($t7):VARCHAR NOT NULL], DEPTNO=[$t7], EXPR$1=[$t9]) - EnumerableTableScan(table=[[CATALOG, SALES, EMP]]) +EnumerableCalc(expr#0..1=[{inputs}], DEPTNO=[$t0]) + EnumerableSort(sort0=[$1], dir0=[DESC]) + EnumerableCalc(expr#0..8=[{inputs}], expr#9=[CAST($t7):VARCHAR NOT NULL], DEPTNO=[$t7], EXPR$1=[$t9]) + EnumerableTableScan(table=[[CATALOG, SALES, EMP]]) ]]> </Resource> </TestCase> @@ -1564,16 +1568,18 @@ EnumerableSort(sort0=[$0], sort1=[$1], sort2=[$2], dir0=[DESC], dir1=[DESC], dir </Resource> <Resource name="planBefore"> <![CDATA[ -LogicalSort(sort0=[$1], dir0=[DESC]) - LogicalProject(DEPTNO=[$7], EXPR$1=[CAST($7):FLOAT NOT NULL]) - LogicalTableScan(table=[[CATALOG, SALES, EMP]]) +LogicalProject(DEPTNO=[$0]) + LogicalSort(sort0=[$1], dir0=[DESC]) + LogicalProject(DEPTNO=[$7], EXPR$1=[CAST($7):FLOAT NOT NULL]) + LogicalTableScan(table=[[CATALOG, SALES, EMP]]) ]]> </Resource> <Resource name="planAfter"> <![CDATA[ -EnumerableSort(sort0=[$1], dir0=[DESC]) - EnumerableProject(DEPTNO=[$7], EXPR$1=[CAST($7):FLOAT NOT NULL]) - EnumerableTableScan(table=[[CATALOG, SALES, EMP]]) +EnumerableProject(DEPTNO=[$0]) + EnumerableSort(sort0=[$1], dir0=[DESC]) + EnumerableProject(DEPTNO=[$7], EXPR$1=[CAST($7):FLOAT NOT NULL]) + EnumerableTableScan(table=[[CATALOG, SALES, EMP]]) ]]> </Resource> </TestCase> @@ -1583,16 +1589,18 @@ EnumerableSort(sort0=[$1], dir0=[DESC]) </Resource> <Resource name="planBefore"> <![CDATA[ -LogicalSort(sort0=[$1], dir0=[DESC]) - LogicalProject(DEPTNO=[$7], EXPR$1=[CAST($7):VARCHAR NOT NULL]) - LogicalTableScan(table=[[CATALOG, SALES, EMP]]) +LogicalProject(DEPTNO=[$0]) + LogicalSort(sort0=[$1], dir0=[DESC]) + LogicalProject(DEPTNO=[$7], EXPR$1=[CAST($7):VARCHAR NOT NULL]) + LogicalTableScan(table=[[CATALOG, SALES, EMP]]) ]]> </Resource> <Resource name="planAfter"> <![CDATA[ -EnumerableSort(sort0=[$1], dir0=[DESC]) - EnumerableProject(DEPTNO=[$7], EXPR$1=[CAST($7):VARCHAR NOT NULL]) - EnumerableTableScan(table=[[CATALOG, SALES, EMP]]) +EnumerableProject(DEPTNO=[$0]) + EnumerableSort(sort0=[$1], dir0=[DESC]) + EnumerableProject(DEPTNO=[$7], EXPR$1=[CAST($7):VARCHAR NOT NULL]) + EnumerableTableScan(table=[[CATALOG, SALES, EMP]]) ]]> </Resource> </TestCase> diff --git a/testkit/src/main/java/org/apache/calcite/test/RelSupplier.java b/testkit/src/main/java/org/apache/calcite/test/RelSupplier.java index 6b50fe88c9..44a82f54df 100644 --- a/testkit/src/main/java/org/apache/calcite/test/RelSupplier.java +++ b/testkit/src/main/java/org/apache/calcite/test/RelSupplier.java @@ -97,7 +97,7 @@ interface RelSupplier { return fixture.tester .convertSqlToRel(fixture.factory, sql2, fixture.decorrelate, fixture.factory.sqlToRelConfig.isTrimUnusedFields()) - .rel; + .project(); } @Override public RelNode apply2(RelMetadataFixture metadataFixture) {