peter-toth opened a new pull request, #39887:
URL: https://github.com/apache/spark/pull/39887

   ### What changes were proposed in this pull request?
   
   Unfortunately https://github.com/apache/spark/pull/32298 introduced a 
regression from Spark 3.2 to 3.3 as after that change a merged subquery can 
contain multiple distict type aggregates. Those aggregates need to be rewritten 
by the `RewriteDistinctAggregates` rule to get the correct results. This PR 
fixed that. 
   
   ### Why are the changes needed?
   The following query:
   ```
   SELECT
     (SELECT count(distinct c1) FROM t1),
     (SELECT count(distinct c2) FROM t1)
   ```
   currently fails with:
   ```
   java.lang.IllegalStateException: You hit a query analyzer bug. Please report 
your query to Spark user mailing list.
        at 
org.apache.spark.sql.execution.SparkStrategies$Aggregation$.apply(SparkStrategies.scala:538)
   ```
   but works again after this PR.
   
   ### Does this PR introduce _any_ user-facing change?
   Yes, the above query works again.
   
   ### How was this patch tested?
   Added new UT.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to