Re: Add Logical filter on a query plan from Flink Table API

2019-07-09 Thread Hequn Cheng
Hi Felipe, Yes, we are short of such tutorials. Probably you can take a look at the code of Flink-9713[1](checking the changelog in IDE is more convenient). The code shows how to create a logical node and how to use a rule to convert it into a FlinkLogicalRel and then convert into a DataStream Rel

Re: Add Logical filter on a query plan from Flink Table API

2019-07-09 Thread Felipe Gutierrez
Hi Hequn, it has been very hard to find even a very small tutorial of how to create my on rule in Calcite+Flink. What I did was copy a Calcite rule to my project and try to understand it. I am working with the FilterJoinRule [1] which is one rule the Flink is modifying it. In the end I want to cre

Re: Add Logical filter on a query plan from Flink Table API

2019-07-09 Thread Hequn Cheng
Hi Felipe, > what is the relation of RelFactories [1] when I use it to create the INSTANCE of my rule? The `RelFactories.LOGICAL_BUILDER` can be used during the rule transformation, i.e., the `RelFactories.LOGICAL_BUILDER` is a `RelBuilderFactory` which contains a `create` method can be used to cr

Re: Add Logical filter on a query plan from Flink Table API

2019-07-09 Thread Felipe Gutierrez
Hi Hequn, what is the relation of RelFactories [1] when I use it to create the INSTANCE of my rule? For example: public static final MyFilterRule INSTANCE = new MyFilterRule(Filter.class, RelFactories.LOGICAL_BUILDER); then I create a CalciteCOnfigBuilder using "new CalciteConfigBuilder().addLog

Re: Add Logical filter on a query plan from Flink Table API

2019-07-08 Thread Hequn Cheng
Hi Felipe, > I would like to create a logical filter if there is no filter set on the logical query. How should I implement it? Do you mean you want to add a LogicalFilter node if the query even doesn't contain filter? Logically, this can be done through a rule. However, it sounds a little hack an