[ https://issues.apache.org/jira/browse/CALCITE-3230?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16900816#comment-16900816 ]
Danny Chan commented on CALCITE-3230: ------------------------------------- Can you paste a test case here, i tried {code:java} @Test public void testExplicitCastOfAggNotApplied() { final HepProgram program = new HepProgramBuilder() .addRuleInstance(ReduceExpressionsRule.PROJECT_INSTANCE) .addRuleInstance(ReduceExpressionsRule.FILTER_INSTANCE) .addRuleInstance(ReduceExpressionsRule.JOIN_INSTANCE) .build(); final String sql = "select cast(avg(cast(sal as double)) as float)\n" + "from emp\n" + "group by ename"; checkPlanning(new HepPlanner(program), sql); } {code} in RelOptRules.java but does not reproduce this. The avg(double_column) return type is double, cast(double as float) should not be recognized as redundant. > Explicit CASTs by user are not applied. > --------------------------------------- > > Key: CALCITE-3230 > URL: https://issues.apache.org/jira/browse/CALCITE-3230 > Project: Calcite > Issue Type: Bug > Components: core > Reporter: Pressenna > Priority: Major > > For some reason casting is not working correctly with aggregate functions. > for example: > {code:java} > SELECT CAST(AVG(double_column) AS float) FROM foo GROUP BY group_coulmn; > {code} > does not apply the cast. We currently have to circumvent this by using > following dummy construct. > {code:java} > SELECT CAST( (AVG(double_column) + 0.0) AS float) FROM foo GROUP BY > group_coulmn; > {code} > -- This message was sent by Atlassian JIRA (v7.6.14#76016)