[ 
https://issues.apache.org/jira/browse/CALCITE-2051?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16257673#comment-16257673
 ] 

Jesus Camacho Rodriguez commented on CALCITE-2051:
--------------------------------------------------

[~julianhyde], we can make Hive respect this, but we would need to change the 
logic in the parser that creates the Calcite plan, including some workaround 
for functions such as grouping id. With this change, till we do that, we will 
not be able to upgrade to 1.15, as we will hit the Precondition when we 
instantiate the operator.
The operator could be more expressive than SQL, I am not convinced we need to 
enforce this condition. However, if we do, I think we should hold the fix till 
we have a new major release, since these semantics for the Aggregate operator 
are more restrictive than the existing ones, and we would break compatibility 
with upstream projects, e.g, Hive.

> Rules using Aggregate might check for simple grouping sets incorrectly
> ----------------------------------------------------------------------
>
>                 Key: CALCITE-2051
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2051
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>            Reporter: Jesus Camacho Rodriguez
>            Assignee: Jesus Camacho Rodriguez
>            Priority: Critical
>             Fix For: 1.15.0
>
>
> CALCITE-1069 removed the indicator columns for Aggregate operators. In some 
> places, the indicator boolean check was replaced by the following check: 
> {{aggregate.getGroupSets().size() > 1}}. However, that check is incomplete, 
> it should have been replaced by {{aggregate.getGroupType() != Group.SIMPLE}}.
> For instance : 
> https://github.com/apache/calcite/blob/master/core/src/main/java/org/apache/calcite/rel/rules/AggregateProjectMergeRule.java#L91



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to