Re: Re: [DISCUSS] On-demand traitset request

2020-02-01 Thread JiaTao Tao
Jinfeng Ni's proposal +1, enhance method satisfies maybe more reasonable. Danny Chan's thoughts +1 Regards! Aron Tao XING JIN 于2019年11月8日周五 下午8:09写道: > Hi Haisheng, > > Thanks a lot for sharing this great proposal ~ > For short I understand your idea as below: > 1. Derive the distribution

Re: Re: [DISCUSS] On-demand traitset request

2019-11-08 Thread XING JIN
Hi Haisheng, Thanks a lot for sharing this great proposal ~ For short I understand your idea as below: 1. Derive the distributions/collations that children COULD/MIGHT offer 2. Decide the best distributions/collations by first point and computing logic of operator, say gropuings in Aggregate; It

Re: Re: [DISCUSS] On-demand traitset request

2019-11-05 Thread Jinfeng Ni
@Haisheng, @Xiening, Thanks for pointing that previous email out. Overall, I agree that the physical trait enforcement should be done in the engine, not in the rule. For the rule, it should only specify the request, and the corresponding transformation, and let the engine to explore the search sp

Re: Re: [DISCUSS] On-demand traitset request

2019-11-03 Thread Haisheng Yuan
Hi Jinfeng, I think you might have missed the email about proposed API for physical operators I sent out previously in [1]. We don't need request all the permutation, which is also impossible in practice, the search space is going to explode. In the example in email [1], I already talked about

Re: Re: Re: Re: [DISCUSS] On-demand traitset request

2019-10-25 Thread Haisheng Yuan
te/rel/metadata/RelMdCollation.java --Original Mail -- Sender:Haisheng Yuan Send Date:Fri Oct 25 12:01:40 2019 Recipients:dev@calcite.apache.org (dev@calcite.apache.org) Subject:Re: Re: Re: [DISCUSS] On-demand traitset request I didn't say adding to RelNode, but a n

Re: Re: Re: [DISCUSS] On-demand traitset request

2019-10-25 Thread Haisheng Yuan
: 主 题:Re: Re: [DISCUSS] On-demand traitset request I have the same feeling, it seems to much interfaces for the physical node(we do not really have physical class for physical nodes yet), so these interfaces may just be put into the RelNode, that was too complex and to much for me, can we have

Re: Re: [DISCUSS] On-demand traitset request

2019-10-25 Thread Stamatis Zampetakis
I would like a further clarification regarding the methods: derivedDistribution() derivedCollation() What would be the difference with the existing derivation mechanism in RelMdDistribution [1], and RelMdCollation [2]. They are not sufficient to provide the necessary information? [1] https://gith

Re: Re: [DISCUSS] On-demand traitset request

2019-10-24 Thread Danny Chan
I have the same feeling, it seems to much interfaces for the physical node(we do not really have physical class for physical nodes yet), so these interfaces may just be put into the RelNode, that was too complex and to much for me, can we have a way that do not modify the nodes itself ? Best, D

Re: Re: Re: [DISCUSS] On-demand traitset request

2019-10-23 Thread Haisheng Yuan
) public T derivedTrait(RelTraitDef traitDef) - Haisheng -- 发件人:Stamatis Zampetakis 日 期:2019年10月23日 14:53:38 收件人: 主 题:Re: Re: [DISCUSS] On-demand traitset request Overall, I agree that better encapsulation of propagation and derivation of

Re: Re: [DISCUSS] On-demand traitset request

2019-10-22 Thread Stamatis Zampetakis
Overall, I agree that better encapsulation of propagation and derivation of traits would be beneficial for our system. Regarding the API proposed by Haisheng, I have to think a bit more on it. At first glance, adding such methods directly in the RelNode API does not appear an ideal solution since

Re: Re: [DISCUSS] On-demand traitset request

2019-10-20 Thread Haisheng Yuan
To Stamatis, Not exactly. My initial thought was giving the physical operator the abiity to customize and fully control physical property derivation strategy, thus can further help the purpose driven trait request. But since we agree to think more high-level API to support on-demand traitset req

Re: Re: [DISCUSS] On-demand traitset request

2019-10-18 Thread Jinfeng Ni
A little bit of history. In Drill, when we first implemented Distribution trait's definition, we allows both exact match and partial match in satisfy() method. This works fine for single-input operator such aggregation, however it leads to incorrect plan for join query, i.e LHS shuffle with (a,

Re: Re: [DISCUSS] On-demand traitset request

2019-10-18 Thread Jinfeng Ni
This is an interesting topic. Thanks for bringing up this issue. My understanding of Volcano planner is it works in a top-down search mode (the parent asks for certain trait of its child), while the trait propagates in a bottom-up way, as Stamatis explained. IMHO, the issue comes down to the defi

Re: Re: [DISCUSS] On-demand traitset request

2019-10-18 Thread Haisheng Yuan
Hi Stamatis, Thanks for your comment. I think my example didn't make it clear. When a logical operator is created, it doesn't have any physical, propertyand it shouldn't have. When a physical operator is created, e.g. in Enumerable convention, it only creates an intuitive traitset with it, and re