calcite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jesus Camacho Rodriguez (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CALCITE-2189) RelMdAllPredicates fast bail out creates mismatch with RelMdTableReferences
Date Thu, 22 Feb 2018 23:37:00 GMT
Jesus Camacho Rodriguez created CALCITE-2189:
------------------------------------------------

             Summary: RelMdAllPredicates fast bail out creates mismatch with RelMdTableReferences
                 Key: CALCITE-2189
                 URL: https://issues.apache.org/jira/browse/CALCITE-2189
             Project: Calcite
          Issue Type: Bug
          Components: core
            Reporter: Jesus Camacho Rodriguez
            Assignee: Jesus Camacho Rodriguez
             Fix For: 1.16.0


The idea behind the metadata providers introduced in CALCITE-1682 is that we can identify
the lineage of the expressions. If we bypass assigning a unique identifier for the table in
RelMdAllPredicates because there are no predicates on those tables, then we will end up referencing
wrong tables.

E.g.
{code}
select x.sal from
(select a.deptno, c.sal from (select * from emp limit 7) as a
cross join (select * from dept limit 1) as b
cross join (select * from emp where empno = 5 limit 2) as c) as x;
{code}
Table refs: {{[[CATALOG, SALES, DEPT].#0, [CATALOG, SALES, EMP].#0, [CATALOG, SALES, EMP].#1]}}
Extracted predicate without fix (wrong): {{=([CATALOG, SALES, EMP].#0.$0, 5)}}
Extracted predicate with fix (correct): {{=([CATALOG, SALES, EMP].#1.$0, 5)}}






--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message