talking about this class reminds me of my own usage of ProjectableFilterable. it works. but this feels like a very bad design, what if I want to push down Aggregation ? AggregatableProjectableFilterable?
I don't know the intention of the initial design, but this just doesn't feel right. On Mon, Aug 12, 2019 at 9:35 AM Danny Chan <yuzhao....@gmail.com> wrote: > There is a ProjectableFilterableTable[1] that can be both used for filter > and projects push down, have a try :) > > [1] > https://github.com/apache/calcite/blob/996cdd0249a4e5086fadc27a15ccc23eb9defd8e/core/src/main/java/org/apache/calcite/schema/ProjectableFilterableTable.java#L36 > > Best, > Danny Chan > 在 2019年8月12日 +0800 AM7:55,Lekshmi <lekshmib...@gmail.com>,写道: > > Hi Danny Chan, > > Thank you so much for responding to my email. Can we use, Translatable > > table instead of Filterable table? which is more efficient? Usecase that > if > > need to write a Project push down (Push down Project fields into table > scan > > then do Filtering) and Filter push down? > > Or Filterable table is enough to use Project push down as well? > > Thanks and Regards > > > > Lekshmi B.G > > Email: lekshmib...@gmail.com > > > > > > > > > > On Fri, Aug 9, 2019 at 11:15 AM Danny Chan <yuzhao....@gmail.com> wrote: > > > > > Hi, Lekshmi ~ > > > > > > > > > The FilterableTable can be scanned with a list of filter expression, > that > > > means the filter conditions above the project + scan can be > > > pushed directly into the table scan[1][2], which is more efficient. > Here is > > > a CsvFilterableTable example [3]. > > > > > > [1] > > > > https://github.com/apache/calcite/blob/602b2a10e3f81888c0759ca69f7415497124ef82/core/src/main/java/org/apache/calcite/rel/rules/FilterTableScanRule.java#L130 > > > [2] > > > > https://github.com/apache/calcite/blob/602b2a10e3f81888c0759ca69f7415497124ef82/core/src/main/java/org/apache/calcite/rel/rules/ProjectTableScanRule.java#L128 > > > [3] > > > > https://github.com/apache/calcite/blob/602b2a10e3f81888c0759ca69f7415497124ef82/example/csv/src/main/java/org/apache/calcite/adapter/csv/CsvFilterableTable.java#L65 > > > > > > Best, > > > Danny Chan > > > 在 2019年8月8日 +0800 PM10:56,dev@calcite.apache.org,写道: > > > > > > > > Filterable > > > > -- ~~~~~~~~~~~~~~~ no mistakes ~~~~~~~~~~~~~~~~~~