You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Julian Hyde (JIRA)" <ji...@apache.org> on 2017/11/21 22:48:00 UTC

[jira] [Commented] (CALCITE-1965) Support outer joins for materialized views

    [ https://issues.apache.org/jira/browse/CALCITE-1965?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16261619#comment-16261619 ] 

Julian Hyde commented on CALCITE-1965:
--------------------------------------

[~jcamachorodriguez], [~christian.beikov], What is the status of this pull request? If it works, and adds functionality, and assuming that it is not leading us into an architectural dead end, should we aim to include it in 1.15?

> Support outer joins for materialized views
> ------------------------------------------
>
>                 Key: CALCITE-1965
>                 URL: https://issues.apache.org/jira/browse/CALCITE-1965
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>            Reporter: Christian Beikov
>            Assignee: Julian Hyde
>
> Currently, only inner joins are supported for materialized view substitutions. The support for outer joins involves creating new pulled up predicates in case of outer joins that represent semantics of the join. For a join predicate like "a.id = b.id" the inner join just pulls up that predicate. When having a left join like e.g. {{select * from a left join b on a.id = b.id}}, the actual pulled up predicate would be {{OR(=(a.id, b.id),ISNULL(b.id))}}. For a right join it would be  {{OR(=(a.id, b.id),ISNULL(a.id))}} and for a full outer join it would be  {{OR(=(a.id, b.id),ISNULL(a.id),ISNULL(b.id))}}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)