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