This is an automated email from the ASF dual-hosted git repository. maxgekk pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/spark.git
The following commit(s) were added to refs/heads/master by this push: new 6aac34315de [SPARK-41055][SQL] Rename `_LEGACY_ERROR_TEMP_2424` to `GROUP_BY_AGGREGATE` 6aac34315de is described below commit 6aac34315de2ee3d48fe2e1819a02600b3b22d22 Author: itholic <haejoon....@databricks.com> AuthorDate: Thu Nov 10 19:30:11 2022 +0300 [SPARK-41055][SQL] Rename `_LEGACY_ERROR_TEMP_2424` to `GROUP_BY_AGGREGATE` ### What changes were proposed in this pull request? This PR proposes to rename `_LEGACY_ERROR_TEMP_2424` to `GROUP_BY_AGGREGATE` ### Why are the changes needed? To use proper error class name. ### Does this PR introduce _any_ user-facing change? No. ### How was this patch tested? ``` ./build/sbt “sql/testOnly org.apache.spark.sql.SQLQueryTestSuite*” ``` Closes #38569 from itholic/SPARK-41055. Lead-authored-by: itholic <haejoon....@databricks.com> Co-authored-by: Haejoon Lee <44108233+itho...@users.noreply.github.com> Signed-off-by: Max Gekk <max.g...@gmail.com> --- core/src/main/resources/error/error-classes.json | 10 +++++----- .../spark/sql/catalyst/analysis/CheckAnalysis.scala | 2 +- .../test/resources/sql-tests/results/group-by.sql.out | 2 +- .../sql-tests/results/udf/udf-group-by.sql.out | 2 +- .../org/apache/spark/sql/DataFrameAggregateSuite.scala | 11 +++++++---- .../org/apache/spark/sql/DataFramePivotSuite.scala | 18 ++++++++++-------- 6 files changed, 25 insertions(+), 20 deletions(-) diff --git a/core/src/main/resources/error/error-classes.json b/core/src/main/resources/error/error-classes.json index 7c33c1059ae..dcc6effb30f 100644 --- a/core/src/main/resources/error/error-classes.json +++ b/core/src/main/resources/error/error-classes.json @@ -469,6 +469,11 @@ "Grouping sets size cannot be greater than <maxSize>" ] }, + "GROUP_BY_AGGREGATE" : { + "message" : [ + "Aggregate functions are not allowed in GROUP BY, but found <sqlExpr>." + ] + }, "GROUP_BY_POS_OUT_OF_RANGE" : { "message" : [ "GROUP BY position <index> is not in select list (valid range is [1, <size>])." @@ -5008,11 +5013,6 @@ "Correlated scalar subquery '<sqlExpr>' is neither present in the group by, nor in an aggregate function. Add it to group by using ordinal position or wrap it in first() (or first_value) if you don't care which value you get." ] }, - "_LEGACY_ERROR_TEMP_2424" : { - "message" : [ - "aggregate functions are not allowed in GROUP BY, but found <sqlExpr>" - ] - }, "_LEGACY_ERROR_TEMP_2425" : { "message" : [ "expression <sqlExpr> cannot be used as a grouping expression because its data type <dataType> is not an orderable data type." diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/CheckAnalysis.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/CheckAnalysis.scala index 9e41bcebe47..1ce1fcd0144 100644 --- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/CheckAnalysis.scala +++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/CheckAnalysis.scala @@ -413,7 +413,7 @@ trait CheckAnalysis extends PredicateHelper with LookupCatalog with QueryErrorsB def checkValidGroupingExprs(expr: Expression): Unit = { if (expr.exists(_.isInstanceOf[AggregateExpression])) { expr.failAnalysis( - errorClass = "_LEGACY_ERROR_TEMP_2424", + errorClass = "GROUP_BY_AGGREGATE", messageParameters = Map("sqlExpr" -> expr.sql)) } diff --git a/sql/core/src/test/resources/sql-tests/results/group-by.sql.out b/sql/core/src/test/resources/sql-tests/results/group-by.sql.out index 6ccc0c34ff0..1075a6ab887 100644 --- a/sql/core/src/test/resources/sql-tests/results/group-by.sql.out +++ b/sql/core/src/test/resources/sql-tests/results/group-by.sql.out @@ -213,7 +213,7 @@ struct<> -- !query output org.apache.spark.sql.AnalysisException { - "errorClass" : "_LEGACY_ERROR_TEMP_2424", + "errorClass" : "GROUP_BY_AGGREGATE", "messageParameters" : { "sqlExpr" : "count(testdata.b)" }, diff --git a/sql/core/src/test/resources/sql-tests/results/udf/udf-group-by.sql.out b/sql/core/src/test/resources/sql-tests/results/udf/udf-group-by.sql.out index 4d336adc412..093cdcac25a 100644 --- a/sql/core/src/test/resources/sql-tests/results/udf/udf-group-by.sql.out +++ b/sql/core/src/test/resources/sql-tests/results/udf/udf-group-by.sql.out @@ -190,7 +190,7 @@ struct<> -- !query output org.apache.spark.sql.AnalysisException { - "errorClass" : "_LEGACY_ERROR_TEMP_2424", + "errorClass" : "GROUP_BY_AGGREGATE", "messageParameters" : { "sqlExpr" : "CAST(udf(cast(count(b) as string)) AS BIGINT)" }, diff --git a/sql/core/src/test/scala/org/apache/spark/sql/DataFrameAggregateSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/DataFrameAggregateSuite.scala index 235c5b011e3..cc4ac37904a 100644 --- a/sql/core/src/test/scala/org/apache/spark/sql/DataFrameAggregateSuite.scala +++ b/sql/core/src/test/scala/org/apache/spark/sql/DataFrameAggregateSuite.scala @@ -663,10 +663,13 @@ class DataFrameAggregateSuite extends QueryTest } test("aggregate function in GROUP BY") { - val e = intercept[AnalysisException] { - testData.groupBy(sum($"key")).count() - } - assert(e.message.contains("aggregate functions are not allowed in GROUP BY")) + checkError( + exception = intercept[AnalysisException] { + testData.groupBy(sum($"key")).count() + }, + errorClass = "GROUP_BY_AGGREGATE", + parameters = Map("sqlExpr" -> "sum(key)") + ) } private def assertNoExceptions(c: Column): Unit = { diff --git a/sql/core/src/test/scala/org/apache/spark/sql/DataFramePivotSuite.scala b/sql/core/src/test/scala/org/apache/spark/sql/DataFramePivotSuite.scala index 1a0c95beb18..d53a72be288 100644 --- a/sql/core/src/test/scala/org/apache/spark/sql/DataFramePivotSuite.scala +++ b/sql/core/src/test/scala/org/apache/spark/sql/DataFramePivotSuite.scala @@ -302,14 +302,16 @@ class DataFramePivotSuite extends QueryTest with SharedSparkSession { } test("SPARK-24722: aggregate as the pivot column") { - val exception = intercept[AnalysisException] { - trainingSales - .groupBy($"sales.year") - .pivot(min($"training"), Seq("Experts")) - .agg(sum($"sales.earnings")) - } - - assert(exception.getMessage.contains("aggregate functions are not allowed")) + checkError( + exception = intercept[AnalysisException] { + trainingSales + .groupBy($"sales.year") + .pivot(min($"training"), Seq("Experts")) + .agg(sum($"sales.earnings")) + }, + errorClass = "GROUP_BY_AGGREGATE", + parameters = Map("sqlExpr" -> "min(training)") + ) } test("pivoting column list with values") { --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@spark.apache.org For additional commands, e-mail: commits-h...@spark.apache.org