On Thu, Aug 10, 2017 at 10:10 AM weijie tong <tongweijie...@gmail.com>
> Hi Renjie:
> Trait acts as a mark or tip to explain the properties of its relnode.
> Every relnode will have some traits (or properties like the relnode needs
> to be randomly distributed or single node execution ).
> The TraitDef is a definition of the trait , gives you a chance to do
> some work to your relnode which holds the corresponding trait.
> One relnode will be wrapped as a AbstractConverter when added to the
> VolcanoPlanner but not have expected traits. The planner will leverage this
> class as a phase to do the conversion according to the traitdef to
> transform the input relnode to a fresh one with the expected trait.
> Normally the initial created relnodes doesn't have our expected
> trait,then we will add our trait to the relnode ,the planner will do the
> transform operation .
> On Wed, 9 Aug 2017 at 5:02 PM Renjie Liu <liurenjie2...@gmail.com> wrote:
> > Hi, all:
> > I'm reading calcite's source code and confused with these two classes.
> > these two classes exists and what's their role in query optimizer
> > --
> > Liu, Renjie
> > Software Engineer, MVAD
Software Engineer, MVAD