Hi, I am a newbie in Apache Calcite. I am trying to use it with Apache Flink. To start I am trying to create a HelloWorld which just add a logical filter on my query. 1 - I have my Flink app using Table API [1]. 2 - I have created my Calcite filter rule which is applied to my FLink query if I use CalciteConfig cc = new CalciteConfigBuilder().addLogicalOptRuleSet(RuleSets.ofList(MyFilterRule.INSTANCE)).build() [2]; 3 - The debug thread only goes to my rule if there is a filter on my query.
I would like to create a logical filter if there is no filter set on the logical query. How should I implement it? I see my LogicalFilter been created when I call "tableEnv.explain()" method. I suppose that I can add some logical filters on the plan. == Abstract Syntax Tree == LogicalFilter(condition=[>=($6, 50)]) LogicalTableScan(table=[[TicketsStation01Plat01]]) == Optimized Logical Plan == DataStreamCalc(select=[sensorId, sensorType, platformId, platformType, stationId, timestamp, value, trip, eventTime], where=[>=(value, 50)]) StreamTableSourceScan(table=[[TicketsStation01Plat01]], fields=[sensorId, sensorType, platformId, platformType, stationId, timestamp, value, trip, eventTime], source=[SensorTuples]) == Physical Execution Plan == .... Thanks, Felipe [1] https://github.com/felipegutierrez/explore-flink/blob/master/src/main/java/org/sense/flink/examples/stream/table/HelloWorldCalcitePlanTableAPI.java#L62 [2] https://github.com/felipegutierrez/explore-flink/blob/master/src/main/java/org/sense/calcite/rules/MyFilterRule.java#L14 *--* *-- Felipe Gutierrez* *-- skype: felipe.o.gutierrez* *--* *https://felipeogutierrez.blogspot.com <https://felipeogutierrez.blogspot.com>*