Re: Re: Re: Re: Re: [DISCUSS] Proposal to add API to force rules matching specific rels

2020-03-19 Thread Vladimir Ozerov
-- > 发件人:Vladimir Ozerov > 日 期:2020年03月15日 04:18:53 > 收件人:Haisheng Yuan > 抄 送:dev@calcite.apache.org (dev@calcite.apache.org) > > 主 题:Re: Re: Re: Re: [DISCUSS] Proposal to add API to force rules matching > specific rel

Re: Re: Re: Re: Re: [DISCUSS] Proposal to add API to force rules matching specific rels

2020-03-14 Thread Haisheng Yuan
calls. - Haisheng -- 发件人:Vladimir Ozerov 日 期:2020年03月15日 04:18:53 收件人:Haisheng Yuan 抄 送:dev@calcite.apache.org (dev@calcite.apache.org) 主 题:Re: Re: Re: Re: [DISCUSS] Proposal to add API to force rules matching specific rels Hi Haisheng,

Re: Re: Re: Re: [DISCUSS] Proposal to add API to force rules matching specific rels

2020-03-14 Thread Vladimir Ozerov
Hi Haisheng, You are right, the behavior I showed is not the default one, I should provide more context here. This is how we (Hazelcast) and at least Drill use the engine to ensure that the produced plan is optimal, I gave an example in [1]. In real distributed engines, we rely on physical propert

Re: Re: Re: Re: [DISCUSS] Proposal to add API to force rules matching specific rels

2020-03-14 Thread Haisheng Yuan
I agree that there should be no global rule queue, we should it do it on per-operator basis, which is also how other major Cascades frameworks do. However, Calcite's VolcanoPlanner doesn't generate unnecessary rule calls as you described. The current process is: 1. global rule queue: ScanRule, P