calcite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Albert <zinki...@gmail.com>
Subject Re: Filterable table
Date Mon, 12 Aug 2019 04:20:20 GMT
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.cyz@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 <lekshmibg09@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: lekshmibg09@gmail.com
> >
> >
> >
> >
> > On Fri, Aug 9, 2019 at 11:15 AM Danny Chan <yuzhao.cyz@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
~~~~~~~~~~~~~~~~~~

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message