Hi Yash,

I'll take a look at your github repo, and start from there.

To get null expression and pass optiq's parsing, you may try this:

SELECT 1 + _MAP['NON_EXISTS_COLUMN'] from ...

When the column does not exists, it will return with
NullExpression.INSTANCE. This way, you can see how the operator "+" is
binded and the code generator handles the code generation for "+" operator,
when input  is 1 and a null expression.

Jinfeng



s


On Wed, Nov 20, 2013 at 10:42 AM, Yash Sharma <[email protected]>wrote:

> It would be great working with Jinfeng..
>
> For now,
> I have pushed code for (3) to look for NullExpressions on the same github
> repo:
> https://github.com/yashs360/incubator-drill-casting
>
> Unfortunately was not able to test it because all the queries I hit on
> sqlline (with null parameters) were filtered by Optiq's Parsng exceptions.
> If anyone can share which query they are using I can try it on sqlline and
> test the flow.
>
> For 1 & 2, I have a weighted-cost calculation in mind, based on the TYPE
> (required, optional repeated) . Open to suggestions..
>
> - Yash
> ________________________________________
> From: [email protected] [[email protected]] on behalf of
> Jacques Nadeau [[email protected]]
> Sent: Wednesday, November 20, 2013 8:26 PM
> To: [email protected]
> Subject: RE: hangout
>
> There actually three different concepts to support with null.
>
> 1. non-nullable types should  be first attempted to cast to their
> non-nullable partners in precedence (such as non-nullable int to
> non-nullable big int)
>
> 2. data mode casting should also be supported: non-nullable int to nullable
> int to repeated int to get a function match.
>
> 3. Missing fields (currently represented my NullExpression) should be
> replaced be null nullable constants of a particular minor type based on
> function implementation introspection.
>
> Drill-203 is focused on part three above.  Agree that Jinfeng and Yash
> should work together as this code is right on top of each other.
>
> Jacques
> On Nov 20, 2013 6:39 AM, "Yash Sharma" <[email protected]> wrote:
>
> > Copy That.
> > Will add NULL as the least precedence type in our precedence map and will
> > see if the getBestFunction() can pick up the closest implementation
> > provided.
> >
> > - Yash
> >
> >
> >
> > -----Original Message-----
> > From: Timothy Chen [mailto:[email protected]]
> > Sent: Wednesday, November 20, 2013 6:45 PM
> > To: drill
> > Subject: Re: hangout
> >
> > Btw Yash, we also have a bug around not handle nullable arguments well (
> > https://issues.apache.org/jira/browse/DRILL-203)
> >
> > and this should be also handled in the casting function search when null
> > is passed.
> >
> > Tim
> >
> >
> > On Wed, Nov 20, 2013 at 2:17 PM, Yash Sharma <[email protected]
> > >wrote:
> >
> > > Sorry guys I dropped out of hangout yesterday due to connectivity
> issues.
> > > I am working on Implicit Casting functionality. Have put a quick
> > > prototype of the proposal here:
> > > https://github.com/yashs360/incubator-drill-casting
> > >
> > > Guys can have a look and let me know if its on right track.
> > > Two prime things to mention:
> > > - Am figuring out some way to convert the function call to new
> > > function call.
> > > - Next, I need to see how Optiq's classes can be used to determine the
> > > type of casting (implicit/explicit)
> > >
> > > -Regards, Yash
> > >
> > >
> > >
> > > -----Original Message-----
> > > From: Michael Hausenblas [mailto:[email protected]]
> > > Sent: Tuesday, November 19, 2013 10:37 PM
> > > To: Apache Drill Developer
> > > Subject: Re: hangout
> > >
> > >
> > > Yeah, regrets from me as well, on travel ...
> > >
> > > Cheers,
> > >                 Michael
> > >
> > > --
> > > Michael Hausenblas
> > > Ireland, Europe
> > > http://mhausenblas.info/
> > >
> > > On 19 Nov 2013, at 17:52, Timothy Chen <[email protected]> wrote:
> > >
> > > > Hey folks,
> > > >
> > > > Will be missing out hangout because of jetlag and time, but I just
> > > > pushed the broadcast sender code to review.
> > > >
> > > > On the side still waiting for some response on the EMR side for more
> > > > progress, but I'll try some more this week to see if I can figure
> > > > out what's wrong with my script.
> > > >
> > > > Tim
> > >
> > >
> > > ________________________________
> > >
> > >
> > >
> > >
> > >
> > >
> > > NOTE: This message may contain information that is confidential,
> > > proprietary, privileged or otherwise protected by law. The message is
> > > intended solely for the named addressee. If received in error, please
> > > destroy and notify the sender. Any use of this email is prohibited
> > > when received in error. Impetus does not represent, warrant and/or
> > > guarantee, that the integrity of this communication has been
> > > maintained nor that the communication is free of errors, virus,
> > interception or interference.
> > >
> >
> > ________________________________
> >
> >
> >
> >
> >
> >
> > NOTE: This message may contain information that is confidential,
> > proprietary, privileged or otherwise protected by law. The message is
> > intended solely for the named addressee. If received in error, please
> > destroy and notify the sender. Any use of this email is prohibited when
> > received in error. Impetus does not represent, warrant and/or guarantee,
> > that the integrity of this communication has been maintained nor that the
> > communication is free of errors, virus, interception or interference.
> >
>
> ________________________________
>
>
>
>
>
>
> NOTE: This message may contain information that is confidential,
> proprietary, privileged or otherwise protected by law. The message is
> intended solely for the named addressee. If received in error, please
> destroy and notify the sender. Any use of this email is prohibited when
> received in error. Impetus does not represent, warrant and/or guarantee,
> that the integrity of this communication has been maintained nor that the
> communication is free of errors, virus, interception or interference.
>

Reply via email to