Re: Match Converter Rule based on Child Nodes

2019-08-26 Thread XING JIN
Hmm,, I get it So maybe you can try HepPlanner with match order of BOTTOM_UP; Or if VolcanoPlanner is necessary, how about call the optimization multiple times, e.g. wrap it with a loop Jin rahul patwari 于2019年8月23日周五 上午10:59写道: > Hi Jin, > > We wanted to transform LogicalJoin to different

Re: Match Converter Rule based on Child Nodes

2019-08-22 Thread rahul patwari
Hi Jin, We wanted to transform LogicalJoin to different Join Types in the external system depending on the LogicalJoin Child Properties(which are in external convention). As LogicalJoin can be a child of LogicalJoin, because of VolcanoPlanner's top-down approach, the child LogicalJoin is not

Re: Match Converter Rule based on Child Nodes

2019-08-22 Thread XING JIN
If I understand correctly, you can try below steps: 1. Create a rule of Converter to convert child nodes to append external Convention; 2. Create a rule of RelOptRule to convert the parent node -- check the Convention of child node when matching Is it applicable ? rahul patwari 于2019年8月22日周四

Re: Match Converter Rule based on Child Nodes

2019-08-22 Thread rahul patwari
Hi, The properties of the child nodes correspond to the external Convention. So, the child nodes have to be converted before the parent can be transformed. If the property doesn't match (or) if the property cannot be determined(child node not converted), the rule cannot be applied. So, we end up

Re: Match Converter Rule based on Child Nodes

2019-08-22 Thread XING JIN
I guess in Rahul's case, the child node of join should be converted first, thus physical properties will be appended. But RelNode doesn't have a reference to parent, thus an independent RelOptRule is needed to convert LogicalJoin. Just as Michael said, you need to override the method of

Re: Match Converter Rule based on Child Nodes

2019-08-21 Thread Stamatis Zampetakis
The Volcano planner works in a top-down fashion. It starts by transforming the root and move towards the leafs of the plan. Due to this when transforming a logical join its inputs are still in the logical convention so in principle they should not have any physical properties. Normally when the

Re: Match Converter Rule based on Child Nodes

2019-08-20 Thread Michael Mior
If you just want to control whether the rule gets applied, you can override RelOptRule#matches which canreturns a boolean indicating whether the rule should be applied. -- Michael Mior mm...@apache.org Le ven. 9 août 2019 à 08:48, rahul patwari a écrit : > > Hi, > > We want to create a