You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Stamatis Zampetakis (JIRA)" <ji...@apache.org> on 2018/10/01 17:32:00 UTC

[jira] [Commented] (CALCITE-2554) Enrich enumerable join operators with order preserving information

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

Stamatis Zampetakis commented on CALCITE-2554:
----------------------------------------------

I enlarged the scope of this JIRA to handle all enumerable join operators.

> Enrich enumerable join operators with order preserving information
> ------------------------------------------------------------------
>
>                 Key: CALCITE-2554
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2554
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.17.0
>            Reporter: Stamatis Zampetakis
>            Assignee: Julian Hyde
>            Priority: Minor
>             Fix For: 1.18.0
>
>
> Calcite enumerable convention offers four ways to perform a join over two inputs:
>  # EnumerableJoin
>  # EnumerableThetaJoin
>  # EnumerableSemiJoin
>  # EnumerableCorrelate
> The algorithms that are used by the afforementioned operators :
> # org.apache.calcite.linq4j.EnumerableDefaults#join_
> # org.apache.calcite.linq4j.EnumerableDefaults#thetaJoin
> # org.apache.calcite.linq4j.EnumerableDefaults#semiJoin
> # org.apache.calcite.linq4j.EnumerableDefaults#correlateJoin
> in many cases can preserves the order of the left (outer) input. However, this information is not reflected in the RelTraitSet and thus cannot be exploited by the optimizer. Without this information, sort operators following the join cannot be removed (using SortRemoveRule) leading to suboptimal plans.
>  



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