Then what kind of Planner you use, if it is Volcano it is not expected to happen.
Best, Yuzhao Chen 在 2019年3月11日 +0800 PM11:08,Jocean shi <jocean....@gmail.com>,写道: > 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 <yuzhao....@gmail.com> 于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 <jocean....@gmail.com>,写道: > > > 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 > >