You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "libopeng (Jira)" <ji...@apache.org> on 2023/03/10 11:49:00 UTC
[jira] [Updated] (CALCITE-5568) LogicalValues causes decorrelate to fail
[ https://issues.apache.org/jira/browse/CALCITE-5568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
libopeng updated CALCITE-5568:
------------------------------
Description:
{code:java}
SELECT
(
SELECT
( SUM ( "tbl2"."count" ) ) AS "SUM"
FROM
(
SELECT
(
SELECT
( COUNT ( "tbl2"."id" ) ) AS "COUNT"
FROM
"trip_order" AS "tbl2"
WHERE
"tbl1"."province" = "tbl2"."province"
) AS "count",
( "tbl1"."province" ) AS "province"
FROM
"trip_order" AS "tbl1"
) AS "tbl2"
) AS "sub_1"
{code}
{code:java}
LogicalProject(sub_1=[$1])
LogicalJoin(condition=[true], joinType=[left])
LogicalValues(tuples=[[{ 0 }]]) <----here
LogicalAggregate(group=[{}], agg#0=[SINGLE_VALUE($0)])
LogicalAggregate(group=[{}], SUM=[SUM($0)])
LogicalProject(aaa=[$2])
LogicalCorrelate(correlation=[$cor12], joinType=[left], requiredColumns=[{0, 1}])
LogicalAggregate(group=[{0, 1}])
LogicalProject(sex=[$14], province=[$5])
LogicalJoin(condition=[=($4, $10)], joinType=[left])
LogicalTableScan(table=[[trip_order]])
LogicalTableScan(table=[[trip_passenger]])
LogicalAggregate(group=[{}], agg#0=[SINGLE_VALUE($0)])
LogicalAggregate(group=[{}], COUNT=[COUNT()])
LogicalFilter(condition=[AND(OR(AND(IS NULL($cor12.province), IS NULL($5)), IS TRUE(=($cor12.province, $5))), true)])
LogicalJoin(condition=[=($4, $10)], joinType=[inner])
LogicalTableScan(table=[[trip_order]])
LogicalAggregate(group=[{0}])
LogicalProject(id=[$0])
LogicalFilter(condition=[OR(AND(IS NULL($cor12.sex), IS NULL($4)), IS TRUE(=($cor12.sex, $4)))])
LogicalTableScan(table=[[trip_passenger]]){code}
[https://github.com/apache/calcite/blob/main/core/src/main/java/org/apache/calcite/sql2rel/RelDecorrelator.java#L491]
Is this as expected?
was:
{code:java}
LogicalProject(sub_1=[$1])
LogicalJoin(condition=[true], joinType=[left])
LogicalValues(tuples=[[{ 0 }]]) <----here
LogicalAggregate(group=[{}], agg#0=[SINGLE_VALUE($0)])
LogicalAggregate(group=[{}], SUM=[SUM($0)])
LogicalProject(aaa=[$2])
LogicalCorrelate(correlation=[$cor12], joinType=[left], requiredColumns=[{0, 1}])
LogicalAggregate(group=[{0, 1}])
LogicalProject(sex=[$14], province=[$5])
LogicalJoin(condition=[=($4, $10)], joinType=[left])
LogicalTableScan(table=[[trip_order]])
LogicalTableScan(table=[[trip_passenger]])
LogicalAggregate(group=[{}], agg#0=[SINGLE_VALUE($0)])
LogicalAggregate(group=[{}], COUNT=[COUNT()])
LogicalFilter(condition=[AND(OR(AND(IS NULL($cor12.province), IS NULL($5)), IS TRUE(=($cor12.province, $5))), true)])
LogicalJoin(condition=[=($4, $10)], joinType=[inner])
LogicalTableScan(table=[[trip_order]])
LogicalAggregate(group=[{0}])
LogicalProject(id=[$0])
LogicalFilter(condition=[OR(AND(IS NULL($cor12.sex), IS NULL($4)), IS TRUE(=($cor12.sex, $4)))])
LogicalTableScan(table=[[trip_passenger]]){code}
[https://github.com/apache/calcite/blob/main/core/src/main/java/org/apache/calcite/sql2rel/RelDecorrelator.java#L491]
Is this as expected?
> LogicalValues causes decorrelate to fail
> ----------------------------------------
>
> Key: CALCITE-5568
> URL: https://issues.apache.org/jira/browse/CALCITE-5568
> Project: Calcite
> Issue Type: Bug
> Reporter: libopeng
> Priority: Major
>
>
> {code:java}
> SELECT
> (
> SELECT
> ( SUM ( "tbl2"."count" ) ) AS "SUM"
> FROM
> (
> SELECT
> (
> SELECT
> ( COUNT ( "tbl2"."id" ) ) AS "COUNT"
> FROM
> "trip_order" AS "tbl2"
> WHERE
> "tbl1"."province" = "tbl2"."province"
> ) AS "count",
> ( "tbl1"."province" ) AS "province"
> FROM
> "trip_order" AS "tbl1"
> ) AS "tbl2"
> ) AS "sub_1"
> {code}
>
>
> {code:java}
> LogicalProject(sub_1=[$1])
> LogicalJoin(condition=[true], joinType=[left])
> LogicalValues(tuples=[[{ 0 }]]) <----here
> LogicalAggregate(group=[{}], agg#0=[SINGLE_VALUE($0)])
> LogicalAggregate(group=[{}], SUM=[SUM($0)])
> LogicalProject(aaa=[$2])
> LogicalCorrelate(correlation=[$cor12], joinType=[left], requiredColumns=[{0, 1}])
> LogicalAggregate(group=[{0, 1}])
> LogicalProject(sex=[$14], province=[$5])
> LogicalJoin(condition=[=($4, $10)], joinType=[left])
> LogicalTableScan(table=[[trip_order]])
> LogicalTableScan(table=[[trip_passenger]])
> LogicalAggregate(group=[{}], agg#0=[SINGLE_VALUE($0)])
> LogicalAggregate(group=[{}], COUNT=[COUNT()])
> LogicalFilter(condition=[AND(OR(AND(IS NULL($cor12.province), IS NULL($5)), IS TRUE(=($cor12.province, $5))), true)])
> LogicalJoin(condition=[=($4, $10)], joinType=[inner])
> LogicalTableScan(table=[[trip_order]])
> LogicalAggregate(group=[{0}])
> LogicalProject(id=[$0])
> LogicalFilter(condition=[OR(AND(IS NULL($cor12.sex), IS NULL($4)), IS TRUE(=($cor12.sex, $4)))])
> LogicalTableScan(table=[[trip_passenger]]){code}
> [https://github.com/apache/calcite/blob/main/core/src/main/java/org/apache/calcite/sql2rel/RelDecorrelator.java#L491]
> Is this as expected?
--
This message was sent by Atlassian Jira
(v8.20.10#820010)