You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by Cody Innowhere <e....@gmail.com> on 2016/06/29 03:24:54 UTC

primitiveDefaultValue in CodeGenUtils in Table API

Hi guys,
I found that in CodeGenUtils, default values of numeric primitive types are
set to -1, what's the consideration of setting the default values to -1
instead of 0? IMHO 0 would make more sense, although in DB if a field is
null then all operations on this field will return null anyway.

Re: primitiveDefaultValue in CodeGenUtils in Table API

Posted by Cody Innowhere <e....@gmail.com>.
Oh yes we've made a bit change on flink table API so that we can work on
data streams like data sets, thus code-generation is called.

On Wed, Jun 29, 2016 at 8:31 PM, Fabian Hueske <fh...@gmail.com> wrote:

> Hi Cody,
>
>
>
> Aggregations are currently not performed by code-generated user functions.
> This would be a good improvement though. Check the  DataSetAggregate class
> to learn how aggregations are translated into Flink Dataset programs.
>
>
>
> Best, Fabian
>
>
>
>
>
> *Von: *Cody Innowhere <e....@gmail.com>
> *Gesendet: *Mittwoch, 29. Juni 2016 10:06
> *An: *dev@flink.apache.org
> *Betreff: *Re: primitiveDefaultValue in CodeGenUtils in Table API
>
>
>
> @Fabian,
>
> given the example that a user wants to sum a column whose value might be
>
> null, with null check enabled. In this case, when the column value is null,
>
> -1 is set instead? Am I understanding correctly?
>
>
>
>
>
> On Wed, Jun 29, 2016 at 3:28 PM, Timo Walther <tw...@apache.org> wrote:
>
>
>
> > Hi Cody,
>
> >
>
> > default values are needed in cases where NULL values are not supported.
>
> > This happens if the null check is disabled in TableConfig for efficiency
>
> > reasons. Using 0 to DataType.MAX_VALUE for numeric types and -1 as a NULL
>
> > equivalent in special cases seems more reasonable to me.
>
> >
>
> > Hope that helps.
>
> >
>
> > Timo
>
> >
>
> >
>
> > On 29.06.2016 05:24, Cody Innowhere wrote:
>
> >
>
> >> Hi guys,
>
> >> I found that in CodeGenUtils, default values of numeric primitive types
>
> >> are
>
> >> set to -1, what's the consideration of setting the default values to -1
>
> >> instead of 0? IMHO 0 would make more sense, although in DB if a field is
>
> >> null then all operations on this field will return null anyway.
>
> >>
>
> >>
>
>
>

AW: primitiveDefaultValue in CodeGenUtils in Table API

Posted by Fabian Hueske <fh...@gmail.com>.
Hi Cody,

Aggregations are currently not performed by code-generated user functions. This would be a good improvement though. Check the  DataSetAggregate class to learn how aggregations are translated into Flink Dataset programs.

Best, Fabian


Von: Cody Innowhere

Re: primitiveDefaultValue in CodeGenUtils in Table API

Posted by Cody Innowhere <e....@gmail.com>.
@Fabian,
given the example that a user wants to sum a column whose value might be
null, with null check enabled. In this case, when the column value is null,
-1 is set instead? Am I understanding correctly?


On Wed, Jun 29, 2016 at 3:28 PM, Timo Walther <tw...@apache.org> wrote:

> Hi Cody,
>
> default values are needed in cases where NULL values are not supported.
> This happens if the null check is disabled in TableConfig for efficiency
> reasons. Using 0 to DataType.MAX_VALUE for numeric types and -1 as a NULL
> equivalent in special cases seems more reasonable to me.
>
> Hope that helps.
>
> Timo
>
>
> On 29.06.2016 05:24, Cody Innowhere wrote:
>
>> Hi guys,
>> I found that in CodeGenUtils, default values of numeric primitive types
>> are
>> set to -1, what's the consideration of setting the default values to -1
>> instead of 0? IMHO 0 would make more sense, although in DB if a field is
>> null then all operations on this field will return null anyway.
>>
>>

Re: primitiveDefaultValue in CodeGenUtils in Table API

Posted by Timo Walther <tw...@apache.org>.
Hi Cody,

default values are needed in cases where NULL values are not supported. 
This happens if the null check is disabled in TableConfig for efficiency 
reasons. Using 0 to DataType.MAX_VALUE for numeric types and -1 as a 
NULL equivalent in special cases seems more reasonable to me.

Hope that helps.

Timo

On 29.06.2016 05:24, Cody Innowhere wrote:
> Hi guys,
> I found that in CodeGenUtils, default values of numeric primitive types are
> set to -1, what's the consideration of setting the default values to -1
> instead of 0? IMHO 0 would make more sense, although in DB if a field is
> null then all operations on this field will return null anyway.
>