Thanks for the tips about Optiq, as well as mentioning GROUPING SETS. Those sound like promising directions, and I'll be back once I have some progress to show!
I noticed that the contribution guidelines say to make contributions by submitting a patch file; is it also acceptable to use a pull request on GitHub? (I see a number of pull requests have been submitted to the project there, and I'm a little more familiar with that method, but I could do it either way.) Michael On Sun, Sep 14, 2014 at 8:40 PM, Julian Hyde <[email protected]> wrote: > I agree with Ted that this would be a great feature. > > You might need support from Optiq for parsing the SQL and representing the > relational algebra before it is translated to the Drill physical algebra > that you build. Unfortunately Optiq doesn't have that support yet (see > https://issues.apache.org/jira/browse/OPTIQ-370) but we could expedite it. > > (You're welcome to come to the Optiq hackathon on Wednesday and work on it > there!) > > CUBE and ROLLUP have a related feature, GROUPING SETS. GROUPING SETS allows > you to specify exactly which levels of aggregation you want. In my view, > CUBE and ROLLUP are just syntactic sugar to allow you to ask for a lot of > grouping sets at the same time (most of which you may not need). > > But to keep things simple, just implement CUBE at first. Add a 'boolean > cube' field to the AggregationRelBase operator, so that GROUP BY CUBE(x, y, > z) passes through the parser, validator, translator very similarly to GROUP > BY x, y, z. > > When you have made the changes to the physical operator and you have some > cube queries working correctly, circle back and implement GROUPING SETS, > specifying exactly which grouping sets you want. > > Julian > > > > > > > >> On Sep 14, 2014, at 2:28 AM, Ted Dunning <[email protected]> > wrote: > > >> > > >> Uli, > > >> > > >> Which analytics functions do you mean? > > >> > > >> Does this impression of high priority mean that you are willing to > work > > on > > >> these analytics functions? > > >> > > >> Michael is offering to implement these functions for his own > > edification. > > >> That is a great thing. Could you provide some guidance about which > > >> functions you think would be more useful with some examples of why you > > >> think so? > > >> > > >> > > >>> On Sat, Sep 13, 2014 at 1:33 PM, Uli Bethke <[email protected]> > > wrote: > > >>> > > >>> My personal opinion is that analytic functions should take a much > > higher > > >>> priority. No analytics database engine can live without these. In my > > >>> opinion anything that you can do with ROLLUP/CUBE you can do with > > analytic > > >>> functions while the opposite is not true. > > >>> > > >>> Uli >
