[ 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)