Hi Haishen
See this:
HepPlanner#addRelToGraph

      Pair<String, List<RelDataType>> key = key(rel);
      HepRelVertex equivVertex = mapDigestToVertex.get(key);
      if (equivVertex != null) {
        // Use existing vertex.
        return equivVertex;
      }


We only update the TableScan#table in TableScan, so the digest does not
change, so it returns the original TableScan, as I said "the transformation
is not applied".


Regards!

Aron Tao


Haisheng Yuan <[email protected]> 于2020年10月10日周六 上午3:58写道:

> > The problem bothering me is that the transformation is not effective in
> HepPlanner due to this.
>
> Aron, what do you mean by "the transformation is not effective"?
>
> Haisheng
>
> On 2020/10/09 09:49:27, JiaTao Tao <[email protected]> wrote:
> > Hi Danny,
> > Does this info mainly for planner use? If this we can add an interface
> > mainly for the planner.
> >
> > The problem bothering me is that the transformation is not effective in
> > HepPlanner due to this.
> >
> >
> > Regards!
> >
> > Aron Tao
> >
> >
> > JiaTao Tao <[email protected]> 于2020年10月9日周五 下午5:46写道:
> >
> > >
> > > Hi Danny
> > > So maybe it is better to add an interface for rel opt table to provide
> > > extra digest and consider this in TableScan#explainTerms, but it
> changes
> > > the base output of TableScan, seems a quite big change.
> > >
> > >
> > > Regards!
> > >
> > > Aron Tao
> > >
> > >
> > > Danny Chan <[email protected]> 于2020年10月9日周五 下午5:29写道:
> > >
> > >> Thanks for driving this discussion, JiaTao, the Flink way:
> > >>
> > >> Extend the digest through getQualifiedName is hacky somehow.
> > >>
> > >> We actually need some interfaces to reflect/represent the pushed info,
> > >> the pushed fields or filter expression.
> > >>
> > >> Best,
> > >> Danny Chan
> > >> 在 2020年10月9日 +0800 PM3:35,[email protected],写道:
> > >> >
> > >> > getQualifiedName
> > >>
> > >
> >
>

Reply via email to