Thanks Julian for your words of appreciation. Following are the JIRA and PR up for the review: JIRA: https://issues.apache.org/jira/browse/CALCITE-1216 PR: https://github.com/apache/calcite/pull/224
Regards, Amogh On Tue, Apr 26, 2016 at 3:11 AM, Julian Hyde <[email protected]> wrote: > Yes, we would be pleased to have these new rules. All of the previous ones > you have added have been great. Thanks for offering. > > Julian > > > On Apr 24, 2016, at 8:08 AM, Amogh Margoor <[email protected]> wrote: > > > > Resending. Sent earlier mail to 'incubator' mailing list by mistake. > Sorry > > about that. > > > > On Sun, Apr 24, 2016 at 8:27 PM, Amogh Margoor <[email protected]> > wrote: > > > >> Hi, > >> In Quark, we have tried to optimize join queries using auto detection of > >> materialised views. For instance, when we have materialised view of > table > >> 'X' named 'X_part' defined by query: " select * from X where X.a > > >> '2016-01-01' " then we expect following query to be optimised by > 'X_part': > >> > >> select * from X inner join Y on X.id = Y.xid inner join Z on Y.id=Z.yid > >> where X.a > '2016-02-02' and Y.b = "Bangalore" > >> > >> There were couple of changes required to do this: > >> 1. Add a new Rule for Filter on TableScan. Basically, after predicate > has > >> been pushed through join onto table scan, new rule checks if it can be > >> optimised by Materialised View. > >> > >> > https://github.com/qubole/quark/blob/master/optimizer/src/main/java/com/qubole/quark/planner/MaterializedViewFilterScanRule.java > >> > >> 2. Add a new Unify rule to MaterialisedSubstitutionVisitor: > >> > >> > https://github.com/qubole/incubator-calcite/commit/2d031d14d23810291377d92dc5ef2eaa515d35b7 > >> > >> If this change will be useful for Calcite, then I can raise relevant PR > >> with test cases to contribute it back. Just let us know. > >> > >> Regards, > >> Amogh > >> > >
