[
https://issues.apache.org/jira/browse/CALCITE-6020?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17869042#comment-17869042
]
Norman Jordan commented on CALCITE-6020:
----------------------------------------
I am working on adding more tests, but will not be able to update the change
for a couple of weeks.
h3. Some notes:
Convertlets would be difficult to use. With the current design, it is intended
that only one convertlet runs on a subtree. This makes it difficult when you
want to convert AVG in a window to SUM/COUNT and then possibly replace SUM with
SUM0. A convertlet for AVG would not have enough context to know if it is in a
window.
AggregateReduceFunctionsRule may be a better place for this logic. It would
need enough context to know that the aggregate function is in a window.
> SqlToRelConverter should not replace windowed SUM with equivalent expression
> using SUM0
> ---------------------------------------------------------------------------------------
>
> Key: CALCITE-6020
> URL: https://issues.apache.org/jira/browse/CALCITE-6020
> Project: Calcite
> Issue Type: Improvement
> Reporter: Zoltan Haindrich
> Assignee: Zoltan Haindrich
> Priority: Major
> Labels: pull-request-available
>
> {{SqlToRelConverter}} replaces {{SUM}} with {{SUM0}} around
> [here|https://github.com/apache/calcite/blob/e1991e08a225ef08c2402ab35c310d88fff3c222/core/src/main/java/org/apache/calcite/sql2rel/SqlToRelConverter.java#L5885]
> This might have been needed at some point in the past - but I think it will
> be better to leave it as {{SUM}} - as in case there is no {{SUM0}} in the
> system that will be replaced with a {{COALESCE(SUM(...) , 0 )}} to provide it
> - as see
> [here|https://github.com/apache/calcite/blob/e1991e08a225ef08c2402ab35c310d88fff3c222/core/src/test/java/org/apache/calcite/rel/rel2sql/RelToSqlConverterTest.java#L1288]
--
This message was sent by Atlassian Jira
(v8.20.10#820010)