Thanks for your help.
I get your point. But there are many other rules such as :
private ElasticsearchFilterRule() {
super(LogicalFilter.class, Convention.NONE, ElasticsearchRel.CONVENTION,
"ElasticsearchFilterRule");
}

will convert the Convention.NONE to ElasticsearchRel.CONVENTION.
The ElasticsearchToEnumerableConverterRule should take effect after that,
but not


Best
Jocean.shi


Yuzhao Chen <[email protected]> 于2019年3月11日周一 下午5:34写道:

> Every ConverterRule will match kind of RelNode with special calling
> convention, for ElasticsearchToEnumerableConverterRule, it is
> ElasticsearchRel.convention, you can see it from the constructor:
> private ElasticsearchToEnumerableConverterRule(
>    RelBuilderFactory relBuilderFactory) {
> super(RelNode.class, (Predicate<RelNode>) r -> true,
>      ElasticsearchRel.CONVENTION, EnumerableConvention.INSTANCE,
>      relBuilderFactory, "ElasticsearchToEnumerableConverterRule");
> }
>
> Best,
> Yuzhao Chen
> 在 2019年3月11日 +0800 AM11:04,Jocean shi <[email protected]>,写道:
> > Hi All:
> > I have a question.
> > The ElasticsearchToEnumerableConverterRule is used to match
> > RelNode.class. I think this rule can convert all RelNode. but only
> convert
> > the root RelNode in fact. why?
> >
> > Jocean.shi
> > Best wishes
>

Reply via email to