[
https://issues.apache.org/jira/browse/CALCITE-4652?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17398286#comment-17398286
]
Haisheng Yuan edited comment on CALCITE-4652 at 8/12/21, 8:49 PM:
------------------------------------------------------------------
Fixed in
https://github.com/apache/calcite/commit/8a1535f94aad1e0ce77797eb84d75b4a5b1692c1.
Thanks for the PR, [~tledkov-gridgain].
was (Author: hyuan):
Fixed in
[https://github.com/apache/calcite/commit/8a1535f94aad1e0ce77797eb84d75b4a5b1692c1,]
thanks for the PR, [~tledkov-gridgain].
> AggregateExpandDistinctAggregatesRule must cast top aggregates to original
> type
> -------------------------------------------------------------------------------
>
> Key: CALCITE-4652
> URL: https://issues.apache.org/jira/browse/CALCITE-4652
> Project: Calcite
> Issue Type: Bug
> Components: core
> Affects Versions: 1.27.0
> Reporter: Taras Ledkov
> Assignee: Taras Ledkov
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.28.0
>
> Time Spent: 1.5h
> Remaining Estimate: 0h
>
> The query {{SELECT COUNT(comm), COUNT(DISTINCT comm) FROM emp}} produces the
> plan below:
> {code}
> LogicalAggregate(group=[{}], EXPR$0=[$SUM0($1)], EXPR$1=[COUNT($0)])
> LogicalAggregate(group=[{0}], EXPR$0=[COUNT()])
> LogicalProject(COMM=[$6])
> LogicalTableScan(table=[[CATALOG, SALES, EMP]])
> {code}
> In case SUM type is expanded by override {{RelDataTypeSystem#deriveSumType}}
> the {{AggregateExpandDistinctAggregatesRule}} fails with assertion below:
> {code}
> Error:
> java.lang.AssertionError: type mismatch:
> aggCall type:
> BIGINT NOT NULL
> inferred type:
> DECIMAL(19, 0) NOT NULL
> at org.apache.calcite.util.Litmus$1.fail(Litmus.java:32)
> at org.apache.calcite.plan.RelOptUtil.eq(RelOptUtil.java:2211)
> at
> org.apache.calcite.rel.core.Aggregate.typeMatchesInferred(Aggregate.java:443)
> at org.apache.calcite.rel.core.Aggregate.<init>(Aggregate.java:170)
> at
> org.apache.calcite.rel.logical.LogicalAggregate.<init>(LogicalAggregate.java:72)
> at
> org.apache.calcite.rel.logical.LogicalAggregate.copy(LogicalAggregate.java:154)
> at
> org.apache.calcite.rel.logical.LogicalAggregate.copy(LogicalAggregate.java:48)
> at
> org.apache.calcite.rel.rules.AggregateExpandDistinctAggregatesRule.convertSingletonDistinct(AggregateExpandDistinctAggregatesRule.java:401)
> ...
> {code}
> *Root cause:*
> the type of SUM aggregate doesn't match original type of the COUNT.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)