You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Linhong Liu (Jira)" <ji...@apache.org> on 2020/09/01 05:10:00 UTC

[jira] [Created] (SPARK-32761) Planner error when aggregating multiple distinct Constant columns

Linhong Liu created SPARK-32761:
-----------------------------------

             Summary: Planner error when aggregating multiple distinct Constant columns
                 Key: SPARK-32761
                 URL: https://issues.apache.org/jira/browse/SPARK-32761
             Project: Spark
          Issue Type: Bug
          Components: SQL
    Affects Versions: 3.0.0
            Reporter: Linhong Liu


SELECT COUNT(DISTINCT 2), COUNT(DISTINCT 3) will trigger this bug.

The problematic code is:

 
{code:java}
val distinctAggGroups = aggExpressions.filter(_.isDistinct).groupBy { e =>
  val unfoldableChildren = e.aggregateFunction.children.filter(!_.foldable).toSet
  if (unfoldableChildren.nonEmpty) {
    // Only expand the unfoldable children
     unfoldableChildren
  } else {
    // If aggregateFunction's children are all foldable
    // we must expand at least one of the children (here we take the first child),
    // or If we don't, we will get the wrong result, for example:
    // count(distinct 1) will be explained to count(1) after the rewrite function.
    // Generally, the distinct aggregateFunction should not run
    // foldable TypeCheck for the first child.
    e.aggregateFunction.children.take(1).toSet
  }
}
{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org