I took a quick look. RelBuilder is great and I like it. It makes much easier to create RelNode in Calcite.
One question: Can RelBuilder allow to specify RelFactories directly, in stead of doing that in Context instance? On Thu, Jun 4, 2015 at 1:54 PM, Julian Hyde <[email protected]> wrote: > Creating an expression in Calcite's relational algebra has always been too > complicated. The constructors for the various RelNode sub-classes have lots > of parameters, and you have to worry about row-types, trait-sets, making > field names unique, and so forth. And if you want to generate a different > sub-class of RelNode, say a HiveProject rather than a LogicalProject, you > have to do it all again. > > I set out to change this in > https://issues.apache.org/jira/browse/CALCITE-748, with a new RelBuilder > class. > > It's looking good -- a 5 line SQL statement becomes not much more than 5 > lines of Java in many cases. > > I've deployed a preview of the manual to > http://calcite.hydromatic.net/docs/algebra.html, and javadoc to > > http://calcite.hydromatic.net/apidocs/org/apache/calcite/tools/RelBuilder.html > . > The code is in my 748-builder branch, > https://github.com/julianhyde/incubator-calcite/tree/748-builder. > > I'd love to hear what you think of it, and what it's potentially good for. > > Julian >
