You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by ru...@apache.org on 2023/01/16 11:11:18 UTC
[calcite] branch main updated: [CALCITE-5471] RelSupplier.SqlRelSupplier#apply should use .project(), not .rel
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 <th...@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) {