[
https://issues.apache.org/jira/browse/CALCITE-4234?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Julian Hyde updated CALCITE-4234:
---------------------------------
Description:
{{RelBuilder}} throws {{NullPointerException}} while implementing
{{GROUP_ID()}}.
CALCITE-4220 introduced the following method:
{code:java}
@Override public AggregateCall aggregateCall() {
return AggregateCall.create(aggFunction, distinct, approximate,
ignoreNulls, ImmutableList.of(), -1, /* collation: */ null, /* type:
*/ null, alias);
}
{code}
In practice {{AggregateCall}} constructor has {{null}} checks, so
{{aggregateCall}} would always throw NPE:
{code:java}
this.type = Objects.requireNonNull(type);
this.collation = Objects.requireNonNull(collation);
{code}
[~julianhyde], would you please check if that behavior is expected?
was:
CALCITE-4220 introduced the following method:
{code:java}
@Override public AggregateCall aggregateCall() {
return AggregateCall.create(aggFunction, distinct, approximate,
ignoreNulls, ImmutableList.of(), -1, /* collation: */ null, /* type:
*/ null, alias);
}
{code}
In practice {{AggregateCall}} constructor has {{null}} checks, so
{{aggregateCall}} would always throw NPE:
{code:java}
this.type = Objects.requireNonNull(type);
this.collation = Objects.requireNonNull(collation);
{code}
[~julianhyde], would you please check if that behavior is expected?
> RelBuilder throws NullPointerException while implementing GROUP_ID
> ------------------------------------------------------------------
>
> Key: CALCITE-4234
> URL: https://issues.apache.org/jira/browse/CALCITE-4234
> Project: Calcite
> Issue Type: Sub-task
> Components: core
> Affects Versions: 1.25.0
> Reporter: Vladimir Sitnikov
> Assignee: Julian Hyde
> Priority: Major
> Attachments: AggregateCall_create.png, AggregateCall_init.png,
> RelBuilder_aggregateCall.png
>
>
> {{RelBuilder}} throws {{NullPointerException}} while implementing
> {{GROUP_ID()}}.
> CALCITE-4220 introduced the following method:
> {code:java}
> @Override public AggregateCall aggregateCall() {
> return AggregateCall.create(aggFunction, distinct, approximate,
> ignoreNulls, ImmutableList.of(), -1, /* collation: */ null, /*
> type: */ null, alias);
> }
> {code}
> In practice {{AggregateCall}} constructor has {{null}} checks, so
> {{aggregateCall}} would always throw NPE:
> {code:java}
> this.type = Objects.requireNonNull(type);
> this.collation = Objects.requireNonNull(collation);
> {code}
> [~julianhyde], would you please check if that behavior is expected?
--
This message was sent by Atlassian Jira
(v8.3.4#803005)