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

[jira] [Comment Edited] (CALCITE-1990) Make RelDistribution to extends RelMultipleTrait

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

Rheet Wong edited comment on CALCITE-1990 at 9/22/17 3:25 AM:
--------------------------------------------------------------

Thanks, [~julianhyde] https://github.com/apache/calcite/pull/541
The patch is for RelDistribution extends RelMultipleTrait. I think Existing user will not be affected. It only add some API(isTop and CompareTo) because of RelDistribution extends RelMultipleTrait, and it don't affect the trait satisfy currently. The Distribution can be composed  by RelCompositeTrait, and enhances the satisfy.


was (Author: perid007):
[~julianhyde] https://github.com/apache/calcite/pull/541
The patch is for RelDistribution extends RelMultipleTrait. I think Existing user will not be affected. It only add some API(isTop and CompareTo) because of RelDistribution extends RelMultipleTrait, and it don't affect the trait satisfy currently. The Distribution can be composed  by RelCompositeTrait, and enhances the satisfy.

> Make RelDistribution to extends RelMultipleTrait
> ------------------------------------------------
>
>                 Key: CALCITE-1990
>                 URL: https://issues.apache.org/jira/browse/CALCITE-1990
>             Project: Calcite
>          Issue Type: Bug
>            Reporter: Rheet Wong
>            Assignee: Julian Hyde
>   Original Estimate: 0.2h
>  Remaining Estimate: 0.2h
>
> In Distributed System, RelDistribution is used for Exchange or SortExchange. for some operators it may deliver RelDistribution Trait, but some operator like SortedMergeJoin may deliver multiple traits.
> eg:
> {code:java}
> Query:
> select * from T1 join T2 on T1.c1=T2.d1;
> Suppose Plan:
> SortedMergeJoin
>     Exchange(c1)
>         T1(c1)
>     Exchange(d1)
>         T2(d1)
> {code}
> than SortedMergeJoin can deliver RelDistribution(hash\[c1\]) or RelDistribution(hash\[d1\]).
> we can consider RelDistribution extend RelMultipleTrait like RelCollation. 
> EnumerableMergeJoin is the case for RelCollation, and RelDistribution is also fit for SortedMergeJoin in Distributed system



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