[
https://issues.apache.org/jira/browse/CALCITE-4391?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated CALCITE-4391:
------------------------------------
Labels: pull-request-available (was: )
> When the join condition order is different, materialized view recognition
> fails
> -------------------------------------------------------------------------------
>
> Key: CALCITE-4391
> URL: https://issues.apache.org/jira/browse/CALCITE-4391
> Project: Calcite
> Issue Type: Wish
> Reporter: xzh_dz
> Priority: Major
> Labels: pull-request-available
> Time Spent: 10m
> Remaining Estimate: 0h
>
> When the child nodes of join are identical, but the order of join conditions
> is different, materialized view recognition will fail.
> {code:java}
> // code placeholder
> String query = ""
> + "select a.empid, a.deptno\n"
> + "from emps a left join emps_table b\n"
> + "on a.empid = b.empid and a.deptno = b.deptno";
> String mvLogic = ""
> + "select a.deptno, a.empid\n"
> + "from emps a left join emps_table b\n"
> + "on a.deptno = b.deptno and a.empid = b.empid";
> Query:
> LogicalProject(empid=[$0], deptno=[$1])
> LogicalJoin(condition=[AND(=($0, $5), =($1, $6))], joinType=[left])
> LogicalTableScan(table=[[default, emps]])
> LogicalTableScan(table=[[default, emps_table]])
> MV:
> LogicalProject(deptno=[$1], empid=[$0])
> LogicalJoin(condition=[AND(=($1, $6), =($0, $5))], joinType=[left])
> LogicalTableScan(table=[[default, emps]])
> LogicalTableScan(table=[[default, emps_table]]){code}
>
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)