Could you please point me to PhoenixTable in repo? Unfortunately I could not find it.
On Fri, Oct 30, 2015 at 10:33 PM, Maryann Xue <[email protected]> wrote: > SortRemoveRule.INSTANCE is already in the default rule set. I think what > you should do is just make your table return the right collation trait. For > example in Phoenix we have a Table implementation called PhoenixTable which > overrides getStatistic() and implements getCollations() of Statistic. > > On Fri, Oct 30, 2015 at 1:40 PM, Alexander Reshetov < > [email protected]> wrote: > >> Is it correct that I need to override >> org.apache.calcite.rel.AbstractRelNode.register and add rule >> SortRemoveRule.INSTANCE ? >> >> But while it checks RelCollation, then I should also somehow set it. >> But I could not find how to do it. >> >> On Fri, Oct 30, 2015 at 4:23 PM, Alexander Reshetov >> <[email protected]> wrote: >> > Here some clarification of my intends. >> > >> > Calcite choosing next plan: >> > >> > +------+ >> > | PLAN | >> > +------+ >> > | EnumerableSort(sort0=[$0], dir0=[DESC]) >> > ArchiveTableScan(table=[[MAIN, SUB]], fields=[[0, 1, 2, 3, 4, 5, 6, >> > 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]]) >> > | >> > +------+ >> > >> > >> > The problem is invocation of EnumerableSort. Because data already >> > sorted by one column. So I need to force exclusion of EnumerableSort >> > from planner. >> > >> > Do I need implement some interface or override some method to achieve >> this? >> > >> > On Fri, Oct 30, 2015 at 9:51 AM, Julian Hyde <[email protected]> wrote: >> >> Yes, this is possible. In fact Phoenix does exactly this. >> >> >> >> Take a look at https://issues.apache.org/jira/browse/CALCITE-818 and >> https://issues.apache.org/jira/browse/CALCITE-71, which were fixed along >> the way. >> >> >> >>> On Oct 29, 2015, at 1:16 AM, Alexander Reshetov < >> [email protected]> wrote: >> >>> >> >>> Hello, >> >>> >> >>> I have kinda theoretical question. But it should help to understand >> >>> overall Calcite's possibility. >> >>> >> >>> Suppose there is some abstract format/table, which supports only >> >>> sorting by one column. >> >>> >> >>> Let's say there is next query passed to calcite: >> >>> >> >>> select * from table order by id >> >>> >> >>> Is it possible to rewrite query tree so it will change this request >> into this? >> >>> >> >>> select * from table >> >>> >> >>> In this way after logical query rewrite Calcite should not be >> >>> concerned about sorting at all. >> >> >>
