[ 
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)

Reply via email to