Re: About ElasticsearchToEnumerableConverterRule

2019-03-17 Thread Jocean shi
Hi, Thanks a lot for your help Best Jocean.shi Yuzhao Chen 于2019年3月16日周六 上午11:21写道: > Hi, Jocean shi > > The convention is a kind of trait, and not decided by cost model and > meratada. If you wanna output relNode with specified trait def, you should > passed the trait defs to the program.

Re: About ElasticsearchToEnumerableConverterRule

2019-03-15 Thread Yuzhao Chen
Hi, Jocean shi The convention is a kind of trait, and not decided by cost model and meratada. If you wanna output relNode  with specified trait def, you should passed the trait defs to the program. See [1]. [1] 

Re: About ElasticsearchToEnumerableConverterRule

2019-03-13 Thread Jocean shi
Hi, In other world. That question can convert to that if a RelNode has a RelSet and the RelSet have two RelSubset then how to chose RelSubset Best Jocean.shi Stamatis Zampetakis 于2019年3月13日周三 下午4:09写道: > Hi Jocean, > > It is not very clear what is the problem you are trying to solve. >

Re: About ElasticsearchToEnumerableConverterRule

2019-03-12 Thread Yuzhao Chen
Yeah, did you replace the Convention trait of the matched node when matches ? Best, Danny Chan 在 2019年3月12日 +0800 PM8:59,Jocean shi ,写道: > I sure this ConverterRule matches. In other world, this method has excuted. > but the final result is only root RelNode has been replaced. > > > Best >

Re: About ElasticsearchToEnumerableConverterRule

2019-03-12 Thread Jocean shi
I sure this ConverterRule matches. In other world, this method has excuted. but the final result is only root RelNode has been replaced. Best Jocean.shi

Re: About ElasticsearchToEnumerableConverterRule

2019-03-12 Thread Yuzhao Chen
The ConverterRule is a RelOptRule but with default implementation of onMatch: public void onMatch(RelOptRuleCall call) { RelNode rel = call.rel(0); if (rel.getTraitSet().contains(inTrait)) { final RelNode converted = convert(rel); if (converted != null) { call.transformTo(converted);

Re: About ElasticsearchToEnumerableConverterRule

2019-03-12 Thread Jocean shi
I use Volcano. Is it cost that rule do not happen? Best Jocean.shi Yuzhao Chen 于2019年3月12日周二 上午10:26写道: > 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 ,写道: > > Thanks for your help. > > I get

Re: About ElasticsearchToEnumerableConverterRule

2019-03-11 Thread Yuzhao Chen
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 ,写道: > Thanks for your help. > I get your point. But there are many other rules such as : > private ElasticsearchFilterRule() { > super(LogicalFilter.class,

Re: About ElasticsearchToEnumerableConverterRule

2019-03-11 Thread Jocean shi
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

Re: About ElasticsearchToEnumerableConverterRule

2019-03-11 Thread Yuzhao Chen
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) {

About ElasticsearchToEnumerableConverterRule

2019-03-10 Thread Jocean shi
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