You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spark.apache.org by ma...@apache.org on 2022/11/10 16:30:53 UTC
[spark] branch master updated: [SPARK-41055][SQL] Rename `_LEGACY_ERROR_TEMP_2424` to `GROUP_BY_AGGREGATE`
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 <ha...@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 <ha...@databricks.com>
Co-authored-by: Haejoon Lee <44...@users.noreply.github.com>
Signed-off-by: Max Gekk <ma...@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-unsubscribe@spark.apache.org
For additional commands, e-mail: commits-help@spark.apache.org