Julian,

glad you find the work useful.



On Mon, May 20, 2013 at 11:20 PM, Julian Hyde <[email protected]> wrote:

> On May 8, 2013, at 9:31 PM, Lisen Mu <[email protected]> wrote:
>
> > I'm not familiar with the optiq inside but seems it has something to do
> with your last projection's ref. What's the purpose of  getHolder()?
> >
> > Maybe not the right thing to do, but the attached patch could produce
> output without nesting(but throws exceptions in some test...).
>
> Lisen,
>
> Your observations & patch helped get me through my mental block. I
> realized that "ref" is necessary for the "scan" operator, but not others.
> Therefore I made sure that each operator's JSON output the logical row type
> of the corresponding Optiq relational operator. Scan outputs records with a
> single field called _MAP; project contains whatever field(s) they asked
> for; filter outputs the same row type as its input; and so forth.
>
> I was able to obsolete the "holder" notion, and some other nasty duck tape
> [
> https://github.com/julianhyde/incubator-drill/commit/375dbf03157924860bfc6b3c7e1084cd91faa61d].
>  I also implemented aggregation over the weekend [
> https://github.com/julianhyde/incubator-drill/commit/febcb702c224f8aa148377272eb88929cfa15ee7].
>
> Thanks for your help.
>
> Julian

Reply via email to